mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 00:11:37 -06:00
e7039e93a0
Wire the existing allow_registration setting to an admin toggle in the Users tab and a public /register page, so the documented self-registration flow is reachable from the UI instead of the API alone. Expose the flag on the public setup-status endpoint the router guard already calls, so the sign-in page can offer sign-up without an extra request. Harden the newly public path: return a conflict instead of a 500 when concurrent signups race the unique index, sanitize the logged username, and reject control, zero-width, and text-direction characters in the username and display name so a new account cannot impersonate another in the user list or audit log. Closes #952