Releases: finex7070/CodeAstrogator
Releases · finex7070/CodeAstrogator
v0.5.0
Added
- Review edits in the editor (opt-in). A new "Review edits in the editor" toggle (off by default). When it's on and Claude proposes a file edit (Edit/Write/MultiEdit) in a mode that actually asks (Ask/Plan), the chat shows a compact file card with "Accept all", "Open in editor" and "Reject all" instead of the inline diff card. Clicking Open in editor opens the file and shows the proposed change inline in the code editor — to-be-deleted lines highlighted red, to-be-added lines as green "phantom" lines (the file itself is never modified during review) — with Accept/Reject buttons per hunk. Accepting only some hunks applies exactly those: the tool input is reconstructed from the accepted hunks and handed back to the CLI (rejecting everything denies the edit). This is the inline, Copilot-style review flow from the roadmap (permission hook + per-hunk partial apply). It only takes effect in Ask/Plan mode — in Auto-accept/Bypass the CLI applies edits without prompting. The diff and reconstruction logic is covered by unit tests.
- "Accept all" on the edit-review file card. Applies the whole proposed edit straight from the chat card without opening the editor (a plain allow, which the CLI receives as the full original edit). "Open in editor" is now a secondary action next to it.
- Scrollbar marks for inline reviews. While a review is open in the editor, each proposed change shows as a coloured tick next to the vertical scrollbar — like git change marks — so you can see at a glance where the changes are (green = additions, red = deletions, purple = changed, grey = already decided).
- Jump to next/previous change. A small floating toolbar (pinned to the top-right of the editor) with ▲/▼ buttons that scroll to the previous/next change in the review, plus a "N to review" counter.
Changed
- The "Review edits in the editor" toggle moved into the Permission menu (the model/mode popover), nested directly beneath the mode it applies to: it now sits under "Ask before edits" and only shows while Ask is selected, mirroring "Auto-accept commands" which sits under "Auto-accept edits". A sub-toggle that doesn't apply to the currently selected mode is hidden rather than shown dimmed.
v0.4.3
Changed
- The "Code Astrogator" wordmark on the welcome screen now uses the accent color. It was rendered in the default text color; it now picks up
--accent(so it also follows a custom accent color set in the gear popover). - "Detailed" verbosity now actually differs from "Normal." Verbosity is a transcript display setting with three levels; previously Normal and Detailed were nearly identical — the only difference was whether thinking cards started expanded, and even that didn't apply to cards already on screen when you switched. Now Detailed starts both thinking and tool cards expanded (showing each tool call's input and output inline), while Normal keeps them collapsed (click to expand) and Compact still hides system notes and thinking entirely. Switching the level also re-applies to the cards already in the current transcript, and the gear popover now shows a one-line description of each level.
- The assistant message avatar is now the Code Astrogator head instead of the
✳sparkle glyph. Each of Claude's messages in the transcript is prefixed with the small astronaut-head logo (WebUI\head.png, derived from the head master); the user›glyph and system notes are unchanged.
Added
- "Changelog…" button in the gear popover. Below "Advanced options…" the appearance popover now has a Changelog entry that opens the project changelog (
https://github.com/finex7070/CodeAstrogator/blob/main/CHANGELOG.md) in the system browser. - Head-only logo for small icons. Added a head-only master (
Resources\codeastrogator-head.png) — the astronaut's helmet and face cropped from the full-body logo, with no shoulders and the raised hand removed, centered in the frame. The small icons used where the logo is shown tiny (icon-16/20/24/32, i.e. the "View → Other Windows → Code Astrogator" menu entry and the tool-window tab) are now rendered from this head variant, so they stay legible at 16–32 px instead of shrinking the whole body. The Marketplace icon/preview and the large welcome-screen logo keep the full-body figure. - New setting: "Reference it by default in new chats." Controls the starting state of the active-file reference (the file chip in the composer) for each new chat. With it on (the default, unchanged from before), a new chat references the active editor file right away. With it off, a new chat starts with the reference toggled off (the chip is shown struck-through) so nothing is sent unless you click the chip to opt in for that chat. It's a sub-option of "Reference the active editor file in each prompt" (greyed out while the master switch is off) and does not change the current chat — only what fresh chats start with.
Fixed
- Remote sessions now start on the very first open of a project.
claude remote-controlrefuses to start in an untrusted workspace ("Error: Workspace not trusted. Please runclaude… first"), unlike the headlessclaude -pchat turn which bypasses the workspace-trust check entirely. So opening a project for the first time and immediately starting a remote session failed with that error (you had to drop to a terminal and runclaudeonce to accept the trust dialog). The extension now pre-accepts workspace trust for the directory you opened in Visual Studio — it sets the samehasTrustDialogAcceptedflag in~/.claude.jsonthat the interactive dialog writes — right before launching the remote-control server. (Best-effort and non-destructive: an existing project entry is reused and left untouched when already trusted; the global config is written atomically; any failure simply falls back to the CLI's own trust error. Verified against CLI 2.1.178.)
v0.4.2
Added
- Delete sessions from the history list. Each entry in the history popover now has a trash button (revealed on hover) that, after an explicit confirmation dialog, removes the session from the chat history. Deleting the active session starts a fresh chat. (The chat history is already capped at 50 sessions / 400 messages each, persisted on a background thread, so it cannot grow without bound — this just lets you prune it manually.)
Changed
- Settings window polish. Long checkbox labels (under "Announcements & updates") now wrap instead of being clipped at the right edge, and the window's height is capped to the screen — when the content is taller than the display it scrolls instead of growing off-screen (fixes usability on smaller screens).
- Usage meters now refresh periodically while idle. Previously they only updated on window open and after each turn. They are now also refreshed every 5 minutes whenever no turn is running, so the session/weekly utilization stays current without sending a prompt (the
/usagefetch runs locally,num_turns: 0, no cost). Skipped while a turn is in progress (the post-turn refresh covers that).
Fixed
- Better readability of the hint texts in the Model·Mode popover. The two helper lines (under "Ultracode" and "Auto-accept commands") used the faintest text color and were hard to read; they now use the standard dimmed color (higher contrast in both dark and light themes).
- "Prompt timeout" setting works again with the new CLI (2.1.178). A full re-verification against CLI 2.1.178 found that the CLI now reads the MCP tool-call timeout from the config's
timeoutfield and lets it take precedence over theMCP_TOOL_TIMEOUTenvironment variable (the reverse of older CLI versions). Because the config field was hardwired to 1 hour, the user-configured prompt timeout (sent only via the env var) had no effect. The configured value is now written into the config field (and rewritten when changed), so the setting takes effect again; the env var stays as a fallback. (Everything else re-verified unchanged:--effort/--permission-modevalues, the MCP permission protocol, AskUserQuestion routing, and the/usageparser.) - Slash-command menu / autocomplete no longer overflows off-screen. The CLI now reports 28+ commands (built-ins plus skills), and the popover had no height cap — so the list grew past the window and only the first entry was visible. The popover is now height-capped and scrolls internally (verified against CLI 2.1.178).
- The "✻ Thinking…" indicator no longer hangs when a turn is stopped while it is showing. When the prompt was stopped (or the turn ended abnormally) during the thinking phase, the interrupted CLI emits no
thinking.end, so the transient "✻ Thinking…" line stayed on screen for the rest of the session. The line is now dropped whenever the turn reaches a terminal state (Stop / error / normal end); a streamed thinking card just loses its spinner. No effect on normal turns, wherethinking.endalready cleared it.
v0.4.0
Added
- Configurable notice/announcement banner via GitHub (replaces the hard-wired "discontinuation" notice). A
notice.jsonin the repo root is served via GitHub raw — editing it and pushing tomastershows/changes/hides the banner in all installed extensions without a new VSIX release. Schema with exactly 5 values:enabled(on/off),from/to(optional ISO time window controlling when it is shown),title(plain text),content(Markdown, including links).
- Update banner: A separate banner (can be shown alongside the announcement) that points to a new version. When update notifications are enabled, the latest GitHub release is queried on window open (
/releases/latest); if its tag version is newer than the installed one, a banner with a link to the release appears. Same cache / 3-hour throttling logic as the announcement. (Publishing a new release = upload the build + tag = version number.) - Opt-in with consent popup (announcements + updates): Since the fetches are network calls, the first time the window opens one in-window popup with two checkboxes asks whether announcements and/or update notifications should be active. The choices are persisted and can be toggled at any time in the settings window (section "Announcements & updates"). If an option is off, it is never fetched or displayed.
- Local cache + 3-hour throttling: When an announcement/update is active, the source is fetched on window open and cached in
localStorage— but at most every 3 hours (between fetch attempts). If a fetch fails (offline/404/broken JSON), the last cached version applies; if there is no cache, nothing is shown. Retried on the next open (also 3-hour throttled). - Editor right-click → "Add file to Claude prompt" / "Add selection to Claude prompt". In the code editor the current file can be attached to the prompt as an attachment chip; if text is selected, an additional entry appears that inserts the selection as a code block (with file + line range) into the composer. Opens the chat window if needed and defers the action until the UI is ready.
- GitHub repo configurable in one place: The
owner/repo(and the branch fornotice.json) for both banners now lives inWebUI/config.jsand can be changed there quickly before building (e.g. for a fork). - "Working" phrases moved to
config.js(workingPhrases) and extended with a few new ones — editable before building. - Discontinuation notice disabled: Anthropic postponed/replanned the subscription change — the banner is empty/off by default (
enabled:false).