Conversation
README status + roadmap now reflect reality: this is a working alpha, not a scaffold. OAuth device-code + safeStorage token vault, SRT encoder lifecycle, WHEP subscribe / WHIP publish sessions, and the loopback control-plane HTTP API (0.3.0) are all shipped and covered by the vitest suite. Previously the README claimed "early / scaffolding" and marked OAuth + SRT encoder as Wave 2 "next". No code changed.
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_f90b8b94-cff6-4287-88d5-bb0e1930bac5) |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe changelog and README now describe an alpha working build, shipped capabilities, present-tense availability, and updated roadmap sequencing. ChangesProject status documentation
Estimated code review effort: 1 (Trivial) | ~2 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can group findings by type and pick your Finding display, from Minimal to Full |
PR Summary by QodoDocs: align README/roadmap with shipped alpha status
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Qodo FixerNo findings are available for this PR yet. Findings appear here once Qodo has reviewed the PR. |
There was a problem hiding this comment.
Risk: low. Left a non-blocking comment — Cursor Bugbot and Cursor Security Agent both skipped (Bugbot hit a usage limit), so the required automated review signals are incomplete and human review is needed. No reviewers were assigned (only the PR author is assignable on this repo).
Sent by Cursor Approval Agent: Pull Request Router and Approver
ApprovabilityVerdict: Approved c2001d8 Documentation-only changes updating project status, license references, and roadmap. No code modified. Author owns all changed files. Open comments are minor markdown style suggestions. You can customize Macroscope's approvability policy. Learn more. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@CHANGELOG.md`:
- Around line 9-10: Insert a blank line immediately after the “### Changed”
heading and before its first bullet in the changelog entry, preserving the
existing heading and bullet content.
In `@README.md`:
- Around line 95-102: Resolve the W5 status mismatch in README.md by aligning
the roadmap entry with the current-capability description: mark “Multiview grid
+ WebRTC push” as shipped if that functionality is available, or update the
earlier capability text to describe it as upcoming. Ensure both sections
consistently state the same status.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 2b8fe4e5-3e80-492b-84e5-7356463ea90f
📒 Files selected for processing (2)
CHANGELOG.mdREADME.md
📜 Review details
⏰ Context from checks skipped due to timeout. (6)
- GitHub Check: [code]smith
- GitHub Check: semgrep-cloud-platform/scan
- GitHub Check: Macroscope - Approvability Check
- GitHub Check: Analyze (javascript-typescript)
- GitHub Check: Cursor Approval Agent: Pull Request Router and Approver
- GitHub Check: Analyze (javascript-typescript)
🧰 Additional context used
📓 Path-based instructions (1)
CHANGELOG.md
📄 CodeRabbit inference engine (AGENTS.md)
Update
CHANGELOG.mdunderUnreleasedsection for user-facing changes
Files:
CHANGELOG.md
🪛 markdownlint-cli2 (0.23.2)
CHANGELOG.md
[warning] 9-9: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
🔇 Additional comments (1)
README.md (1)
6-10: LGTM!Also applies to: 30-32
| ### Changed | ||
| - **Public story corrected to match shipped state** — README status + roadmap now reflect reality: this is a working alpha, not a scaffold. OAuth device-code + safeStorage token vault, SRT encoder lifecycle, WHEP subscribe / WHIP publish sessions, and the loopback control-plane API (0.3.0) are all shipped and tested. Previously the README claimed "early / scaffolding" and marked OAuth + SRT encoder as Wave 2 "next". No code changed. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Add a blank line after the Changed heading.
markdownlint-cli2 reports MD022 because Line 9 is not followed by a blank line. Insert one before the bullet.
Proposed fix
### Changed
+
- **Public story corrected to match shipped state** — README status + roadmap now reflect reality: this is a working alpha, not a scaffold. OAuth device-code + safeStorage token vault, SRT encoder lifecycle, WHEP subscribe / WHIP publish sessions, and the loopback control-plane API (0.3.0) are all shipped and tested. Previously the README claimed "early / scaffolding" and marked OAuth + SRT encoder as Wave 2 "next". No code changed.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ### Changed | |
| - **Public story corrected to match shipped state** — README status + roadmap now reflect reality: this is a working alpha, not a scaffold. OAuth device-code + safeStorage token vault, SRT encoder lifecycle, WHEP subscribe / WHIP publish sessions, and the loopback control-plane API (0.3.0) are all shipped and tested. Previously the README claimed "early / scaffolding" and marked OAuth + SRT encoder as Wave 2 "next". No code changed. | |
| ### Changed | |
| - **Public story corrected to match shipped state** — README status + roadmap now reflect reality: this is a working alpha, not a scaffold. OAuth device-code + safeStorage token vault, SRT encoder lifecycle, WHEP subscribe / WHIP publish sessions, and the loopback control-plane API (0.3.0) are all shipped and tested. Previously the README claimed "early / scaffolding" and marked OAuth + SRT encoder as Wave 2 "next". No code changed. |
🧰 Tools
🪛 markdownlint-cli2 (0.23.2)
[warning] 9-9: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@CHANGELOG.md` around lines 9 - 10, Insert a blank line immediately after the
“### Changed” heading and before its first bullet in the changelog entry,
preserving the existing heading and bullet content.
Source: Linters/SAST tools
| | W1 | Shell + IPC contract + four-tab UI | shipped (0.2.0) | | ||
| | W2 | OAuth device-code + safeStorage + SRT encoder | shipped | | ||
| | W3 | WHEP subscribe + WHIP publish session surface | shipped | | ||
| | W4 | Loopback control-plane HTTP API (Companion / vMix / multiviewer) | shipped (0.3.0) | | ||
| | W5 | Multiview grid + WebRTC push | next | | ||
| | W6 | OBS plugin (#163, separate repo) | pending | | ||
| | W7 | vMix integration (#164) | pending | | ||
| | W8 | Zoom / Teams / Meet bridge (#166) | pending | |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Resolve the W5 status contradiction.
README.md Line 21 describes the multiview grid and optional WebRTC push as available. Lines 95-99 mark the same W5 surface as next. Mark W5 as shipped, or revise the current-capability text so both sections state the same status.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` around lines 95 - 102, Resolve the W5 status mismatch in README.md
by aligning the roadmap entry with the current-capability description: mark
“Multiview grid + WebRTC push” as shipped if that functionality is available, or
update the earlier capability text to describe it as upcoming. Ensure both
sections consistently state the same status.
Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
| > WHIP publish sessions (the encode→publish bridge is opt-in via the | ||
| > `WAVE_ENABLE_ENCODE_BRIDGE` flag, default off), and a loopback |
There was a problem hiding this comment.
🔍 README flag name omits the renderer's VITE_ prefix
README documents the encode bridge as opt-in via WAVE_ENABLE_ENCODE_BRIDGE, but src/shared/flags.ts:38-51 only honors the bare name in the main process; the renderer reads VITE_WAVE_ENABLE_ENCODE_BRIDGE (Vite inlines only VITE_-prefixed vars at build time). An operator setting just WAVE_ENABLE_ENCODE_BRIDGE before npm run dev will not enable the renderer-side bridge. Worth documenting both forms.
Was this helpful? React with 👍 or 👎 to provide feedback.
Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
| > **Status: working build, alpha.** The app runs — OAuth device-code sign-in, | ||
| > safeStorage-backed token vault, SRT encoder lifecycle, WHEP subscribe + | ||
| > WHIP publish sessions (the encode→publish bridge is opt-in via the | ||
| > `WAVE_ENABLE_ENCODE_BRIDGE` flag, or `VITE_WAVE_ENABLE_ENCODE_BRIDGE` for | ||
| > the renderer build; default off), and a loopback | ||
| > control-plane HTTP API (v0.3.0) are all shipped and covered by a vitest | ||
| > suite. Interfaces still evolve. Watch the |
There was a problem hiding this comment.
🔍 README flag name is incomplete for the renderer build
The README instructs operators to enable the encode→publish bridge via WAVE_ENABLE_ENCODE_BRIDGE, but src/shared/flags.ts only honors the bare name in the main process; the renderer (where Session.tsx reads it) requires the Vite-inlined VITE_WAVE_ENABLE_ENCODE_BRIDGE. Setting only WAVE_ENABLE_ENCODE_BRIDGE will not turn on the renderer-side bridge, so the docs should mention both forms.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
Already resolved in commit c2001d8: the README status blurb now documents both the bare WAVE_ENABLE_ENCODE_BRIDGE flag and the renderer's VITE_WAVE_ENABLE_ENCODE_BRIDGE form. This comment appears to have been generated against the pre-fix revision.
🟢 WAVE BugBot — clearNo confident findings on the changed lines. Local review · $0 inference · wave-dispatch |


Corrects the desktop repo's public story (same gap as wave-realtime-edge #354, wave-bridge-edge #161): the README claimed 'early / scaffolding' and marked OAuth + SRT encoder as Wave 2 'next' — but OAuth device-code + safeStorage token vault, the SRT encoder lifecycle, WHEP subscribe / WHIP publish sessions, and the loopback control-plane HTTP API (0.3.0) are all shipped and covered by the vitest suite.
Changed
README.md— status headline → 'working build, alpha'; roadmap → OAuth/WHEP/control-plane marked shipped; 'Why this exists' future-tense fixed.CHANGELOG.md— Unreleased entry documenting the correction.Not changed: no code, no behavior, no secrets.
capabilities.jsonwas already accurate (0.3.0, control plane, loopback-only).Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is enabled.Note
Low Risk
Markdown-only README and CHANGELOG edits with no runtime, security, or dependency impact.
Overview
Documentation-only update so the repo’s public narrative matches what is already shipped—no application code, behavior, or secrets change.
The README status callout moves from “early / scaffolding” to working build, alpha, listing OAuth device-code +
safeStoragevault, SRT encoder lifecycle, WHEP/WHIP sessions, and the loopback control-plane API (0.3.0) as shipped and vitest-covered. The roadmap table is realigned: W1–W4 (shell, OAuth/SRT, WHEP/WHIP, control plane) are marked shipped with version notes; multiview/WebRTC becomes W5 “next”; OBS, vMix, and conferencing bridge shift to W6–W8. “Why this exists” is rewritten from future tense (“after this app ships”) to present tense.CHANGELOG adds an [Unreleased] → Changed entry documenting this correction.
Reviewed by Cursor Bugbot for commit cd85513. Configure here.
Note
Update docs to reflect shipped alpha state and correct license to Apache-2.0
WAVE_ENABLE_ENCODE_BRIDGE/VITE_WAVE_ENABLE_ENCODE_BRIDGE(default off) and overhauls the roadmap table to mark W1–W4 as shipped with versions.Macroscope summarized c2001d8.