You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(credentials): chunk the credential-ACL write the env save now depends on
`createWorkspaceEnvCredentials` wrote keys x members membership rows in one
statement, and neither side is bounded by the request contract. Past 65535
bind parameters that throws — previously a partial success, because the value
had already committed, but this now runs inside the value's transaction, so it
rolls the save back instead, deterministically, on every retry. A 50-member
workspace saving 150 keys reaches it. Chunked the same way the two personal
paths in this file already are.
Also from the audit:
- invalidate the decrypted-env cache after `deleteCredentialRecord` removes an
env value, matching the dedicated delete paths; without it a deleted secret
stayed resolvable for the cache TTL
- correct the comment claiming the personal reconcile "matches the replace" —
it prunes against this request's key list, so a secret added after the commit
still loses its mirror. Naming the gap instead of asserting it away
- name the one behavior change the in-transaction re-read introduces: a key
whose submitted value already matched is not re-encrypted, so a concurrent
write for that key now survives rather than being overwritten
- drop the lock-timeout constant and TSDoc left behind when the lock moved into
the shared helper, and stop shadowing `finalEncrypted`
0 commit comments