MyKindlebox/mykindlebox/client
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
..
public Pedigree OCR and Docker 2026-07-02 14:38:16 -04:00
src Add user accounts with first-run onboarding and per-user preferences 2026-07-02 16:38:16 -04:00
.dockerignore Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00
.gitignore Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00
Dockerfile Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00
README.md Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00
eslint.config.js Pedigree OCR and Docker 2026-07-02 14:38:16 -04:00
index.html Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00
nginx.conf Pedigree OCR and Docker 2026-07-02 14:38:16 -04:00
package-lock.json Pedigree OCR and Docker 2026-07-02 14:38:16 -04:00
package.json Pedigree OCR and Docker 2026-07-02 14:38:16 -04:00
postcss.config.js Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00
tailwind.config.js Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00
vite.config.js Initial commit: MyKindlebox rabbitry management app 2026-06-21 23:29:56 -04:00

README.md

React + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.