FE-1664: Refine host-owned Voice sessions in Petrinaut - #9719
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
PR SummaryLow Risk Overview Compact Voice setup keeps consent/permission in an overlay card above a fixed Voice setup dock (no premature Connecting, no layout shift for viewport controls). The issues icon stays anchored in the dock when collapsing or expanding a live session; dock layout reserves space so status text does not overlap the indicator. Session Reviewed by Cursor Bugbot for commit aa77ecb. Bugbot is set up for automated code reviews on this repo. Configure here. |
23c55ec to
0ea50ca
Compare
|
Code review finding: |
0ea50ca to
3d9c011
Compare
8df895f to
c772086
Compare
c772086 to
67e084f
Compare
lunelson
left a comment
There was a problem hiding this comment.
Re-reviewed the current remote head after the restack. The durable Voice issue stories now use warningMessage, matching production classification, and I found no remaining child-specific code issue. The parent Live autoplay concern remains owned by #9671.
Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
76d006f to
aa77ecb
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit aa77ecb. Configure here.
| /> | ||
| <Button size="xs" variant="ghost" onClick={onDismiss}> | ||
| Dismiss Voice issues | ||
| </Button> |
There was a problem hiding this comment.
Dismiss drops keyboard focus
Low Severity
Dismiss Voice issues clears voiceAlerts and unmounts VoiceAlerts while focus is still in the portalled popover. That skips the popover onClose path and returnFocusRef, so the trigger is gone before focus can return to the dock.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit aa77ecb. Configure here.
7d82856
into
kostandin/fe-1663-experiment-live-full-duplex-migration


Note
Platform extraction: This PR isolates provider-independent, host-owned Voice presentation so it can be reviewed and shipped independently. It introduces no GPT-Live, transcription, Flue, or Brunch behavior and depends on #9671.
🌟 What is the purpose of this PR?
Extract the reusable Petrinaut Voice presentation from the GPT-Live experiment so the Petrinaut platform behavior can be reviewed and shipped independently of OpenAI, Flue, and Brunch integration code.
Hosts continue to own session and recovery behavior. Petrinaut only presents the reported Voice state and available actions.
🔗 Related links
🚫 Blocked by
🔍 What does this change?
@hashintel/petrinautpatch changeset.Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
@hashintel/petrinautpatch:.changeset/tidy-voice-dock.md.📜 Does this require a change to the docs?
The changes in this PR:
🕸️ Does this require a change to the Turbo Graph?
The changes in this PR:
This PR does not alter capture, transcription, transport, admission, or provider recovery behavior. Those remain host responsibilities.
🐾 Next steps
#9673 is already restacked on this PR and can be reviewed as the downstream experimental consumer. The stack now targets
main; merge in order #9671 → #9719 → #9673 → #9704.🛡 What tests cover this?
@hashintel/petrinautunit suite: 1,129 passed.@hashintel/petrinautbuild, typecheck, and ESLint: passed.❓ How to test this?
yarn workspace @hashintel/petrinaut dev.📹 Demo
No separate recording is included; the Storybook cases provide the review fixtures.