aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md10
1 files changed, 9 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9fc1839..3d142ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,7 +6,7 @@ Generated from git history by `scripts/build-changelog.py` — do not edit by ha
## v4.6.152 — 2026-11-07
-_Touches modules (13), README.md (1), help.html (1), main.html (1) · release 1, docs 1, fix 1_
+_Touches modules (18), CHANGELOG.md (2), README.md (1), help.html (1) · docs 2, fix 2, release 1_
- **Six interface modes (easy -> cockpit) over one terminal** `5dafaa4`
- Symptom: newOS4 had exactly one layout. A first-time user had no way in that did not require learning commands, and an operator had no surface showing live runtime state; the only way to see heap/VFS/tool-call telemetry was to type cat /sys/...
@@ -25,6 +25,14 @@ _Touches modules (13), README.md (1), help.html (1), main.html (1) · release 1,
- api.capture() split arguments itself; term._parseArgs does not exist, so every panel showed
- 'unavailable: term._parseArgs is not a function'
- the classic Let's Get Started modal is suppressed in non-classic modes: it covered easy's cards
+- **Rebuild changelog for v4.6.152** `5d9e037`
+- **Four-model review — lazy-load race, restore order, a11y, key handling** `fcd58a4`
+ - Reviewed the shipped change set with kimi-k2.7-code, deepseek-v4-pro, glm-5.3 and minimax-m3. Findings below are the ones that survived verification against file:line; the rest are in .hermes/plans/2026-11-07_163420-newos4-six-ui-modes.review-log.md
+ - Accepted and fixed:
+ - apply() had no generation token: a lazy mode load that finished after the user switched to
+ - another mode force-applied the abandoned one (`apply(want,{force:true})` in the .then). Every apply() now bumps `_loadSeq` and the callback acts only while its token is newest. Same token also removes a double mount: registerMode() already applies the mode as it registers, so the callback was mounting every lazy mode twice (teardown+cleanup twice).
+ - _restoreStock() used the recorded `nextSibling` as insert anchor. Every real mode moves
+ - … run `git show <sha>` for the rest
## v4.6.151 — 2026-11-07