Skip to content

Fix the fullscreen graph overlay's header on macOS desktop. The…#291

Merged
inkeep-oss-sync[bot] merged 1 commit into
mainfrom
copybara/sync
Jun 25, 2026
Merged

Fix the fullscreen graph overlay's header on macOS desktop. The…#291
inkeep-oss-sync[bot] merged 1 commit into
mainfrom
copybara/sync

Conversation

@inkeep-oss-sync

Copy link
Copy Markdown
Contributor

Fix the fullscreen graph overlay's header on macOS desktop. The "GRAPH" title row now vertically aligns with the window's traffic lights: the overlay is fixed inset-0 so it starts at the raw window top, 8px above where the normal editor chrome row sits (inside SidebarInset's m-2), so its header reproduces that 8px inset and matches the chrome row's height — landing the title on the same midline the traffic lights are tuned to. The header continues to reserve the traffic-light footprint so the title never overlaps the buttons.

Window dragging works again in fullscreen graph mode, and the Explore/Orphans/Hubs tabs are reliably clickable. The overlay paints over the editor's -webkit-app-region: drag chrome; previously those drag regions showed through and silently converted clicks on the mode tabs into window drags. The header is now scoped like the editor header — the header row is the drag region and the controls cluster opts back out with no-drag — so the window stays draggable by the header while the tabs and buttons receive clicks.

… lights + restore scoped window-drag (#2127)

* fix(open-knowledge): align fullscreen graph header with macOS traffic lights + restore scoped window-drag

The fullscreen graph overlay (`fixed inset-0`) starts at the raw window top,
8px above the editor chrome row (which sits inside SidebarInset's `m-2`). Its
header now reproduces that 8px inset (`mt-2`), matches the chrome row's `h-12`
band, and drops PanelHeader's inherited `py-3` so content centers on the same
y=32 midline the traffic lights are tuned to (verified by measuring the
rendered rects). A structural spacer reserves the traffic-light footprint so
the title no longer overlaps them horizontally.

The overlay paints over the editor's `-webkit-app-region: drag` chrome. Drag
regions composite at the OS layer and show through an opaque overlay, so clicks
on the Explore/Orphans/Hubs tabs were being converted to window drags. Scope it
like EditorHeader: the header row is the drag region, the controls cluster opts
back out with `[&>*]:no-drag`. The window stays draggable by the header while
the tabs/buttons receive clicks.

* fix(open-knowledge): use precedent-#49 pl- reserve instead of spacer in graph header

Address PR review: the spacer approach removed the `pl-[var(--ok-titlebar-reserve-left,1rem)]`
marker that precedent #49's class-level guard (fullscreen-overlay-safe-area-coverage.test.ts)
requires within ±6 lines of every `fixed inset-0`, which would have failed CI.

Measured the premise the spacer was built on: `pl-[var(--ok-titlebar-reserve-left,1rem)]`
resolves to 78px even with PanelHeader's base `px-4` (the arbitrary `pl-` wins by Tailwind
emit order) — so the cascade-collapse the spacer guarded against does not occur. Reverted to
the precedent-compliant `pl-` reserve on the chrome row; dropped the spacer.

Keeps the vertical fix (`mt-2 h-12 py-0` → title at y=32) and the header-scoped window-drag
(header is the drag region, controls opt out with `[&>*]:[-webkit-app-region:no-drag]`). Also
fixes a comment that quoted the invalid `[&>*]:no-drag` shorthand.

* fix(open-knowledge): restore traffic-light clearance lost in spacer→pl- revert

The spacer stacked on the header's base px-4 (16px + 78px = 94px to the title),
but `pl-` *replaces* px-4's left, giving only 78px — which leaves the title
touching the traffic lights (overlap regression). Re-add the 16px via `ml-4` on
the title cluster, restoring the 94px clearance the spacer version had (measured:
pl-[…]=78px + ml-4=16px → title at 94px, identical to the approved spacer).

Also reword the header comment so it no longer contains the literal `fixed
inset-0` string — the safe-area coverage guard regex scans comment lines, and
the prose was being matched as a spurious class-pattern hit without a nearby
marker once the comment grew.

---------

GitOrigin-RevId: 6c3f321523cb9f5cef1c047982d3c4232040413c

@inkeep-internal-ci inkeep-internal-ci Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Automated approval from agents-private public-mirror-sync (run: https://github.com/inkeep/agents-private/actions/runs/28205301754). Source of truth is the monorepo; direct edits on inkeep/open-knowledge are overwritten on next sync.

@inkeep-oss-sync
inkeep-oss-sync Bot merged commit 17860d9 into main Jun 25, 2026
1 check passed
@inkeep-oss-sync
inkeep-oss-sync Bot deleted the copybara/sync branch June 25, 2026 22:49
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