fix(FN-2861): harden planning session recovery and retry UX

- Add planning and subtask retry routes with session-lock checks and proper API error mapping
- Improve planning session execution with timeout/abort handling, stop-generation support, and resilient stream catch-up behavior
- Update Planning Mode modal to handle reconnects, retry-from-error flow, stop action, and cross-tab session state synchronization
- Expand dashboard tests for planning routes, planning session behavior, and PlanningModeModal retry/error coverage
This commit is contained in:
Fusion
2026-04-28 08:16:12 -07:00
committed by gsxdsm
parent 60d0849154
commit 25ffd1ae84
8 changed files with 401 additions and 33 deletions

View File

@@ -972,6 +972,35 @@
color: var(--text);
}
.planning-loading-actions {
display: flex;
align-items: center;
justify-content: center;
gap: var(--space-md);
margin-top: var(--space-md);
}
.planning-stop-btn {
border-color: var(--color-error);
color: var(--color-error);
background: color-mix(in srgb, var(--color-error) 12%, transparent);
}
.planning-stop-btn:hover {
border-color: var(--color-error-dark);
color: var(--color-error-dark);
background: color-mix(in srgb, var(--color-error) 18%, transparent);
}
.planning-stop-btn {
min-height: 36px;
}
.planning-elapsed {
font-size: 12px;
color: var(--text-muted);
}
/* Subtask Drag-and-Drop Styles */
.subtask-item {
transition: opacity var(--transition-fast), transform var(--transition-fast);
@@ -1159,6 +1188,17 @@
font-size: 12px;
}
.planning-loading-actions {
flex-direction: column;
width: 100%;
}
.planning-loading-actions .btn {
width: 100%;
min-height: 36px;
justify-content: center;
}
/* Prevent mobile zoom on focus for planning text inputs (16px minimum) */
.planning-textarea {
font-size: 16px;