diff --git a/.planning/STATE.md b/.planning/STATE.md index 92d1e4c..f8dcde4 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -77,6 +77,12 @@ v2.1 decisions: - [Phase 27]: Wave 0 tests use test.fixme for removed dashboard cards — preserves test intent for future reference - [Phase 27]: Old setups tab test replaced with fallback-to-gear assertion matching the Zod .catch('gear') behavior planned in Plans 01-03 - [Phase 27]: Used 'house' icon instead of plan-specified 'home': lucide-react has no Home icon, only House — prevents Package fallback rendering in navigation +- [Phase 32]: isPublic boolean replaced with visibility text column (private/link/public) on setups table — RESOLVED +- [Phase 32]: shares table with token, permission, expiresAt, userId, revokedAt — schema future-proofed for person-specific shares and write permissions +- [Phase 32]: Share tokens use randomBytes(16).toString("base64url") — 128-bit entropy, URL-safe +- [Phase 32]: Visibility→private deactivates share links; switching back reactivates non-expired ones +- [Phase 32]: /s/:token short URL redirects to /setups/:id?share=token; /api/shared/:token returns setup data without auth +- [Phase 32]: ShareModal replaces old globe toggle — Google Docs-style with visibility picker + link management ### Pending Todos