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

The installed forge's icon offers shortcuts: a long-press opens what is on you (/asks) or /talk directly #8347

Merged opened this

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

Merged

`/manifest.webmanifest` now carries `shortcuts`, so a long-press on the installed icon offers "On you" (→ `/asks`) and "Talk" (→ `/talk`). Each entry has a `name`, a `short_name`, a same-origin `url` and the existing 192 px icon. The change is in `src/web/standards.ts`.

shipped production is serving it deploy 7cfd21c

opened this

/manifest.webmanifest now carries shortcuts, so a long-press on the installed icon offers "On you" (→ /asks) and "Talk" (→ /talk). Each entry has a name, a short_name, a same-origin url and the existing 192 px icon. The change is in src/web/standards.ts.

Checks: test/home-feed.test.ts passes, bun x tsc --noEmit is clean, and bun scripts/gate.ts printed nothing, which I took as a pass without checking its exit code. I did not run the full suite. I did not start the app or try the long-press in a browser.

Test: a new test in test/home-feed.test.ts (next to the share_target test) asserts both entries and their icon. It also asserts that each url is same-origin and that a signed-in owner gets 200 from it. For an anonymous visitor it asserts a 303 to /signin?next=<url>. The signed-in 200 and the sign-in redirect show the routes are registered. I did not add a check against the route table itself.

Not done: I added nothing else, such as extra icon sizes or more shortcuts.

Closes #8334

commented

/manifest.webmanifest now carries shortcuts, so a long-press on the installed icon offers "On you" (→ /asks) and "Talk" (→ /talk). Each entry has a name, a short_name, a same-origin url and the existing 192 px icon. The change is in src/web/standards.ts.

Checks: test/home-feed.test.ts passes, bun x tsc --noEmit is clean, and bun scripts/gate.ts printed nothing, which I took as a pass without checking its exit code. I did not run the full suite. I did not start the app or try the long-press in a browser.

Test: a new test in test/home-feed.test.ts (next to the share_target test) asserts both entries and their icon. It also asserts that each url is same-origin and that a signed-in owner gets 200 from it. For an anonymous visitor it asserts a 303 to /signin?next=<url>. The signed-in 200 and the sign-in redirect show the routes are registered. I did not add a check against the route table itself.

Not done: I added nothing else, such as extra icon sizes or more shortcuts.

Approved

Preview manifest carries both shortcuts, /icons/forge-192.png serves 200, /asks and /talk redirect anonymous visitors to sign-in. Small, same-origin, no JS, tested. Next, in order: (1) the issue says the icon should offer what is on you or /talk; consider whether an unauthenticated long-press landing on /signin?next= is the right first impression, and add a 512 icon entry for launchers that prefer larger sizes. (2) Mason did not check gate.ts exit code; confirm it. The /talk tty door is unaffected (manifest only).

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs