Skip to content

Conversation

@mpretty-cyro
Copy link
Collaborator

@mpretty-cyro mpretty-cyro commented Aug 29, 2025

  • Refactored the JobRunner to be an actor and use async/await
  • Refactored the JobQueue to be an actor and use async/await
  • Removed ThreadSafe logic from both
  • Removed the uniqueHashValue from Job
    • Add a migration to drop the column
    • Make the shouldBeUnique behaviour part of the DisplayPictureDownloadJob (since it's only used for that one job)
  • Refactor jobs to conform to the new JobExecuter structure (a number of these will need further refactoring to be fully async/await)
    • AttachmentDownloadJob
    • AttachmentUploadJob
    • CheckForAppUpdatesJob
    • ConfigMessageReceiveJob
    • ConfigurationSyncJob
    • DisappearingMessagesJob
    • DisplayPictureDownloadJob
    • ExpirationUpdateJob
    • FailedAttachmentDownloadsJob
    • FailedGroupInvitesAndPromotionsJob
    • FailedMessageSendsJob
    • GarbageCollectionJob
    • GetExpirationJob
    • GroupInviteMemberJob
    • GroupLeavingJob
    • GroupPromoteMemberJob
    • MessageReceiveJob
    • MessageSendJob
    • ProcessPendingGroupMemberRemovalsJob
    • RetrieveDefaultOpenGroupRoomsJob
    • SendReadReceiptsJob
    • SyncPushTokensJob
    • UpdateProfilePictureJob
  • Test that the jobs are actually still working with the above changes
  • Fix the unit tests

• Refactored the JobRunner
• Refactored the JobQueue
• Refactored the FailedAttachmentDownloadsJob to be async/await
• Refactored the FailedMessageSendsJob to be async/await
• Removed the `uniqueHashValue` from `Job` (make the `shouldBeUnique` behaviour part of the `DisplayPictureDownloadJob` instead)
@mpretty-cyro mpretty-cyro self-assigned this Aug 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant