Skip to content

Bug Report Button now visible on iOS

Bug Report Button now visible on iOS

Status: Delivered
CAS: CAS-2216
Delivered: 2026-05-10
PRs: #571, #572

What’s new

The floating bug-report button now appears on iOS (and Android). Previously it was suppressed on all mobile platforms; now it is shown whenever the report_issue_enabled setting is on — the same condition that governs it on desktop.

How to use it

When report_issue_enabled is enabled in Settings, a floating button appears in the bottom-right corner of every screen on iOS. Tapping it opens the bug-report sheet, which routes the report through the AI chat conversation (Cloud Bridge or Local CLI). The button respects the iOS safe-area inset so it clears the system tab bar.

There is no keyboard shortcut on mobile (Cmd/Ctrl+Shift+B is desktop-only). The button is the only activation path.

In development builds the button is always visible regardless of the setting, so officers can dogfood the flow without flipping a database flag.

What changed under the hood

  • FloatingReportButton.tsx: removed the isMobilePlatform() early-return guard from the render path (one-line change). The hotkey listener retains the mobile guard since mobile has no physical shortcut.
  • Bottom padding was already calc(80px + env(safe-area-inset-bottom, 0px)), clearing the iOS tab bar — no layout adjustment was needed.
  • test(CAS-2222): Playwright/Maestro mobile visibility test updated to assert the button renders on iOS when Cloud Bridge is live (previously the test reflected the old suppressed behaviour).

Why we built it

The button was gated behind an isMobilePlatform() check because the AI-backed report sheet had no mobile AI provider to submit to. Once Cloud Bridge shipped (CAS-2098), iOS gained a live AI connection. Removing the guard was the natural follow-on: Cloud Bridge makes the feedback loop complete on mobile.

Known limitations / follow-on work

  • The report_issue_enabled flag is still manually flipped by the regent. There is no in-app toggle for end users.
  • Android has not been smoke-tested (iOS Simulator was the target). Android behaviour depends on the same code path and should work, but no explicit test case exists yet.