Repository navigation
Conversation
🎩 PreviewA preview build has been created at: |
camielvs
added this pull request to stack #2930
October 22, 2026 22:34
This was referenced Oct 22, 2026
camielvs
force-pushed
the
cvs/tangent-secrets-window
branch
from
October 23, 2026 22:58
9086ffb to
954d167
Compare
Tangent's project dock gains a Secrets window. It lists the secrets that runs submitted in the project use: the team's, when the project's workspace maps to a team you can act as, and your own otherwise. - In a team's project the window is headed "Team: <workspace>" with the team id as its tooltip, and add, replace and delete act as the team. A member whose role can't write sees the list without those actions. Hiding them is the only guard, since the backend doesn't check write access on `/api/secrets/`. - Everywhere else it is headed "My secrets". - When the project has a team but you can't act as it (not a member, refused by the backend, or the lookup failed), the window says so and lists your own secrets, because that is who your runs there will be submitted as. `ActingTeamNotice` holds that copy so the submit dialog can say the same thing later. - Projects on different teams list nothing and say why; submitting is blocked in that case. The add, replace and delete controls take an optional team id and invalidate that team's cache key. Their failure toasts now show the backend's reason, which matters once a request can be refused for acting as a team. From #2886: the dock registration and its order test, `ListRowIcon`, and the secret row's look. Replace and delete are inline buttons rather than a menu, so the row reuses the confirming delete button. Settings → Secrets stays your own secrets. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Feedback from the first staging pass. - A team's name now carries the team icon wherever it's written into copy, with the team id on hover. `TeamName` does this, and the add dialog and the team notices use it. `InfoBox` titles accept rich content so the notices can include it. - Adding to a team is titled "Add a team secret". - The replace dialog shows the secret's key icon at its top left, like the secret's row. - The empty-state line under the list is gone. The add button is enough. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
camielvs
force-pushed
the
cvs/tangent-secrets-window
branch
from
October 23, 2026 23:50
954d167 to
49949eb
Compare
This branch has not been deployed
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.
Description
Tangent's project dock gains a Secrets window. It lists the secrets that runs submitted in the project will use: the team's, when the project's workspace maps to a team you can act as, and your own otherwise.
/api/secrets/.ActingTeamNoticeholds that copy so the submit dialog can say the same thing.A team's name carries the team icon wherever it's written into copy, with the team id on hover.
TeamNamedoes this for the add dialog and the team notices.InfoBoxtitles now accept rich content so the notices can include it. The replace dialog shows the secret's key icon at its top left, like the secret's row.The add, replace and delete controls take an optional team id and invalidate that team's cache key. Their failure toasts now show the backend's reason, which matters once a request can be refused for acting as a team.
Related Issue and Pull requests
ListRowIcon, and the secret row's look. Replace and delete are inline buttons rather than a menu, so the row can reuse the confirming delete button from feat(secrets): harden the secret form #2939. Settings → Secrets stays your own secrets.Type of Change
Line Breakdown
Checklist
Screenshots (if applicable)
None yet.
Test Instructions
On a deployment with team impersonation, you need:
window.__TANGLE_TEAM_IMPERSONATION__;teamIdmetadata is a team's id;Then:
Without the impersonation config, every project shows "My secrets".
Additional Comments
The React Compiler now covers
src/components/shared/Teams.🤖 Generated with Claude Code