Skip to content

claude-web-console: render stored transcript in the viewer #179

Description

@studykit

Description

Read a selected stored session transcript and render it in the viewer, so a
stored session displays the same way a live one does. This turns the session
picked in the browse subtask into readable, richly rendered output.

Context

  • Stored transcripts are JSONL: one JSON object per line, each a typed record
    carrying at least type, timestamp, and sessionId (observed types
    include non-visible bookkeeping records such as queue-operation). The exact
    set of record types and their content fields is enumerated at implementation
    against real transcripts.
  • This stored shape is not the same as the live payloads the viewer
    consumes today: the hooks POST {type:"user"...},
    {type:"assistant_delta"...}, {type:"turn_end"} to /event. Rendering a
    stored transcript therefore needs a mapping from stored JSONL records to the
    render events the viewer already understands.
  • The viewer's renderer registry is the markdown-it fence rule (markdown,
    math via KaTeX, PlantUML via the local PicoWeb bridge); stored content should
    render through that same registry rather than a second rendering path.

Acceptance Criteria

  • A selected stored session renders its user prompts and assistant messages in
    transcript order.
  • Renderable fenced blocks (markdown, math, PlantUML) render identically to the
    live path, reusing the existing renderer registry.
  • Record types with no user-visible output are skipped without breaking the
    render.
  • A long transcript loads and displays without hanging the viewer.
  • Malformed or partially written lines are tolerated (skipped) rather than
    aborting the whole render.

Metadata

Metadata

Assignees

No one assigned

    Labels

    taskWorkflow implementation task

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions