feat(website): pick the launcher's channel on the install page #168
No reviewers
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot!168
Loading…
Reference in a new issue
No description provided.
Delete branch "HumanBean/Longshot:feat/install-launcher-channel"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
The install page's download buttons always take the best launcher there is, so a player who wants the release candidate or a nightly has to find the separate download page. This puts a channel picker right above the buttons.
What changed
channelPicker()inwebsite/src/repo-docs/format-install.tsadds a Stable / Release candidate / Nightly picker above the launcher's download buttons, with one line on what the chosen channel is (launcherChannels). While there is no stable launcher, Stable shows as coming soon (disabled) and Release candidate is picked; the comment abovelauncherChannelssays what to flip once v1.0.0 is out.website/src/lib/launcher-channel.ts(installLauncherChannel, run fromManualNavigation.astrolike the other page scripts) moves the buttons to/download/launcher/<channel>/<os>, routes the Worker already serves.launcherHref()touches only the three launcher file links.website/src/styles/content.css.hiddenand the buttons keep/download/launcher/<os>, the best channel, as before.docs/getting-started.mditself is unchanged, so it reads the same on Forgejo.Flags and settings
None.
Measurements
Nothing to measure in the game: a website change. Measured by its game-free checks.
main:
7097361f(2026-11-13)this PR: feat/install-launcher-channel @
b9384fe4Hardware: Linux (CachyOS), headless Chromium via agent-browser
Scene:
/install/of the built site (astro build,astro preview), 1280 × 900 and 390 × 844Method:
npm run checkinwebsite/(2 new tests),python -I -B tests/run_all.py, the built page clicked through in a browserHow to reproduce:
cd website && npm ci && npm run build && npm run check, thennpx astro previewand open/install/7097361fb9384fe4npm run check(website)/download/launcher/<os>/download/launcher/rc/<os>/download/launcher/nightly/<os>Testing
Tested: the built site in headless Chromium on Linux: the picker appears with Release candidate picked and the buttons on
rc; picking Nightly moves all three buttons tonightly; Stable is disabled and clicking it changes nothing; at 390 px wide the pills wrap and the page doesn't scroll sideways; the label and the pills are centred on one line (measured: the same middle, 483 px, for all four) in Chromium. Firefox placed the label above the row before this fix; not yet looked at again there.npm run checkpasses (45).python -I -B tests/run_all.py: 467 passed, 2 failed, 69 skipped; the 2 failures are this PC missing Python modules (test_bake_portability.pyneedszstandard,test_builder_log_read_only.pyneeds Tk), unrelated to the website.Not tested: the deployed Worker answering
/download/launcher/rc/<os>and/download/launcher/nightly/<os>for real (the routes and their tests are unchanged); the PR's website preview will show it. Not run in the game: nothing in it changes.Needs other testers: None.
Screenshots
main @
7097361fhas no picker; this PR @b9384fe4:Release candidate picked as the page loads, Stable coming soon
390 px wide
Risk and rollback
At worst the picker misbehaves and the buttons point at the wrong channel; reverting the commit is enough. Without scripts nothing changes.
Reviewer notes
When the first stable launcher is out: drop
soonfrom Stable and movepicked: trueto it inlauncherChannels.Issues
None.
Checklist
For everyone
type(scope): description).main.python -I -B tests/run_all.pyrun and passing (any failure that also fails onmainis named above).third_party/untouched (a new folder with aPROVENANCE.mdinstead).If applicable
Assisted-by:/Co-Authored-By:trailers.mainand passing here.🤖 Generated with Claude Code
WIP: feat(website): pick the launcher's channel on the install pageto feat(website): pick the launcher's channel on the install pagePushed
b9384fe4: the channel picker's label and pills line up again. In Firefox the label (a fieldset legend) sat above the row, and the page's flow spacing pushed each pill after the first down; it's a radiogroup with a plain label now, with no margin between its items. New screenshots in the description.