From 9f66bdc8a5f66e4f754d753b5b455f3dc2de1d2d Mon Sep 17 00:00:00 2001 From: Julian Schmidhuber Date: Tue, 20 Oct 2026 20:08:19 +0200 Subject: [PATCH] fix(manager): Fix channel not emitted on first message --- CHANGELOG.md | 1 + src/backend/manager.rs | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13c4d9d..5f125a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Don't panic when setting up the database failed. +- Channels were not listed in the channel list after their first message was received, until Flare was restarted. ## [0.22.6] - 2026-10-15 diff --git a/src/backend/manager.rs b/src/backend/manager.rs index ffc454f..dd18f81 100644 --- a/src/backend/manager.rs +++ b/src/backend/manager.rs @@ -297,10 +297,17 @@ impl Manager { message.set_pending(pending); let channel = message.channel(); + channel .new_message(message) .await .expect("Failed to add message to the channel"); + + // Emit channels if this is the first message (channels that already had messages were already emitted when initialized or earlier on their first message). + let first_message_in_timeline = channel.timeline().n_items() == 1; + if first_message_in_timeline { + self.emit_by_name::<()>("channel", &[&channel]); + } } else if let Some(msg) = message.as_amendment_message() { log::trace!("Message is an amendment message"); // TODO: Error?