GNOME Bugzilla – Bug 769355
A couple of notification/pending fixes
Last modified: 2016-08-01 20:32:19 UTC
See patches.
Created attachment 332433 [details] [review] chatView: Use more unique notification IDs How did this go unnoticed all the time? Notification IDs that are used to withdraw notifications are unique within the application, while messages' pending IDs are only unique in the scope of the channel. Update the ID to include the room identifier to stop replacing notifications from other rooms.
Created attachment 332434 [details] [review] chatView: Ignore acknowledged outgoing messages All outgoing messages have a pending ID of 0, which is also a valid ID for incoming messages. We don't create pending marks or notifications for outgoing messages, so don't remove another message's mark/notification when acknowledged.
Created attachment 332435 [details] [review] chatView: Remove pending marks on channel changes For highlighted messages, we defer acknowledging the message until it has been read and pause autoscrolling in the meantime. However as pending messages are tied to their channel, they won't ever get acknowledged after a channel change (for instance on disconnect). As a result, autoscrolling gets stuck until another highlighted message happens to have the same ID (which may never happen). Fix this by clearing out all pending marks on channel changes.
Review of attachment 332433 [details] [review]: Looks good to me.
Review of attachment 332434 [details] [review]: looks good to me.
Review of attachment 332435 [details] [review]: looks good to me.
Attachment 332433 [details] pushed as 9ea9dbd - chatView: Use more unique notification IDs Attachment 332434 [details] pushed as f4b652b - chatView: Ignore acknowledged outgoing messages Attachment 332435 [details] pushed as da46950 - chatView: Remove pending marks on channel changes