feat: let organization owners create users with password setup links #64
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/ed3ebb61-user-setup"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Human organization owners can create users from Settings → Members without opening public registration. The new user and member membership commit together; the recipient chooses their own password using a single-use link. Existing users keep their credentials and use the existing add-member flow.
Only direct human owners in the creating organization can create, list, replace or revoke links. Activated users remain ineligible even if they later clear their password. Opening/inspection does not consume; successful submission does. Replacement and revocation immediately invalidate the prior verifier. Removing the originating membership revokes its link, so re-adding cannot revive it.
Capabilities stay out of logs, GET URLs, routing state, analytics, replicas and React Query caches. The fragment is captured before platform/routing imports, including same-tab navigation. Setup responses are no-store; the public page is no-referrer. Password work is bounded to two submissions, with 429/retry instead of a password-bearing queue.
Depends on preparatory PR #65. Its normal main server image will be retained and tested as the migration-aware rollback artifact before this feature is released. Both changes need Security Engineer review before merge. Morten approved the exact schema on task ed3ebb61 at 10:01 UTC on 20 October 2026.
Evidence
closed; fresh phone/desktop browsers offered only sign-in. The live server remains 0.47.0.After: Six real-browser tests pass at 390×844 and 1440×900, with registration closed: creation pending/success, keyboard fields, duplicate fallback, list/create error retries, copy success/denial, recipient mismatch/network retry/success, same-tab reopening, replacement and revocation. Saved links are masked. Screenshots and acceptance record.
task ci:qualitypassed 822 tests across 122 files, type checks, ESLint, dependency rules, formatting and pipeline renderings. The final added bounded-work API test and native-window guard tests also pass (9 focused tests). Final head0a54835passed push 444 and PR 445, including all 823 tests in 122 files, docs and both image builds. Preparation #65 passed pipelines 440/441 with 798 tests.windowaliases without browser APIs have a dedicated guard test.Merge danger
Door: one-way for the database relative to the old stock image. The schema is approved; no down migration, data deletion or restore is included.
Blast radius: app
Merge preparation #65 first, retain its server digest and verify that image against an already-upgraded disposable database before publishing the feature release. The eventual single-writer Recreate rollout briefly interrupts the server. Main builds alone do not update the pinned live workload. Do not release until required security findings and rollout prerequisites are resolved.
Rollback and verification
Task: ed3ebb61-7698-4856-a06d-ac0f5ae2ca3c. Feature branch:
feat/ed3ebb61-user-setup; preparation:feat/ed3ebb61-user-setup-schema.WIP: docs: propose owner-created user setup migrationto WIP: feat: let organization owners create users with password setup linksStandards: no blocking findings at
0a54835. Direct-owner authorization, immutable organization scope, pending-user guards, atomic capability lifecycle and credential privacy checked in source and tests. Forge statuses 444/445 are green. Spec: no blocking findings. NON-BLOCKING release prerequisite: merge preparation #65 first, retain its published main server digest and pass the attached rollback-smoke against that actual image before feature release. Use only disposable emptyDir data; no Service/PVC/Secrets/host access; disable service-account token mounting; retain existing UID/GID/seccomp/capability/resource bounds. Stock 0.47.0 cannot reopen migration 036. Roll back to verified preparation image, retaining additive schema and pending state plus compatible agent pin. Verify release/mirror/ArgoCD revisions, actual digests/readiness, closed registration and real-owner creation/redemption without recording capabilities. Native physical paths and actual-image execution remain unverified. Full review and local verification limits will be recorded on subtask 16c04c9f. Findings per axis: Standards 0; Spec 1 non-blocking delivery prerequisite.WIP: feat: let organization owners create users with password setup linksto feat: let organization owners create users with password setup links