Skip to content

feat(device,preview): integrate batch 4 simulator stream reliability and preview feedback (#698) - #699

Merged
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-20-device-simulator-reliability
Sep 21, 2026
Merged

rynfar merged 1 commit into
pylonfrom
upstream/2026-09-20-device-simulator-reliability

Conversation

@rynfar

@rynfar rynfar commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #698

Summary of Upstream Integrations & Adversarial Review

Adopts 5 targeted upstream commits from cycle 6d1d549441..2efb8178d8 into Pylon with strict adherence to Pylon invariants, Effect services, and architecture:

  1. 58f89818e3 (#12807) (apps/server/src/device/DeviceService.ts, DeviceService.test.ts):
    • Catches simulator-already-off 500 error from serve-sim during shutdown, re-probes device state with fetchDevices(ready), and considers it an idempotent success if booted === false. Added comprehensive test suite.
  2. 051a4057a6 (#12808) (apps/web/src/components/device/DeviceStreamView.tsx, DeviceStreamView.test.tsx):
    • Fixes device Reconnect button starting two streams simultaneously by not calling refreshDeviceHubAccess if access is unchanged.
  3. 1ba471a37c (#12809) (apps/server/src/device/DeviceToolchain.ts, third-party-licenses.config.json, DeviceToolchain.test.ts):
    • Bumps DEVICE_HUB_VERSION to 0.10.1 and AGENT_DEVICE_VERSION to 0.21.7.
  4. 9f73ca3677 (#12639) (apps/web/src/components/device/deviceStream.ts, deviceStream.test.ts, DeviceLoadingView.tsx):
    • Recovers simulator streams after decoder errors or timeouts via epoch/generation tracking, timeout recovery, and MJPEG fallback hooks. 31 focused demuxer and recovery tests added.
  5. 55c24273a0 (#12779) (apps/desktop/src/preview/, apps/web/src/browser/, packages/contracts/):
    • Aligns preview recording cursors and shows input feedback overlays (mouse clicks and key presses) via detached canvas compositor.

Adversarial Review Findings & Adaptations

  • Preserved Pylon bounded videoBitsPerSecond calculations in createMediaRecorder.
  • Preserved Pylon's PreviewView active recording tab isolation and replacement server epoch handling.
  • Mobile simulator preview changes from upstream are omitted because Pylon mobile does not run embedded simulators in-app.

Verification

  • vp check: 0 errors across 3,951 files.
  • Full server and web test suites pass cleanly across device, preview, contracts, and settings.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…and preview feedback (#698)

Adopts 5 targeted upstream commits from cycle 6d1d549441..2efb8178d8:
- 58f89818e3 (#12807): fix(server): tolerate shutting down an iOS simulator that is already off
- 051a4057a6 (#12808): fix(web): device Reconnect starts one stream instead of two
- 1ba471a37c (#12809): chore(server): bump device tooling versions
- 9f73ca3677 (#12639): fix(devices): recover simulator streams after failures
- 55c24273a0 (#12779): fix(desktop): align preview recording cursors and show input feedback

Adversarial review findings resolved:
- Preserved Pylon bounded videoBitsPerSecond calculations in createMediaRecorder
- Verified iOS simulator idempotent shutdown via fetchDevices(ready)
- Retained Pylon Effect service runtime and isolation boundaries
@vercel

vercel Bot commented Sep 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pylon-marketing Building Building Preview Sep 21, 2026 4:37am UTC

@rynfar
rynfar merged commit a43fcfa into pylon Sep 21, 2026
13 of 16 checks passed
@rynfar
rynfar deleted the upstream/2026-09-20-device-simulator-reliability branch September 21, 2026 04:37
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Sep 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upstream integration cycle: device and simulator stream reliability and preview feedback

1 participant