aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHermes SysOp <sysop@webx11.duckdns.org>2026-11-12 17:40:40 +0100
committerHermes SysOp <sysop@webx11.duckdns.org>2026-11-12 17:40:40 +0100
commit8013a6146533e2f043d386ad774b8c12f57add53 (patch)
treec9a1a34e8163a964a10680b17e0593e131c56383
parentfacd53ed5fc932c53aa7c3a5f4100da234906f9a (diff)
docs(newos4): change-history + changelog for v4.6.163
-rw-r--r--CHANGELOG.md11
1 files changed, 10 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e96ae31..9ffca5b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,9 +4,17 @@ Generated from git history by `scripts/build-changelog.py` — do not edit by ha
<!-- generated:start -->
+## v4.6.163 — 2026-11-12
+
+_Touches modules (3), main.html (1) · fix 1_
+
+- **?ui=<mode> is an opt-in too — the gate had killed every shared mode link (v4.6.163)** `7efece4`
+ - v4.6.162 shipped the opt-in gate as `get('ui') === '1'`. But the UI shell has always treated `?ui=<mode>` as a REQUEST — `module-uishell.js` reads `q = get('ui')` and honours it when the value is one of `lazyIds()` (easy|chat|studio|workspace|commander|cockpit), with `_fromQuery` set so the request never becomes a stored preference. So every shared link of the form `main.html?ui=chat` stopped mounting the shell entirely and booted classic, silently, with no error: the gate required a literal '1' that the shell's own convention never sends.
+ - … run `git show <sha>` for the rest
+
## v4.6.162 — 2026-11-12
-_Touches modules (3), main.html (1) · release 1_
+_Touches data (4), modules (3), main.html (1), CHANGELOG.md (1) · release 1, project 1_
- **Re-enable the six UI modes behind an opt-in gate (v4.6.162)** `4b280ed`
- The six interface modes (v4.6.152–156) were removed from the startup path outright in v4.6.157 after crash reports. The crash was never reproduced: F2 in the rollback plan (2026-11-09_224409) drove all six modes on one page in headless Chromium at 390×844 and recorded crashes: [], pageerrors: [], heap flat at 10 MB over a 25 s idle. The two defects the investigation DID find were fixed instead — F3 (nginx 413 on a >1 MB agent context) and F4 (36 tool handlers where a model-supplied non-string reached .trim/.split/.replace). v4.6.159–161 also removed the last navigator.onLine verdicts, which is what made "it died mid-session" look like a UI crash.
@@ -14,6 +22,7 @@ _Touches modules (3), main.html (1) · release 1_
- 1. The gate (modules/core/terminal.js, plan Task 9)
- Registration is now conditional:
- … run `git show <sha>` for the rest
+- **Regenerate changelog for v4.6.162, sync lesson + chat data** `1107c8d`
## v4.6.161 — 2026-11-12