Commit Graph

58 Commits

Author SHA1 Message Date
Georg Bauer
1dcadeb882 Scroll to the focused preference from its unscrolled position 2026-07-26 10:27:04 +02:00
Georg Bauer
c5e812f9b9 Scroll the focused preference into view 2026-07-26 10:22:14 +02:00
Georg Bauer
671724949f Keep the composer out of a dialog's field order 2026-07-26 10:11:40 +02:00
Georg Bauer
a0c3a72f4e Move focus between form fields with tab 2026-07-26 10:07:39 +02:00
Georg Bauer
f2133d561b Chart session checkpoints as their own cache bucket 2026-07-26 09:56:52 +02:00
Georg Bauer
5d441038bc Move preferences from the database to a YAML config file
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 09:50:39 +02:00
Georg Bauer
3f2c42513f Show the context fill grade as a pie chart
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 09:33:14 +02:00
Georg Bauer
76a5dd5b26 Name session checkpoints by their session title
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 09:25:37 +02:00
Georg Bauer
1f27270d66 Reclaim KV checkpoints the index cannot reach
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 09:25:37 +02:00
Georg Bauer
4fc423314b Center the detail tabs over the chat area
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 09:16:55 +02:00
Georg Bauer
63e2a74ad5 Manage the KV cache disc usage from preferences and stats
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 09:10:18 +02:00
Georg Bauer
b182e7007c Let the sidebar divider be dragged 2026-07-26 00:12:04 +02:00
Georg Bauer
9bd648d77b Explain each preference in a hover tooltip 2026-07-26 00:04:57 +02:00
Georg Bauer
ce18a2db9b Collapse a project's sessions by clicking its name 2026-07-25 23:58:21 +02:00
Georg Bauer
e44680541d Reopen the last project with a focused draft chat 2026-07-25 23:52:39 +02:00
Georg Bauer
4408ed8b26 Use a reverse-DNS bundle identifier
Stage Manager could not resolve the icon for the old mixed-case one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 23:35:57 +02:00
Georg Bauer
7f35d7f58d Move window controls into the title bar
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 23:35:57 +02:00
Georg Bauer
ae4222a573 Refocus implementation roadmap 2026-07-25 22:49:22 +02:00
Georg Bauer
4a45735072 Add persistent local agent tools 2026-07-25 14:57:17 +02:00
Georg Bauer
668d8b787e Complete local HTTP endpoint parity 2026-07-25 14:18:57 +02:00
Georg Bauer
a1761fa731 Add prefix-aware KV session cache 2026-07-25 13:56:10 +02:00
Georg Bauer
c77ef47cfc Recover poisoned shared-state locks 2026-07-25 13:12:49 +02:00
Georg Bauer
292ee82af5 Make tokenizer byte offsets total 2026-07-25 13:09:04 +02:00
Georg Bauer
7686c2248c Rebuild Metal glue when headers change 2026-07-25 13:06:43 +02:00
Georg Bauer
3708afb1b6 Document Metal executor drop order 2026-07-25 13:04:09 +02:00
Georg Bauer
44fce6585c Document Metal buffer view ownership 2026-07-25 13:02:13 +02:00
Georg Bauer
8f91a06336 Recover the model runtime from panics 2026-07-25 13:00:20 +02:00
Georg Bauer
90400701fa Bound local HTTP resource use 2026-07-25 12:56:23 +02:00
Georg Bauer
429cbc78de Bound model download stalls 2026-07-25 12:52:33 +02:00
Georg Bauer
218c9473f7 Cancel generation when its handle is dropped 2026-07-25 12:47:42 +02:00
Georg Bauer
d456458133 Title new sessions from their first chat
The one-shot from the session quick actions now also runs once when a
draft session becomes real, summarizing the opening message instead of
leaving the "Session N" placeholder.

Failures stay silent on this path: the user did not ask for a title, so
a busy runtime must not raise an error banner. A rename made while the
request is queued wins over its result.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 12:32:51 +02:00
Georg Bauer
af0de86ef8 fix: utf-8 was decoded before complete text, so emojis broke 2026-07-25 12:26:23 +02:00
Georg Bauer
35087580d5 Add quick actions to sessions
Rename, AI retitle, pin and archive, reached from the "..." button on
every session row and in the chat header. Sessions carry one lifecycle
state (normal, pinned, archived) rather than independent flags, so the
sidebar groups them without an unrepresentable pinned-and-archived case.

The AI retitle runs as a one-shot against the transient KV cache through
a new CheckpointTarget::OneShot, leaving no session or checkpoint behind
while still reporting as local work in the metrics.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-25 12:15:58 +02:00
Georg Bauer
cc9e09ff1d chore: added hint for tea into agents.md 2026-07-25 12:06:47 +02:00
Georg Bauer
51c1b2a7dc feat: better session creation handling 2026-07-25 12:02:04 +02:00
Georg Bauer
4292e0d3f9 Split Rust code into domain modules 2026-07-25 11:22:59 +02:00
Georg Bauer
7843592400 fix: fix issue #2 - telemetry not showing in graphs 2026-07-25 10:52:56 +02:00
Georg Bauer
19fe61fc21 Update implementation plan status 2026-07-25 09:31:55 +02:00
Georg Bauer
2fbe605b5d Implement batched server parity and observability 2026-07-25 08:32:35 +02:00
Georg Bauer
d554b77b9d feat: first cut at openai compatible server 2026-07-24 21:12:48 +02:00
Georg Bauer
bbbe65a75f chore: added claude.md as direction to agents.md 2026-07-24 20:27:50 +02:00
Georg Bauer
6560f20129 feat: finalized support for chat 2026-07-24 20:14:26 +02:00
Georg Bauer
3154f57a2f full chat implemented 2026-07-24 19:59:41 +02:00
Georg Bauer
36946e6e5f Complete long-context chat support 2026-07-24 18:16:34 +02:00
Georg Bauer
5ab110ed0b feat: better chat support for thinking 2026-07-24 18:01:53 +02:00
Georg Bauer
ff984bb96a feat: first cut at actual token generation and model loading 2026-07-24 17:44:41 +02:00
Georg Bauer
616b550849 Implement DS4 model intake 2026-07-24 16:53:03 +02:00
Georg Bauer
87dfc01e74 feat: more preferences 2026-07-24 16:04:15 +02:00
Georg Bauer
ac464317d4 Add Metal execution preferences 2026-07-24 15:37:13 +02:00
Georg Bauer
bccce697af Add typed generation preferences 2026-07-24 15:26:15 +02:00