3.1 KiB
3.1 KiB
Agent3 Batch 3: Fix Password Flow in Home.svelte
Summary
Fixed the password flow in frontend/src/routes/Home.svelte so users can access password-protected content from the home page.
Changes Made
File: frontend/src/routes/Home.svelte
Edit 1 — Remove unused verifyPassword import
- oldText:
import { fetchMetadata, verifyPassword, BOT_USERNAME, API_BASE } from '../lib/api.js' - newText:
import { fetchMetadata, BOT_USERNAME, API_BASE } from '../lib/api.js'
Edit 2 — Simplify submit() to pass password to fetchMetadata and handle 401
- oldText:
async function submit() { error = '' if (!cxidInput.trim()) return loading = true try { const meta = await fetchMetadata(cxidInput.trim()) if (meta.has_password && !passwordInput) { needsPassword = true loading = false return } if (meta.has_password) { const ok = await verifyPassword(cxidInput.trim(), passwordInput) if (!ok) { error = 'Incorrect password.' loading = false return } } const url = new URL(window.location.href) url.searchParams.set('cxid', cxidInput.trim()) if (passwordInput) url.searchParams.set('sc', passwordInput) history.pushState({}, '', url.toString()) window.dispatchEvent(new PopStateEvent('popstate')) } catch (e) { error = e.message || 'Content not found.' loading = false } } - newText:
async function submit() { error = '' if (!cxidInput.trim()) return loading = true try { const meta = await fetchMetadata(cxidInput.trim(), passwordInput) const url = new URL(window.location.href) url.searchParams.set('cxid', cxidInput.trim()) if (passwordInput) url.searchParams.set('sc', passwordInput) history.pushState({}, '', url.toString()) window.dispatchEvent(new PopStateEvent('popstate')) } catch (e) { if (e.status === 401) { if (passwordInput) { error = 'Incorrect password.' } else { needsPassword = true } loading = false return } error = e.message || 'Content not found.' loading = false } }
Build Result
PASS — cd frontend && npm run build completed successfully in 6.00s.
vite v8.0.14 building client environment for production...
transforming...✓ 621 modules transformed.
rendering chunks...
computing gzip size...
dist/index.html 0.42 kB │ gzip: 0.29 kB
dist/assets/index-7RI_lz3u.css 17.37 kB │ gzip: 3.61 kB
dist/assets/lib-BKGKj-wr.js 497.26 kB │ gzip: 125.51 kB
dist/assets/index-5C1xoqEL.js 1,038.72 kB │ gzip: 347.55 kB
✓ built in 6.00s
Issues / Risks
- No issues introduced. The only warning is an existing chunk-size warning (>500 kB) unrelated to this change.
verifyPasswordis no longer imported in this file but may still be used elsewhere in the codebase (not a concern for this fix).