Linky logoLinky
Docs navigation

Launch bundles — launcher

The launcher page

/l/[slug] is where a Linky opens. It resolves the tab set, renders the Open All button, and nudges the viewer when identity would unlock a different bundle.

What the viewer gets

When you attach a policy, every click is evaluated against the viewer's identity (see Identity) and the first matching rule's tabs are served. stopOnMatch: false lets later rules append more tabs.

If no rule matches — whether the viewer is anonymous or signed-in — they get the public tab set. That makes a Linky with a policy safe to paste in a public channel: the personalized tabs only surface for the viewers you targeted.

Open All + popup fallback

Open All calls window.open() once per tab in a synchronous loop triggered by the click event — most browsers honor it. If the browser blocks the batch, the launcher renders a manual list with each URL as an explicit anchor so the viewer can click through one at a time.

Personalized banner

When a rule matches and has showBadge: true, the launcher renders the rule's nameas a small banner so the viewer understands which bundle they're seeing. Rules with showBadge: false (the default) stay invisible — the viewer sees only their tab set.

The policy itself never leaves the server. The viewer's browser only ever sees the tab list they resolved to — and, whenshowBadge is on, the name of the matched rule.

Anonymous sign-in nudge

When a Linky has a policy and the viewer is anonymous, the launcher surfaces a small prompt to sign in — personalized tabs may be waiting. The prompt never blocks: the public tab set still renders and Open All still works. Signing in triggers a re-resolve.

Not found / deleted

Unknown slugs return 404. Deleted Linkies also return 404 — the launcher treats them as gone. The version history is retained, so an owner can still inspect what the bundle used to contain.