2.4 KiB
2.4 KiB
Why
The server terminal currently replays recent entries across every log stream ever created for an instance. That makes an open terminal appear stuck on stale startup output and leaves it unable to distinguish the process currently supervised by Run from a prior Run or process generation.
Operators need a terminal that continuously follows the current managed process even when Run or the process restarts, while keeping historical logs available deliberately and keeping game command execution separate from log transport.
What Changes
- Define a current supervised-log session identity for each Run-managed process generation and attach it to process stdout/stderr log streams.
- Make the live terminal subscribe to the active supervised-log session by default, including a bounded recent replay from that session only.
- Notify terminal subscribers when the active session changes so an already-open terminal automatically replaces the old session output with the new process generation and continues following it.
- Clear the live terminal when Run reports that the supervised process stopped or exited, and restore the same session when a restarted Run confirms that the process survived.
- Retain historical logs as an explicit history view instead of mixing them into the live terminal.
- Preserve RCON and other plugin-declared command transports solely for command dispatch; they are not log sources.
- Extend the local end-to-end smoke coverage with a process/Run generation switch and output markers proving that the terminal feed follows the new generation.
Capabilities
New Capabilities
current-supervised-log-session: identifies and follows the current plugin-declared supervised process stdout/stderr session, including generation changes and separate explicit history access.
Modified Capabilities
Impact
- Affected code: Run process supervision and log metadata, Platform log ingest/domain/API/SSE handling, the server-management terminal API client and drawer, and the local debug smoke path.
- Affected API: Run log ingest, supervised-process observations, and server log SSE gain a bounded session identity/filtering contract; a history-only query is exposed or retained separately.
- Compatibility: existing persisted log streams remain readable through history, but no longer appear by default in the live terminal.