# 06-Sep-2026 — restore log panel builds up line by line instead of flashing empty on every log flush [#389](https://github.com/nbarrett/ngx-ramblers/issues/389)

## [build 881](https://github.com/nbarrett/ngx-ramblers/actions/runs/34034203673) — [commit 72e30a6](https://github.com/nbarrett/ngx-ramblers/commit/72e30a69de2d94a7ee8ddc804053f6d760a8921e)

_____

While a restore ran, the History tab's expanded log panel collapsed to
"Waiting for log output..." and re-filled roughly every half second. The
per-session progress websocket handler reloaded the whole session list on
every message, and the list endpoint strips logs, so the in-progress
session was replaced with a logless copy until a second request fetched
its logs again. The panel also changed height while doing this, so the
groups below it jumped.

- Drop the per-line progress handler and its toast; the session-updated
event is now the only feed for the log panel
- Keep existing logs when the session list is refetched without them
- Track log lines by a stable key so new lines append with a short
fade-in instead of rewriting every line
- Hold the panel height while a session is in progress

Add tools/check-inline-sass.ts, which extracts every inline styles: block
from the component files and compiles it with the Sass compiler bundled
with @angular/build, resolving relative @use against the component path
and blanking template interpolations. Run it as npm run lint:inline-sass,
from npm run lint, and from the pre-commit hook on staged component
files, so a broken block fails before the dev server overlay shows it.