Skip to content

Add persistent Desktop launchers and Core session recovery - #19

Merged
askac merged 1 commit into
mainfrom
feature/platform-session-recovery
Sep 7, 2026
Merged

Add persistent Desktop launchers and Core session recovery#19
askac merged 1 commit into
mainfrom
feature/platform-session-recovery

Conversation

@askac

@askac askac commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Why

Browser launches need explicit authentication and stable endpoints. Desktop users need persistent settings, reliable Windows/WSL startup, and a visible backend identity so external agents do not connect to another StandTerm instance.

What changed

  • Add an opt-in Windows x64 Electron evaluation with Windows-only, Windows + WSL, and WSL-only installation choices, user-approved Core/venv preparation, persistent per-mode profiles, and recoverable optional environment cleanup. Existing Core shortcut launchers remain supported.
  • Add remembered-port startup and platform session recovery while preserving explicit overrides, live-session limits, loopback Desktop binding, and existing agent approval boundaries.
  • Add desktop capture, Files/PiP integration, scoped diagnostics, tokenless agent connection copying, and About details for Desktop 0.4.1 / running Core 2.11.0-dev. Older backends without version metadata show Unknown; failed external previews offer a user-confirmed browser handoff.
  • Keep approval controls reachable for long requests and split external-agent guidance into on-demand references without adding automatic endpoint guessing or broader agent authority.

Testing

Core headless regression checks, 51 Desktop unit tests, isolated backend authentication/lifecycle tests, and Windows Electron + WSL About, diagnostics, Files, and PiP smoke tests pass. Packaging input verification includes the Core version module and excludes credentials, venvs, private handoffs, and unpublished rescue tools.

The accompanying Desktop release is a pre-release, not a stable Core release. It is unsigned, requires separately installed platform Python, and has no updater. Full isolated interactive installer clean-install/upgrade/cancel/uninstall acceptance and manual default-browser handoff acceptance remain outstanding; the complete Python dependency set is not release-locked. Packaged-candidate checks are recorded in the release notes.

Desktop 0.4.1 pre-release is published from this exact commit. The packaged Windows/WSL shell, About/diagnostics/copy-info, PiP, PNG and silent WebM checks pass; WSL Files checks pass. The NSIS-extracted payload matches the smoke-tested package, and both uploaded asset SHA-256 digests match the local artifacts. This PR remains open for review; main and the stable Latest release are unchanged.

## Why
Browser launches need explicit authentication and stable endpoints, while Desktop needs persistent profiles and observable backend identity.

## What changed
- Add Windows and WSL Desktop setup, persistent profiles, capture, floating windows, and scoped diagnostics while preserving Core browser behavior.
- Add remembered-port startup and platform session recovery; retain explicit launch overrides and approval boundaries.
- Report actual Core version and bundle identity in About and diagnostics, with unknown metadata fallback for older backends and tokenless agent connection copying.
- Split external-agent guidance into on-demand references while retaining explicit instance selection and user-controlled authorization.

## Testing
Core headless regression coverage, 51 Desktop unit tests, isolated backend authentication and lifecycle checks, and Windows Electron with WSL About, diagnostics, Files, and PiP smoke coverage pass. Packaging inputs include Core version identity and exclude private and unintegrated rescue files.
@askac
askac merged commit 9710ed8 into main Sep 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant