Skip to content

feat(serve): presentation/clean mode for recordings (REQ-207, closes #482)#492

Merged
avrabe merged 1 commit into
mainfrom
feat/req-207-serve-presentation-mode
Jun 5, 2026
Merged

feat(serve): presentation/clean mode for recordings (REQ-207, closes #482)#492
avrabe merged 1 commit into
mainfrom
feat/req-207-serve-presentation-mode

Conversation

@avrabe
Copy link
Copy Markdown
Contributor

@avrabe avrabe commented Jun 5, 2026

Closes #482. The rivet serve dashboard's context bar always shows branch@sha, an "N uncommitted" badge, the absolute project path, and Reload/Print buttons — which leaked into every frame of the intro-video capture (and would into any screenshot), looking unprofessional and exposing in-progress branch names / machine paths.

Fix

?presentation=1 (alias ?clean=1) adds a presentation class on the document root; CSS hides .context-bar while set. Client-side, set once on load, so it survives HTMX navigations (which only swap #content) — the capture spec or a user just appends the param. Default (no param) unchanged; no server plumbing.

Verification

  • curl /artifacts?presentation=1 → HTML carries the toggle script + .presentation .context-bar{display:none} rule.
  • presentation-mode.spec.ts (4 tests, dataset-independent): bar visible normally; hidden with ?presentation=1 and ?clean=1; class survives an HTMX nav. All pass locally.
  • cargo fmt --check + clippy --all-targets -- -D warnings exit 0 · rivet validate PASS.

Implements + Verifies REQ-207. Useful immediately for re-recording the intro video without the branch/dirty chrome.

🤖 Generated with Claude Code

…ecordings (REQ-207, closes #482)

#482: the serve dashboard context bar always shows branch@sha, an "N
uncommitted" badge, the absolute project path, and Reload/Print buttons — which
leaked into every frame of the intro-video capture (unprofessional, and exposes
in-progress branch names / machine paths in published media).

Adds `?presentation=1` (alias `?clean=1`): an inline <head> script sets a
`presentation` class on the document root, and CSS hides `.context-bar` while
it's set. Client-side and set once on load, so it survives HTMX swaps (which
only replace #content) — the capture spec / a user just appends the param.
Default (no param) is unchanged; no server plumbing.

Test (presentation-mode.spec.ts): context bar visible normally, hidden with
?presentation=1 and ?clean=1, and the class survives an HTMX navigation.
Dataset-independent (the bar renders on every page regardless of corpus size).

Confirmed with: cargo build -p rivet-cli; curl /artifacts?presentation=1 shows
the toggle + CSS rule; npx playwright test presentation-mode.spec.ts (4 passed);
cargo fmt --check + clippy --all-targets -- -D warnings (exit 0); rivet validate PASS.

Implements: REQ-207
Verifies: REQ-207
Refs: FEAT-001
@avrabe avrabe merged commit 00876df into main Jun 5, 2026
20 checks passed
@avrabe avrabe deleted the feat/req-207-serve-presentation-mode branch June 5, 2026 21:24
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2026

📐 Rivet artifact delta

Change Count
Added 1
Removed 0
Modified 0
Downstream impacted (depth ≤ 5) 0

Graph

graph LR
  REQ_207["REQ-207"]:::added
  classDef added fill:#d4edda,stroke:#28a745,color:#155724
  classDef removed fill:#f8d7da,stroke:#dc3545,color:#721c24
  classDef modified fill:#fff3cd,stroke:#ffc107,color:#856404
  classDef overflow fill:#e2e3e5,stroke:#6c757d,color:#495057,stroke-dasharray: 3 3
Loading
Added
  • REQ-207

📎 Full HTML dashboard attached as workflow artifact rivet-delta-pr-492download from the workflow run.

Posted by rivet-delta workflow. The graph shows only changed artifacts; open the HTML dashboard (above) for full context.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Rivet Criterion Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 9d7fe91 Previous: 00b59a5 Ratio
store_lookup/100 2145 ns/iter (± 37) 1717 ns/iter (± 3) 1.25
store_lookup/1000 26404 ns/iter (± 158) 19422 ns/iter (± 556) 1.36
validate/10000 1399108185 ns/iter (± 18863477) 966587939 ns/iter (± 5057977) 1.45
traceability_matrix/1000 61054 ns/iter (± 1182) 41476 ns/iter (± 3751) 1.47
query/100 1159 ns/iter (± 6) 893 ns/iter (± 5) 1.30
query/1000 15155 ns/iter (± 133) 11653 ns/iter (± 194) 1.30

This comment was automatically generated by workflow using github-action-benchmark.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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