Repository navigation
v2.13.0
v2.13.0
Released 2026-09-18
Unchecking a tab in Config no longer leaves the panel blank — and when something else does go wrong, the panel now tells you what happened instead of dying silently.
✨ Features
- diagnostics: make a broken panel say what happened (09b6f52) — a webview has no console within reach, so any failure outside the render tree was invisible: the panel went blank and the only evidence was that it went blank. Every failure path now lands in one bounded log — render crashes, escaped exceptions, rejected promises, scripts that fail to load, rejected host messages, and handler throws on both sides — mirrored to Output → Claude Code Manager, where it survives the panel. A crash paints the message and stacks into the panel, readable and selectable, and leads with Reload panel so recovery comes before reporting. Claude Code Manager: Report a Problem (Command Palette, or the crash banner) assembles environment, diagnostics and the session's errors into one report and offers to copy it, open a prefilled GitHub issue, open it as a document, or show the log — the extension still makes no network calls of its own. A health check after each settings push catches the last case: a panel that has died answers nothing, and that silence is recorded.
🐛 Bug Fixes
- webview: stop a checkbox click from scrolling the panel out of view (a3e5aca) — clicking a checkbox in a long panel, such as Config's tab list, left the panel blank. Nothing crashed: the app was still rendering, parked ~1300px above the viewport. The hidden
<input>behind each checkbox is absolutely positioned and its label never established a containing block, so it resolved against the document; in a scrolled panel the lower rows sit near y=2250, which handed the document that much scrollable overflow. Clicking the label focuses the input, the browser scrolls the document to reveal it, and the app — exactly one viewport tall — leaves the screen with no scrollbar to get back. The same jump explains rows toggling the wrong tab: the document moved between mousedown and mouseup, so the click landed one row off. Fixed at the source, with a guard that snaps the viewport back should anything else ever scroll it. Verified across all twelve tabs: focusing every control on Config now moves the viewport 0px, where one focus previously moved it 1484px. - sessions: show search results as one flat list (eb874de) — the Active / Today / Pinned / date sections answer "what have I been working on", which is not what you are asking once you type a query. Under search they only fragmented the results — a three-hit search could arrive as three one-row sections, and a collapsed section could hide a match entirely. Results now keep the filtered order: pinned first, then most recent.
- sessions: re-run transcript search once the index finishes building (38b4d59) — a search typed while the full-text index was still warming returned nothing and stayed empty. It now re-runs itself the moment the index is ready.
💅 UI / Styling
- config: stack the deprecated-key notice instead of squeezing it (b1eb08f) — the notice sat beside its button in a row. At the sidebar's real width that left the text a ~120px column wrapping to six lines while the button pushed past the panel edge, and the key name broke the sentence it sat in. The key now leads on its own line, the explanation follows, and the button sits under both.
🔧 Refactoring
- sessions: remove the unread marker (8040885) — the dot tracked whether a transcript had grown since you last opened it, which is not the same as whether there is anything worth reading, and it was wrong often enough to be noise.
Full changelog: 2.12.1...2.13.0