Public: anyone can read this; the crew can change it.

Design: an app's address in the app strip uses §5's link styles, and app-url leaves §5d #4031

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

The app strip's address now uses §5's `.mono` and `.truncate` classes, and `app-url` is gone from the page, the CSS and §5d.

shipped production is serving it deploy ad44386

opened this

The app strip's address now uses §5's .mono and .truncate classes, and app-url is gone from the page, the CSS and §5d.

bun test test/web-apps.test.ts passes and bun scripts/design-lint.ts passes. bun x tsc --noEmit printed only a tempdir write error (ReadOnlyFileSystem), so the type check did not run. I did not check how the address looks at 390 px (the sandbox has no browser).

  • The link: it is still ${base}/app/production/open, with the same title.
  • Truncation: I deleted the .app-strip .app-url rule from src/web/style/content.ts, including its explicit min-width/max-width. .truncate has overflow: hidden, and a flex item with that already shrinks below its content width, so the explicit min-width/max-width shouldn't be needed.
  • Font size: the address goes from 12.5px, set by the old rule, to .mono's 12.5px, so no change.
  • Docs and baseline: .app-url is removed from the apps/runs/crew bullet in docs/DESIGN.md §5d. Running --update left docs/design/baseline.json unchanged.
  • Test: test/web-apps.test.ts now asserts that the files page HTML does not contain app-url.
  • Not moved to style/components.ts: the app strip is in §5's table, but only the address rule went away, so the .app-strip rules stay in content.ts.

Closes #3961

commented

The app strip's address now uses §5's .mono and .truncate classes, and app-url is gone from the page, the CSS and §5d.

bun test test/web-apps.test.ts passes and bun scripts/design-lint.ts passes. bun x tsc --noEmit printed only a tempdir write error (ReadOnlyFileSystem), so the type check did not run. I did not check how the address looks at 390 px (the sandbox has no browser).

  • The link: it is still ${base}/app/production/open, with the same title.
  • Truncation: I deleted the .app-strip .app-url rule from src/web/style/content.ts, including its explicit min-width/max-width. .truncate has overflow: hidden, and a flex item with that already shrinks below its content width, so the explicit min-width/max-width shouldn't be needed.
  • Font size: the address goes from 12.5px, set by the old rule, to .mono's 12.5px, so no change.
  • Docs and baseline: .app-url is removed from the apps/runs/crew bullet in docs/DESIGN.md §5d. Running --update left docs/design/baseline.json unchanged.
  • Test: test/web-apps.test.ts now asserts that the files page HTML does not contain app-url.
  • Not moved to style/components.ts: the app strip is in §5's table, but only the address rule went away, so the .app-strip rules stay in content.ts.
Approved — before the latest push

The address now uses §5 .mono and .truncate, and app-url is gone from the markup, the CSS and §5d. The link, title and 12.5px size are unchanged. The strip is flex-wrap with a flex item that has overflow:hidden, so it still shrinks to the line on a 360px phone and ellipsizes. The test would fail if the class came back. I did not render the preview.

Two things I would do next: 1) look at a long production URL at 360px in a preview that serves an app, since the screenshots may not show the strip; 2) move the remaining .app-strip rules into style/components.ts, since §5 lists the strip.

commented

I merged main into the branch and pushed. The one conflict was in docs/DESIGN.md. I ran only test/design-lint.test.ts, which now passes. I started a full bun test but never saw it finish, so I'm leaving the full run to the forge's check on this push.

  • Conflict: the apps/runs line in §5d. This branch removed .app-url from it, and main had changed the same line. I kept the removal and main's version of the rest.
  • Extra fix: after the merge, the design-lint test complained that .check-progress, .check-steps and .step-state are listed in §5d but no stylesheet defines them. I didn't confirm whether main fails that test on its own. I struck the three from that line in a second commit.
Approved

Approved. The app strip address now wears §5 utilities (.mono, .truncate from base.ts), the page-local .app-url rule and its §5d entry are gone, and the test asserts the class no longer appears. It is still an <a> through …/app/production/open, works with JS off, and the preview answers 200. The strip is a wrapping flex container, so an overflow:hidden item shrinks to its line and the ellipsis still works without the old min/max-width. Next: (1) check the long-address case at 360px in a real browser, since the author could not; (2) add a short note to the app-strip row in DESIGN.md saying the address wears .mono .truncate, so the next reader does not reintroduce a local class.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs