Commit Graph

31 Commits

Author SHA1 Message Date
Harris e036344c76 refactor: performance improvements in batch message processing, synchronized cache access and audible message notifications.
Increase audible timeout on DefaultMessageNotifier.java, don't send in-thread notification based on last audible notification.

Create a batch message receive job to handle up to 20 chunked messages at a time per job instead of singular or open group poll amount

Remove synchronized access to recipient cache and replace with a concurrent cache that's lock free from perf tracing monitor contention
2021-09-29 15:29:24 +10:00
jubb fa06a57ec3 fix: getting local user's ID if message is outgoing to check against that value in attachment download 2021-07-09 16:04:06 +10:00
jubb 9dfd051e63 feat: trust dialog and processing attachments for users after trusting them 2021-07-09 15:13:43 +10:00
jubb f4e5e5e36a fix: duplicate message send bug on attachments 2021-07-05 15:00:32 +10:00
jubb efa36d4cea refactor: trim thread is now queued after batch processing messages, for other conversations still after every persisted message
migrate TrimThreadJob.kt to new job system

deleting more open group references in removal

open group last message / last deletion now sets after processing vs after fetching
2021-05-26 15:22:19 +10:00
Niels Andriesse a88322a033 Move files 2021-05-18 09:12:33 +10:00
jubb 8b5134b9ef fix: fixes the failing insertions possibly composite PK related 2021-05-14 15:55:38 +10:00
Niels Andriesse 3cab81c329 Fix message send job attachment upload handling 2021-05-13 09:38:39 +10:00
jubb edc1454609 fix: unnamed open groups being processed by creating new threads after deletion
job db not marking successful/unsuccessful properly

handling send and receive better / in order
2021-05-12 16:48:18 +10:00
jubb 84fa3dfc86 Merge remote-tracking branch 'upstream/dev' into background_job_improvements
# Conflicts:
#	libsession/src/main/java/org/session/libsession/messaging/jobs/Job.kt
#	libsession/src/main/java/org/session/libsession/messaging/jobs/JobQueue.kt
#	libsession/src/main/java/org/session/libsession/messaging/jobs/MessageSendJob.kt
2021-05-12 16:31:53 +10:00
nielsandriesse bb850cf99e Minor job type refactoring 2021-05-12 16:17:25 +10:00
jubb 9f09977160 refactor: remove registration required for job serialization and test logs, don't try to read class object if the message send class is not of expected type 2021-05-12 10:43:17 +10:00
jubb e7377d640f fix: use AttachmentUploadJob instead of two download job keys in all types 2021-05-07 13:36:35 +10:00
jubb 4fff5ac2dc refactor: make storage reference jobId by string in deletion, don't persist jobs we are about to delete, delete jobs that fail to serialize from storage (probably from corrupt or moved data classes) in temporary message send jobs 2021-05-07 11:48:03 +10:00
jubb 51554f1cdf Merge remote-tracking branch 'upstream/dev' into open_groups_V2, working on compact poller implementation
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java
#	app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java
#	app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/activities/HomeActivity.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/api/BackgroundPollWorker.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/api/PublicChatManager.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/database/LokiThreadDatabase.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/protocol/MultiDeviceProtocol.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/utilities/MentionManagerUtilities.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/utilities/OpenGroupUtilities.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/views/MentionCandidateView.kt
#	app/src/main/java/org/thoughtcrime/securesms/loki/views/ProfilePictureView.kt
#	libsession/src/main/java/org/session/libsession/messaging/StorageProtocol.kt
#	libsession/src/main/java/org/session/libsession/messaging/jobs/AttachmentDownloadJob.kt
#	libsession/src/main/java/org/session/libsession/messaging/jobs/AttachmentUploadJob.kt
#	libsession/src/main/java/org/session/libsession/messaging/mentions/MentionsManager.kt
#	libsession/src/main/java/org/session/libsession/messaging/messages/Destination.kt
#	libsession/src/main/java/org/session/libsession/messaging/open_groups/OpenGroupAPIV2.kt
#	libsession/src/main/java/org/session/libsession/messaging/open_groups/OpenGroupMessageV2.kt
#	libsession/src/main/java/org/session/libsession/messaging/open_groups/OpenGroupV2.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/ReceivedMessageHandler.kt
#	libsession/src/main/java/org/session/libsession/messaging/utilities/DotNetAPI.kt
#	libsession/src/main/java/org/session/libsession/snode/OnionRequestAPI.kt
#	libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt
#	libsession/src/main/java/org/session/libsession/snode/SnodeMessage.kt
#	libsession/src/main/java/org/session/libsession/utilities/mentions/MentionsManager.kt
#	libsignal/src/main/java/org/session/libsignal/service/loki/api/SwarmAPI.kt
#	libsignal/src/main/java/org/session/libsignal/service/loki/api/opengroups/PublicChat.kt
#	libsignal/src/main/java/org/session/libsignal/service/loki/utilities/mentions/MentionsManager.kt
2021-04-28 17:41:30 +10:00
jubb 5d8f036f82 fix: attachment downloads and uploads
enable multi-threaded attachment handling for messages to speed up download/upload and free up message processing queue.

leaving group removes appropriate entries now in threaddb
2021-04-27 17:29:37 +10:00
Niels Andriesse 17e764fc31 Clean 2021-04-26 11:14:45 +10:00
Niels Andriesse 676c307412 Clean 2021-04-26 10:58:48 +10:00
Harris d3ca54ce86 fix: address job.id properly in persistence 2021-04-14 12:26:34 +10:00
jubb f723069775 fix: check actual collisions instead of not 2021-04-09 14:19:48 +10:00
jubb 3b2589b835 refactor: use a shared timer in JobQueue.kt 2021-04-06 17:09:21 +10:00
jubb 3654d1731c fix: various fixes wrt open groups, config messages, job queueing 2021-03-30 16:23:12 +11:00
jubb 2460afd1a8 feat: call resume message send on app create 2021-03-18 13:36:56 +11:00
jubb dd8a0cdc2e fix: use queue in the retry timer 2021-03-16 09:44:55 +11:00
jubb 323fb75149 fix: adding some message receive functionality 2021-03-12 17:15:33 +11:00
ryanzhao 4156c10feb Implement multi device & closed group protocol in refactored sending & receiving pipeline 2021-02-10 16:48:03 +11:00
ryanzhao 307da3b2be clean logging 2021-02-03 12:22:40 +11:00
Brice 49f3e0cfca implementation of persistAttachments + refactoring 2021-01-29 11:16:53 +11:00
Ryan ZHAO 4c1df33059 job related 2020-12-10 15:31:38 +11:00
Ryan ZHAO bfb16c581a WIP: refactor jobs (basic) 2020-12-02 16:39:02 +11:00
Ryan ZHAO 7a66a47520 restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00
Renamed from sessionmessaging/src/main/java/org/session/messaging/jobs/JobQueue.kt (Browse further)