Fix filter states when adding columns

This fixes various issues with filter states when adding columns. We now
maintain multiple states per relay so that we don't lose track of
anything.

Fixes: https://github.com/damus-io/notedeck/issues/431
Fixes: https://github.com/damus-io/notedeck/issues/359
Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2024-11-14 14:44:33 -08:00
parent acadc4a9d9
commit 01bedac710
7 changed files with 451 additions and 301 deletions

View File

@@ -361,10 +361,16 @@ pub fn render_add_column_routes(
if let Some(resp) = resp {
match resp {
AddColumnResponse::Timeline(timeline) => {
let id = timeline.id;
AddColumnResponse::Timeline(mut timeline) => {
crate::timeline::setup_new_timeline(
&mut timeline,
&app.ndb,
&mut app.subscriptions,
&mut app.pool,
&mut app.note_cache,
app.since_optimize,
);
app.columns_mut().add_timeline_to_column(col, timeline);
app.subscribe_new_timeline(id);
}
AddColumnResponse::UndecidedNotification => {
app.columns_mut().column_mut(col).router_mut().route_to(