Skip to content

fix(toolbar): the temporary-session chip is drawn as the menu buttons beside it (v0.17.2) - #319

Merged
MerciHanrim merged 1 commit into
mainfrom
fix/session-chip-size
Oct 5, 2026
Merged

MerciHanrim merged 1 commit into
mainfrom
fix/session-chip-size

Conversation

@MerciHanrim

@MerciHanrim MerciHanrim commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

The Temporary session chip in the toolbar was a 20 px pill with 10 px text beside 28 px menu buttons, and its grey ink on the overlay colour read as a status badge. It is a control that opens a menu, so it is now drawn as they are. Version 0.17.2, with a release note.

What changes

Before After
Height 19–22 px (by script) 28 px, the Templates button's
Corner radius 999px (pill) 8 px, the control radius
Text 10 px 12 px
Side padding 8 px 12 px, the menu buttons'
Text colour --text-secondary --text-primary, the menu buttons'
Face --surface-overlay --surface-raised, the menu buttons'
Keyboard focus the global 2 px outline the menu buttons' focus: --line-focus boundary and --focus-halo
  • Kept: the orange (warning) border at rest, the label, the accessible name "Temporary session" and the menu. No icon and no new colour are added.
  • Hovered, opened or focused, the boundary takes the menu buttons' hover (--line-control-hover, as the chip already did) or focus colour, as theirs does.
  • Only src/index.css changes: .session-chip__btn, and the chip joins .btn in the focus block and its forced-colours twin. The revision chip keeps its pill, and no component or store code is touched, so nothing in how sessions switch or save changes.

Contrast, light and dark

Light Dark
Text on face (same as the menu buttons) 15.59:1 10.88:1
Orange boundary on the face 4.74:1 4.89:1
Orange boundary on the toolbar 4.74:1 5.78:1
A menu button's boundary on its face, for comparison 4.82:1 5.46:1

Measured in a real browser, 18 languages

  • 1280 px and 721 px (the narrowest desktop width): in every language the chip is 28 px tall at the same top as the Templates button, with an 8 px radius, 12 px text on one line, nothing clipped and no horizontal scroll. Widths run from 74 px (zh-Hans) to 146 px (it).
  • 390 px and 320 px: the phone layout has no toolbar chip; its reminder is a line in the More sheet, and that line measures exactly as before in every language.
  • The wider chip sends one or two more toolbar groups to More at some widths between 800 and 1024 px, for example English at 800 px goes from 3 inline groups to 2. The toolbar keeps its height and nothing scrolls sideways.

Tests

  • e2e/storage-sessions.spec.ts pins the result: the chip's height, radius, text size, text colour and face equal the Templates button's, on the same centre line; one line of text, no icon, the warning colour as its border and not the button's, its accessible name, and the keyboard path (Enter opens, ArrowDown enters the menu, Escape closes it and returns a visible focus with the focus boundary and halo).
  • Release note release:0.17.2, three lines in 18 languages (16 without native review). The per-language copy tests move their pinned counts by the three keys, as each release does. pt-PT words two of the lines in its own way, ru writes скруглёнными with ё, and vi keeps menu as earlier lines do.

Verification (local)

  • npx tsc -b, oxlint (39 warnings, the existing baseline), 3,077 unit tests and every check pass; the web, portable and PWA builds and the Cloudflare Production path build, with the third-party notices unchanged.
  • End-to-end after the colour change: the sessions, storage-gate, What's new, control-boundary, function-colour and mobile specs 233 of 233 (desktop and mobile), portable file 16 of 16. Before it, production bundle 15 of 15 and PWA 18 of 18.
  • The colour change moved no geometry: the 18 languages at 1280 and 721 px measure exactly as before it.
  • The portable file's Monte Carlo progress test failed once locally under load on the first version: its result appeared just after the 40-second wait. A re-run passed 16 of 16, that test in 5.7 seconds. The full five-shard suite is left to this pull request's CI.

Not in this pull request

  • The README screenshots, which will be taken once this is in production.
  • The More sheet's reminder at 320 px wraps to two lines in fr, de, es-419, es-ES, pt-BR, pt-PT, ru and it. It did so before this change, it stays inside its row, and it is not the toolbar chip.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Deploying cozy-loop-studio with  Cloudflare Pages  Cloudflare Pages

Latest commit: 11e5929
Status: ✅  Deploy successful!
Preview URL: https://e8e0b07c.cozy-loop-studio.pages.dev
Branch Preview URL: https://fix-session-chip-size.cozy-loop-studio.pages.dev

View logs

… beside it (v0.17.2)

The Temporary session chip in the toolbar was a 20 px pill with 10 px
text next to 28 px menu buttons, and its grey ink on the overlay colour
read as a status badge. It is a control that opens a menu, so it is now
drawn as the menu buttons are: 28 px tall, the 8 px control radius, 12 px
text and 12 px of side padding, centred on the same line, the primary ink
on the raised face, the menu buttons' hover boundary and their focus. It
keeps its orange (warning) border at rest, its label, its accessible name
and its menu; no icon and no new colour are added, and nothing in how
sessions switch or save changes (CSS only; no component or store code is
touched).

- src/index.css: `.session-chip__btn` takes `--text-primary` and
  `--surface-raised`, and joins `.btn` in the focus block (the boundary
  takes `--line-focus` with the `--focus-halo`, and the forced-colours
  outline); its hover rule already used `--line-control-hover`. The
  revision chip keeps its own pill.
- Contrast, measured in light and dark: text on face 15.59:1 and
  10.88:1, the same as the menu buttons; the orange boundary 4.74:1 on
  the face and the toolbar in light, 4.89:1 on the face and 5.78:1 on the
  toolbar in dark. Hovered, opened or focused, the boundary is the menu
  buttons' hover or focus colour, as it is for them.
- Measured in a real browser in all 18 languages: at 1280 and 721 px
  (the narrowest desktop width) the chip is 28 px tall at the same top as
  the Templates button, radius 8 px, 12 px text, one line, nothing
  clipped, no horizontal scroll; widths 74 px (zh-Hans) to 146 px (it).
  The phone layout (390 and 320 px) has no toolbar chip; its reminder in
  the More sheet measures exactly as before in every language.
- Because the chip is wider, the toolbar's overflow sends one or two more
  groups to More at some widths between 800 and 1024 px (for example en
  at 800 px: 3 inline groups -> 2); the toolbar keeps its height.
- e2e/storage-sessions.spec.ts pins it: the chip's height, radius, text
  size, ink and face equal the Templates button's, the same centre line,
  one line of text, no icon, the warning colour as the border (not the
  button's), the accessible name "Temporary session", and the keyboard
  path (Enter opens, ArrowDown enters, Escape closes and returns a visible
  focus with the focus boundary and halo).
- Declared user-facing: version 0.17.2 and release note release:0.17.2
  with three lines in 18 languages (16 without native review). The
  per-language copy tests move their pinned counts by the three keys, as
  each release does; pt-PT words two of the lines in its own way, ru
  spells скруглёнными with ё, vi keeps `menu` as in earlier lines.
@MerciHanrim
MerciHanrim force-pushed the fix/session-chip-size branch from 31fd6ab to 11e5929 Compare October 5, 2026 02:59
@MerciHanrim MerciHanrim changed the title fix(toolbar): the temporary-session chip has the box of the menu buttons beside it (v0.17.2) fix(toolbar): the temporary-session chip is drawn as the menu buttons beside it (v0.17.2) Oct 5, 2026
@MerciHanrim
MerciHanrim merged commit 7d40cdf into main Oct 5, 2026
10 checks passed
@MerciHanrim
MerciHanrim deleted the fix/session-chip-size branch October 5, 2026 03:19
MerciHanrim added a commit that referenced this pull request Oct 5, 2026
…n UI (#320)

The three images the README shows predated the shared icons (#298), the storage gate and temporary sessions (#297) and the Temporary session button's new look (#319); they are reshot from the production UI (v0.17.2 · build 7d40cdf, on the production deployment's deploy-hash origin, byte-identical to production), each in a fresh browser context with every other origin blocked, at the same 1600 x 900 size, light theme and English as before. hero-coffee.png is taken in a temporary session, so the orange-bordered Temporary session button shows, and its alt text now says so; gacha-overview.png and gacha-pickup-guarantee.png are a personal browser, the same scenes as before, and their alt text still describes what is on screen. File names, places in the README and sizes are unchanged; the two images in docs/assets that the README does not use are left as they are. No app code, version or release note changes.
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