fix(marmot): don't mark own messages unread + pad empty group list

- `MarmotGroupList.addMessage` now routes self-authored messages
  through `restoreMessageSync` (the no-unread-bump path) so the
  relay round-trip of a message the user just sent doesn't show up
  as an unread bold entry in the group list and doesn't bump the
  unread badge counter.
- `MarmotGroupListScreen` empty state now has 32dp horizontal
  padding and centered text alignment so the "No invitations" /
  "No groups yet" copy doesn't run into the screen edges.
This commit is contained in:
Claude
2026-04-15 21:54:57 +00:00
parent e3ed630430
commit a7960f9484
2 changed files with 17 additions and 3 deletions
@@ -46,8 +46,17 @@ class MarmotGroupList(
msg: Note,
) {
val chatroom = getOrCreateGroup(nostrGroupId)
if (chatroom.addMessageSync(msg)) {
if (msg.author?.pubkeyHex == ownerPubKey) {
val isSelfAuthored = msg.author?.pubkeyHex == ownerPubKey
// Use the quiet path for our own messages so the relay round-trip
// doesn't mark the user's own outgoing message as unread.
val added =
if (isSelfAuthored) {
chatroom.restoreMessageSync(msg)
} else {
chatroom.addMessageSync(msg)
}
if (added) {
if (isSelfAuthored) {
chatroom.ownerSentMessage = true
}
_groupListChanges.tryEmit(nostrGroupId)