diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-28 13:35:24 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:14 -0300 |
| commit | 77c7d0bae3b69dc6fccc7cfea7d30aabc1543409 (patch) | |
| tree | 77407ede333bd86494d426a62818d749a46c90d4 /src/panes.zig | |
| parent | 238e35e89d387f3c266b40f107e9419ea75d77bb (diff) | |
| download | pardes-77c7d0bae3b69dc6fccc7cfea7d30aabc1543409.tar.gz pardes-77c7d0bae3b69dc6fccc7cfea7d30aabc1543409.zip | |
With no frontend attached, a detached session's messages go after MessageLinger
A message lingers until input dismisses it, and a detached session with nobody
attached has no input: its messages, and /screen, kept what was said long ago.
The session now marks the core unattended while no client is attached, and
the core drops a pane's messages once the newest has been up MessageLinger on
the clock, checked as it is stepped or served. A pane's older lines go with
its newest rather than each on its own clock; the render pipeline's clock is
the place for that.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/panes.zig')
| -rw-r--r-- | src/panes.zig | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/panes.zig b/src/panes.zig index d4b336d7..888465f7 100644 --- a/src/panes.zig +++ b/src/panes.zig @@ -168,6 +168,8 @@ pub const Pane = struct { msg_len: u16 = 0, /// Where the newest message line is in its life. msg_life: MessageLife = .{}, + /// When it was said, in monotonic ms (Messages.expireUnattended). + msg_said_ms: i64 = 0, /// The row (among the notice rows) the newest line holds for its life. msg_slot: u8 = 0, /// Earlier message lines still on screen, oldest first, each running its |
