From 89cda4088e0b8775a76d014906f6d4baf4a90f1a Mon Sep 17 00:00:00 2001 From: Joscha Date: Wed, 7 Dec 2022 01:36:22 +0100 Subject: [PATCH] Add some &rl2dev history bug workarounds --- CHANGELOG.md | 4 ++++ src/euph/room.rs | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53b8c86..c32f659 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ Procedure when bumping the version number: ## Unreleased +### Changed +- Always connect to &rl2dev in ephemeral mode +- Reduce amount of messages per &rl2dev log request + ## v0.5.1 - 2022-11-27 ### Changed diff --git a/src/euph/room.rs b/src/euph/room.rs index 3d332fd..ca25c4c 100644 --- a/src/euph/room.rs +++ b/src/euph/room.rs @@ -382,7 +382,13 @@ impl State { None => None, }; - let _ = conn_tx.send(Log { n: 1000, before }).await?; + // &rl2dev's message history is broken and requesting old messages past + // a certain point results in errors. By reducing the amount of messages + // in each log request, we can get closer to this point. Since &rl2dev + // is fairly low in activity, this should be fine. + let n = if vault.room() == "rl2dev" { 50 } else { 1000 }; + + let _ = conn_tx.send(Log { n, before }).await?; // The code handling incoming events and replies also handles // `LogReply`s, so we don't need to do anything special here. @@ -462,7 +468,13 @@ impl Room { let (canary_tx, canary_rx) = oneshot::channel(); let (event_tx, event_rx) = mpsc::unbounded_channel(); let (euph_room_event_tx, euph_room_event_rx) = mpsc::unbounded_channel(); - let ephemeral = vault.vault().vault().ephemeral(); + + // &rl2dev's message history is broken and requesting old messages past + // a certain point results in errors. Cove should not keep retrying log + // requests when hitting that limit, so &rl2dev is always opened in + // ephemeral mode. + let room_name = vault.room().to_string(); + let ephemeral = vault.vault().vault().ephemeral() || room_name == "rl2dev"; let state = State { name: vault.room().to_string(),