summaryrefslogtreecommitdiff
path: root/src/event/app.rs
diff options
context:
space:
mode:
authorKit La Touche <kit@transneptune.net>2025-02-21 22:18:56 -0500
committerKit La Touche <kit@transneptune.net>2025-02-21 22:53:49 -0500
commit9d1dbac74866a6175c65a25bbd8a3ccbe8cf87e4 (patch)
treef15b3f0695b948e335774aa4d92a5b064a1c0f10 /src/event/app.rs
parent743b59b69857da81b214970ec9252bc918ad243d (diff)
parent36cadfe00cacc6a6523f9862d3f7a08a9d0ce611 (diff)
Merge branch 'main' into prop/preserve-state
Diffstat (limited to 'src/event/app.rs')
-rw-r--r--src/event/app.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/event/app.rs b/src/event/app.rs
index b309245..8661c90 100644
--- a/src/event/app.rs
+++ b/src/event/app.rs
@@ -1,12 +1,11 @@
use futures::{
- future,
+ Stream, future,
stream::{self, StreamExt as _},
- Stream,
};
use itertools::Itertools as _;
use sqlx::sqlite::SqlitePool;
-use super::{broadcaster::Broadcaster, Event, Sequence, Sequenced};
+use super::{Event, Sequence, Sequenced, broadcaster::Broadcaster};
use crate::{
channel::{self, repo::Provider as _},
login::{self, repo::Provider as _},
@@ -27,7 +26,7 @@ impl<'a> Events<'a> {
pub async fn subscribe(
&self,
resume_at: Sequence,
- ) -> Result<impl Stream<Item = Event> + std::fmt::Debug, Error> {
+ ) -> Result<impl Stream<Item = Event> + std::fmt::Debug + use<>, Error> {
// Subscribe before retrieving, to catch messages broadcast while we're
// querying the DB. We'll prune out duplicates later.
let live_messages = self.events.subscribe();
@@ -76,7 +75,7 @@ impl<'a> Events<'a> {
Ok(replay.chain(live_messages))
}
- fn resume(resume_at: Sequence) -> impl for<'m> FnMut(&'m Event) -> future::Ready<bool> {
+ fn resume(resume_at: Sequence) -> impl for<'m> FnMut(&'m Event) -> future::Ready<bool> + use<> {
let filter = Sequence::after(resume_at);
move |event| future::ready(filter(event))
}