Skip to content

A live seat keeps its identity until its child exits - #245

Merged
GraemeF merged 4 commits into
mainfrom
live-seat-keeps-identity
Sep 29, 2026
Merged

GraemeF merged 4 commits into
mainfrom
live-seat-keeps-identity

Conversation

@GraemeF

@GraemeF GraemeF commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Fixes a seat that went deaf after an hour of quiet. It also fixes the late bursts of history, own posts included, that followed its next post. Both are regressions in 0.24.0.

The ephemeral idle sweep deactivated a seat's bot after 60 minutes without a post or react, while its child was still running. The events queue now belongs to the seat's own bot, so a released seat's pump found no owner and idled without a log line. The seat's next post re-acquired the bot. That re-ran the boot catch-up and replayed the last four hours.

  • The idle sweep is gone, with its tests. A seat's bot now lives until its child exits or its session changes. A hard-killed child can leak its bot, and that trade is accepted.
  • The channel catch-up drops the seat's own posts, as the live pump already does.
  • A new server test covers the stall. It leaves a bound seat without a tool call for three hours, then checks that the seat still receives.

The idle sweep released an ephemeral seat's bot after an hour without a
post or react, while the child was still running. The events queue
belongs to that bot, so the seat stopped receiving. Its next post then
re-acquired and replayed four hours of history at it. Release now happens
only on exit and on a session change.
@GraemeF
GraemeF marked this pull request as ready for review September 29, 2026 12:06
@GraemeF
GraemeF enabled auto-merge (squash) September 29, 2026 12:06
@GraemeF
GraemeF merged commit e7638d9 into main Sep 29, 2026
2 checks passed
@GraemeF
GraemeF deleted the live-seat-keeps-identity branch September 29, 2026 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant