WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-460 · Дефект · Вход · web

P1: онбординг Skip пускает в workspace без логина (обход инвайт-гейта на клиенте)

Закрыт P1 · важно ведёт: — эпик: WEB-452
Суть
Owner на проде l85: онбординг → Skip → попадаешь в пустую тетрадь, меню и клиентские функции (подкасты и т.п.) доступны без логина; создать документ нельзя (серверная запись просит логин), но фронт открыт. Корень: OnboardingWizard.handleSkip = completeOnboarding()+router.replace(next) без auth-проверки; middleware.ts отсутствует, workspace рендерится клиентом без серверного гейта. ОЖИДАНИЕ owner: Skip проматывает онбординг, но открывает ОКНО ЛОГИНА (сейчас за инвайт-гейтом), а не workspace. Волна onboardauth.

---
## 2026-09-01 22:35Z — авторская волна сдалась, приёмка в очереди
- ONBOARDAUTH-1075 готова: commit 9bc4a99 (wt-1075). Гость: Skip/Finish → /login?callbackUrl, серверный `src/proxy.ts` закрывает /, /radio и private routes по валидной Auth.js session-cookie; onboardingCompleted ≠ авторизация. 53 scoped + 5 регрессионных тестов, scoped tsc PASS.
- Приёмка **1081-acconboardauth** в очереди (Luna xhigh, security-класс): свои тесты, негатив с подделанной cookie, матрица мусора, граница процесса.
Починено в
l91-9ad68bc2 (прод с 02.09 14:10; впервые l86/l87)
Лента
2026-09-01T23:34:31.810Z · Fable
[02.09 00:35Z Фабл, сверка после перезапуска] Приёмка 1081-acconboardauth: ACCEPT (кандидат 9bc4a99). Независимый harness: гость → /onboarding 200; приватные роуты без cookie → 307 /login с callback; onboardingCompleted/клиентские маркеры без сессии → нет доступа; просроченный/чужой JWT → отказ; localStorage-путей принуждения в proxy нет. Едет в l86.
2026-09-02T02:19:32.597Z · Fable
[02.09 02:25Z Фабл] 🛬 ПОСАЖЕН В l86 (A1, commit 3d23ac475f30a19719c42aefea4b656a65eceffc, артефакт me2-standalone-linux-arm64-3d23ac475-20260902T021427Z sha 0885c670…, аттестация owner-ключом fable-a2-l86, сухой прогон :3011 paidReady TRUE, флип nc-a1 + nc-a1-indexing, paid 200 публично). Журнал посадки — WEB-320. Skip без логина → onboarding (onboardauth 9bc4a99, ACCEPT). Закрываю.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-460","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-09-02T16:37:51.640Z