Skip to content

fix: improve realtime voice wrap-ups and dev startup recovery - #2596

Merged
bobleer merged 2 commits into
GCWing:1.0.0-explorefrom
bobleer:bob/fix-realtime-voice-and-dev-startup
Aug 28, 2026
Merged

fix: improve realtime voice wrap-ups and dev startup recovery#2596
bobleer merged 2 commits into
GCWing:1.0.0-explorefrom
bobleer:bob/fix-realtime-voice-and-dev-startup

Conversation

@bobleer

@bobleer bobleer commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Remove 进展: / Progress: prefixes from realtime task updates.
  • Show and speak a concise final task outcome that preserves the answer, strips headings/parentheses/boilerplate, and avoids duplicate model wrap-ups.
  • Recover macOS desktop development startup when WKWebView retains stale Vite module responses, while revealing the normal error boundary if the one-time retry cannot recover.

Type and Areas

Type:

Regression fix

Areas:

Rust services, Web UI, desktop development startup, realtime voice, i18n

Motivation / Impact

Realtime voice calls now finish with a useful answer in the call popup instead of a short or repetitive status line. Desktop development no longer remains indefinitely on “正在启动 BitFun…” after a stale dynamic module response: Vite development responses are non-persistent, and recognized module-load failures receive one guarded reload.

Verification

  • pnpm run fmt:rs
  • pnpm --dir src/web-ui exec vitest run src/flow_chat/components/voice/voiceTaskBridge.test.ts src/app/startup/startupModuleRecovery.test.ts src/infrastructure/design-system/DesignSystemViteIntegration.test.ts src/app/startup/startupPerformanceContract.test.ts — 4 files, 67 tests passed
  • cargo test -p bitfun-services-integrations --no-default-features --features speech-realtime --lib speech::realtime::tests:: — 4 tests passed
  • pnpm run i18n:audit — passed with 0 warnings
  • pnpm run check:web — passed; only existing appearance inventory warnings were reported
  • pnpm --dir src/web-ui exec eslint src/flow_chat/components/voice/useRealtimeVoiceCall.ts src/flow_chat/components/voice/voiceTaskBridge.ts src/app/App.tsx src/app/startup/startupModuleRecovery.ts vite.config.ts
  • cargo build -p bitfun-desktop
  • Manual macOS verification: two consecutive pnpm run desktop:dev launches reached the interactive application without opening Web Inspector

Reviewer Notes

  • Startup reload recovery is development-only and guarded to one attempt per session; production behavior is unchanged.
  • The outcome_spoken result field is additive and tells the realtime model not to repeat a closing brief already delivered by BitFun.
  • Remote scenarios: the desktop startup change only affects the local Vite development server. Voice task transport and remote-workspace routing are unchanged. Remote workspace, remote control, Peer Device Mode, and Detached Dispatch were not exercised.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@bobleer
bobleer merged commit 77dbb48 into GCWing:1.0.0-explore Aug 28, 2026
12 checks passed
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