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:
parent
b6fe588a7c
commit
cd9d199dbf
53 changed files with 43 additions and 3278 deletions
|
|
@ -35,7 +35,7 @@ test.describe('Dashboard, dictionary and command Supabase parity', () => {
|
|||
let otherId = ''
|
||||
|
||||
async function login(page: import('@playwright/test').Page): Promise<void> {
|
||||
await page.goto('/login')
|
||||
await page.goto('/app/login')
|
||||
await page.getByPlaceholder('user@studio.com').fill(ownerEmail)
|
||||
await page.getByPlaceholder('••••••••').fill(password)
|
||||
await page.getByRole('button', { name: '로그인', exact: true }).click()
|
||||
|
|
@ -146,7 +146,7 @@ test.describe('Dashboard, dictionary and command Supabase parity', () => {
|
|||
|
||||
test('dictionary uses RLS CRUD, filters, pagination, duplicate protection and optimistic rollback', async ({ page }) => {
|
||||
await login(page)
|
||||
await page.goto('/dictionary')
|
||||
await page.goto('/app/dictionary')
|
||||
await expect(page.getByText('CUSTOM DICTIONARY')).toBeVisible()
|
||||
await expect(page.getByText(foreignDictionaryWord)).toHaveCount(0)
|
||||
await expect(page.getByText(oldestWord)).toHaveCount(0)
|
||||
|
|
@ -237,7 +237,7 @@ test.describe('Dashboard, dictionary and command Supabase parity', () => {
|
|||
expect(bootstrapA.data).toHaveLength(4)
|
||||
expect(bootstrapB.data).toHaveLength(4)
|
||||
await bootstrapClient.auth.signOut({ scope: 'local' })
|
||||
await page.goto('/commands')
|
||||
await page.goto('/app/commands')
|
||||
await expect(page.getByText('SYNCED COMMANDS (4)')).toBeVisible()
|
||||
await expect(page.getByText('Translate to English', { exact: true }).first()).toBeVisible()
|
||||
await expect(page.getByText('BUILT-IN · READ ONLY').first()).toBeVisible()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue