Skip to content

feat(frontend): voice input as an experimental per-user settings flag - #5657

Merged
mmabrouk merged 2 commits into
release/v0.108.1from
feat/voice-input-experimental-flag
Aug 3, 2026
Merged

feat(frontend): voice input as an experimental per-user settings flag#5657
mmabrouk merged 2 commits into
release/v0.108.1from
feat/voice-input-experimental-flag

Conversation

@mmabrouk

@mmabrouk mmabrouk commented Aug 2, 2026

Copy link
Copy Markdown
Member

Voice input (dictation in the agent chat composer) becomes a per-user experimental toggle in Settings → Feature flags, default off, persisted per user like the neighboring flags. The env variable stays as a dev-stack override (either switch turns the feature on). Nothing else about the recorder or its interplay with attachments changes.

Before: voice input is invisible unless the deployment bakes NEXT_PUBLIC_AGENT_VOICE_INPUT=true into the frontend build; users have no way to try it.
After: any user can turn it on for themselves under Settings → Feature flags → "Voice input"; it stays off for everyone else.

New user-visible strings, complete inventory: the flag label "Voice input" and its description "Dictate messages in the agent chat."

Covered by unit tests for the availability combinator (setting off + env off, setting on, env on). Verified with tsgo and the web unit suite (23 files, 145 tests green).

Intended for the next release. Trial plan: deploy this branch to staging, turn the flag on for a user, run the dictation QA pass.

https://claude.ai/code/session_01McMogkcDRV7UpSAjfd8VKG

@vercel

vercel Bot commented Aug 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agenta-documentation Ready Ready Preview Aug 2, 2026 6:19pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Added a Voice input toggle in Feature Flags settings.
    • Enabled dictation in agent chat when voice input is turned on.
    • Voice input can also be enabled through an environment configuration flag.
  • Bug Fixes

    • Voice input is now disabled by default unless explicitly enabled.

Walkthrough

The change adds a persisted user setting for agent voice input, exposes a settings toggle, and combines that setting with the NEXT_PUBLIC_AGENT_VOICE_INPUT environment flag when the voice composer checks availability.

Changes

Agent voice input

Layer / File(s) Summary
Persisted voice input setting
web/oss/src/state/settings/featureFlags.ts
Adds agentVoiceInputEnabledAtom with per-user persistence and disabled behavior when no user is available.
Availability helper and tests
web/oss/src/components/AgentChatSlice/assets/constants.ts, web/oss/src/components/AgentChatSlice/assets/constants.test.ts
Adds isAgentVoiceInputAvailable and tests availability through the user setting and environment flag.
Settings and composer integration
web/oss/src/components/pages/settings/FeatureFlags/FeatureFlags.tsx, web/oss/src/components/AgentChatSlice/hooks/useVoiceComposer.ts
Adds the “Voice input” toggle and uses the atom value when the composer checks availability.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant FeatureFlags
  participant agentVoiceInputEnabledAtom
  participant useVoiceComposer
  participant isAgentVoiceInputAvailable

  User->>FeatureFlags: Enable Voice input
  FeatureFlags->>agentVoiceInputEnabledAtom: Store setting
  useVoiceComposer->>agentVoiceInputEnabledAtom: Read setting
  useVoiceComposer->>isAgentVoiceInputAvailable: Check setting and environment flag
  isAgentVoiceInputAvailable-->>useVoiceComposer: Return availability
Loading

Possibly related PRs

  • Agenta-AI/agenta#5458: Adds the voice-input functionality extended by this setting and availability gating.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the main change: adding voice input as an experimental per-user settings flag.
Description check ✅ Passed The description accurately explains the per-user toggle, default state, environment override, tests, and validation for the changeset.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/voice-input-experimental-flag

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mmabrouk
mmabrouk force-pushed the feat/voice-input-experimental-flag branch from 3032e0d to 52ef088 Compare August 2, 2026 18:18
@mmabrouk
mmabrouk marked this pull request as ready for review August 2, 2026 18:18
@dosubot dosubot Bot added size:M This PR changes 30-99 lines, ignoring generated files. Feature Request New feature or request Frontend UX labels Aug 2, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f57c8664-18d0-49fc-895d-e7f3723fc4c7

📥 Commits

Reviewing files that changed from the base of the PR and between ac6b154 and 52ef088.

📒 Files selected for processing (5)
  • web/oss/src/components/AgentChatSlice/assets/constants.test.ts
  • web/oss/src/components/AgentChatSlice/assets/constants.ts
  • web/oss/src/components/AgentChatSlice/hooks/useVoiceComposer.ts
  • web/oss/src/components/pages/settings/FeatureFlags/FeatureFlags.tsx
  • web/oss/src/state/settings/featureFlags.ts

Comment thread web/oss/src/components/AgentChatSlice/assets/constants.ts
@github-actions

github-actions Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Railway Preview Environment

Status Destroyed (PR closed)

Updated at 2026-08-03T16:42:39.122Z

@mmabrouk
mmabrouk changed the base branch from main to release/v0.108.1 August 3, 2026 16:42
@mmabrouk
mmabrouk merged commit 0742479 into release/v0.108.1 Aug 3, 2026
61 of 63 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature Request New feature or request Frontend size:M This PR changes 30-99 lines, ignoring generated files. UX

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant