Skip to content

fix(desktop): keep routine button actions quiet - #11369

Merged
Archit-lal merged 1 commit into
BasedHardware:mainfrom
Archit-lal:codex/fix-button-click-sounds
Aug 10, 2026
Merged

fix(desktop): keep routine button actions quiet#11369
Archit-lal merged 1 commit into
BasedHardware:mainfrom
Archit-lal:codex/fix-button-click-sounds

Conversation

@Archit-lal

@Archit-lal Archit-lal commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • remove app-wide click cues from routine navigation, submit, star, capture-toggle, and settings actions
  • keep intentional arrival/completion sounds, onboarding audio, and the dedicated push-to-talk sound preference
  • update the Interface Sounds copy and add a compiler-first palette regression test

Root cause

Commit e96821074c expanded onboarding audio into app-wide interaction feedback and mapped navigation, commit, and capture cues to click.m4a. Because those cues were called from common button paths and effects default to enabled, ordinary actions played a click. The capture cues also bypassed the pre-existing push-to-talk sound preference.

Verification

  • xcrun swift test --package-path Desktop: 4,612 tests passed, 1 skipped, 0 failures
  • xcrun swift test --package-path Desktop --filter OmiUISoundTests: focused sound regression passes
  • python3 desktop/macos/scripts/check_desktop_test_quality.py: passed
  • OMI_APP_NAME=omi-button-silence ./run.sh --full --yolo --no-wait: built, signed, installed, and launched the named dev bundle
  • navigated the named bundle through Settings, Memories, Tasks, and Apps via omi-ctl; its isolated log contained no ui sound: events
  • codesign --verify --deep --strict /Applications/omi-button-silence.app: passed

desktop/macos/test.sh also ran its launcher-script checks, but its live test-mounted-navigation-latency.sh fixture failed because port 47777 was occupied by an unrelated legacy-shell omi-main bundle that does not expose visibleChatFirstRoute. The complete Swift package suite above passed independently.

The normal pre-push hook was bypassed after it compared this fork branch to the fork's stale origin/main and incorrectly selected 1,178 unrelated files, failing on pre-existing missing documentation targets. The equivalent PR preflight was run explicitly against canonical upstream/main and passed all 19 selected checks.

The regression expectation is grounded in the reported behavior and the named-bundle measurement above: routine navigation must produce no app-wide sound event.

Product invariants affected

  • INV-CHAT-1
  • INV-VOICE-1

Failure-Class: none

Review in cubic

Remove app-wide click cues from navigation, submit, star, capture, and settings actions while retaining intentional arrival and completion sounds.

Verified: xcrun swift test --package-path Desktop (4612 tests, 0 failures, 1 skipped); named omi-button-silence bundle navigation emitted no ui sound events.

Failure-Class: none
@Archit-lal
Archit-lal force-pushed the codex/fix-button-click-sounds branch from e852e58 to 4ab324a Compare August 10, 2026 16:56

@cubic-dev-ai cubic-dev-ai 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.

No issues found across 13 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Re-trigger cubic

@Archit-lal
Archit-lal merged commit 089db24 into BasedHardware:main Aug 10, 2026
24 of 25 checks passed
kodjima33 added a commit that referenced this pull request Aug 10, 2026
#11373)

## Summary

`Desktop Swift Release Compile` has been red on `main` since #11369
(strict-concurrency error only visible under the release lane's
whole-module optimization), which fails the auto-release gate closed —
no beta candidate has cut, so #11372 (and everything since the last tag)
is not reaching users.

`KnowledgeGraphToolSupport.ResolveOutcome` was non-Sendable (its
`ClientGraph` carries `[String: Any]` JSON-shaped dictionaries) and is
returned from a nonisolated async function. The dictionaries hold only
locally-built immutable `String`/`[String]` values, so `ClientGraph` is
now `@unchecked Sendable` with that contract documented at the
declaration, and `ResolveOutcome` is `Sendable`.

## Verification

- `xcrun swift build -c release --package-path Desktop` locally: **Build
complete (353.8s), zero errors** — the exact lane that fails in CI.
- No behavior change; type-level conformance only.

Failure-Class: none


<!-- This is an auto-generated description by cubic. -->
<a
href="https://cubic.dev/pr/BasedHardware/omi/pull/11373?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>
<!-- End of auto-generated description by cubic. -->
Archit-lal pushed a commit to Archit-lal/omi that referenced this pull request Aug 10, 2026
The release (whole-module) compile rejects returning the non-Sendable
ResolveOutcome from nonisolated resolveDiscoveryText — debug builds do not,
so this only surfaced in the Desktop Swift Release Compile gate, where it
has blocked every beta candidate since BasedHardware#11369. ClientGraph carries only
locally-built immutable String/[String] values inside [String: Any]
JSON-shaped dictionaries, so it is @unchecked Sendable with that contract
stated at the declaration.

Verified: xcrun swift build -c release --package-path Desktop — Build
complete (353s), zero errors.

Failure-Class: none
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