MyKindlebox/mykindlebox/server
fireshaper 2a0e347a19 Add user accounts with first-run onboarding and per-user preferences
Replaces the optional shared-password auth (AUTH_PASSWORD env var,
in-memory sessions) with account-based auth: a users table (scrypt
password hashes via node:crypto — no native dep), SQLite-backed sessions
that survive restarts, a one-time setup screen that creates the first
account, and a Settings → Users card for adding/removing users and
resetting passwords (everyone equal, shared herd — no roles).

Theme and weight-unit become per-user preferences behind the unchanged
/api/settings shape (NULL inherits the global value); rabbitry name, kit
prefix, and default breed stay shared. Failed logins get a flat 350 ms
delay and timing-safe comparison. MYKINDLEBOX_PASSWORD is retired —
upgrading deployments see the setup screen once, data untouched.

Also: configurable host port (MYKINDLEBOX_PORT), compose healthcheck
gating nginx on API readiness, nginx body-size headroom for 10 MB
imports, server .dockerignore hardening, ESLint ignore for vendored
tesseract assets, react-hooks rule fixes, exact tesseract.js pin with SW
cache-upgrade contract and failure-isolated precache, and OCR date
parsing fixes (2-digit-year pivot, impossible-date rejection).

Design doc: memory-bank/FEATURE_User_Accounts.md

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:38:16 -04:00
..
db Add user accounts with first-run onboarding and per-user preferences 2026-07-02 16:38:16 -04:00
lib Add ARBA Shows feature (browse, events, entries, judges, placements) 2026-06-22 23:13:30 -04:00
routes Add user accounts with first-run onboarding and per-user preferences 2026-07-02 16:38:16 -04:00
utils Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00
.dockerignore Pedigree OCR and Docker 2026-07-02 14:38:16 -04:00
Dockerfile Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00
auth.ts Add user accounts with first-run onboarding and per-user preferences 2026-07-02 16:38:16 -04:00
drizzle.config.ts Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00
index.ts Add user accounts with first-run onboarding and per-user preferences 2026-07-02 16:38:16 -04:00
package-lock.json Add ARBA Shows feature (browse, events, entries, judges, placements) 2026-06-22 23:13:30 -04:00
package.json Add ARBA Shows feature (browse, events, entries, judges, placements) 2026-06-22 23:13:30 -04:00
tsconfig.json Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00