• Mahmoud Aglan's avatar
    feat(chat): render prose as prose, tool calls as steps; restore the original mark · 84ee14c6
    Mahmoud Aglan authored
    Two problems from the first real use of the app.
    
    RENDERING. Every line of a run was drawn as flat monospace text, so the parts
    that were markdown arrived as their source: tables as rows of pipe characters,
    `**bold**` as asterisks, headings as hashes. That is the "gibberish between real
    replies" — there was never any gibberish, only unrendered markdown sitting
    between the parts that happened to contain none.
    
    The server already emits a structured line vocabulary (▶ header, ⚙ tool,
    → result, · thinking, ■ footer, everything else prose). AgentOutput now groups
    those lines into blocks and renders each as what it is:
    
      prose   -> MarkdownBody, with tables, code blocks, lists and headings
      tool    -> a compact one-line step, its result collapsed behind it
      thinking-> a single pulsing marker; consecutive ones collapse
      header  -> present but recessive; useful only when something goes wrong
    
    A tool result is attached to the step above it rather than printed inline, so a
    500-character command output no longer sits between two paragraphs. Tap to
    expand it, long-press the step to copy the command.
    
    THE ICON. I rebuilt the flame by hand instead of taking it from the APK that was
    sitting in front of me the whole time — a worse copy of an asset I already had.
    The original icon.png, icon_foreground.png and flame.png are lifted from the old
    build's flutter_assets and are now both the launcher icon and the in-app mark,
    loaded from the same file so the two cannot drift.
    Co-Authored-By: 's avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
    84ee14c6
Name
Last commit
Last update
..
debug Loading commit data...
main Loading commit data...
profile Loading commit data...