Skip to content

4.13.0

Choose a tag to compare

@isamu isamu released this 29 Aug 11:39
· 152 commits to main since this release

Highlights

Browsing files stops taking the whole screen, a file's path can be put where you are typing, every keyboard shortcut is finally listed, and a splitter drag no longer gets swallowed by an embedded preview.

  • "Browse files in the app" opens the pane, not the full-screen view (#1910, #1911) — the path menu now opens the file pane beside the enlarged terminal, enlarging the cell first if the grid is tiled. A header button you wrote yourself ("run": "open" with open.files) still opens the full-screen view, deliberately: a button can carry any path, the pane can only be rooted at the enlarged terminal's directory.
  • Right-click a tree row to insert its path at the terminal's cursor (#1859, #1912) — Insert relative path / Insert absolute path, landing in the sentence you are already typing.
  • Settings lists every keyboard shortcut, bound or not (#1858, #1892, #1894) — read-only on purpose; keymap is written by the mulmoterminal-keys skill, reached from a Set up shortcuts… button that says what the agent does that the screen cannot. Action labels are translated.
  • A splitter drag is no longer eaten by an iframe (#1899, #1907) — the drag now captures the pointer, so events reach the separator whatever the cursor passes over. Three more endings were closed with it: pointercancel, lostpointercapture, and a second press on the same bar. Worth recording: the separator tracks the pointer 1:1, so a slow drag never reaches the iframe at all — it takes a fast one, a width already at its floor, or a preview sitting flush against the bar.
  • The server serves ::1 as well as 127.0.0.1 (#1893, #1903) — localhost resolves to both, and the address the launcher printed was not always the one the browser reached.

Smaller fixes

  • Copy button on a rendered code block (#1895, #1908) — CopyCodeBlock dropped the class it was passed, so the button lost its styling under a fragment root.
  • Collision warning names the right winner (#1901, #1906) — with copy and a send binding on one keystroke, copy acts only while text is selected, so send is what fires when nothing is.
  • Header buttons and chips replace, not merge (#1896, #1904) — the config API replaces the whole array; the mulmoterminal-header skill said "partial merge" and users lost buttons they already had.
  • questionPaneEnabled is documented (#1897, #1905) — it existed in the UI, the skills and the coverage test, and in no guide page.
  • browserUrl stays on localhost for two reasons (#1900, #1909) — both written down, with what to do when sign-in will not complete.
  • Two grid specs stopped making real requests (#1913, #1916) — they mounted components without mocking fetch; the guard is now a shared helper.

Setup guide: Files beside the terminal, and a path you can insert (日本語) — written at release time, with screenshots.

📦 npm: mulmoterminal@4.13.0


What's Changed

  • feat: キー列送信を「知っている人しか辿り着けない」状態から出す (#1858) by @isamu in #1892
  • i18n: キーボードショートカット一覧のアクションのラベルを翻訳する (#1894) by @isamu in #1902
  • fix: -header skill の指示どおりに書くと既存の buttons / chips が消える (#1896) by @isamu in #1904
  • fix: copy と send がキーで衝突したとき、勝者は 1 つに決まらない (#1901) by @isamu in #1906
  • docs: questionPaneEnabled を設定ガイドに書く (#1897) by @isamu in #1905
  • fix(server): サーバ自身が ::1 も serve して、localhost の宛先を一意にする (#1893) by @isamu in #1903
  • fix(ui): CopyCodeBlock が渡された class をボタンに届ける (#1895) by @isamu in #1908
  • docs(cli): browserUrl が localhost 固定な理由は 2 つある —— Firebase の承認済みドメイン (#1900) by @isamu in #1909
  • feat: パスメニューの "Browse files in the app" は全画面ではなく右ペインで開く (#1910) by @isamu in #1911
  • feat: ファイルペインのツリー行を右クリックしてパスをターミナルに挿入する (#1859) by @isamu in #1912
  • fix: capture the pointer while dragging a splitter (#1899) by @isamu in #1907
  • test: gridOpenFiles の spec が実リクエストを 3 本出していたので mock する by @isamu in #1913
  • feat: 9 本目のテンプレート magazine — 記事ごとの URL を持つ共有アプリ by @snakajima in #1914
  • test: 残り 2 つの grid spec の mock 漏れを塞ぎ、ガードを共有ヘルパに切り出す by @isamu in #1916

Full Changelog: 4.12.0...4.13.0