Colour what a shell printed, swipe back, and let a stopped session take a setting

Bash output arrived with its escape sequences in it, so a coloured diff or
test run was line noise around the thing being read. The sequences that
decide how text looks are spans now and every other one is dropped, with a
carriage return honoured the way a terminal honours it so a progress bar
shows its final state rather than every state it passed through.

A rightward drag anywhere on a session, spawn or settings screen steps back,
following the finger so it can be abandoned. It loses every argument: a
child that consumes horizontal drags -- a wide fence, a table, a selection
-- has already taken the gesture before this sees it.

Changing the model or the permission mode of a session with nothing running
was refused, in words about the driver, while the config had already taken
the value that its next start will use. Both now announce the stored setting
instead, through one function, since which of the pair it is does not change
the rule.

The model-switch warning no longer fires after a clear: the server reports
the context as unmeasured rather than zero afterwards, and the fallback
reading counted the whole conversation still on screen.

An image loading shows a spinner in the space it is about to fill, in the
transcript and in the composer's attachments alike.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
irisandClaude Opus 5 committed 2026-09-03 20:17:12 -04:00
1 parent 8dcd2cb708
commit a383c19dd5
10 files changed
+651 -48

No files matched your search

+6 -13
View File
@@ -13,23 +13,16 @@ one in place when it turns out to need a decision.
itself works — only the highlight is missing). Waiting on the app-c7
session, which is replacing the highlighter (`HIGHLIGHTER_PLAN.md`) and
owns `CodeFence.kt` until it pushes; it confirmed this item is ours.
- [ ] Bash logs should apply colour and the other basic text escape sequences,
and filter the rest.
- [ ] An image should show a loading spinner in an area the size of the image.
- [ ] Messages received from other agents are inconsistent — sometimes they
appear, sometimes they don't.
## App — navigation
- [ ] Swiping right should open the session list, unless the gesture belongs to
a component (e.g. scrolling left inside a long text block).
## Session settings
- [ ] Autocompact belongs in session settings; empty disables it, which is the
default.
- [ ] Changing the model on a stopped provider should be possible, stored, and
applied the next time it starts.
- [ ] Switching models must not warn when there is no context for the warning to
matter — e.g. straight after a clear.
default. **Needs a decision before building** — nothing called autocompact
exists yet on either side. `PLAN.md` has it only as a planned pi-driver
feature (`set_auto_compaction`), and Claude Code runs its own. So this is
a new server feature, and the open questions are what the empty-or-not
value *is* (a token count? a percentage of the context window?) and which
drivers it applies to.