Move crawler and analysis configuration out of boot-only env vars and into
a DB-backed, admin-editable surface applied live without a restart.
- New `app_settings` table (migration 0026) holds one JSONB row per group;
env vars seed it on first boot, then the DB is the source of truth.
- `settings.rs` adds serializable Crawler/Analysis DTOs with env-base +
DB-overlay conversion and field-level validation; env-only/secret fields
(browser, proxy, TOR, vision API key, PHPSESSID) are never persisted.
- `GET/PUT /api/v1/admin/settings/{crawler,analysis}` (RequireAdmin,
cookie-only, CSRF-guarded): GET returns the editable DTO + a read-only
env-managed view + prompt defaults; PUT validates (422 + per-field
details), persists + audits in one tx, then gracefully respawns the
affected daemon via a Supervisor.
- AppState swaps the crawler control/resync handles and analysis enable
gate behind shared runtime cells so reloads take effect with no restart;
a boot-time spawn failure is logged rather than aborting startup.
- Make the three vision prompts and sampling temperature configurable
(defaults preserved); cookie_domain is admin-editable too.
- Frontend: tabbed /admin/settings page with grouped fieldsets, prompt
reset-to-default, env-managed read-only panel, save-&-apply confirm, and
per-field validation; typed client + ApiError.details.
- Bump version 0.79.1 -> 0.80.0.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
50 lines
890 B
Plaintext
50 lines
890 B
Plaintext
# Rust
|
|
/backend/target
|
|
/backend/.sqlx
|
|
|
|
# Node / SvelteKit
|
|
/frontend/node_modules
|
|
/frontend/.svelte-kit
|
|
/frontend/build
|
|
/frontend/test-results
|
|
/frontend/playwright-report
|
|
|
|
# Local storage volume (manga files). `/data` is the root path the
|
|
# compose volume mounts at; `/backend/data` is where the dev backend
|
|
# writes when STORAGE_DIR isn't overridden (default `./data/storage`
|
|
# relative to backend cwd).
|
|
/data
|
|
/backend/data
|
|
|
|
# Env
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
.env.dev
|
|
|
|
# Node install / Playwright output when run from the repo root (the
|
|
# canonical copies live under /frontend, already ignored above).
|
|
/node_modules
|
|
/test-results
|
|
|
|
# Claude Code (personal overrides only; .claude/settings.json is committed)
|
|
.claude/settings.local.json
|
|
.claude/.session/
|
|
|
|
# IDEs / editors
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# Logs
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|