|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -## Unreleased |
| 3 | +## 0.3.0-beta.2 — 2026-09-09 |
4 | 4 |
|
5 | 5 | - **The status line now asks OpenCode for a frame when it changes.** OpenCode's renderer draws |
6 | | - on demand, so a signal changed from inside an `await` — every progress update, and every |
7 | | - notice raised by a slow action — reached the buffer and then waited there for something else |
8 | | - to trigger a repaint. While a draft is running the route also holds the renderer's own |
9 | | - refcounted `requestLive()`, the same thing an animation asks for, and drops it when the draft |
10 | | - ends. On the two OpenCode versions the e2e suite can drive (1.18.26 and 1.18.29) the line was |
11 | | - already being painted promptly without this, so it is a robustness fix rather than a |
12 | | - confirmed cure for a report of no feedback at all — but nothing should depend on someone |
13 | | - else's render loop to be visible. |
| 6 | + on demand, and nothing here ever called `requestRender()`: a signal changed from inside an |
| 7 | + `await` — every progress update, and every notice raised by a slow action — reached the |
| 8 | + render buffer and then waited there for something else to trigger a repaint. While a draft |
| 9 | + runs the route also holds the renderer's own refcounted `requestLive()`, the same thing an |
| 10 | + animation asks for, and drops it when the draft ends. |
| 11 | + |
| 12 | + This is the one difference between 0.3.0-beta.1 and the branch summary reading as "no |
| 13 | + feedback at all": beta.1 carries the progress line but never asks to be drawn. On the two |
| 14 | + OpenCode versions the e2e suite can drive (1.18.26 and 1.18.29) the line was already being |
| 15 | + painted promptly without it, so the fix is unconfirmed against a report rather than proven — |
| 16 | + but nothing should depend on another component's render loop to be visible. |
14 | 17 |
|
15 | 18 | - **The e2e suite can now watch a draft while it runs.** `startMock({ slowSummaryMs })` holds |
16 | 19 | back the branch-summary request only (the setup turns stay fast), and a new test samples the |
17 | 20 | tree 0.3s after you choose *Summarize* and three more times half a second apart: the line |
18 | 21 | must be up on all four, and the spinner must have turned between them. Every earlier test |
19 | | - used a mock that answered instantly, so nothing ever looked at the screen mid-draft. |
| 22 | + used a mock that answered instantly, so nothing had ever looked at the screen mid-draft. |
20 | 23 |
|
21 | 24 | - `CTREE_OPENCODE_VERSION` picks the OpenCode the e2e suite installs and drives (default |
22 | 25 | 1.18.26), so a report against a newer release can be reproduced without editing the harness. |
23 | 26 |
|
| 27 | +## 0.3.0-beta.1 — 2026-09-08 |
| 28 | + |
24 | 29 | ### Breaking: the keymap is now vim-aligned |
25 | 30 |
|
26 | 31 | A key inside `/tree` should mean what it means in vim. Seven bindings did not, and they have |
|
0 commit comments