fix(credentials): workspace admin users get 'member' role on credential_member instead of 'admin'
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
- #5431 de @tsushanth — fechado sem integrar
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 42/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Estagnada
- Stack de tecnologia
- typescript
- Domínio
- api, authorization, backend
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- TypeScript
- Estrelas
- 29.8k
- Forks
- 3.9k
- Merge médio
- 1h 44min
- PRs com merge (30d)
- 841
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de simstudioai/sim
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
simstudioai/sim#9831 ·
Mantenedores costumam responder em até 1 dia
-
v2 API rate limits self-hosted installs by IP even with billing disabledTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 75/100
simstudioai/sim#8452 ·
Mantenedores costumam responder em até 1 dia
-
Railway template generates invalid ENCRYPTION_KEY (should be 64-char hex string)Talvez livre de novo @sahooarnav2007-gif assumiu há 15 dias e não há nenhum pull request aberto. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
simstudioai/sim#6246 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
simstudioai/sim#1204 · 8 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
simstudioai/sim#9734 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de simstudioai/sim
Issues semelhantes
-
Bug: Cloudflare Pages static _redirects identity rule causes RSC Flight to reload as HTMLTalvez já em andamento @Donvero assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantitup-Org/vista#210 ·
-
status: waiting for maintainer
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
mui/material-ui#49751 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
diplodoc-platform/transform#1184 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
JonasKruckenberg/imagetools#973 ·
Mantenedores costumam responder em até 1 dia