Skip to content

fix(devices): apply settings to selected environments - #804

Merged
rynfar merged 27 commits into
pylonfrom
upstream/2026-09-24-device-settings-selected
Sep 25, 2026
Merged

rynfar merged 27 commits into
pylonfrom
upstream/2026-09-24-device-settings-selected

Conversation

@rynfar

@rynfar rynfar commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Device host edits previously changed only the representative environment even when several environments were selected in Settings. Adding, editing, and removing a host now updates each selected environment's own list, retains each environment's identity-file path unless the user edits that field, and reports partial or offline failures by environment. Editing onto another host's destination is rejected instead of creating duplicate targets. The device hub toggle applies to selected environments, while project and checkout scopes keep the existing project-level agent-device permission switch. Status and tool inspection remain tied to the representative environment.

This adapts upstream 66e39ca2aabde054bc50312a9c34f05dbd1f6f9e while preserving Pylon's host retry, local tool status, and selected-environment connection checks. #731 and #766 have landed; the current PR diff is limited to the nine settings/docs files for this behavior.

Validation on the reconciled tree: 53 focused settings and host-check tests, web typecheck, scoped lint and format, and a frozen offline install passed. The later base merge changed no file content. Browser/device interaction remains unverified. All reported final-head CI checks pass at bf23678a777a17c8d3e4c8d8588fddcf7cf19817, including web checks, server tests, and Linux/Windows packaged smoke. Browser/device UI evidence is still pending before merge.

Implemented and reviewed by GPT-6 Sol in the Codex/Pylon harness. Refs #736.

Mnigos and others added 21 commits September 22, 2026 12:30
… the server from starting (#12763)

(cherry picked from commit 80d9c181da41ee3890791c9b65018ce093e7bc9e)
(cherry picked from commit 790be6d755026d61bd13a970dd77176c12ca0425)
(cherry picked from commit 1de563c1491c7d82563e4553bf5bf689ce6adbb9)
Co-authored-by: Anco <anco@bluebarry.ai>
Co-authored-by: Exotic <118054752+extoci@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
(cherry picked from commit f25a8e4b72c1164f2ab7b1c8481496f168d17f55)
(cherry picked from commit 1eeeabb26f654c679efe265cd03edf69c3df3a6f)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit 33cb911ceb89d55b812f486d4e001d0f86d77680)
(cherry picked from commit aff9318bf46beaf05cc7155b428d3f0b8711efd2)
…698)

(cherry picked from commit 1ced38a6647b7f466b535b4b413ca4a74303da8e)
Adapt upstream 8984f8103d0836c0b340fe70cd053428d622a8c3 to Pylon's selected-environment host ownership and retry UI.
@vercel

vercel Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated
pylon-marketing Ignored Ignored Preview Sep 24, 2026 11:10am UTC

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XL labels Sep 24, 2026
@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 14.0 KiB 13.9 KiB −7 B (−0.0%) 15.1 KiB ✅
Codex Thread snapshot wire 7.2 KiB 7.2 KiB −5 B (−0.1%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.7 KiB 6.7 KiB −2 B (−0.0%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 58.0 KiB 58.0 KiB 0 B (0.0%) 66.4 KiB ✅
Codex Live turn messages 9 9 0 (0.0%) 21 ✅
Claude Total thread wire 14.0 KiB 14.0 KiB −8 B (−0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 7.2 KiB 7.2 KiB −6 B (−0.1%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.7 KiB 6.7 KiB −2 B (−0.0%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 58.9 KiB 58.9 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 9 9 0 (0.0%) 21 ✅

Baseline: 89e17c6 · PR result: bf23678 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 115.6 KiB
  • Claude decoded thread snapshot: 116.3 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

…ce-settings-pr731-bridge-20260924

# Conflicts:
#	apps/web/src/components/settings/IntegrationsSettings.tsx
@vercel

vercel Bot commented Sep 24, 2026

Copy link
Copy Markdown

Deployment failed for project pylon-marketing with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/pylon-code?upgradeToPro=build-rate-limit

@github-actions github-actions Bot added size:XXL and removed size:XL labels Sep 24, 2026
@rynfar

rynfar commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator Author

Reconciled this stacked PR onto current pylon and the refreshed #731 prerequisite at 4ad09b330064b97bf4cb46debcefd2ca52a5e141. The combined settings tree passes 53 focused settings/host-check tests, web typecheck, scoped lint/format, and a frozen offline install. Review found one real collision path: editing a host onto another host's destination could create duplicate targets in a selected environment. The planner now rejects that destination and a regression covers it.

Final-head CI is running. Browser/device interaction is still unverified. Merge remains subject to #731 landing and all checks green; Vercel currently reports the account's daily deployment quota on this head.

@github-actions github-actions Bot added size:L and removed size:XXL labels Sep 25, 2026
@rynfar

rynfar commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator Author

Isolated browser QA on final head bf23678a777a17c8d3e4c8d8588fddcf7cf19817: paired a second disposable backend, selected All environments, added qa@host.invalid, and confirmed the host appeared in both environments. Selected the second environment separately and confirmed its host entry remained visible. The browser console showed no errors. The first image shows the multi-environment add form; the second shows both saved entries and the environment selector.

These backends used disposable state only. The placeholder SSH target was saved but never connected to.

Before saving a device host across two environments

After saving, both environments show the host

@rynfar
rynfar merged commit 05f4d0c into pylon Sep 25, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 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.

4 participants