mirror of
https://github.com/cline/cline.git
synced 2026-08-30 17:20:20 +08:00
f5224abdf5
* feat(desktop): auto-update via Tauri updater with restart prompt The Rust shell now checks the desktop-latest GitHub release feed on launch and every 2 hours, downloads and stages updates in the background, and exposes get_update_status/restart_to_apply_update commands. The webview polls the status and shows a persistent toast with a one-click restart once an update is staged; ignored updates apply on next launch. Updater artifacts are only produced with the CI config overlay (tauri.release.conf.json) so local packaging keeps working without the updater signing key. Also mounts the previously-unmounted Toaster so existing toast() calls render. * ci(desktop): add desktop-publish release workflow and publish-desktop skill desktop-publish.yml mirrors cli-publish: dispatch with a desktop-vX.Y.Z tag + confirm gate, validates the tag against package.json and tauri.conf.json, builds signed+notarized DMGs for aarch64 (native) and x86_64 (cross-compiled sidecar via bun --target), generates the updater manifest, publishes the versioned GitHub release, refreshes the rolling desktop-latest auto-update feed, and posts to Slack. Adds the release skill, changelog, and README docs for the required GitHub secrets. * fix(desktop): address review — outlast sidecar shutdown window, dedupe update toast across remounts stop() now polls for 7s before escalating to kill, past the sidecar's own 5s SHUTDOWN_TIMEOUT_MS graceful-shutdown budget, so clicking Restart now (or quitting) during session persistence can't SIGKILL the sidecar mid-write. notifiedVersion moves to module scope so a page remount doesn't re-toast an update the user already dismissed. * docs(desktop): move publish-desktop skill to .cline/skills, slim README release section Match the publish-cli convention: the skill lives in .cline/skills/ and is symlinked from both .agents/skills/ and .claude/skills/ so all agents pick it up. The README's release section shrinks to a pointer + the two never-lose invariants (desktop-latest feed, updater private key); the repo secrets table moves into the skill, which also fixes its dangling reference to a 'Release automation' README section and escapes the pipe that broke the GFM table cell.