Skip to content

feat(download): show the real running desktop app window (v0.6.2 launch fix)#219

Merged
abrichr merged 1 commit into
mainfrom
feat/running-app-visuals
Jul 19, 2026
Merged

feat(download): show the real running desktop app window (v0.6.2 launch fix)#219
abrichr merged 1 commit into
mainfrom
feat/running-app-visuals

Conversation

@abrichr

@abrichr abrichr commented Jul 19, 2026

Copy link
Copy Markdown
Member

What

The now-fixed OpenAdapt Desktop launches (prerelease desktop-v0.6.2 fixes the startup panic tracked by openadapt-desktop issue #26). The /download DesktopPreview previously showed installer + tray shots and a cockpit render, with copy hedging that the app "does not launch yet." This PR wires in a real capture of the actual launched app and updates the copy to reflect reality.

Capture provenance (real, verified)

  • gh release download desktop-v0.6.2OpenAdapt-Desktop-Experimental-v0.6.2-macos-arm64-adhoc.dmg, sha256 verified against the release SHA256SUMS (d2f343c7…).
  • Mounted, ditto-installed the .app, launched with open — the real packaged Tauri window, not tauri dev / vite build / Playwright.
  • Confirmed it stays alive (process observed at 00:50 and 01:36, no panic — the v0.6.2 fix did not regress).
  • Window located via Quartz CGWindowListCopyWindowInfo, captured at native retina 2x with screencapture -l<windowID>, cropped only to trim the OS title bar so the WindowFrame chrome reads cleanly (same treatment the tray still already uses).
  • Full untrimmed capture + launch process evidence archived in the monorepo at .private/desktop_capture_2026_07_19/macos/.

Copy / honesty changes

  • Intro ("What you're installing"): now states the app launches and v0.6.2 fixed the panic; the window shown is the real app running.
  • Cockpit caption: the real launched-app window from the published v0.6.2 DMG, no engine attached.
  • Windows finish step: drops the stale "does not launch yet (issue Update the Command for powershell script #26), so no app window is shown" caveat; credits the v0.6.2 fix.
  • Experimental / unsigned-or-ad-hoc framing preserved. No engine connected → only the honest first-run connect screen; no authenticated/workflow states fabricated.

Provenance test extension

tests/desktopPreview.test.js:

  • New test asserting the cockpit asset's sha256 (96c0c1bc…), dims (2240×1464), v0.6.2 provenance (release tag, launched-app capture method), and honesty phrases.
  • Windows-flow honesty test now asserts the stale caveat is gone and the v0.6.2 fix is credited.
  • Cockpit dimension assertion updated to 1120×732 (title bar trimmed) — zero layout shift.

Gates (all green locally)

  • node --test tests/*.test.js → 73/73 pass (incl. publicTruth + desktopPreview).
  • next build → success (prebuild reruns tests).
  • Cypress → 30/30 pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NyCHrzA1psrKMFfroYbzaM

…ch fix)

The desktop app now launches: desktop-v0.6.2 fixes the startup panic that
issue #26 tracked. Replace the cockpit connect-screen capture with a real
capture of the actual launched app from the published v0.6.2 macOS arm64 DMG
(gh release download, sha256-verified, mounted + installed + `open`ed — the
real packaged Tauri window, not a vite/Playwright render), cropped only to
trim the OS title bar so the WindowFrame chrome reads cleanly.

Copy updates in DesktopPreview:
- "What you're installing" intro now states the app launches and v0.6.2 fixed
  the panic; the window shown is the real app running.
- Cockpit caption calls it the real launched-app window (published v0.6.2 DMG).
- Windows finish-step caption drops the stale "does not launch yet (issue #26),
  so no app window is shown" caveat and credits the v0.6.2 fix.

Provenance + tests:
- MANIFEST.json: cockpit entry re-sourced to desktop-v0.6.2 with the DMG
  sha256, full screencapture method, new content hash and 2240x1464 dims;
  finish note updated to reflect the fix.
- desktopPreview.test.js: new test asserting the cockpit asset's sha256, dims,
  v0.6.2 provenance and honesty phrases; the Windows-flow honesty test now
  asserts the stale caveat is gone and the v0.6.2 fix is credited; cockpit
  dimension assertion updated to 1120x732.

No engine was connected, so only the honest first-run connect screen is shown;
no authenticated/workflow states are fabricated. Experimental/unsigned framing
preserved. Unit (publicTruth + desktopPreview), next build, and Cypress green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NyCHrzA1psrKMFfroYbzaM
@netlify

netlify Bot commented Jul 19, 2026

Copy link
Copy Markdown

Deploy Preview for cosmic-klepon-3c693c ready!

Name Link
🔨 Latest commit 5c11342
🔍 Latest deploy log https://app.netlify.com/projects/cosmic-klepon-3c693c/deploys/6a5d0cd3090f090007e615f7
😎 Deploy Preview https://deploy-preview-219--cosmic-klepon-3c693c.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@abrichr
abrichr merged commit 7d551ac into main Jul 19, 2026
5 checks passed
abrichr added a commit that referenced this pull request Jul 20, 2026
Add a Cypress regression assertion that visits /download at 375px and
390px and asserts documentElement.scrollWidth stays within the viewport.

Investigation finding: the /download page does NOT currently scroll
horizontally at any width from 320-414px in the fully-loaded ready state
(chart + stats + install-flow + desktop preview all render and fit).
Confirmed by measuring documentElement.scrollWidth and by a full-page
mobile screenshot. Recent download-page work (#215/#216/#219/#223/#229)
appears to have already resolved any earlier overflow.

Because globals.css sets `overflow-x: hidden` on html/body, a naive
scrollWidth check would be clamped by Chrome and trivially pass, masking
future regressions — and that mask does not reliably stop horizontal
panning on iOS Safari, which is the surface this guards. The assertion
therefore neutralizes the mask first so it measures the true content
width. Verified meaningful: injecting a 900px element with the mask
neutralized makes the assertion fail as expected.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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