Skip to content

Make platform installation the homepage default - #38

Merged
dskvr merged 2 commits into
masterfrom
feature/34-homepage-platform-installer
Sep 5, 2026
Merged

dskvr merged 2 commits into
masterfrom
feature/34-homepage-platform-installer

Conversation

@dskvr

@dskvr dskvr commented Sep 5, 2026

Copy link
Copy Markdown
Member

The homepage currently defaults to a source checkout and displays an obsolete release-gating notice. This change defaults to curl -fsSL https://loopwire.app/install.sh | bash, adds nine accessible installation tabs, and retains source instructions as an option.

The installer selects matching native packages, an existing AUR helper, Nix, or a portable archive. It reports each step, embeds the release verification key, and verifies downloaded native/portable artifacts before installation. Existing portable installations upgrade in place; failed replacement restores previous files or retains recovery backups with explicit guidance. Conflicting installation-method and Nix-reference changes stop before mutation.

Manual native instructions keep their signature/checksum steps. Follow-ups for shorter repository-backed installs: #35 (APT), #36 (Fedora), and #37 (openSUSE).

Closes #34.

Scope

  • Architecture layers: platform integration, website, and documentation.
  • Updated README, install guide, browser-test guide, unreleased notes, and GSD plan/evidence records.
  • Reused the canonical installer and shared tab rendering; no new dependencies, audio/backend changes, or deployment configuration changes.

Validation

  • pnpm check passed: lint/typecheck, 295 TypeScript tests, 22 Rust tests, 11 GitHub-setup transport tests, script/docs/workflow/runtime/packaging gates, builds, and static-site verification.
  • Final changes additionally passed pnpm verify:install, pnpm verify:release, ShellCheck 0.11.0, Bash syntax, pnpm build:web, and pnpm verify:site.
  • PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium pnpm e2e:site passed: all tabs, command/docs parity, keyboard/focus, clipboard success/failure, no-JavaScript fallback, and 320–1440px layouts.
  • Published portable archive installed repeatedly with the embedded key; all four installed command help checks passed.
  • Final installer installed published native packages twice on Ubuntu 24.04, Debian 13, Fedora 44, and openSUSE Tumbleweed. Repeat runs made no changes; installed background/DSP help passed. Ubuntu's final repeat test disabled optional apt recommendations; its earlier default installation also succeeded. The minimal openSUSE image required gawk.
  • Eight profile fixtures parsed with real Nix 2.28.6. Regression tests cover failed rollback, interruption windows, old portable upgrades, and conflicting method/reference changes.

Limits

Native package coverage is x86_64 on the listed distributions. Container checks do not prove GUI/audio routing. Actual AUR installation, full Nix build/profile mutation, and ARM64 execution were not performed. No website deployment or release publication was performed.

Detailed file inventory and evidence: .planning quick-task summary.

Default to the platform-detecting installer while retaining platform-specific
manual commands and source checkout instructions in accessible tabs. Embed the
release trust root, preserve existing portable installs during upgrades, and
keep recovery data when interrupted replacement cannot finish rolling back.

The manual native paths retain their verification steps. Follow-up repository
issues describe the work needed to shorten them without hiding shell commands.

Constraint: Native assets currently target Ubuntu 24.04, Debian 13, Fedora 44 and openSUSE Tumbleweed on x86_64
Rejected: Default to a source checkout | published binary installation is already available
Rejected: Disable all package signature checks | allow only authenticated local RPMs while preserving dependency repository checks
Confidence: high
Scope-risk: moderate
Directive: Keep the public installer and embedded release key synchronized with their canonical sources
Directive: Preserve old portable installation ownership and failed rollback backups
Related: #34
Related: #35
Related: #36
Related: #37
Tested: pnpm check (295 TypeScript tests, 22 Rust tests, script/docs/workflow/packaging gates, lint/typecheck and builds)
Tested: pnpm e2e:site on Chromium; nine tabs, keyboard, clipboard, no-JavaScript and responsive layouts
Tested: Signed published portable install/reinstall and four installed command help checks
Tested: Final installer installed native v0.1.0 twice on Ubuntu 24.04, Debian 13, Fedora 44 and openSUSE Tumbleweed; reruns were no-ops
Tested: Installer failure/recovery/migration fixtures, ShellCheck, Bash syntax, and real Nix profile JSON parsing
Not-tested: GUI/audio runtime, actual AUR install, full Nix build/profile mutation and native ARM64 execution
Record the homepage installation slice, native install/reinstall evidence,
regression fixes and remaining runtime verification limits for future changes.

Confidence: high
Scope-risk: narrow
Tested: Recorded commands and final native installer hash checked against current outputs
Not-tested: Documentation-only record does not add runtime behavior
Related: #34
@dskvr
dskvr merged commit 4c1fc48 into master Sep 5, 2026
2 checks passed
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.

Make the homepage installer the default with platform-specific instructions

1 participant