diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2025-04-10 20:50:13 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2025-04-10 20:50:13 -0400 |
| commit | 1ef57107b1c355ef896327f0714344277df7ae18 (patch) | |
| tree | 9874d3d61f0bdb13913c6c4d079fbb82b336f656 /ui/lib/state/remote/state.svelte.js | |
| parent | 0fc3057b05dddb4eba142deeb6373ed37e312c60 (diff) | |
| parent | 1ee129176eb71f5e246462b66fd9c9862ed1ee7a (diff) | |
Use a heartbeat to allow the client to reconnect after network failures.
Diffstat (limited to 'ui/lib/state/remote/state.svelte.js')
| -rw-r--r-- | ui/lib/state/remote/state.svelte.js | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ui/lib/state/remote/state.svelte.js b/ui/lib/state/remote/state.svelte.js index 6cbe124..29831a0 100644 --- a/ui/lib/state/remote/state.svelte.js +++ b/ui/lib/state/remote/state.svelte.js @@ -8,9 +8,10 @@ export class State { channels = $state(); messages = $state(); - static boot({ currentUser, users, channels, messages, resumePoint }) { + static boot({ currentUser, heartbeat, users, channels, messages, resumePoint }) { return new State({ currentUser, + heartbeat, users: Users.boot(users), channels: Channels.boot(channels), messages: Messages.boot(messages), @@ -18,8 +19,9 @@ export class State { }); } - constructor({ currentUser, users, channels, messages, resumePoint }) { + constructor({ currentUser, heartbeat, users, channels, messages, resumePoint }) { this.currentUser = currentUser; + this.heartbeat = heartbeat; this.users = users; this.channels = channels; this.messages = messages; @@ -27,6 +29,8 @@ export class State { } onEvent(event) { + // Heartbeats are actually completely ignored here. They're handled in `Session`, but not as a + // special case; _any_ event is a heartbeat event. switch (event.type) { case 'channel': return this.onChannelEvent(event); |
