I'm the developer of ThetaChat, a work-in-progress chatmail client for Android with a modern Material 3 design. Recently I added support for notification bubbles and shortcuts (these are related for some reason). Each shortcut (and therefore the "conversation" the bubble is made for) uses a shortcut ID, and currently I build that ID using the relevant account's configured_addr and the addresses of each participant in the chat using the list returned by getChatContacts. For 1-to-1 "single" chats, this works excellent, but for group chats, this ID breaks each time the membership changes, causing shortcuts to no longer apply and conversation notification settings to break:
An alternative approach, and one I'm taking everywhere else in the app, is to use the numeric account and chat IDs. This works well for everything else (think: starting Activities, getting messages, and showing profile pictures); however, it is not recommended for shortcuts on Android:
Because the system performs backup and restore on pinned shortcuts automatically, these shortcuts' IDs must contain stable, constant strings or server-side identifiers, rather than identifiers generated locally that might not make sense on other devices.
(source: Create shortcuts - Android Developers)
and yes, you can pin these shortcuts:
While reading the Chatmail core spec earlier, I noticed this:
To allow different groups with the same members, groups are identified by a group-id.
Of course, that would solve that problem I was having, so I looked to see if there was a way to access it over RPC or C FFI (which itself is over Java), and I could not find one. So, I would like a field or method that lets me read that group-id for the purpose of composing these shortcut IDs. (I was considering going ahead and doing the work but the contributing guidelines said to make an issue before doing that.)
I'm the developer of ThetaChat, a work-in-progress chatmail client for Android with a modern Material 3 design. Recently I added support for notification bubbles and shortcuts (these are related for some reason). Each shortcut (and therefore the "conversation" the bubble is made for) uses a shortcut ID, and currently I build that ID using the relevant account's
configured_addrand the addresses of each participant in the chat using the list returned bygetChatContacts. For 1-to-1 "single" chats, this works excellent, but for group chats, this ID breaks each time the membership changes, causing shortcuts to no longer apply and conversation notification settings to break:An alternative approach, and one I'm taking everywhere else in the app, is to use the numeric account and chat IDs. This works well for everything else (think: starting Activities, getting messages, and showing profile pictures); however, it is not recommended for shortcuts on Android:
(source: Create shortcuts - Android Developers)
and yes, you can pin these shortcuts:
While reading the Chatmail core spec earlier, I noticed this:
Of course, that would solve that problem I was having, so I looked to see if there was a way to access it over RPC or C FFI (which itself is over Java), and I could not find one. So, I would like a field or method that lets me read that group-id for the purpose of composing these shortcut IDs. (I was considering going ahead and doing the work but the contributing guidelines said to make an issue before doing that.)