Commit Graph

115 Commits

Author SHA1 Message Date
Gustavo Henrique Santos Souza de Miranda b6d85b1a47 fix: add isSaving prop and back-to-dashboard navigation to Toolbar
Add isSaving as a prop so the save button properly shows disabled/spinner
state. Add a back arrow link to /dashboard for editor navigation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:55:07 -03:00
Gustavo Henrique Santos Souza de Miranda 8f6cff52a9 fix: correct OptionConditionEditor props in ChoiceNode
ChoiceNode was passing incompatible props (optionId, optionLabel, onSave,
onRemove, onCancel) to OptionConditionEditor which expects (condition,
onChange, onClose). This caused a build failure preventing the component
tree from rendering.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:54:54 -03:00
Gustavo Henrique Santos Souza de Miranda 6bc4e32fde fix: remove CRDT observer feedback loop causing drag issues
The Yjs map observers were calling notifyNodesChange/notifyEdgesChange
for local changes, creating a feedback loop that reset React Flow state
mid-drag. Remote notifications are already handled by the connectChannel
handler, so the observers only need to schedule persistence.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:54:45 -03:00
Gustavo Henrique Santos Souza de Miranda fa336f05d9 fix: restore missing utilities, context menu, and props from failed merge
The merge at bcbad57 lost utility functions, type definitions, and
handlers from the developing branch. This restores: imports (useRef,
useEffect, ConditionalEdge, ContextMenu), constants (AUTOSAVE_DEBOUNCE_MS),
types (ContextMenuState, ConditionEditorState), utility functions
(fromReactFlowNodes, fromReactFlowEdges, saveDraft, loadDraft, clearDraft,
flowchartDataEquals, isValidFlowchartData, convertToRenpyFormat), context
menu handlers, proper FlowchartEditorProps (userId, userDisplayName,
isOwner), ReactFlow container height (h-screen), and fixes stale closure
dependency arrays for characters/variables.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:54:29 -03:00
Gustavo Henrique Santos Souza de Miranda 841eefb186 fix: resolve infinite recursion in RLS policies
Use SECURITY DEFINER helper functions to break circular dependencies
between projects and project_collaborators table policies.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:11:58 -03:00
Gustavo Henrique Santos Souza de Miranda bcbad57aa9 Merge branch 'developing' into ralph/collaboration-and-character-variables 2026-01-23 15:59:17 -03:00
Gustavo Henrique Santos Souza de Miranda 409b1848c8 chore: mark US-048 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:47:29 -03:00
Gustavo Henrique Santos Souza de Miranda 6b7b27236f feat: [US-048] - Integrate Yjs CRDT for conflict-free node/edge synchronization
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:46:39 -03:00
Gustavo Henrique Santos Souza de Miranda d75e2daeb0 chore: mark US-046 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:43:06 -03:00
Gustavo Henrique Santos Souza de Miranda f92fc1ad01 feat: [US-046] - Presence indicators for active collaborators
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:42:07 -03:00
Gustavo Henrique Santos Souza de Miranda 7278b7527f chore: mark US-044 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:38:10 -03:00
Gustavo Henrique Santos Souza de Miranda 37031c3889 feat: [US-044] - Project sharing and collaborator management
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:36:58 -03:00
Gustavo Henrique Santos Souza de Miranda 46b681462d chore: mark US-045 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:29:16 -03:00
Gustavo Henrique Santos Souza de Miranda 2e313a0264 feat: [US-045] - Supabase Realtime channel and connection management
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:28:23 -03:00
Gustavo Henrique Santos Souza de Miranda dfbaa0066d chore: mark US-043 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:23:55 -03:00
Gustavo Henrique Santos Souza de Miranda 2b4abd1eb7 feat: [US-043] - Database schema for collaboration sessions and audit trail
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:23:03 -03:00
Gustavo Henrique Santos Souza de Miranda 273130316b chore: mark US-064 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:21:43 -03:00
Gustavo Henrique Santos Souza de Miranda 0d72471f8f feat: [US-064] - Export validation for undefined references
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:21:09 -03:00
Gustavo Henrique Santos Souza de Miranda 8cdba7f858 fix: wrongfull jsx without single parent 2026-01-23 15:17:08 -03:00
Gustavo Henrique Santos Souza de Miranda 190e25228b fix: accepted git conflicts 2026-01-23 12:42:51 -03:00
Gustavo Henrique Santos Souza de Miranda a85d7cbeb3 chore: mark US-063 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:48:21 -03:00
Gustavo Henrique Santos Souza de Miranda a3e1d1cea2 feat: [US-063] - Import characters/variables from another project
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:47:38 -03:00
Gustavo Henrique Santos Souza de Miranda 49698dd9a9 chore: mark US-062 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:43:45 -03:00
Gustavo Henrique Santos Souza de Miranda b570dca1b8 feat: [US-062] - Auto-migration of existing free-text values
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:42:40 -03:00
Gustavo Henrique Santos Souza de Miranda 68bfe88842 chore: mark US-061 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:37:06 -03:00
Gustavo Henrique Santos Souza de Miranda 92d892fb73 feat: [US-061] - Choice option condition variable dropdown
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:36:16 -03:00
Gustavo Henrique Santos Souza de Miranda b6cb0c703a chore: mark US-060 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:31:33 -03:00
Gustavo Henrique Santos Souza de Miranda b4b9f8cec9 feat: [US-060] - Edge condition variable dropdown
Replace the variableName text input in edge conditions with a
Combobox-based variable selector. Adds ConditionEditor modal
that opens on edge click, with type-aware operators (comparison
for numeric, == and != for string/boolean) and type-adaptive
value inputs (number, text, or boolean toggle).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:30:42 -03:00
Gustavo Henrique Santos Souza de Miranda 30aebe4079 chore: mark US-059 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:26:42 -03:00
Gustavo Henrique Santos Souza de Miranda 5493adf44a feat: [US-059] - Variable node variable dropdown
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:25:57 -03:00
GHMiranda ac45f14942 Merge pull request 'ralph/vn-flowchart-editor' (#2) from ralph/vn-flowchart-editor into master
Reviewed-on: #2
2026-01-23 07:53:28 +00:00
GHMiranda 654c2a4b62 Merge branch 'master' into ralph/vn-flowchart-editor 2026-01-23 07:52:52 +00:00
Gustavo Henrique Santos Souza de Miranda 548f3743d1 chore: mark US-057 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 04:34:36 -03:00
Gustavo Henrique Santos Souza de Miranda 285320a4fe feat: [US-057] - Variable management UI in project settings
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 04:34:15 -03:00
Gustavo Henrique Santos Souza de Miranda 6a87e7a70b chore: mark US-056 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 04:32:40 -03:00
Gustavo Henrique Santos Souza de Miranda 2ef605c0ca feat: [US-056] - Character management UI in project settings
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 04:31:42 -03:00
Gustavo Henrique Santos Souza de Miranda 8418f49787 chore: mark US-065 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 04:28:07 -03:00
Gustavo Henrique Santos Souza de Miranda 11e8daf67c feat: [US-065] - Searchable combobox component
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 04:27:32 -03:00
Gustavo Henrique Santos Souza de Miranda 1f7bd321a2 feat: [US-055] - Database schema update for characters and variables
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 04:24:58 -03:00
Gustavo Henrique Santos Souza de Miranda d9c42f4cf7 feat: [US-054] - Character and Variable TypeScript types
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 04:23:53 -03:00
Gustavo Henrique Santos Souza de Miranda 4fbc564944 feat: [US-042] - Password reset modal on token arrival
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:51:52 -03:00
Gustavo Henrique Santos Souza de Miranda d47794ebc9 chore: mark US-041 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:49:54 -03:00
Gustavo Henrique Santos Souza de Miranda e8a6942cfe feat: [US-041] - Change password for logged-in user
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:49:25 -03:00
Gustavo Henrique Santos Souza de Miranda ff52df2c28 feat: [US-040] - Conditionals on choice options
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:47:39 -03:00
Gustavo Henrique Santos Souza de Miranda dd8fcb79cf fix: redirect root page to dashboard instead of default Next.js template
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:31:48 -03:00
Gustavo Henrique Santos Souza de Miranda 2d57e6d337 fix: wrap useSearchParams() in Suspense boundary for login and signup pages
Next.js App Router requires components using useSearchParams() to be
wrapped in a Suspense boundary for static generation. Split login and
signup pages into server component wrappers with Suspense and client
form components.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:21:36 -03:00
Gustavo Henrique Santos Souza de Miranda 85df378b6b chore: mark US-039 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:07:20 -03:00
Gustavo Henrique Santos Souza de Miranda b9d778b379 feat: [US-039] - Loading and error states
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:06:43 -03:00
Gustavo Henrique Santos Souza de Miranda f1e92ba1a0 chore: mark US-038 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:04:02 -03:00
Gustavo Henrique Santos Souza de Miranda b3f7a57623 feat: [US-038] - Unsaved changes warning
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 23:03:34 -03:00