Repository navigation
feat(runs): act as a run's team on its run page - #2944
Merged
Merged
Conversation
🎩 PreviewA preview build has been created at: |
1 of 3 tasks
camielvs
force-pushed
the
cvs/team-run-page
branch
2 times, most recently
from
October 23, 2026 23:50
d257206 to
d7c3946
Compare
1 of 3 tasks
camielvs
force-pushed
the
cvs/team-run-page
branch
2 times, most recently
from
October 27, 2026 00:59
53c49c7 to
7f26527
Compare
1 of 3 tasks
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 27, 2026 17:33
7f26527 to
e40adfd
Compare
1 of 3 tasks
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 28, 2026 19:43
e40adfd to
e45248d
Compare
camielvs
force-pushed
the
cvs/team-run-page
branch
2 times, most recently
from
October 29, 2026 01:32
81146db to
b2b3b4b
Compare
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 29, 2026 02:42
b2b3b4b to
4ae59a9
Compare
camielvs
force-pushed
the
cvs/team-run-page
branch
2 times, most recently
from
October 29, 2026 20:21
2793b31 to
da10892
Compare
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 29, 2026 20:42
da10892 to
0e399cf
Compare
camielvs
commented
Oct 29, 2026
camielvs
commented
Oct 30, 2026
camielvs
commented
Oct 30, 2026
camielvs
commented
Oct 30, 2026
1 of 3 tasks
camielvs
commented
Oct 30, 2026
camielvs
commented
Oct 30, 2026
camielvs
commented
Oct 30, 2026
1 of 3 tasks
camielvs
commented
Oct 30, 2026
camielvs
commented
Oct 30, 2026
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 30, 2026 02:02
5b9fe42 to
05f925b
Compare
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 30, 2026 18:51
05f925b to
f16a783
Compare
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 30, 2026 20:35
f16a783 to
e5f3565
Compare
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 30, 2026 21:03
e5f3565 to
609c0ee
Compare
camielvs
marked this pull request as ready for review
October 30, 2026 21:23
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 30, 2026 21:46
609c0ee to
6de803a
Compare
maxy-shpfy
approved these changes
Oct 30, 2026
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 30, 2026 23:50
6de803a to
a5a4b94
Compare
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 31, 2026 00:08
a5a4b94 to
59cca9d
Compare
A run's team is the team of the projects it's filed under, read from its annotations. The run page now uses it in three places. Cancel and run notes: the backend only lets a run's creator cancel or annotate it. A run the team created can now be cancelled and its notes edited by a member who can write to the team, and both requests carry the team header. A run you created keeps working as before, without the header, even when it's filed under a team's project. Rerun: a rerun keeps the identity of the run it repeats. A run the team created reruns as the team, so its secrets resolve the same way. Someone who can't act as the team can't rerun it, and the button and the run menus say why. Any other run reruns by the same rule as a submit: as you, unless only the team has a secret it uses. A rerun whose arguments use secrets missing for whoever it goes as, or whose secrets are split, asks first, says why and offers the same Run as choice. Rerun waits for the team and the secrets check, and is refused for projects on different teams. When the run's team can't be checked, only the run's creator can rerun it. The rerun button and the run menus shared two copies of the rerun logic. The button now uses the menus' hook, so the team rules live in one place. Cancel and annotation failures now show the backend's reason instead of "Access denied (403)": they read the response the way creating a run does. As before, a request a sign-in redirect intercepted fails rather than passing for a success. A failed notes save used to be silent and now shows a toast. useTeamForRunAnnotations had no callers and is replaced by useRunTeam, which also waits for the annotations and reports when they can't be read. Without the team header configured, useRunTeam is "none" straight away and reads no annotations, so cancel, notes and rerun behave as before. The React Compiler covers the new RerunBlockedReason and RerunReviewDialog. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
camielvs
force-pushed
the
cvs/team-run-page
branch
from
October 31, 2026 00:12
59cca9d to
d6f8ee7
Compare
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.
Human Words
Welcome to the top of the stack for the Workspaces x Secrets feature.
How it works
This stack builds on top of the Team Impersonation system to allow users to create Workspace-level secrets and execute Pipeline Runs using them.
Workspaces are now associated 1:1 with a Team and through a static config on the backend that Team grants basic roles to users based on their Team membership. Users with Team permissions are then able to create, edit and manage secrets on the entire Workspace, and add them to pipelines within that Workspace.
When a pipeline is submitted with a Workspace secret the initiating user must have team permissions. That Run will then be Attributed to the team and utilise its secrets. It is not possible to mix user-personal secrets and workspace secrets in one pipeline. Additionally, for runs that do not use secrets the user will have a choice of submitting as themselves or the team. It is also not possible to run a pipeline that uses Workspace secrets from outside of that Workspace.
Note: agents cannot use or read workspace secrets locally due to known tangent-shell limitations in the existing agent workflow.
Screenshots
Testing
Agent Words
Description
A run's team is the team of the projects it's filed under, read from its annotations by the new
useRunTeam. The run page now uses it in three places.runManagement.useRerunPipelineRun, so the team rules live in one place. The button's unusedrunIdprop is gone.Cancel and annotation failures now show the backend's reason instead of "Access denied (403)". They read the response the way creating a run does. As before, a request a sign-in redirect intercepted fails rather than passing for a success. A failed notes save used to be silent and now shows a toast.
useTeamForRunAnnotations(#2929) had no callers.useRunTeamreplaces it, and also waits for the annotations and reports when they can't be read. Without the team header configured, it'snonestraight away and reads no annotations, so cancel, notes and rerun behave as onmaster.Related Issue and Pull requests
fetchWithErrorHandlingdropping the backend'sdetail.Type of Change
Line Breakdown
Checklist
Screenshots (if applicable)
None yet.
Test Instructions
With the same setup as #2941, open a run submitted as the team (#2943):
master.Additional Comments
RunToolbar,RunDetails) isn't routed. It only picks up the shared rerun button.RerunBlockedReasonandRerunReviewDialogare added toreact-compiler.config.js.🤖 Generated with Claude Code