Repository navigation
feat(history): title boosted payments and link them to the boosted message - #1135
Merged
Merged
Conversation
…ssage Persist the boosted reaction in a side table (schemaVersion 57) so a boost still reads as one after a cold load. Rows read 'Boosted 🔥 for Sally', 'Boost 🔥 from Sally', 'Boosted 🔥 in Chat' for a split boost, with no-name fallbacks. The detail screen gets a View Message button that opens the boosted message through the deep link's hydration path.
A boost keeps the name as the large heading and puts 'You boosted' or 'Boost received' under it, winning over 'You tipped'. A split boost is headed by the stored chat's name, or by the boost line alone when the chat is not stored. The receipt card gains Reaction and Chat rows after Date, read from the persisted boost and the local chat store, with no fetch.
The line under the heading now reads 'You boosted 🔥 in {chat}' or 'Boost 🔥
received in {chat}' for a stored group, and drops 'in {chat}' for a DM or a
chat not in the local store. A split boost keeps the chat as its heading with
no 'in'. The Reaction and Chat receipt rows are removed.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Payments that boost a reaction read as plain "Sent to" / "Received from" rows in history once the app reloads from its local database, because the boosted reaction was only held in memory. This persists it and uses it for the row title and the detail screen.
Persistence
boostedReaction (id PK -> activity.id, conversationID, messageID, emoji), one row per boosted payment, deleted with its activity.getActivities/getRecentActivitiesLEFT JOIN it andmakeActivityreads it intoActivity.boostedReaction. A re-sync of an activity replaces its boost row, so a boost the server stops reporting is removed.Database.schemaVersion56 -> 57. The notification service extension reads the same constant, so one bump covers both.Row titles
A boost wins over the tip/send wording.
Boosted 🔥 for SallyBoost 🔥 from SallyBoosted 🔥 in Design TeamBoosted 🔥Boost 🔥 receivedAn unresolved name shows the no-name title rather than the server's. The split-boost chat name comes from the local conversation store by
conversationID; nothing is fetched.Detail screen
A View Message button shows whenever a boost is set, including split boosts that have no counterparty. It opens the message through
DeepLinkAction.routeChat(now internal instead of private), so an unsynced chat is hydrated first and a private group the viewer is not in lands on its profile. A boost takes the button slot over "View in Chat" / "View Profile".Header
The name stays the large heading. A boost puts one line under it that carries the emoji and, for a stored group, the chat; it wins over "You tipped". The line wraps to two lines, then truncates at the tail.
The chat's name and kind come from the local conversation store by conversation id; nothing is fetched. The receipt card is unchanged.
Out of scope: avatar badge, push text.
Stale target: a View Message tap whose chat cannot be found logs and does nothing; no new handling was added.