Foundation G: make the browser pause effective across every entry
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 28/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- javascript, macos, swift
- Domain
- desktop, desktop-dev
Research direction
Reread docs/mac-foundation.md, spec PR #278, and current main at baseline 7989426 before editing. Entry points named in the issue: PresentWorkspaceView:12, main.swift:292/451/684, QuickControls:57, DemoLibraryView:28/200, PresenterBridge:101–109 plus activate/connection handlers, PresenterPanel, BrowserExtension/background.js and WorkbenchBrowserHost. Coordinate main.swift and Library with packages A/E. Done means the X2 upgrade fixture: no menu/hotkey/listener/extension retry starts Chrome while paused, saved URLs and metadata remain, Copy/Open in default browser work, and owning docs/help/registry no longer promote install.
Written by the indexing model from the issue text.
Description
Chrome development/distribution is paused, but the app still exposes Switch to through Present, menus, saved shortcuts and Library; browser.enabled starts the socket automatically. Deliver package G of the focused Mac foundation under #7: make the pause effective without deleting saved destinations.
Decided scope
- Remove Present Switch to Browser Tab, application-menu Switch to…, shortcut catalogue/editor promotion and registration of previously enabled Switch to bindings. Fresh defaults are already disabled; test upgraded profiles.
- Remove Library Chrome Enable/Repair/extension-install promotion. Do not move setup into Settings. A conditional old-connection status may expose Stop/disconnect.
- Gate listener/startup, Library target activation, extension commands and stale callbacks while paused. Old extensions may retry; refuse commands and do not queue/replay them. No socket starts from the old enabled preference.
- Preserve URLs, browserTarget metadata/profile bindings and stored key assignments. Offer Copy link and explicit Open in default browser, with no profile-match promise or silent binding deletion.
- Keep adapter source and compatibility tests, remove active new-install/package promotion, preserve user Chrome profiles/extensions. One existing product availability decision governs UI/start/dispatch; no feature-flag framework or new user switch.
Starting points at baseline 7989426: PresentWorkspaceView:12; main.swift:292/451/684; QuickControls:57; DemoLibraryView:28/200; PresenterBridge:101–109 and activate/connection handlers; PresenterPanel; BrowserExtension/background.js and WorkbenchBrowserHost compatibility. Registry alone misses indirect/startup routes.
Boundaries
#75 bookmark expansion remains paused and is not a dependency. This is a retirement/admission slice, not a browser repair or extension uninstall. Package A owns general prompt reuse; #276 owns separate photo/scene-cloud pause. Coordinate main.swift and Library edits with those owners.
Acceptance
X2: upgrade fixture with enabled connection, saved custom shortcut and bound resources; no menu/hotkey/indirect command starts the feature; no listener on launch/activation; old extension retries receive unavailable and no replay; Copy/explicit ordinary open preserve original target metadata. Relaunch, cancellation and late callbacks preserve the pause. Export/access saved URLs without browser setup. Confirm native action reachability plus source and compatibility checks; update owning docs/help/registry, leaving no active install instructions for the paused route.
Decision and evidence: spec PR #278, canonical brief, research. Baseline is main 7989426; reread current source/issues before implementation.
Implementation map: A #279; B #280; C #281; D existing #63; E existing #276; F #282; G #283; H #284. #7 remains the programme gate.
- Dominant language
- Swift
- Stars
- 0
- Forks
- 1
- Avg merge
- 8h 5m
- Merged PRs (30d)
- 215
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Ship-Work/workbench
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
documentation good first issue help wanted
Difficulty 2/5 Half a day Newbie friendliness 74/100
Ship-Work/workbench#29 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
Maintainers usually reply within 1 day
All issues in Ship-Work/workbench
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
raullenchai/Rapid-MLX#4889 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
iOS-2026
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
mozilla-mobile/firefox-ios#36150 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
openwatersio/slackwater-ios#736 ·
Maintainers usually reply within 1 day