Skip to content

feat: expose voice input spike#58

Merged
SebastianBoehler merged 2 commits into
mainfrom
agent/50-voice-input-spike
Jul 9, 2026
Merged

feat: expose voice input spike#58
SebastianBoehler merged 2 commits into
mainfrom
agent/50-voice-input-spike

Conversation

@SebastianBoehler

Copy link
Copy Markdown
Contributor

Summary

  • Replaces the placeholder /voice route with a voice input spike screen.
  • Routes Ask FAB long-press to the voice screen while keeping normal tap behavior for chat.
  • Surfaces push-to-talk, conversation mode, custom hotword, and passive listener feasibility gates in-app.

Stacked after #57. Closes #50

Validation

  • git diff --check
  • flutter test test/navigation_test.dart could not run in this runtime because flutter is not installed (command not found).

@SebastianBoehler SebastianBoehler force-pushed the agent/49-generative-ui-registry branch from 4e7479a to 943bca6 Compare July 9, 2026 08:07
@SebastianBoehler SebastianBoehler force-pushed the agent/50-voice-input-spike branch from 920c0f7 to 0324b7a Compare July 9, 2026 08:07
@SebastianBoehler SebastianBoehler force-pushed the agent/49-generative-ui-registry branch from 943bca6 to 9822e8e Compare July 9, 2026 08:25
@SebastianBoehler SebastianBoehler force-pushed the agent/50-voice-input-spike branch from 0324b7a to 88c0283 Compare July 9, 2026 08:26
@SebastianBoehler SebastianBoehler force-pushed the agent/49-generative-ui-registry branch from 9822e8e to 950e7b7 Compare July 9, 2026 09:00
@SebastianBoehler SebastianBoehler force-pushed the agent/50-voice-input-spike branch from 88c0283 to 5fdd582 Compare July 9, 2026 09:00
@SebastianBoehler SebastianBoehler changed the base branch from agent/49-generative-ui-registry to main July 9, 2026 09:20
@SebastianBoehler SebastianBoehler marked this pull request as ready for review July 9, 2026 09:20
@SebastianBoehler SebastianBoehler merged commit 78066a0 into main Jul 9, 2026
7 checks passed
@SebastianBoehler

Copy link
Copy Markdown
Contributor Author

Post-merge review pass on #58.

Intent I see here:

  • Replace the placeholder /voice route with a visible voice input spike screen.
  • Make the Ask FAB long-press route to /voice while preserving normal tap-to-chat behavior.
  • Keep the voice feature framed as feasibility work, especially around push-to-talk vs. conversation mode vs. hotword/passive listening.

I did not find a concrete blocking defect in the diff. The useful risk areas for the next pass are:

  • Real-device voice behavior: mic permission denial, unsupported speech engines, and STT/TTS lifecycle are still the highest-risk parts and need Android/iOS/manual validation beyond widget tests.
  • Ask FAB interaction/accessibility: the switch from FloatingActionButton.extended to a custom GestureDetector/Material wrapper enables long-press, but it is worth checking keyboard/focus/tooltip/ink behavior on web and desktop so the primary Ask action stays accessible.
  • Discoverability: long-press is a hidden gesture, so the next UX iteration should decide whether voice needs a visible entry point as the spike becomes more than a prototype.
  • Voice flow scope: keep passive listening/hotword behind explicit research gates; the current copy points in the right direction.

Validation checked:

  • GitHub Actions for this PR passed Flutter formatting, analysis, tests, Android APK, and desktop/web builds.
  • Local git diff --check origin/main..pr-58 produced no whitespace errors.
  • I could not rerun flutter test locally because this runtime does not have flutter installed.

Smallest next action: no follow-up PR needed from this review alone. If someone continues the voice work, I would start with a manual device test checklist and a small accessibility pass on AskFab before adding more voice features.

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.

spike: compare push-to-talk and hotword voice input

1 participant