Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 13 additions & 10 deletions .fork/customizations.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -611,11 +611,9 @@
it shares with these rows spends 8px of air on the left and 8+6 on the
right: every card sits visibly off-centre in its own column, and the chrome
rows above end 6px past where the cards do. The list's end padding gives
that 6px back — reading --app-scrollbar-width rather than restating 6px, so
the symmetry follows upstream if the scrollbar is ever retuned. The gutter
itself stays: the scrollbar keeps its lane, the cards are 8px from both
edges, and the compensation is meaningless without the gutter that causes
it, so the two must move together.
that 6px back. The gutter itself stays: the scrollbar keeps its lane, the
cards are 8px from both edges, and the compensation is meaningless without
the gutter that causes it, so the two must move together.

The width given back is measured, not assumed. --app-scrollbar-width is only
true where ::-webkit-scrollbar applies: Firefox sets no scrollbar-width, so
Expand Down Expand Up @@ -682,9 +680,12 @@
- apps/web/src/components/SidebarStageBackdrop.test.tsx
- apps/web/src/components/SidebarV2.tsx
- apps/web/src/components/sidebar/SidebarChrome.tsx
# Defines --app-scrollbar-width, which the thread list's end padding reads
# to cancel its own scroll gutter. Retiring or renaming that token silently
# returns the list to 8px of air on one side and 14px on the other.
# Styles ::-webkit-scrollbar { width: var(--app-scrollbar-width) }, which
# is what makes the thread list's reserved lane a styled 6px at all — and
# what the intent's cross-engine argument is anchored to. A retune the
# measurement absorbs; the failure is this rule disappearing or gaining
# scrollbar-width/appearance handling, which hands the lane to the UA
# default width the drawn 6px gutter does not assume.
- apps/web/src/index.css
verify:
- apps/web/src/__fork_guards__/forkSidebarChrome.test.ts
Expand Down Expand Up @@ -1021,8 +1022,10 @@
# customization switches off. An upstream rework of that paint would leave
# the fork disabling rules that no longer exist.
- apps/web/src/index.css
# min-h-17.5 on the prompt editor, and the placeholder that has to track the
# prompt's type ramp.
# min-h-17.5 on the prompt editor, the placeholder that has to track the
# prompt's type ramp, and the max-h-50 / overflow-y-auto cap the fork
# re-homes on the prompt wrapper at >=40rem by overriding — the classes
# themselves stay on the editor here.
- apps/web/src/components/ComposerPromptEditor.tsx
verify:
- apps/web/src/__fork_guards__/forkComposerShell.test.ts
11 changes: 10 additions & 1 deletion apps/web/src/__fork_guards__/forkSidebarChrome.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,16 @@ describe("fork guard: fork-sidebar-chrome", () => {
const gutter = readSibling("../custom/useScrollGutterWidth.ts");
expect(gutter).toContain("offsetWidth - node.clientWidth");
expect(sidebarV2).toContain("ref={listScrollGutterRef}");
expect(sidebarV2).not.toContain("calc(0.5rem-var(--app-scrollbar-width))");
// The token-based giveback is this file's own prior implementation —
// pe-[calc(0.5rem-var(--app-scrollbar-width))], replaced by the measured
// gutter in 56954bc8 — which makes it the likeliest thing a revert or a
// wrong-side conflict resolution puts back, including *alongside* the
// measured term, where the containment checks above stay green and the
// last pe-* wins. Bounded to a pe-* utility so prose about the token
// cannot trip it, and looser than the old exact literal so a re-spelling
// like pe-[calc(var(--sidebar-list-pad)-var(--app-scrollbar-width))]
// cannot sail past.
expect(sidebarV2).not.toMatch(/pe-\[[^\]]*--app-scrollbar-width/u);
});

it("puts the brand on the header's trailing edge", () => {
Expand Down
Loading