Fix/desktop private url hot reload - #1093
Merged
xiaomakuaiz merged 22 commits intoAug 17, 2026
Merged
Conversation
Account page redesign: MonkeyCode is the single account concept, and the logged-out view is a login page with an edition switcher on top. Picking an official edition applies instantly (silent config save, no save-bar flash); self-hosted gets inline fields with an apply button. Sign-in methods follow the edition: CN offers WeChat/SMS (Baizhi OAuth) plus password, intl/self-hosted are password-only. Baizhi Cloud demotes to an optional models/MCP sync service (hidden on intl). Resolve the intl cloud llmproxy to proxy.monkeycode-ai.net/v1.
- save_config/engine_restart: apply the cloud service snapshot before the engine restart, so a failed restart no longer strands the shell on the old private-service address; the auto-recovery paths re-apply from disk and heal any split state left by earlier failures - telemetry: serialize load->report->save across tick/mark_used (cursor stomps double-counted installs; first run could persist two install ids) - driver reader: skip non-UTF-8 stdout lines instead of treating them as EOF, and kill before wait in crash cleanup so a live process can no longer hang the reader thread and disable auto-restart - sessions: delete waits for the in-flight resume, then takes the busy re-check + created/engine_id snapshot + map removal in one lock (ghost sidecar resurrection via resume or via the send error path, orphan engine sessions, resume watch entries leaking); compact's busy guard is atomic with its set and closing frames land before the busy flag clears; catch_up/cold-repair re-validate idleness before materializing so a concurrent turn is never double-materialized or force-closed - browser: contentEditable clear uses ownerDocument (same-origin iframes silently kept old text); snapshot keeps the cross-origin-iframe hint unless every subsession was actually collected - baizhi: file download gets a cancel-aware 1s tick plus a 120s idle timeout (half-open TCP used to hang forever with cancel dead); PoW challenge params are bounded — this also defines Challenge::valid() already referenced by mod.rs since 4957f83, repairing that build - wsl: output drain window 200ms->5s with an explicit error instead of silently treating output as empty - repo: C-unquote porcelain paths; the " -> " split only applies to R/C - pet: reset drag state on WM_CAPTURECHANGED (try_lock against reentrant delivery) with a GetCapture precondition in WM_MOUSEMOVE
- ChatView: the outline jump chain is session-scoped — retry/flash timers are cleared on session switch and the ensureLoaded continuation aborts once the session changed, so a stale chain can no longer hijack the new session's viewport on a colliding seq; the near-top auto-load is exempt while pinned to bottom (entering a short session used to trip it via the programmatic align scroll, stealing the follow flag so streaming output silently stopped following) - CloudTaskList: invalidating group caches now refetches the groups that are still expanded (stop/reloadKey used to leave them blank with no rows, spinner, or empty hint until a manual collapse/expand), and the open set is read through a ref so stale closures frozen into the context menu cannot drop a group expanded while the stop was in flight - App: the window title effect depends on locale — the native title used to stay in the previous language after switching until some other dependency happened to change - terminal: termBytes tolerates bad base64 and returns empty bytes, matching parseTermFrame's dirty-frame contract; one bad data frame used to throw through the listen dispatch chain into the full-screen startup-error trap
Switching edition means switching accounts, so the picker lives only on the login page; signed-in users disconnect first. Bottom-align the credits/check-in/invite row, and clamp long sync-result messages to two lines (full text on hover).
One three-way service list for both signed-in and signed-out states: the active row expands (login methods when signed out — CN gets WeChat/SMS/password tabs in the row header; usage tiles for quota, credits and invites when signed in), inactive rows show their sign-in method or a switch-to button. Switching never keeps the old session: it reuses the disconnect flow (revoke -> logout -> clear member models) before applying the new edition. Baizhi Cloud moves into an "other accounts" card.
Keep only the primary accent bar; a full-block tint drowned the login form in a wash of color.
With a live Baizhi session and MonkeyCode disconnected, the connect button appeared with no context; add the one line that says it reuses the current Baizhi account, with password login below for switching.
The connected service row and the Baizhi row now render their hosts as external links (bare hosts from status get https:// prepended), matching the inactive rows' domain links.
2xs(10, new @theme token) / xs(12) / body=sm(14) / lg(18). Replace all arbitrary text-[10px]/text-[11px] values with tokens and fold the two stray text-base uses into the lg tier; document the scale next to the body font-size rule. Markdown and terminal keep their own relative domains.
menu-sm rendered rows at 12px with tightened padding, drifting from the documented geometry (item padding 12px, rows 14px vs 12px group labels). Default menu restores the intended hierarchy.
Keep the quiet treatment (muted, medium weight, 12px icon); only the text size joins the body tier now that rows render at 14px.
Four tiers (90/100/110/125%) applied via Tauri webview setZoom — the VS Code/Discord page-zoom mechanism, so text, icons, controls, columns and the terminal scale in lockstep. Instant-apply preference channel (localStorage, applied before first frame); browser mode falls back to root CSS zoom. Adds the set-webview-zoom capability for the main window.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.