feat(ui): WebUI modernization PR3 — faithful session history rendering#111
Closed
jkyberneees wants to merge 1 commit into
Closed
feat(ui): WebUI modernization PR3 — faithful session history rendering#111jkyberneees wants to merge 1 commit into
jkyberneees wants to merge 1 commit into
Conversation
Third PR of the WebUI modernization roadmap (Phase 2a: session reload fidelity). Stacked on #110 (feat/webui-modernization-2). Previously, loading a session from the sidebar re-rendered only user and assistant text messages - tool calls, thinking blocks, sub-agent groups, and their results silently disappeared, so the reloaded transcript lied about what the agent actually did. The persisted transcript already carries everything needed (assistant messages with tool_calls + reasoning_content, tool messages with results keyed by tool_call_id), so this is a client-only change with no API modification: - renderSessionHistory walks the full message list: user messages (with attachment-body stripping as before), reasoning_content as collapsed thinking blocks, assistant text, and tool_calls matched to their tool results by tool_call_id. Assistant messages carrying both text and tool_calls render both, matching the live turn layout. - delegate_tasks calls render as completed sub-agent groups with per-task final state (done/error, summary, files, tokens) parsed from the tool result. - Tool-result truncation (600 chars + "show all") is shared with the live path via the extracted appendToolResultContent helper. - Sub-agent result parsing and card finalization are extracted (parseSubagentResults / finalizeSubagentCard) and shared between the live completeSubagents path and historical rendering - no duplicated logic. Verified: node --check, go vet, full cmd/odek test suite.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
odek | 556b8de | Commit Preview URL Branch Preview URL |
Jul 26 2026, 12:38 PM |
This was referenced Jul 26, 2026
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat(ui): WebUI modernization PR3 — faithful session history rendering
Third PR of the WebUI modernization roadmap (Phase 2a: session reload
fidelity). Stacked on #110 (feat/webui-modernization-2).
Previously, loading a session from the sidebar re-rendered only user and
assistant text messages - tool calls, thinking blocks, sub-agent groups,
and their results silently disappeared, so the reloaded transcript lied
about what the agent actually did.
The persisted transcript already carries everything needed (assistant
messages with tool_calls + reasoning_content, tool messages with results
keyed by tool_call_id), so this is a client-only change with no API
modification:
attachment-body stripping as before), reasoning_content as collapsed
thinking blocks, assistant text, and tool_calls matched to their tool
results by tool_call_id. Assistant messages carrying both text and
tool_calls render both, matching the live turn layout.
final state (done/error, summary, files, tokens) parsed from the tool
result.
path via the extracted appendToolResultContent helper.
(parseSubagentResults / finalizeSubagentCard) and shared between the
live completeSubagents path and historical rendering - no duplicated
logic.
Verified: node --check, go vet, full cmd/odek test suite.