Switch to unified timeline cache via TimelineKinds

This is a fairly large rewrite which unifies our threads, timelines and
profiles. Now all timelines have a MultiSubscriber, and can be added
and removed to columns just like Threads and Profiles.

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2025-01-22 15:59:21 -08:00
parent d46e526a45
commit 0cc1d8a600
39 changed files with 1395 additions and 2055 deletions

View File

@@ -1,4 +1,4 @@
use crate::timeline::{TimelineId, TimelineKind};
use crate::timeline::TimelineKind;
use std::collections::HashMap;
use uuid::Uuid;
@@ -16,7 +16,7 @@ pub enum SubKind {
/// We are fetching a contact list so that we can use it for our follows
/// Filter.
// TODO: generalize this to any list?
FetchingContactList(TimelineId),
FetchingContactList(TimelineKind),
}
/// Subscriptions that need to be tracked at various stages. Sometimes we