fix(credentials): workspace admin users get 'member' role on credential_member instead of 'admin'
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
- #5431 di @tsushanth — chiusa senza merge
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 42/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- typescript
- Ambito
- api, authorization, backend
Direzione di ricerca
Start with ensureWorkspaceCredentialMemberships in apps/sim/lib/credentials/environment.ts and the POST handler in apps/sim/app/api/credentials/route.ts; trace how workspace permissions are read and how credential_member roles are assigned. Reproduce the owner, admin, write, and read cases, then verify that owner and admin users receive admin while write and read users receive member.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug Description
When a workspace-scoped secret is created (via Settings > Secrets or syncWorkspaceEnvCredentials), the credential_member role is determined solely by whether the user is the workspace owner:
const targetRole = memberUserId === ownerUserId ? 'admin' : 'member'
This means workspace admin users are assigned member role on credential_member, making them unable to edit or delete the secret — even though they have admin access to the workspace.
Affected Code
apps/sim/lib/credentials/environment.ts—ensureWorkspaceCredentialMemberships: only checksownerUserId, ignores workspacepermissionstableapps/sim/app/api/credentials/route.ts— POST handler: same issue, onlyworkspaceRow.ownerId || session.user.idgets admin
Expected Behavior
Credential member role should reflect workspace permissions:
| Workspace Permission | Credential Role |
|---|---|
owner (workspace.ownerId) |
admin |
| admin (permissions table) | admin |
| write | member |
| read | member |
Steps to Reproduce
- Create a workspace with multiple members (owner + admin + write/read users)
- As the owner, go to Settings > Secrets and create a workspace-scoped secret
- Check
credential_membertable — only the owner hasadminrole - Log in as a workspace admin user — cannot edit or delete the secret
- Lingua principale
- TypeScript
- Stelle
- 29.8k
- Fork
- 3.9k
- Merge medio
- 1h 44m
- PR unite (30g)
- 841
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di simstudioai/sim
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
simstudioai/sim#9831 ·
I maintainer di solito rispondono entro 1 giorno
-
v2 API rate limits self-hosted installs by IP even with billing disabledForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
simstudioai/sim#8452 ·
I maintainer di solito rispondono entro 1 giorno
-
Railway template generates invalid ENCRYPTION_KEY (should be 64-char hex string)Forse di nuovo libera @sahooarnav2007-gif l’ha presa 15 giorni fa e non c’è nessuna pull request aperta. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
simstudioai/sim#6246 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
simstudioai/sim#1204 · 8 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
simstudioai/sim#9734 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di simstudioai/sim
Issue simili
-
Bug: Cloudflare Pages static _redirects identity rule causes RSC Flight to reload as HTMLForse già presa @Donvero l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Mantitup-Org/vista#210 ·
-
status: waiting for maintainer
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
mui/material-ui#49751 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
diplodoc-platform/transform#1184 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
JonasKruckenberg/imagetools#973 ·
I maintainer di solito rispondono entro 1 giorno