feat/55-demo-invite
dev
Closes #55
invites.max_uses
uses
DEMO_INVITE_MAX_USES
DEMO_INVITE_TTL_HOURS
UPDATE … WHERE uses < max_uses
users.guest
uses=1
make lint && make test
🤖 Generated with Claude Code
- invites.max_uses/uses: обычное приглашение — 1 вход, демо-QR — до DEMO_INVITE_MAX_USES (50), живёт DEMO_INVITE_TTL_HOURS (3 ч); захват атомарный, UPDATE … WHERE uses < max_uses - users.guest: вошедшие по демо-QR; «🧹 Отключить гостей демо» отзывает всех и гасит демо-QR - «👥 Участники»: кнопка «🎤 Демо-QR», гости в списке — 🎟 - миграция 0003 (ADD COLUMN без batch — SQLite не пересоздаёт users); проверена на Postgres - SPEC A-3a, ADR-017, DEMO.md, .env.example Refs #55 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No dependencies set.
The note is not visible to the blocked user.
Closes #55
invites.max_uses/uses: обычное приглашение — 1 вход, демо-QR — доDEMO_INVITE_MAX_USES(50), живётDEMO_INVITE_TTL_HOURS(3 ч); захват атомарный (UPDATE … WHERE uses < max_uses)users.guest: «🧹 Отключить гостей демо» (с подтверждением) отзывает всех вошедших по демо-QR и гасит сам QRuses=1Проверка
make lint && make test— 368 passed🤖 Generated with Claude Code