Fire mode: Escape hatch#8917
Open
0nko wants to merge 12 commits into
Open
Conversation
…s-mode tab opening Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…get tab mode Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…o the right tab database Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ns to its target tab Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was referenced Jun 18, 2026
Member
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f5eb9c6. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Task/Issue URL: https://app.asana.com/1/137249556945/project/72649045549333/task/1215736845374133?focus=true
Description
This PR adds the Fire mode support to escape hatch.
Steps to test this PR
Prerequisites
androidBrowserConfig.showNTPAfterIdleReturnenabled (feature-flag inventory).fireMode.fireTabsenabled for scenarios 1–5; disabled for scenario 6.adb shell am force-stop com.duckduckgo.mobile.android.debug) before relaunching.1. Cold start — last tab was a Regular tab
2. Cold start — last tab was a Fire tab
2b. Cold start — Fire tab, returned from the search / input screen
3. Hot start in Fire mode
4. Hot start in Regular mode
5. Fire-target hatch controls
6.
fireTabsOFF reverts cleanlyfireMode→ turn offfireTabs), then fully restart the app (Fire-mode availability is cached per process).Note
Medium Risk
Changes browser mode switching, first-screen/launch behavior after activity recreate, and cross-repo tab lifecycle; privacy behavior for Fire targets is intentional but must stay correct under edge cases (flag off, Fire mode active, stale idle state).
Overview
Extends the after-idle “Return to…” escape hatch so it can offer the user’s most recently used tab across Regular and Fire (when
fireTabsis available), not just the last Regular tab.A new
EscapeHatchTargetResolverpicks the winner by last-access time and returns tab id + owningBrowserMode. The hatch UI shows “Last used Fire Tab” with a fire placeholder for Fire targets and does not surface Fire tab title, URL, or favicon in Regular-mode UI. Close/undo/commit for the hatch routes tab mutations to the correct mode’sTabRepository.Tapping the hatch (NTP or input screen) now goes through
openExistingTabInMode, which stashesPendingAction.OpenExistingTabacross activity recreate via the existingswitchModeThen/PendingModeSwitchbundle path. The input screen result addsTAB_MODE_PARAMalongside tab id.ModeSwitchRecreateSignalmarks programmatic mode-switch recreates soFirstScreenHandlerskips launch/inactivity handling that would otherwise inject an extra NTP and override the deferred open-tab action.ShowOnAppLaunchOptionHandleris updated to respect current mode (e.g. no Regular-only “specific page” / LUT analytics in Fire; NTP-after-idle hatch classification only in Regular).Reviewed by Cursor Bugbot for commit c31d734. Bugbot is set up for automated code reviews on this repo. Configure here.