From 4e2b597f1efff9987e03bfce1c50499f6f63ecae Mon Sep 17 00:00:00 2001 From: Joscha Date: Fri, 17 Mar 2023 18:27:01 +0100 Subject: [PATCH] Fix waiting rooms being sorted to bottom --- CHANGELOG.md | 1 + src/ui/rooms.rs | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1fe6296..2ad3c38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ Procedure when bumping the version number: - Display colon-delimited emoji in nicks and messages - Non-export info is now printed to stderr instead of stdout - Recognizes links without scheme (e. g. `euphoria.io` instead of `https://euphoria.io`) +- Rooms waiting for reconnect are no longer sorted to bottom in default sort order ### Fixed - Mentions not being stopped by `>` diff --git a/src/ui/rooms.rs b/src/ui/rooms.rs index 60cb9ee..eac0a75 100644 --- a/src/ui/rooms.rs +++ b/src/ui/rooms.rs @@ -317,10 +317,9 @@ impl Rooms { fn sort_rooms(&self, rooms: &mut [(&String, Option<&euph::State>, usize)]) { match self.order { - Order::Alphabet => rooms.sort_unstable_by_key(|(n, _, _)| *n), - Order::Importance => rooms.sort_unstable_by_key(|(n, s, u)| { - let no_instance = matches!(s, None | Some(euph::State::Disconnected)); - (no_instance, *u == 0, *n) + Order::Alphabet => rooms.sort_unstable_by_key(|(name, _, _)| *name), + Order::Importance => rooms.sort_unstable_by_key(|(name, state, unseen)| { + (state.is_none(), *unseen == 0, *name) }), } }