Skip to content

Conversation

@tomerqodo
Copy link

@tomerqodo tomerqodo commented Jan 21, 2026

Benchmark PR from qodo-benchmark#206


Note

Removes the legacy QR code scanning feature and its integrations across the app.

  • Deletes QR code quick action/shortcut types, deep link route (Route.AppAction.showQRCode), and RouteBuilder handling
  • Removes toolbar QR code action/middleware and GeneralBrowserActionType/BrowserViewControllerState.DisplayType cases, plus related UI flow from BrowserViewController
  • Strips QR code telemetry (ToolbarTelemetry.qrCodeButtonTapped, Glean probes toolbar.qr_scan_button_tapped and qr_code.scanned) and corresponding TelemetryWrapper mappings
  • Cleans up tests and mocks referencing QR code actions and routes
  • Adjusts reader mode behavior: handleShowReaderModeAction now uses displayView: .readerModeLongPressAction; updates cancel-edit URL logic to include reader mode URLs and inverts reader mode telemetry flag logic
  • Bumps APP_VERSION to 147.2

Written by Cursor Bugbot for commit 75b1c94. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 3 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

windowUUID: state.windowUUID,
browserViewType: state.browserViewType,
displayView: .readerMode,
displayView: .readerModeLongPressAction,
Copy link

Choose a reason for hiding this comment

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

Reader mode tap triggers wrong action after refactor

High Severity

The handleShowReaderModeAction function now sets displayView: .readerModeLongPressAction instead of displayView: .readerMode. This causes tapping the reader mode button to call toggleReaderModeLongPressAction() (which adds the page to reading list) instead of toggleReaderMode() (which enters/exits reader mode). Users will no longer be able to toggle reader mode via the button.

Fix in Cursor Fix in Web

case .available: true // will be enabled after action gets executed
default: false
case .available: false // will be enabled after action gets executed
default: true
Copy link

Choose a reason for hiding this comment

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

Reader mode telemetry reports inverted enabled state

Medium Severity

The recordReaderModeTelemetry function inverts the isReaderModeEnabled value. When readerModeState is .available (meaning reader mode will be enabled after tap), the code now reports false. The comment still says "will be enabled after action gets executed" but the code does the opposite, causing telemetry to report incorrect reader mode usage data.

Fix in Cursor Fix in Web

var url = tabManager(for: windowUUID).selectedTab?.url
if let currentURL = url {
url = (currentURL.isWebPage() && !currentURL.isReaderModeURL) ? url : nil
url = (currentURL.isWebPage() || currentURL.isReaderModeURL) ? url : nil
Copy link

Choose a reason for hiding this comment

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

URL handling logic inverted for reader mode pages

Medium Severity

The cancelEditMode URL filtering logic changed from (currentURL.isWebPage() && !currentURL.isReaderModeURL) to (currentURL.isWebPage() || currentURL.isReaderModeURL). The original code explicitly excluded reader mode URLs (setting them to nil), while the new code explicitly includes them. This behavioral change affects how the address bar displays when canceling edit mode on reader mode pages, and appears unrelated to the QR code cleanup purpose of this PR.

Fix in Cursor Fix in Web

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.

3 participants