Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Foundation G: make the browser pause effective across every entry

Open
#283 3 comments 0 reactions 0 assignees View on GitHub

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

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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Ship-Work/workbench

All issues in Ship-Work/workbench

Similar issues

More Swift issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.