feat: ephemeral channels with TTL-based auto-archiving (#232)

Co-authored-by: Wes <wesbillman@users.noreply.github.com>
This commit is contained in:
Bradley Axen
2026-04-07 11:37:51 -07:00
committed by GitHub
co-authored by Wes
parent 3da5e5cafe
commit c07b14bd9f
20 changed files with 327 additions and 16 deletions
+4
View File
@@ -103,6 +103,8 @@ type RawChannel = {
participants: string[];
participant_pubkeys: string[];
is_member?: boolean;
ttl_seconds: number | null;
ttl_deadline: string | null;
};
type RawChannelDetail = RawChannel & {
@@ -353,6 +355,8 @@ function fromRawChannel(channel: RawChannel): Channel {
participants: channel.participants,
participantPubkeys: channel.participant_pubkeys,
isMember: channel.is_member ?? true,
ttlSeconds: channel.ttl_seconds,
ttlDeadline: channel.ttl_deadline,
};
}
+3
View File
@@ -16,6 +16,8 @@ export type Channel = {
participants: string[];
participantPubkeys: string[];
isMember: boolean;
ttlSeconds: number | null;
ttlDeadline: string | null;
};
export type ChannelDetail = Channel & {
@@ -43,6 +45,7 @@ export type CreateChannelInput = {
channelType: Exclude<ChannelType, "dm">;
visibility: ChannelVisibility;
description?: string;
ttlSeconds?: number;
};
export type OpenDmInput = {