39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
|
|
# REAL PROJECT STATUS ADDENDUM (2026-03-24)
|
||
|
|
|
||
|
|
## New Closure
|
||
|
|
|
||
|
|
- Avatar upload now fails closed and rolls back filesystem side effects:
|
||
|
|
- storage init failure is surfaced
|
||
|
|
- filename entropy failure is surfaced
|
||
|
|
- partial source files are removed on write failure
|
||
|
|
- source file and thumbnail are removed if `UpdateAvatar(...)` fails
|
||
|
|
- `thumbnail` is returned only when the thumbnail file really exists
|
||
|
|
- Added avatar upload regression tests for:
|
||
|
|
- rollback after persistence failure
|
||
|
|
- no fake thumbnail on thumbnail generation failure
|
||
|
|
- fail-closed random source failure
|
||
|
|
|
||
|
|
## Current Supported E2E Path
|
||
|
|
|
||
|
|
- The default supported path that passed in this round remains:
|
||
|
|
- `cd frontend/admin && npm.cmd run e2e:full:win`
|
||
|
|
- In this environment the stable default browser is:
|
||
|
|
- Playwright cached `chrome-headless-shell.exe`
|
||
|
|
- The current orchestration remains:
|
||
|
|
- PowerShell launcher starts the browser
|
||
|
|
- Playwright library connects over CDP
|
||
|
|
|
||
|
|
## Real Boundary Confirmed In This Round
|
||
|
|
|
||
|
|
- Desktop Chrome / Edge did not form a stable supported CDP-ready path under the current PowerShell launcher.
|
||
|
|
- Direct browser spawn from Node hit `spawn EPERM`, so Node cannot replace the current PowerShell launcher here.
|
||
|
|
- Therefore the truthful claim is still browser-level real-user-flow validation, not OS-level automation closure.
|
||
|
|
|
||
|
|
## Verification Executed
|
||
|
|
|
||
|
|
- `go test ./internal/api/handler -count=1`
|
||
|
|
- `go test ./... -count=1`
|
||
|
|
- `go build ./cmd/server`
|
||
|
|
- `cd frontend/admin && npm.cmd run e2e:full:win`
|
||
|
|
- `cd frontend/admin && 1..2 | ForEach-Object { npm.cmd run e2e:full:win }`
|