Skip to content

fix(dashboard): show the plan-checkpoint modal in the web UI (#832)#840

Merged
esengine merged 1 commit into
mainfrom
fix/dashboard-checkpoint-modal
May 14, 2026
Merged

fix(dashboard): show the plan-checkpoint modal in the web UI (#832)#840
esengine merged 1 commit into
mainfrom
fix/dashboard-checkpoint-modal

Conversation

@esengine

Copy link
Copy Markdown
Owner

Summary

  • Mirrors the plan-checkpoint pause to the dashboard the way plan / edit-review / revision modals already do. Adds the missing useEffect that broadcasts modal-up when pendingCheckpoint changes, and the missing branch in getActiveModal so a dashboard that connects mid-checkpoint replays the modal instead of starting blank.
  • Everything else was already in place: CheckpointModal in the dashboard SPA, the /api/modal/resolve route accepting kind: "checkpoint", and the resolveCheckpointConfirm resolver on App.tsx. The TUI was rendering the prompt because it reads pendingCheckpoint state directly; only the bridge to the web UI was missing.

Test plan

  • npx vitest run tests/ — 2857 passed / 3 skipped, 189 files clean
  • tsc --noEmit clean (typed against the existing ActiveModal["checkpoint"] variant)
  • Lint clean (one pre-existing unrelated warning)

Closes #832

…he modal (#832)

The agent emits a `plan_checkpoint` pause request after each completed
step. The TUI handled it by setting `pendingCheckpoint` and rendering
the local Continue / Revise / Stop card, but the dashboard side was
silent — the broadcast effect that mirrors plan / edit-review /
revision modals over SSE had no checkpoint case. From the user's
perspective the web UI just froze: the model was waiting on a button
the page never rendered.

Also adds the missing branch to `getActiveModal` so a dashboard that
connects mid-checkpoint replays the modal instead of starting blank.

The dashboard modal component (`CheckpointModal`), the resolve route
(`/api/modal/resolve` with `kind: "checkpoint"`), and the App-side
`resolveCheckpointConfirm` resolver were already in place — only the
broadcast was missing.

Closes #832
@esengine esengine merged commit 474c272 into main May 14, 2026
2 checks passed
@esengine esengine deleted the fix/dashboard-checkpoint-modal branch May 14, 2026 11:18
ChasLui pushed a commit to ChasLui/DeepSeek-Reasonix that referenced this pull request May 23, 2026
…he modal (esengine#832) (esengine#840)

The agent emits a `plan_checkpoint` pause request after each completed
step. The TUI handled it by setting `pendingCheckpoint` and rendering
the local Continue / Revise / Stop card, but the dashboard side was
silent — the broadcast effect that mirrors plan / edit-review /
revision modals over SSE had no checkpoint case. From the user's
perspective the web UI just froze: the model was waiting on a button
the page never rendered.

Also adds the missing branch to `getActiveModal` so a dashboard that
connects mid-checkpoint replays the modal instead of starting blank.

The dashboard modal component (`CheckpointModal`), the resolve route
(`/api/modal/resolve` with `kind: "checkpoint"`), and the App-side
`resolveCheckpointConfirm` resolver were already in place — only the
broadcast was missing.

Closes esengine#832
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

当模型列出计划并执行完其中一步后,是否进行下一步的询问不会在网页中显示

1 participant