Commit Graph

139 Commits

Author SHA1 Message Date
Jeff Emmett 13a6445a3d Update task task-055 2025-12-18 18:24:08 -05:00
Jeff Emmett 8648a37f6f Update task task-056 2025-12-18 02:26:01 -05:00
Jeff Emmett 27cfc2d9e6 Create task task-056 2025-12-18 02:25:49 -05:00
Jeff Emmett 72c2e52ae7 fix: remove CSS transform scaling from pinned shapes
Pinned shapes should only stay fixed in screen position, not fixed in
visual size. The CSS transform: scale() was causing shapes to appear
differently sized when pinned.

Now pinned shapes:
- Stay at a fixed screen position (don't move when panning)
- Scale normally with zoom (get bigger/smaller like other shapes)
- Don't change appearance when pin is toggled

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 12:11:45 -05:00
Jeff Emmett eb778a1848 Update task task-055 2025-12-15 19:34:43 -05:00
Jeff Emmett 30d23ba56f Update task task-055 2025-12-15 19:27:36 -05:00
Jeff Emmett 356630d8f1 Create task task-055 2025-12-15 18:41:25 -05:00
Jeff Emmett 7d9f63430a Update task task-053 2025-12-15 18:41:25 -05:00
Jeff Emmett 4c51b0a602 Create task task-053 2025-12-15 18:41:10 -05:00
Jeff Emmett 14624b1372 Update task task-054 2025-12-15 18:40:44 -05:00
Jeff Emmett 0dab90d6e6 Update task task-053 2025-12-15 18:40:44 -05:00
Jeff Emmett 6e40934db3 Create task task-054 2025-12-15 18:40:33 -05:00
Jeff Emmett e960f5c061 Create task task-053 2025-12-15 18:40:33 -05:00
Jeff Emmett eb5698343a Update task task-052 2025-12-15 14:26:10 -05:00
Jeff Emmett b680cc7637 Update task task-052 2025-12-15 13:32:12 -05:00
Jeff Emmett 73071eb6f7 Update task task-052 2025-12-15 12:45:46 -05:00
Jeff Emmett 9276d85709 Create task task-052 2025-12-15 12:23:11 -05:00
Jeff Emmett 4a7c6e6650 Update task task-051 2025-12-14 23:58:34 -05:00
Jeff Emmett 78450a9e39 Create task task-051 2025-12-14 23:58:28 -05:00
Jeff Emmett f06c5c7537 Create task task-050 2025-12-14 13:32:20 -05:00
Jeff Emmett f277aeec12 Update task task-017 2025-12-11 07:15:44 -08:00
Jeff Emmett 9491c6a5c1 Create task task-049 2025-12-10 14:24:07 -08:00
Jeff Emmett b5e558d35f Update task task-048 2025-12-10 14:22:25 -08:00
Jeff Emmett 03280bc9cd Create task task-048 2025-12-10 14:22:15 -08:00
Jeff Emmett 2e9c5d583c Update task task-047 2025-12-10 10:28:27 -08:00
Jeff Emmett 12e696e3a4 Create task task-047 2025-12-10 10:28:22 -08:00
Jeff Emmett 354dcb7dea Update task task-046 2025-12-08 01:03:18 -08:00
Jeff Emmett aa6201e013 Create task task-046 2025-12-08 00:51:43 -08:00
Jeff Emmett 89289dc5c8 Create task task-045 2025-12-08 00:48:02 -08:00
Jeff Emmett d54ceeb8e3 Update task task-044 2025-12-08 00:48:02 -08:00
Jeff Emmett 34d7fd71a6 Create task task-044 2025-12-07 15:26:04 -08:00
Jeff Emmett b525b14dda Update task task-001 2025-12-07 12:50:32 -08:00
Jeff Emmett d491d3ea72 Update task task-004 2025-12-06 22:43:37 -08:00
Jeff Emmett 494f2fa025 Update task task-024 2025-12-06 22:43:25 -08:00
Jeff Emmett 23c1705d97 Update task task-024 2025-12-06 22:32:53 -08:00
Jeff Emmett 88e4a034e1 Create task task-043 2025-12-06 22:31:37 -08:00
Jeff Emmett bb3c531513 Update task task-024 2025-12-06 22:21:50 -08:00
Jeff Emmett 623190fb6a Update task task-024 2025-12-05 23:22:36 -08:00
Jeff Emmett bb22ee62d2 Update task task-027 2025-12-05 22:55:21 -08:00
Jeff Emmett e30dd4d1ec Update task task-041 2025-12-05 22:46:57 -08:00
Jeff Emmett fad0c8af9a Create task task-042 2025-12-05 22:46:50 -08:00
Jeff Emmett 633dfcb294 Update task task-024 2025-12-05 22:40:20 -08:00
Jeff Emmett 9b350a9863 Update task task-018 2025-12-05 22:39:25 -08:00
Jeff Emmett 1359283a79 Update task task-041 2025-12-05 22:38:33 -08:00
Jeff Emmett 9d513e37bd feat: implement user permissions system (view/edit/admin)
Phase 1 of user permissions feature:
- Add board permissions schema to D1 database
  - boards table with owner, default_permission, is_public
  - board_permissions table for per-user permissions
- Add permission types (PermissionLevel) to worker and client
- Implement permission API handlers in worker/boardPermissions.ts
  - GET /boards/:boardId/permission - check user's permission
  - GET /boards/:boardId/permissions - list all (admin only)
  - POST /boards/:boardId/permissions - grant permission (admin)
  - DELETE /boards/:boardId/permissions/:userId - revoke (admin)
  - PATCH /boards/:boardId - update board settings (admin)
- Update AuthContext with permission fetching and caching
  - fetchBoardPermission() - fetch and cache permission for a board
  - canEdit() - check if user can edit current board
  - isAdmin() - check if user is admin for current board
- Create AnonymousViewerBanner component with CryptID signup prompt
- Add CSS styles for anonymous viewer banner
- Fix automerge sync manager to flush saves on peer disconnect

Permission levels:
- view: Read-only, cannot create/edit/delete shapes
- edit: Can modify board contents
- admin: Full access + permission management

Next steps:
- Integrate with Board component for read-only mode
- Wire up permission checking in Automerge sync
- Add permission management UI for admins

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-05 22:27:12 -08:00
Jeff Emmett 8e9f6fbd19 Update task task-041 2025-12-05 22:24:37 -08:00
Jeff Emmett 96abf73e48 Create task task-041 2025-12-05 22:17:54 -08:00
Jeff Emmett 776ea78543 Update task task-027 2025-12-05 14:05:24 -08:00
Jeff Emmett 9df6943c30 Create task task-040 2025-12-05 13:58:56 -08:00
Jeff Emmett 698d3a2c71 Update task task-024 2025-12-04 21:35:10 -08:00