[list] Sort notifications by latest first

This commit is contained in:
2026-03-19 20:59:49 -04:00
parent 84541845fa
commit 9e5e7e90f8

View File

@ -174,7 +174,18 @@ impl Subscription {
fn handle_event(&self, ev: ListenerEvent) {
match ev {
ListenerEvent::Message(msg) => {
self.imp().messages.append(&glib::BoxedAnyObject::new(msg));
let time = msg.time;
let messages = &self.imp().messages;
let pos = (0..messages.n_items())
.find(|&i| {
messages
.item(i)
.and_then(|item| item.downcast::<glib::BoxedAnyObject>().ok())
.map(|b| b.borrow::<models::ReceivedMessage>().time > time)
.unwrap_or(false)
})
.unwrap_or(messages.n_items() as u32);
messages.insert(pos, &glib::BoxedAnyObject::new(msg));
self.update_unread_count();
}
ListenerEvent::ConnectionStateChanged(connection_state) => {