Skip to content

feat: replay boot-time log backlog to new log stream clients - #220

Merged
CodeMaster4711 merged 1 commit into
mainfrom
feat/log-stream-boot-backlog
Aug 8, 2026
Merged

feat: replay boot-time log backlog to new log stream clients#220
CodeMaster4711 merged 1 commit into
mainfrom
feat/log-stream-boot-backlog

Conversation

@CodeMaster4711

Copy link
Copy Markdown
Collaborator

Like docker logs, a new log stream client should see everything since container start, not just what's produced after it connects. Previously stream_logs only forwarded live reads to whatever client was currently attached and dropped everything else — boot-time output (docker-entrypoint.sh, nginx notice lines) was gone forever if no client had connected yet, since firecracker microVMs boot in well under a second and the browser tab always attaches after that.

Adds a bounded 64KB ring buffer (VecDeque) that every stdout/stderr chunk is appended to regardless of whether a client is attached. On accept, the full backlog is replayed to the new client before it starts receiving live chunks.

@CodeMaster4711
CodeMaster4711 merged commit 0263911 into main Aug 8, 2026
3 of 4 checks passed
@CodeMaster4711
CodeMaster4711 deleted the feat/log-stream-boot-backlog branch August 8, 2026 11:35
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

cargo audit found vulnerabilities:

  • RUSTSEC-2026-0204 crossbeam-epoch@0.9.18: Invalid pointer dereference in fmt::Pointer impl for Atomic and Shared when the underlying pointer is invalid
  • RUSTSEC-2026-0235 rkyv@0.7.46: Insufficient archive validation can cause out-of-bounds reads in archives containing Rc/Arc
  • RUSTSEC-2023-0071 rsa@0.9.10: Marvin Attack: potential key recovery through timing sidechannels

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