Releases: NoteNerdOfficial/terminus
Release list
1.0.33
Fixes two more hang causes in "Explain this" / "Suggest a fix": missing --strict-mcp-config/--permission-mode dontAsk (was waiting on globally configured MCP servers before answering) and a cwd inside a TCC-protected folder (now pinned to the OS temp dir, safe since these calls never touch the filesystem). Also adds a Test button next to the Claude Code auth token field in Settings -> Advanced, so a token can be verified in place.
1.0.32
Add an optional Claude Code auth token (Settings -> Advanced) as a fallback for "Explain this" / "Suggest a fix" when the normal Keychain-based login can't be read by a spawned background process. Run claude setup-token and paste the result there if those actions hang or fail. No effect if left blank.
1.0.31
Adds a blinking dot on a terminal's tab header when it needs attention -- Claude requesting permission, or waiting on idle input -- positioned to stay visible even when the tab title truncates. Clears on focusing the tab or when the turn ends.
1.0.30
Fixes the terminal appearing to freeze — drawn and highlighted, but refusing to accept typing.
Obsidian activating a leaf focuses the leaf, not what the view put inside it, and xterm only takes focus on its own via a direct click on its canvas. Every other route to making a terminal active — the tab strip, a pane-switching command, a modal closing, another plugin's sidebar revealing the pane — left the keyboard wherever it was before. The terminal now takes focus whenever its pane becomes the active one.
1.0.29
Fixes the terminal periodically freezing — refusing keystrokes and arrow keys for a stretch — when another plugin polls the workspace.
getState() re-serialized the full 1000-line scrollback buffer on every call, synchronously, on the same thread xterm.js needs to accept a keystroke and repaint. The snapshot is now memoized behind a dirty flag and a 2s TTL, so an idle terminal reuses it for free and a busy one is bounded to one serialization per TTL no matter how many callers ask. Closing a terminal still captures its true final buffer, so "Rescue closed terminal" is unaffected.
1.0.28
Fixed split-down opening to the side instead of below the active pane.
1.0.27
Reworded the welcome and getting-started guide copy.
1.0.26
Fixes for the Obsidian plugin-review findings reported against 1.0.25. No user-facing behavior changes — everything in 1.0.25's notes applies unchanged.
- OS detection for the terminal's Cmd/Ctrl hover label now uses the
PlatformAPI instead ofnavigator.userAgent. - Electron's
shell/webUtilsare reached through a hand-declared module rather than arequire()cast, so both call sites are fully typed. - The generated resource module is committed rather than gitignored; without it in the repo, its import resolved to nothing and typed the resource list as
any. String.at()replaced with an index in the link-matcher's punctuation trimming — it's ES2022, past this project's ES2020 lib, so its result came back untyped.- Three elements now built with
createDiv/createElinstead ofdocument.createElement. - Removed a stray non-breaking space from the URL matcher.
1.0.25
Clickable paths and URLs in terminal output. Cmd/Ctrl + click a file path or link to open it. A trailing :42 lands on that line; anything Obsidian can't open goes to your system's default app. Paths are checked against disk first, so prose and version numbers don't turn into false links.
A getting-started guide. A short first-run panel, plus a full reference from the command palette (Terminus: Getting started). Bundled, so it works offline and writes nothing to your vault.
A font picker in settings, populated from the monospace fonts actually installed, instead of typing a family name blind.
The "Claude is editing X" chip now lasts a whole turn, in a place you'll see it. It was cleared by a 4-second timer, so it dropped during any stretch where Claude was thinking or running tools that aren't writes. A Stop hook now tells the plugin when a turn really ends. It also moved out of the pane header down to the bottom-right of the terminal, next to Claude's own input box.
"Open" in Pending Changes just opens the file now. With a code-editor plugin installed, opening a .ts file used to swap itself out for the Split Diff view — which has its own button right there. Notes still get the inline diff overlay; everything else simply opens.
Fixed: dragging a note into a terminal now resolves its path instead of typing an obsidian://open link into your shell.
Upgrading: reload Obsidian, and restart any claude session already running in a terminal so it picks up the new Stop hook.
1.0.24
Clears the last of the review findings introduced by 1.0.22.
Passing raw PTY chunks to the terminal — the fix for UTF-8 corruption on long input lines — handed a Node Buffer to an API typed for Uint8Array, which the review checker reads as an unsafe argument. terminus-node-bridge 1.4.0 adds bufferToBytes(), returning a plain Uint8Array and keeping Node's types inside the package that exists to hold them.
No behavior change.