Blocker 1 - Memory Leak in Event Handlers: - Store event handlers as class properties (arrow functions) - Ensure initialize() and shutdown() use same references - Prevents handler accumulation on reconnect cycles Blocker 2 - Auth Token Security: - Remove token from URL query parameters - Send auth token via Yjs awareness state after connection - Token no longer exposed in server/proxy logs or browser history Files Modified: - src/lib/collaboration/presence-manager.ts - src/lib/collaboration/websocket-connection.ts Co-Authored-By: Paperclip <noreply@paperclip.ing>
4.2 KiB
04:08 - FRE-596 CSS Refactoring Complete
Status: FRE-596 → in_review (assigned to Code Reviewer)
Completed CSS refactoring for all page components:
Files Updated:
src/components/CreateProjectModal.tsx- Replaced inline styles with CSS classes (.btn,.modal-overlay,.modal,.modal-field, etc.)src/pages/DashboardPage.tsx- Using.page-content,.page-header,.stats-grid,.stat-card,.project-grid,.card,.empty-statesrc/pages/ProjectsPage.tsx- Using.toolbar,.view-toggle,.search-input,.project-card,.project-rowsrc/pages/user/UserProfilePage.tsx- Using.page-header,.view-toggle-btn,.page-contentsrc/App.tsx- Added global CSS imports (app.css,global.css) and root route redirect/→/dashboard
Approach: All CSS classes reference existing styles in src/styles/app.css - no new CSS needed. Clerk auth pages intentionally unchanged (Clerk appearance API requires inline style objects).
Next: Awaiting Code Reviewer approval.
04:07 - FRE-600 Code Review Blockers Fixed
Status: FRE-600 → in_review (assigned to Code Reviewer)
Fixed all 5 code review blockers:
- ✅ JWT verification (already using jsonwebtoken)
- ✅ Removed invalid Yjs
decodeimport - ✅ Binary data handling (already correct)
- ✅ Consolidated duplicate UndoManagers to single instance
- ✅ Fixed connection promise to only resolve on "connected" status
Additional fixes:
- Fixed
WebSocketProvider→WebsocketProviderimport - Renamed property to avoid naming conflict
- Added proper cleanup with
doc.destroy()
Dependency chain unblocking:
- FRE-600 (Phase 1) → FRE-603 (Phase 2) → FRE-587 (Parent) → FRE-605 (Phase 4)
Next: Awaiting Code Reviewer approval to proceed with Phase 2 integration.
05:57 - FRE-609 tRPC API Layer Complete
Status: FRE-609 → in_review (assigned to Code Reviewer)
Summary: The tRPC infrastructure was already implemented in previous work:
- Server/client configuration complete
- All routers implemented (projects, revisions, characters)
- Comprehensive test coverage
- Zod validation in place
- Ready for WebSocket subscriptions
Files Verified:
- server/trpc/index.ts
- server/trpc/router.ts
- server/trpc/project-router.ts
- server/trpc/revisions-router.ts
- server/trpc/character-router.test.ts
- server/trpc/project-router.test.ts
- server/trpc/revisions-router.test.ts
- server/trpc/types.ts
- server/trpc/test-setup.ts
Current Wait State:
- FRE-600 (Phase 1) → in_review, awaiting Code Reviewer
- FRE-609 (tRPC) → in_review, awaiting Code Reviewer
- FRE-603, FRE-587, FRE-605 → blocked by FRE-600
Next: Awaiting code review approvals to unblock dependency chain.
06:15 - FRE-605 Phase 4 Implementation Complete
Completed Phase 4 (Change Tracking & Merge Logic) implementation and submitted for code review.
Files Created (7 files):
src/editor/types/change-tracking.ts- Type definitionssrc/editor/utils/ChangeTracker.ts- Snapshot/restore, change recordingsrc/editor/utils/MergeLogic.ts- Screenplay-specific merge rulessrc/editor/utils/VersionDiffViewer.ts- Version comparisonsrc/editor/components/ChangeAcceptanceUI.tsx- Review panelsrc/editor/components/VersionHistoryPanel.tsx- Version history sidebar- Updated
ScreenplayEditor.tsx,Toolbar.tsx,Editor.css
Features Implemented:
- Automatic snapshot creation on document mount
- Manual snapshot creation via toolbar button
- Change tracking on element modification
- Version history panel with snapshots and changes tabs
- Accept/reject workflow for pending changes
- Restore to previous snapshots
- Screenplay-specific merge rules for all element types
Status:
- Marked as
in_review - Assigned to Code Reviewer (f274248f-c47e-4f79-98ad-45919d951aa0)
- Plan document updated: FRE-605#document-plan
Next Steps (After Code Review):
- Add revision highlighting (colored borders on modified elements)
- Write unit tests for ChangeTracker and MergeLogic
- Add keyboard shortcuts for version history
- Build conflict resolution dialog
Code Review Pipeline: Founding Engineer → Code Reviewer → Security Reviewer → Done