Skip to content

feat(macOS): add native title-bar navigation and sidebar controls - #1736

Merged
kshivang merged 4 commits into
mainfrom
feature/titlebar-sidebar
Sep 26, 2026
Merged

kshivang merged 4 commits into
mainfrom
feature/titlebar-sidebar

Conversation

@kshivang

@kshivang kshivang commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Description

Adds native macOS title-bar controls for the sidebar, Space selection/rename, browser navigation, search, and existing host actions. The collapsed sidebar no longer leaves a vertical strip; its floating panel respects the top bar and update banner. Browser tabs share their address, favicon, autocomplete, suggestions, navigation and copy-link actions with the native title bar, and hide their in-tab toolbar while hosted.

Platform scope

The new title bar is macOS-only. usesNativeSidebarTitleBar gates integration by OS and sidebar placement, SidebarTitleBar retains the existing non-macOS branch, and the desktop native bridge independently refuses non-macOS windows. Windows/Linux retain their existing title bar and in-browser toolbar. Regression coverage checks every sidebar placement on non-macOS.

Other requested changes in this PR are shared: compact oval pane tabs with hover close and full-tab ripple, strip-relative context menus, split creation, heavyweight drag targets, improved favicon reuse, bounded partial filename search results, and an opt-in Last Session setting (off by default) that preserves restoration of the last known Space.

Type and version impact

  • New feature and bug fixes
  • Tests and documentation
  • Minor feature impact; host version remains managed by release automation

Validation

  • Full host desktop suite: 7,065 tests, zero failures/errors, five skipped; API contract module: 10 tests passed.
  • Host ktlint and detekt passed.
  • API dependency: full build, ABI check, and 124 tests passed.
  • Browser dependency: 536 tests and plugin JAR build passed.
  • Full host suite preceded the final owner-aware focus-cleanup fix; focused bridge/platform tests and API contract checks also passed on the final head, along with compilation, ktlint and detekt.
  • macOS preview was iterated during development. Windows/Linux runtime checks and packaged distributions have not been run locally; their gating was reviewed and regression-tested.
  • API 1.0.94 is published; the host API contract checks also pass against its downloaded release JAR. Shared API-module formatting and static analysis now pass locally.

Dependencies and merge order

  1. Done: feat(browser): add optional native title-bar bridge boss-plugin-api#64 merged and API 1.0.94 published. The host pins this release.
  2. Done: feat(browser): support optional native title-bar navigation boss-plugin-fluck-browser#47 merged and browser 1.2.31 published, built against API 1.0.94.
  3. Rerun host CI against the published API, then merge this PR after review.

Separate BossTerm fullscreen appearance fix: kshivang/BossTerm#435.

Review focus

  • AppKit window/toolbar ownership, fullscreen appearance, and native URL field focus lifecycle.
  • Sidebar placement with left plugins, top bar, update banner, and collapsed state.
  • Windows/Linux fallback and optional browser bridge behavior.
  • Space restoration without a synthetic Last Session by default.

Pre-merge checklist

  • Self-review and platform-gate audit
  • Unrelated settings work excluded from this branch
  • API 1.0.94 published and browser 1.2.31 released
  • Required CI and review complete
  • Windows/Linux runtime smoke checks

@supabase

supabase Bot commented Sep 26, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project pcnwqamqdnsadranufjv because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@kshivang
kshivang merged commit d0ea7ea into main Sep 26, 2026
10 checks passed
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.

1 participant