feat(framework): run-view polish for a GitHub Actions target (#1053)#1058
Merged
Conversation
Record a run's target on its meta and read it in the run view: an Actions run replays its transcript in a burst at the end (fresh runner per turn), so the live feed looks stalled. Show a "running on GitHub Actions, updates arrive when the run finishes" affordance with a link through to the live Actions run (from the action/notice events the driver emits, which carry the run html_url), and gate the Browser pane off since there is no browser on the runner. Local and remote-device runs are unchanged. Closes #1053
suleimansh
marked this pull request as ready for review
July 22, 2026 23:26
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #1049 (Wave 2). Polishes the run view so a non-local target reads correctly instead of looking broken.
What changed
A GitHub Actions run replays its transcript in a burst at the end (fresh runner per turn), so the live feed looks stalled with nothing streaming. This teaches the run view about the run's target:
--run-on actionsnow recordstarget: 'actions'on itsRunMeta(.the-framework/run.json), threaded throughRunStore.open.localis left off the meta, so every existing reader is byte-identical. This is the small "surface the target to the run view" piece the issue anticipated: the target reached run start via Run target: wire GitHub Actions into the "Run on" gear selector (driver axis) #1050 but was not persisted anywhere the run view could read.ActionsRunNoticerenders above the feed fortarget === 'actions': "Running on GitHub Actions, updates arrive when the run finishes" while live, plus a clickable link through to the live Actions run. The URL comes from theactionevent the driver emits (run <html_url>), via a pureactionsRunUrl(events)helper.browserStreamPorteither, but the gate is explicit and tested.)localor unset.Where the code contradicted the issue
actionevent (run <url>), not anoticeevent: the dispatchnoticecarries only the correlation id. The link reads theactionevent's label; noted in the helper.run.jsonlands and the poll adopts the run. Acceptable: an Actions run's orchestrator process is local, so its meta is written promptly.The "connected to " remote-device cue is out of scope here; it belongs to sibling #1052 (the gear / connection profiles). This PR stays in the run-view / BrowserPanel area and does not touch the "Run on" gear. Whichever of #1052 / this PR merges second may need
git merge origin/main.Verify
pnpm typecheck(framework + framework-dashboard): clean.ActionsRunNotice.test.tsx(6),actionsRunUrlcases inlive-state.test.ts(4), and browser-gating cases inRightRail.test.tsx(2).run-store.test.tscases for target persistence.pnpm build: green.Closes #1053