chore: remove duplicate copies of the site, download center and installers (WS-C)

The landing page, download pages, invite page, assetlinks and installers
existed in two or three places; only site/ and the Forgejo feed are served.

- apps/api-server/wwwroot: delete the stale site build, download/invite
  pages, .well-known copy, legacy static admin and 1.0.0 binaries. The API
  no longer serves static files (UseStaticFiles/fallbacks and the apk/zip
  blocker removed); the Next admin is the only admin UI.
- Delete 19 tracked installers/packages (~568 MiB) under site/public/releases,
  apps/web/public/releases and wwwroot/releases; .gitignore blocks them.
- apps/web: delete the download/releases pages, desktop-release.ts, the
  download.html and assetlinks copies, and the accept-invite page (invites
  are only issued to the site's /accept-invite/). e2e specs call the /app
  base path and check the /download redirect instead.
- scripts: delete the retired release/NAS site scripts, drop the web target
  from sync-version, and check assetlinks in site/public only.
- Delete the unused Dockerfile.admin (apps/admin/Dockerfile is used).

Policy: docs/REFACTOR_POLICY.md Wave 3, W3-5 and W3-6.
This commit is contained in:
Yun Chan 2026-09-26 15:48:52 +09:00
parent b6fe588a7c
commit cd9d199dbf
53 changed files with 43 additions and 3278 deletions

View file

@ -180,13 +180,10 @@ updateText('apps/web/src/components/layout/sidebar.tsx', (text) =>
),
)
// Download centers build the installer filename from these constants. They drifted
// to 1.2.0 while the feed served newer versions, so the download button pointed at
// an installer that does not exist. Keep both surfaces on the version SSOT.
for (const releaseContractPath of [
'apps/web/src/lib/desktop-release.ts',
'site/src/release.ts',
]) {
// The download section (site/ only) builds the installer filename from these
// constants. They once drifted to 1.2.0 while the feed served newer versions, so the
// download button pointed at an installer that does not exist. Keep it on the SSOT.
for (const releaseContractPath of ['site/src/release.ts']) {
updateText(releaseContractPath, (text) =>
replaceExactlyOnce(
replaceExactlyOnce(