From ad4ac3e10d2a3e5569c1b36f87d6a5f78a9cf863 Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Tue, 13 May 2025 23:03:56 -0400 Subject: Make creation time an intrinsic fact about channels, the way it is for events. To make unread handling of empty channels coherent (and to make it possible to mark an empty channel as having been read), they need to be associated with a specific point in time. This change exposes their creation time in the snapshot - it was already part of the event view, though the client doesn't know that yet. --- src/channel/repo.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/channel/repo.rs') diff --git a/src/channel/repo.rs b/src/channel/repo.rs index 91f245b..812a259 100644 --- a/src/channel/repo.rs +++ b/src/channel/repo.rs @@ -57,11 +57,11 @@ impl Channels<'_> { let channel = History { channel: Channel { + created, id, name: name.clone(), deleted_at: None, }, - created, deleted: None, }; @@ -91,11 +91,11 @@ impl Channels<'_> { .map(|row| { Ok::<_, name::Error>(History { channel: Channel { + created: Instant::new(row.created_at, row.created_sequence), id: row.id, name: Name::optional(row.display_name, row.canonical_name)?.unwrap_or_default(), deleted_at: row.deleted_at, }, - created: Instant::new(row.created_at, row.created_sequence), deleted: Instant::optional(row.deleted_at, row.deleted_sequence), }) }) @@ -129,11 +129,11 @@ impl Channels<'_> { .map(|row| { Ok::<_, name::Error>(History { channel: Channel { + created: Instant::new(row.created_at, row.created_sequence), id: row.id, name: Name::optional(row.display_name, row.canonical_name)?.unwrap_or_default(), deleted_at: row.deleted_at, }, - created: Instant::new(row.created_at, row.created_sequence), deleted: Instant::optional(row.deleted_at, row.deleted_sequence), }) }) @@ -168,11 +168,11 @@ impl Channels<'_> { .map(|row| { Ok::<_, name::Error>(History { channel: Channel { + created: Instant::new(row.created_at, row.created_sequence), id: row.id, name: Name::optional(row.display_name, row.canonical_name)?.unwrap_or_default(), deleted_at: row.deleted_at, }, - created: Instant::new(row.created_at, row.created_sequence), deleted: Instant::optional(row.deleted_at, row.deleted_sequence), }) }) @@ -299,11 +299,11 @@ impl Channels<'_> { .map(|row| { Ok::<_, name::Error>(History { channel: Channel { + created: Instant::new(row.created_at, row.created_sequence), id: row.id, name: Name::optional(row.display_name, row.canonical_name)?.unwrap_or_default(), deleted_at: row.deleted_at, }, - created: Instant::new(row.created_at, row.created_sequence), deleted: Instant::optional(row.deleted_at, row.deleted_sequence), }) }) -- cgit v1.2.3