Compare commits

...

18 Commits

Author SHA1 Message Date
dante01yoon
030c2b4eb4 Merge branch 'main' into fix/workflow-loss-draft-restore 2026-03-12 20:28:32 +09:00
dante01yoon
7b39964cd1 fix: simplify persistence restore logic per review feedback
Remove duplicated fallbackToLatestDraft early-return and unnecessary
try/catch blocks that are already handled by initializeWorkflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:53:59 +09:00
GitHub Action
7bc7787232 [automated] Apply ESLint and Oxfmt fixes 2026-03-12 06:49:44 +00:00
dante01yoon
5b299ec1d9 fix: add missing mocks for useToast and useSharedWorkflowUrlLoader in persistence tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 15:46:37 +09:00
Dante
c3864885ec Merge branch 'main' into fix/workflow-loss-draft-restore 2026-03-12 15:44:21 +09:00
Alexander Brown
41cbe1204d Merge branch 'main' into fix/workflow-loss-draft-restore 2026-03-10 18:57:00 -07:00
dante01yoon
683dda7453 fix: wrap restoreWorkflowTabsState openWorkflow in try/catch
Prevent an unhandled rejection from blocking subsequent initialization
steps (shared workflow URL loading, template loading) when the active
tab's workflow fails to open during restore.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 11:14:55 +09:00
dante01yoon
5b0ad4e43d fix: fallback to latest draft when saved workflow restore fails
Wrap openWorkflow in try/catch so a rejection falls through to the
last-resort draft recovery instead of propagating to initializeWorkflow
and loading a blank workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 10:53:49 +09:00
dante01yoon
096465a999 fix: delay tabStateRestored flag until async restore completes
Prevents restoreState watcher from writing partial tab snapshots
to storage while openWorkflowsInBackground is still in flight.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 10:53:49 +09:00
Alexander Brown
76f47ba4ff Merge branch 'main' into fix/workflow-loss-draft-restore 2026-03-07 10:26:32 -08:00
dante01yoon
7bd2184172 chore: gitignore .claude/worktrees to fix knip scanning
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:09:10 +09:00
dante01yoon
77b6e03829 refactor: flatten nesting with early returns in workflow persistence
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:09:10 +09:00
Alexander Brown
b430598334 Merge branch 'main' into fix/workflow-loss-draft-restore 2026-03-06 18:29:27 -08:00
Alexander Brown
2f0ec37b1b Merge branch 'main' into fix/workflow-loss-draft-restore 2026-03-06 15:07:31 -08:00
Dante
d839a5e3e1 Merge branch 'main' into fix/workflow-loss-draft-restore 2026-03-06 23:17:13 +09:00
Dante
d31df5917c Merge branch 'main' into fix/workflow-loss-draft-restore 2026-03-06 22:41:59 +09:00
Dante
f609f41222 Merge branch 'main' into fix/workflow-loss-draft-restore 2026-03-06 14:56:06 +09:00
dante01yoon
7e269483a2 fix: restore correct workflow on page reload
Two interacting bugs caused the wrong workflow to load after refresh:

1. loadPreviousWorkflowFromStorage() fell through to fallbackToLatestDraft
when the active workflow was saved and unmodified (draft cleaned up).
Now tries loading the saved workflow by path before falling back.

2. restoreWorkflowTabsState() never called openWorkflow() after
openWorkflowsInBackground(), leaving whatever initializeWorkflow()
loaded as active. Now explicitly activates the workflow at
storedActiveIndex.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 15:02:05 +09:00

Diff Content Not Available