# QA Review — MC #9490 for Task #9481

# QA review #9490 for task #9481 — Bilko logo UX fix

Status: APPROVED_WITH_COMMENTS
Date: 2026-07-28
Reviewer: John (Pi session 019fa839-f1b9-74c4-8ca8-7653b2edb47d)

## Scope reviewed
- /Users/makinja/ALAI/products/Bilko/apps/web/app/(dashboard)/settings/page.tsx
- /Users/makinja/ALAI/products/Bilko/apps/web/lib/stores/settings-store.ts
- /Users/makinja/ALAI/products/Bilko/apps/web/components/ui/toast.tsx
- Git commit: b2511d5e fix(settings): logo upload UX — spinner overlay, 8s toast, client-side resize (MC #9481)

## Findings
- Toast component default is 4000ms, but settings logo validation paths now call `toast.error(..., 8000)`.
- settings-store notify signature passes `duration` through to `toast.show` via `toastFn?.(msg, variant, duration)`.
- Logo save/delete/fallback notifications use 8000ms duration.
- Logo preview/no-logo area renders `logoUploading` spinner with `Loader2 animate-spin`; upload/remove controls are disabled while uploading.
- Client-side resize path exists for PNG/JPEG over 500KB; SVGs pass through.

## Commands/evidence
- `node ~/system/tools/discover.js "Bilko logo UX fix toast duration upload spinner task 9481"` — found Bilko/product context and task tooling; LightRAG public query was unauthorized.
- `node ~/system/tools/mc.js show 9481 && node ~/system/tools/mc.js show 9490` — confirmed #9481 done and #9490 in_progress.
- `npm --workspace apps/web test -- settings.test.tsx` — PASS, 9/9 tests.
- `npm --workspace apps/web run type-check` — PASS.
- `npx eslint apps/web/app/'(dashboard)'/settings/page.tsx apps/web/lib/stores/settings-store.ts` — 0 errors, 31 warnings (`no-explicit-any`, pre-existing style debt in reviewed files).
- `git diff --check -- reviewed files` and `git diff --exit-code -- reviewed files` — PASS/clean.
- Static source assertions for 8000ms toasts, overlay/spinner, disabled upload, notify duration forwarding — all PASS.

## Limitations
- The referenced repro file `/Users/makinja/ALAI/products/Bilko/docs/evidence/9467/repro.md` was not present on disk.
- `https://bilko-demo.alai.no/settings` did not resolve from this host (`curl: Could not resolve host`), so I did not perform live browser upload replay.


## BookStack note
This is a lightweight QA evidence page created to satisfy MC documentation gate for #9490. No product behavior documentation was changed.