mulmoterminal@4.10.0
Highlights
- The machine's own load, in the grid header (#1786, #1791) —
load 334%sits beside the 5h / 7d usage windows, as a percentage of this host's cores. 100% means every core has work queued and one more cell slows the ones already running (amber); 200% means everything is waiting for a core (red). Hover for the raw 1 / 5 / 15-minute figures, the core count and the multiplier. Polled every 10s through a newGET /api/load, never showing a reading older than 60 seconds. A host that keeps no load average shows nothing rather than0%— Windows returns[0, 0, 0], and an idle machine must not look like an unmeasurable one. Turn it off with"showLoadAverage": falseor Settings → Grid header read-outs. - The collections pane has one toolbar (#1784) — the bar used to be drawn only in a directory that declared a shared app, so it appeared and disappeared as you moved between cells. It is always there now, with expand and close in it, and a preview opens by default.
- A Claude session can be read from the phone (#1751, #1776) — the remote terminal could only show the current screen, because claude runs on the alternate screen and
capture-panereturns the 30–41 rows of the pane. The host now answersgetTerminalTranscriptfrom claude's own transcript, so the phone client can page back through the conversation.
Shared apps
- #1764, #1770 — the headless preview now runs the same
@receptron/sharedapp/viewmodules (viewBridge/memberBridge/portChannel/publicViewSrcdoc) that the pane andmulmoserver's public page run, so what an LLM is shown and what a person sees differ only in the chrome around them. 0.9.0 marks a submit dispatched from a click, which is what the headless write path was waiting for. - #1790 —
sharedapp0.11.0:views[].liveis declarable and checked. The host bumps before the subscriber because the schema is.strict()— an author cannot even parse anapp.jsonwithliveuntil it does. - #1794 —
sharedapp0.12.0: a projection carriesprotocol, the publish contract's version, so a document says which rules it was written under. - #1793 — the deployment/capabilities gate was dropped. It asked "what can this deployment serve?" when the question that matters is "which contract is the document in front of me written to", and that one is answered by the document itself, at the moment it is drawn.
- #1774, #1792, #1795 — templates that say who reads the answers: the form-shaped templates ship all three views (public / intake / owner) rather than one public page with nowhere to read what came back, and a live-poll template was added and made anonymous.
- #1781 —
aidlifecycle: "it is stuck, let me delete theaid" is exactly what an agent reaches for, and publishing then silently minted a second app. Publish refuses instead, and a partial state is handed the steps that recover it.
Fixes
- #1769, #1772 — a cell's title is read from the transcript, not generated. The
claude -psession that existed only to write a heading had rungit restoreandgit push origin mainin the working repository. - #1771 — the launcher no longer comes up empty. The saved-directory chips, the WORKSPACE chip and a dozen global settings all come from one
GET /api/configissued once at boot; a backend still restarting answered nothing and the row stayed blank until a reload. The request retries. - #1777, #1782 — Codex's "OR RESUME HERE" lists your own conversations again: the cwd filter ran after the overall scan limit, so subagent rollouts filled the list and every entry read
Codex session. - #1758, #1775 — under
yarn dev, HTML outsideartifacts/opens in the Canvas again. The Vite dev proxy had no/htmlfileentry, so the SPA catch-all answered with the app's ownindex.htmland the sandboxed iframe (originnull) failed on CORS.
Docs
- #1767 — the 4.9.0 guide no longer describes shared-app work that did not ship in it.
- #1780 — the primary material that had misled four external reviews was corrected.
Setup guide: The machine's own load (日本語)
📦 npm: mulmoterminal@4.10.0
What's Changed
- check がレコードも見る/datetime は壁時計であることを書く (#1763) by @snakajima in #1765
- feat(shared-app): ヘッドレスプレビューを、ペインと同じものにする (P6) by @snakajima in #1764
- chore: core 4.3.0 — putItems が返すようになった
lintを skill に書く by @snakajima in #1768 - docs: 4.9.0 のガイドから共有アプリを外す by @isamu in #1767
- fix: retry /api/config so a restarting backend stops emptying the launcher by @snakajima in #1771
- chore(shared-app): sharedapp 0.9.0 に上げ、クリック印をランタイムから受け取る by @snakajima in #1770
- 共有アプリ: 「誰が結果を見るのか」を手順にして、フォーム型のテンプレートを足す by @snakajima in #1774
- fix(dev): Vite dev proxy に /htmlfile を足す (#1758) by @isamu in #1775
- fix: セル見出しを claude -p ではなくトランスクリプトから読む (#1769) by @isamu in #1772
- docs: 外部レビューを 4 本とも誤らせた一次資料を直す by @snakajima in #1780
- feat: claude の transcript を phone に返す getTerminalTranscript (#1751) by @isamu in #1776
- fix(sharedApp): aid のライフサイクル — publish が黙って 2 つ目のアプリを mint するのを止め、partial に復旧手順を渡す by @snakajima in #1781
- collections ペイン: ツールバーを 1 本にまとめ、expand / close とプレビュー既定を入れる by @snakajima in #1784
- fix(codex): resume 一覧の cwd フィルタを全体上限より先に走らせる (#1777) by @isamu in #1782
- 共有アプリ: sharedapp 0.11.0 への bump と、live のページについて preview が言えないこと by @snakajima in #1790
- skill(shared-app): ライブ投票のテンプレートを足す(英語) by @snakajima in #1792
- chore(shared-app): deployment/capabilities の門番を外す by @snakajima in #1793
- sharedapp 0.12.0 に上げ、テンプレートが契約の版を名乗るようにする by @snakajima in #1794
- 共有アプリ: ライブ投票のテンプレートを anonymous にする by @snakajima in #1795
- feat: グリッドヘッダに load average を出す — 「今もう1本立てて良いか」が画面に無い (#1786) by @isamu in #1791
Full Changelog: 4.9.0...4.10.0