Summary
- Fix stuck "Installing update..." screen: Tauri v2's updater doesn't auto-restart the app after installing an update (unlike v1). Added explicit
app.restart()call afterdownload_and_installsucceeds. - Fix session file limit errors: Kills all active PTY sessions before restarting to prevent orphaned processes and file descriptor leaks that caused Claude Code sessions to hit file limits.
- Single file change (
src-tauri/src/commands/update.rs) — no new dependencies or config changes needed.
What changed
- Added
ProcessManagerstate parameter todownload_and_install_update(auto-injected by Tauri) - After update installs: calls
process_manager.kill_all_sessions()to clean up PTY sessions - Calls
app.restart()to relaunch the app and apply the update
Test plan
- Trigger an update with active sessions — verify app restarts and no orphaned processes remain
- Trigger an update with no active sessions — verify clean restart
- Verify
cargo buildpasses with no new warnings
🤖 Generated with Claude Code