Releases
v1.3.239
Compare
Sorry, something went wrong.
No results found
ggcode v1.3.239
Highlights
See the changelog below for the user-facing updates included in this release.
Compare
Changelog
fix(desktop): stale StartShare result is torn down instead of leaked (#2404 )
fix(desktop): a stop during an in-flight StartShare cannot resurrect the session (#2401 ) (#2403 )
fix(tui): wrap the #2377 usage-probe goroutine in safego (goroutine gate)
fix(usage): desktop+IM /usage pick probes by URL; 15s outer budget; dead renderer deleted (#2399 #2400 ) (#2402 )
fix(desktop): StartShare in-flight guard actually short-circuits (#2396 ) (#2397 )
fix(desktop): StartShare closes its check-then-act window (#2387 ) (#2395 )
fix(desktop): clipboard attachment reads enforce the dual budget at the read layer (#2386 ) (#2393 )
fix(wailskit,config): MCP panel truth trio - persist-first disable, ws switch clears stdio fields, doc/comment alignment (#2389 #2391 #2392 )
refactor(tui): drop dead per-lang module catalog maps from i18n
fix(wailskit): guard activeChatBridge with its own RWMutex
fix(usage): adapter selection by endpoint URL; probe only the session's current endpoint (#2150 rework B) (#2388 )
fix(tui): usage panel shows the ACTIVE vendor only; /usage joins completion (#2150 rework) (#2385 )
refactor(tui): extract session-resume handling from Model.Update (#2357 slice 6, tail) (#2384 )
refactor(tui): extract inspector items-loaded handling from Model.Update (#2357 slice 5) (#2383 )
fix(wailskit): Markdown export redacts and truncates user/assistant bodies (#2381 ) (#2382 )
refactor(tui): extract sub-agent system message handling from Model.Update (#2357 slice 4) (#2379 )
fix(tui): usage-probe goroutine snapshots the emitter value, not the Model (#2377 ) (#2378 )
refactor(tui): extract cron firing handling from Model.Update (#2357 slice 3) (#2376 )
fix(tui): remote /usage vendor probe runs off the Update goroutine (#2373 ) (#2375 )
fix(usage): OpenrouterProbe credits 429 surfaces RateLimitedError instead of degrading to limit endpoint (#2366 part 3) (#2372 )
refactor(usage): drop dead InvalidateSuccess - RefreshInvalidate is the sole facade (#2366 follow-up)
refactor(context): drop dead empty tool-result branch in AnalyzeBudget
refactor(tui): extract webchat user message handling from Model.Update (#2357 slice 2) (#2370 )
fix(tui): usage fetch snapshots vendor targets on the Update goroutine (#2371 )
fix(usage,tui): r-key refresh keeps 429 pacing via RefreshInvalidate (#2366 case 1) (#2368 )
fix(tui): TUI-attached IM /usage appends the active vendor payload (#2358 follow-up, cross-entry parity) (#2369 )
fix(tui): r-refresh keeps the usage Service - only success rows are invalidated (#2366 part 1)
fix(usage): AnthropicOAuthProbe surfaces 429 as RateLimitedError (#2366 part 2)
fix(tui): usage panel refresh clears results; vendor switch drops sidebar snapshot (#2365 ) (#2367 )
fix(tui): closeActivePanel handles usagePanel (#2363 ) (#2364 )
docs(guide): document /usage, the usage sidebar, and the desktop badge (#2150 ) (#2362 )
feat(desktop): status-bar usage badge for the active vendor (#2150 batch 3) (#2361 )
feat(usage): centralized probe registration + Retry-After-aware negative cache (#2150 batch 2b) (#2360 )
refactor(tui): extract usage msg handling from Model.Update (#2357 slice 1) (#2359 )
feat(im): /usage renders live vendor balance/windows from the shared probe layer (#2150 batch 3) (#2358 )
feat(tui): usage/balance panel + sidebar section; fix Service singleflight/cache flaws (#2150 batch 2, #2353 ) (#2356 )
feat(desktop): ChatBridge GetUsageInfo binding consumes the usage probe layer (#2150 batch 3 first slice) (#2355 )
feat(usage): remaining five P1 probes - kimi/minimax/anthropic-oauth/openrouter/siliconflow (#2150 batch 1 cont.) (#2354 )
feat(usage): first-class usage/balance probe layer (#2150 batch 1) (#2352 )
fix(tool): CommandJobManager.Start strips secrets from child env (#2350 ) (#2351 )
refactor(cost): remove the writer-less .cost.json subsystem (#2312 ruling B) (#2349 )
You can’t perform that action at this time.