v0.2.9
This release focuses on the terminal: faster GPU rendering, clickable links, inline images, and sessions that survive window reloads and crashes.
Added
- Terminal session reconnection: Terminals survive a window reload or a renderer crash. The underlying shell keeps running and the pane reconnects with its recent output restored — the terminal header shows
reconnected. Panes are matched by their stable id, so renaming a tab or pane does not break reconnection, and reloads no longer leave orphaned shell processes running invisibly until the window closes. Sessions still end when the app itself closes. - Clickable terminal links: URLs in terminal output are clickable and open in the system browser (
http,https, andmailtoonly). - Inline terminal images: sixel and iTerm2 image sequences render in place, so tools that print images directly (such as
imgcatorchafa) show them in the terminal. - Markdown links: Links in the Markdown preview now work. Relative paths open the target file in the file viewer,
#headinganchors scroll within the document, and HTTP(S) links open in the built-in Browser (Ctrl+Click/⌘+Clickopens a new Browser tab).mailto:links open the system email app, and unsupported schemes such asjavascript:are ignored. The main window blocks top-level navigation away from its own origin.
Improved
- GPU-rendered terminals: The visible terminal renders through WebGL — much faster for heavy output — with automatic fallback to the DOM renderer, and background panes never hold a GPU context, so any number of tabs and splits stays within the browser's WebGL context limit.
- Smoother output bursts: Terminal output is coalesced across an ~8 ms window before it crosses the process boundary, cutting the messages the UI receives during large bursts such as build logs or package installs.
- Correct character widths: Terminals apply the Unicode 11 width tables, fixing misaligned columns in TUI programs that use newer emoji and full-width symbols.
Fixed
- Markdown re-render churn: The Markdown preview no longer rebuilds its entire DOM on every app render, which previously swallowed real clicks on links and re-fetched preview images unnecessarily.
日本語
このリリースはターミナルの改善に焦点を当てています:GPU による高速描画、クリック可能なリンク、インライン画像、そして再読み込みやクラッシュ後も引き継がれるターミナルセッション。
追加
- ターミナルセッションの再接続: ウィンドウの再読み込みやレンダラーのクラッシュ後もシェルは動き続け、直近の出力を復元してペインに再接続します(ヘッダーに
reconnectedと表示)。ペインは安定 ID で照合されるため、タブやペインのリネームでも再接続は壊れません。再読み込み時にシェルが迷子プロセスとして残る問題も解消しました。アプリ自体の終了時は従来どおりセッションは終了します。 - ターミナル内のクリック可能リンク: 出力中の URL をシステムのブラウザーで開けます(
http/https/mailtoのみ)。 - インライン画像表示: sixel / iTerm2 の画像シーケンスをターミナル内に表示します(
imgcatやchafaなど)。 - Markdown リンク: プレビュー内のリンクが動作します。相対パスはファイルビューアーで、
#アンカーはドキュメント内スクロール、HTTP(S) は内蔵 Browser で開きます(Ctrl+Click/⌘+Clickで新規タブ)。mailto:はメールアプリで開き、javascript:などの危険なスキームは無視されます。
改善
- GPU レンダリング: 表示中のターミナルを WebGL で描画し、大量出力でも高速に。利用できない環境では自動で DOM レンダラーへフォールバックし、非表示ペインは GPU コンテキストを保持しません。
- 出力バーストの平滑化: PTY 出力を約8msの窓で結合して IPC に渡し、ビルドログやパッケージインストールなど大量出力時のメッセージ数を削減します。
- 文字幅の修正: Unicode 11 の幅テーブルを適用し、新しい絵文字や全角記号を含む TUI の表示崩れを修正します。
修正
- Markdown 再描画: プレビューがアプリの再描画のたびに DOM 全体を再構築する問題を修正し、リンクのクリック取りこぼしやプレビュー画像の再取得を防ぎます。
Full Changelog: v0.2.8...v0.2.9