-
Notifications
You must be signed in to change notification settings - Fork 305
Introduce message delivery receipts #5979
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
andremion
wants to merge
58
commits into
develop
Choose a base branch
from
AND-769-message-delivery-status
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+3,794
−397
Open
Changes from all commits
Commits
Show all changes
58 commits
Select commit
Hold shift + click to select a range
3c61335
Add ChatClient.markMessagesAsDelivered function to mark messages as d…
andremion 84b2421
Add delivery receipts support to user privacy settings
andremion 3fc24af
Increase max return count in detekt configuration
andremion 81fa4a7
Introduce a initial DeliveryReceiptsManager to handle message deliver…
andremion 17e3b5d
Introduce MessageReceiptDao and MessageReceiptEntity for handling mes…
andremion 52d7305
Introduce MessageReceipt model and repository for handling message de…
andremion b4b6e19
Make MessageReceiptRepository `getAllByType` return a Flow and add a …
andremion ca176ac
Refactor DeliveryReceiptsManager to store receipts locally
andremion e70ca83
Introduced `MessageReceiptReporter`, a new class responsible for obse…
andremion cf2c956
Prapare to move internal persistence to the client module
andremion 6b767b4
Add ChatClientDatabase, DateConverter, and ChatClientRepository for m…
andremion 8fa9aeb
Refactor: Move message receipt logic to client
andremion ee0aca6
Support `message.delivered` event
andremion a34b888
Refactor: Add default empty implementations for `QueryChannelsListene…
andremion 747fd8f
Deprecate `hasUnread` in favor of `currentUserUnreadCount`
andremion 4c8facf
Add `userRead` and `deliveredReads` helper functions
andremion e887dcb
Introduce `markChannelsAsDelivered`, a new function to mark the last …
andremion ee06acd
Refactor MessageReceiptReporter to use a polling mechanism
andremion 76c9e26
Moves the user ID update in the `switchUser` function to after the us…
andremion 03461bc
Rename MessageReceiptReporter.init to start and add logging
andremion cf4565d
Refactor MessageReceiptManagerTest to standardize verification method…
andremion 9b737d8
Automatically mark messages as delivered when querying channels
andremion 86aae64
Introduce `ChatClientRepository` to encapsulate internal repositories…
andremion aa09f50
Add MessageReceiptManager and MessageReceiptReporter to ChatClient
andremion aca0137
Decoupled `MessageReceiptReporter` from `ChatClient` by passing `Chat…
andremion 22c4622
Refactor ChatClientTest to simplify test setup
andremion 5764abe
Rename deliveredReads to deliveredReadsOf
andremion 0125106
feat: Add delivered status indicator for messages
andremion 4c22d97
Fix flaky test
andremion 2ea5eaf
Add more tests
andremion a127dce
Feat: Add `Channel.readsOf()` extension function
andremion 645b13a
Add pending status indicator snapshot test
andremion 0f1eda6
Add unit test for MessageReceiptRepository instantiation
andremion 8656682
Fix the message status indicator paddings
andremion 0ef7cb3
Mark messages as delivered on push notification
andremion 67dd697
sonar lint
andremion 07317a2
Mark channel as delivered on query a single channel
andremion 98186c3
Provide a ChatClient lazily in ChatNotifications
andremion c8b8866
Hide the message status indicator when a message is deleted
andremion 662bd05
Do not expose ChatClient.markMessagesAsDelivered
andremion 0ec4d07
feat: Add delivery_events flag to Config
andremion 189b4c0
Refactor: Improve message delivery receipts logic
andremion 8f40115
Add DELIVERY_EVENTS to ChannelCapabilities
andremion eb33b8c
Refactor: Make MessageReceiptManager functions suspend
andremion cf17138
Refactor: Lazy initialize messageReceiptManager in MessageDeliveredPl…
andremion 6a6952a
Fix: Fetch message from API when marking as delivered by ID
andremion ec9d868
Skip sending delivery receipts for shadowed messages and muted users
andremion 0e4f258
Add deliveryEventsEnabled to channel configuration and mapping
andremion 0e0f904
Add message info option to message menu
andremion 30f08f5
Extra PaneTitle and PaneRow components for reusing
andremion a8e9215
Add message info component to display read and delivered status
andremion 9bc107e
Stop using kluent assertions
andremion 2623af5
Update read and delivered status checks to include equal comparison
andremion 513c2fd
Add user profile privacy settings screen
andremion c586836
Add privacy settings mapping to domain model
andremion 89655f6
Fix message info component to display read and delivered timestamps c…
andremion 0fbb459
typo
andremion 7e134c3
CHANGELOG
andremion File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need this line in every section? Maybe we can add it in the
## Common changes for all artifactssection instead?