Skip to content

Restore real Linux setup wizard in the current desktop UI #2126

Description

@integry

Objective

Restore the real guided local Linux setup journey in the current packaged desktop UI. This is a demonstrated missing core feature, not optional polish.

Evidence

Current desktop epic 923d5db was packaged by CI run 33921585884. Its checksum-verified Linux x64 ZIP launches successfully with a fresh isolated profile, but the first-run chooser has no setup action despite saying setup is available on Linux. propr-ui/src/desktop/electronAdapters.ts explicitly sets localSetup.supported: false and throws instead of starting setup. Screenshot on the orchestrator machine: /tmp/desktop-epic-linux-preview.0YZ5De/first-launch.png. Do not assume this local path exists in your container.

Scope

  • Reuse the already implemented Implement the guided local Linux setup wizard in the desktop app #1960 / merged [1960 by GPT-5.6 Sol] Implement the guided local Linux setup wizard in the desktop app #1978 wizard and existing @propr/local-setup engine, setup controller, schemas and capability boundary. Source reference: 1074279 and propr-ui/src/desktop/LocalSetupWizard.tsx. Inspect current source before porting: do not resurrect stale entrypoints or replace modern App/DesktopExperience/transport code with old versions.
  • Expose a working Linux setup entry and integrate the existing real wizard into the current UI: prerequisites, configuration, progress, cancellation, retry, recovery and completion. No fixture-only setup, placeholder adapter, fake success or permanently hidden control.
  • Completion must use the current profile/strict discovery/authentication/connection flow to reach the existing dashboard. Preserve ProfileStore v3, exact-origin CSP, main-owned credentials, profile-scoped request boundary, stale-result guards and shutdown lifecycle. Local setup must not bypass pairing/identity checks.
  • Preserve truthful capability behavior: Linux supports setup; Mac/Windows remain remote-only. Surface actionable unmet prerequisites rather than hiding the Linux journey entirely. Preserve non-destructive setup behavior and secret redaction.
  • Reuse the canonical shared endpoint default rather than introducing another port constant; keep CLI and hosted UI behavior intact.
  • Add focused renderer and adapter/controller integration coverage proving the production entry starts the real wizard, handles cancellation/retry and hands a successful instance into the current connection flow. Run relevant desktop and UI typecheck/tests/build; attempt a packaged visual check if the environment supports it. Do not install or alter a real local ProPR stack merely to make tests pass.

Integration

Target only 1950-epic-cross-platform-dsk, never main. Native lifecycle #2125 and visual/menu integration #2123 are separate work: do not duplicate or undo them. Compose overlapping current UI changes carefully. This task is the production Linux setup integration, not the visual harness or native artifact work.

Leave the PR open for one Ultrafix pass and independent review. Include Closes #<this issue> in the PR. Final combined acceptance remains #1962. Keep optional hardening as follow-ups rather than expanding this task.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions