What version of the IDE extension are you using?
0.126.0-alpha.8, 26.422.71525
What subscription do you have?
Pro
Which IDE are you using?
VS Code
What platform is your computer?
Ubuntu 24.04
What issue are you seeing?
The UI appears to assume every task_started has a terminal event. If the UI/process exits or disconnects mid-turn, the rollout remains syntactically valid JSONL but semantically incomplete, and hydration fails instead of tolerating/recovering from the dangling turn.
What steps can reproduce the bug?
A Codex thread failed to hydrate/open in the UI. Inspecting the local Codex state showed:
- session_index.jsonl referenced the thread normally
- state_5.sqlite integrity_check returned ok
- the thread rollout JSONL parsed cleanly with jq
- however, the rollout ended with a task_started event and assistant commentary, but no matching task_complete or turn_aborted for that final turn
Appending a task_complete event for the dangling turn made the UI hydrate the thread again.
What is the expected behavior?
The UI should hydrate the thread even if the final turn is incomplete, probably treating the final dangling task_started as interrupted/aborted, or repairing it on load. After appending a task_complete event for the dangling turn, hydration worked again.
Additional information
No response
What version of the IDE extension are you using?
0.126.0-alpha.8, 26.422.71525
What subscription do you have?
Pro
Which IDE are you using?
VS Code
What platform is your computer?
Ubuntu 24.04
What issue are you seeing?
The UI appears to assume every task_started has a terminal event. If the UI/process exits or disconnects mid-turn, the rollout remains syntactically valid JSONL but semantically incomplete, and hydration fails instead of tolerating/recovering from the dangling turn.
What steps can reproduce the bug?
A Codex thread failed to hydrate/open in the UI. Inspecting the local Codex state showed:
Appending a task_complete event for the dangling turn made the UI hydrate the thread again.
What is the expected behavior?
The UI should hydrate the thread even if the final turn is incomplete, probably treating the final dangling task_started as interrupted/aborted, or repairing it on load. After appending a task_complete event for the dangling turn, hydration worked again.
Additional information
No response