mirror of
https://github.com/iflytek/skillhub.git
synced 2026-09-14 23:21:08 +00:00
Turning provisioning on only affects accounts activated afterwards, which on a registry that has already been running means nobody. The first person to hit this on our deployment was the operator who enabled it: they signed in, got no namespace, and had no way to find out why. Two fixes. Backfill. POST /api/v1/admin/settings/personal-namespace/backfill walks the active accounts and gives a namespace to those without one, skipping system accounts and anyone who already owns a non-global namespace. Details worth knowing: - dryRun reports the plan — each account and the slug it would take — without writing. The console requires a preview before it will enable the apply button. - The response lists only accounts that changed or could not be placed; the rest are counted, so an operator reads the work rather than the whole directory. - A run stops at a per-run account cap and reports truncated rather than looking like it covered everything. - Slugs promised earlier in a run are reserved, so one batch cannot hand the same slug to two accounts. - Not @Transactional: each namespace is created in its own transaction, so an account that cannot be placed does not discard the rest of the run. Diagnosability. The skip paths — provisioning disabled, account already owns a namespace, no slug available — were silent returns, which is why "nothing happened and I cannot tell why" was the actual user experience. They now log their reason; account activation is rare enough that the extra lines cost nothing. |
||
|---|---|---|
| .. | ||
| docker-entrypoint.d | ||
| e2e | ||
| public | ||
| src | ||
| .browserslistrc | ||
| .dockerignore | ||
| .eslintrc.cjs | ||
| base-path-config.test.ts | ||
| base-path-config.ts | ||
| components.json | ||
| Dockerfile | ||
| index.html | ||
| LANDING_PAGE_REDESIGN.md | ||
| nginx.conf.template | ||
| package.json | ||
| playwright.config.ts | ||
| playwright.smoke.config.ts | ||
| pnpm-lock.yaml | ||
| postcss.config.js | ||
| PREVIEW.md | ||
| runtime-config.js.template | ||
| tailwind.config.ts | ||
| TODO.md | ||
| tsconfig.json | ||
| vite.config.ts | ||