• 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
android Loading commit data...
assets Loading commit data...
lib Loading commit data...
.gitignore Loading commit data...
.metadata Loading commit data...
README.md Loading commit data...
analysis_options.yaml Loading commit data...
pubspec.lock Loading commit data...
pubspec.yaml Loading commit data...