Commit Graph

352 Commits

Author SHA1 Message Date
TheFurya bbc6f2c3f4 feat: expose admin status to frontend via user API
Add is_admin field to UserResponse schema and update AuthContext to
fetch user profile after login, storing and exposing isAdmin boolean.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 11:19:10 +01:00
TheFurya 2e66186fac feat: add require_admin dependency and protect admin endpoints
Add require_admin FastAPI dependency that checks is_admin column on users
table. Apply it to all admin-facing write endpoints (games, pokemon,
evolutions, bosses, routes CRUD). Run-scoped endpoints remain protected
by require_auth only since they manage user's own data.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 11:14:55 +01:00
TheFurya 1042fff2b8 feat: add is_admin column to users table
Add `is_admin` boolean column (default false) via Alembic migration
for role-based access control.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 11:10:29 +01:00
TheFurya f7731b0497 Fix local login flow, add new auth epic
CI / backend-tests (push) Failing after 31s
CI / frontend-tests (push) Successful in 29s
2026-03-21 11:06:53 +01:00
TheFurya 0d6174067e feat: enforce feature branch workflow with PreToolUse hook
Add a guard script that blocks git commit/push on protected branches
(develop, main, master) via a PreToolUse hook. Update CLAUDE.md with
stricter branching rules: one commit per task, immediate commits on
feature branches, no direct commits to protected branches.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 10:45:58 +01:00
TheFurya 93a90f4ba7 add docker init folder
CI / backend-tests (pull_request) Failing after 1m11s
CI / frontend-tests (pull_request) Successful in 28s
2026-03-20 22:13:01 +01:00
TheFurya 3d362a8314 Last weird branch commit
CI / backend-tests (pull_request) Failing after 1m16s
CI / frontend-tests (pull_request) Successful in 28s
2026-03-20 22:11:39 +01:00
TheFurya 2364922b58 beans update 2026-03-20 21:59:43 +01:00
TheFurya 3881971214 chore: add .talos/ to .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 21:42:52 +01:00
TheFurya 0a519e356e feat: add auth system, boss pokemon details, moves/abilities API, and run ownership
CI / backend-tests (push) Failing after 1m16s
CI / frontend-tests (push) Successful in 57s
Add user authentication with login/signup/protected routes, boss pokemon
detail fields and result team tracking, moves and abilities selector
components and API, run ownership and visibility controls, and various
UI improvements across encounters, run list, and journal pages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 21:41:38 +01:00
TheFurya a6cb309b8b chore: archive 42 completed/scrapped beans
CI / backend-tests (push) Successful in 28s
CI / frontend-tests (push) Successful in 28s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 21:31:23 +01:00
TheFurya 27c89ccf2b Merge pull request 'chore(deps): update dependency oxlint to v1.56.0' (#51) from renovate/oxlint-1.x into develop
CI / backend-tests (push) Successful in 25s
CI / frontend-tests (push) Successful in 1m21s
Reviewed-on: #51
2026-03-20 20:17:14 +01:00
TheFurya ccabf3bdf3 Merge pull request 'chore(deps): update actions/checkout action to v6' (#57) from renovate/actions-checkout-6.x into develop
CI / frontend-tests (push) Has been cancelled
CI / backend-tests (push) Has been cancelled
Reviewed-on: #57
2026-03-20 20:17:00 +01:00
TheFurya 55484a047d Merge pull request 'chore(deps): update actions/setup-node action to v6' (#58) from renovate/actions-setup-node-6.x into develop
CI / frontend-tests (push) Has been cancelled
CI / backend-tests (push) Has been cancelled
Reviewed-on: #58
2026-03-20 20:16:44 +01:00
Renovate Bot 7c11902613 chore(deps): update actions/setup-node action to v6
CI / backend-tests (pull_request) Successful in 25s
CI / frontend-tests (pull_request) Successful in 58s
2026-03-20 19:03:48 +00:00
Renovate Bot 24646d30c6 chore(deps): update actions/checkout action to v6
CI / backend-tests (pull_request) Successful in 37s
CI / frontend-tests (pull_request) Successful in 29s
2026-03-20 19:03:42 +00:00
Renovate Bot a4f2f52c10 chore(deps): update dependency oxlint to v1.56.0
CI / backend-tests (pull_request) Successful in 26s
CI / frontend-tests (pull_request) Successful in 27s
2026-03-20 19:03:33 +00:00
TheFurya 9327c068a5 Merge pull request 'chore(deps): update dependency node to v24.14.0' (#50) from renovate/node-24.x into develop
CI / backend-tests (push) Successful in 26s
CI / frontend-tests (push) Successful in 1m53s
Reviewed-on: #50
2026-03-20 19:59:26 +01:00
TheFurya 9acde89ceb Merge pull request 'chore(deps): update dependency pydantic-settings to v2.13.1' (#52) from renovate/pydantic-settings-2.x into develop
CI / frontend-tests (push) Has been cancelled
CI / backend-tests (push) Has been cancelled
Reviewed-on: #52
2026-03-20 19:58:53 +01:00
TheFurya b82e55c8de Merge pull request 'chore(deps): update dependency tailwindcss to v4.2.2' (#53) from renovate/tailwindcss-4.x into develop
CI / backend-tests (push) Has been cancelled
CI / frontend-tests (push) Has been cancelled
Reviewed-on: #53
2026-03-20 19:58:34 +01:00
Renovate Bot cac675a5c7 chore(deps): update dependency uvicorn to v0.42.0
CI / backend-tests (pull_request) Successful in 26s
CI / backend-tests (push) Has been cancelled
CI / frontend-tests (push) Has been cancelled
CI / frontend-tests (pull_request) Successful in 46s
2026-03-20 19:57:09 +01:00
Renovate Bot 803f5bb8be chore(deps): update dependency vitest to v4.1.0
CI / backend-tests (pull_request) Successful in 25s
CI / frontend-tests (pull_request) Successful in 27s
CI / backend-tests (push) Successful in 31s
CI / frontend-tests (push) Successful in 28s
2026-03-20 18:02:55 +00:00
Renovate Bot b9d457d3a1 chore(deps): update dependency tailwindcss to v4.2.2
CI / backend-tests (pull_request) Successful in 25s
CI / frontend-tests (pull_request) Successful in 27s
2026-03-20 17:02:26 +00:00
Renovate Bot 60e2413b9f chore(deps): update dependency pydantic-settings to v2.13.1
CI / backend-tests (pull_request) Successful in 26s
CI / frontend-tests (pull_request) Successful in 28s
2026-03-20 17:02:17 +00:00
Renovate Bot 0a803c30d3 chore(deps): update dependency node to v24.14.0
CI / backend-tests (pull_request) Successful in 25s
CI / frontend-tests (pull_request) Successful in 27s
2026-03-20 16:01:49 +00:00
Julian Tabel 2f8b437c8a stopped talos
CI / backend-tests (push) Successful in 26s
CI / frontend-tests (push) Successful in 27s
2026-03-20 16:40:15 +01:00
Julian Tabel 088cd35002 add Ko-fi bean
CI / frontend-tests (push) Has been cancelled
CI / backend-tests (push) Has been cancelled
2026-03-20 16:39:52 +01:00
Julian Tabel 6c36cbfe12 chore(errors): Errors
Container for crash and blocker beans created by Talos.

Bean: nuzlocke-tracker-bw1m
2026-03-20 16:39:28 +01:00
Julian Tabel 5bd4ca7d3e add Ko-fi bean 2026-03-20 16:38:54 +01:00
TheFurya 4132face2a Merge pull request 'Update dependency golang to v1.26.1' (#48) from renovate/golang-1.x into develop
CI / backend-tests (push) Successful in 25s
CI / frontend-tests (push) Successful in 28s
Reviewed-on: #48
2026-03-20 16:35:37 +01:00
TheFurya bdb3f45122 Merge pull request 'Update dependency oxfmt to v0.41.0' (#49) from renovate/oxfmt-0.x into develop
CI / frontend-tests (push) Has been cancelled
CI / backend-tests (push) Has been cancelled
Reviewed-on: #49
2026-03-20 16:35:24 +01:00
Julian Tabel c9d42b091f Daedalus and Talos integration test
CI / backend-tests (push) Successful in 26s
CI / frontend-tests (push) Successful in 29s
2026-03-20 16:31:19 +01:00
Renovate Bot 634e957bb8 Update dependency oxfmt to v0.41.0
CI / backend-tests (pull_request) Successful in 24s
CI / frontend-tests (pull_request) Successful in 28s
2026-03-20 15:02:02 +00:00
Renovate Bot ed75fdd1b0 Update dependency golang to v1.26.1
CI / backend-tests (pull_request) Successful in 25s
CI / frontend-tests (pull_request) Successful in 28s
2026-03-20 15:01:53 +00:00
Julian Tabel 5106e57685 Enable lockFileMaintenance in Renovate config
CI / backend-tests (push) Successful in 26s
CI / frontend-tests (push) Successful in 28s
Adds weekly transitive dependency refresh for both npm and uv lockfiles.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 15:53:19 +01:00
Renovate Bot b413f5e4e4 Update dependency node to v24.14.0
CI / backend-tests (pull_request) Successful in 24s
CI / backend-tests (push) Has been cancelled
CI / frontend-tests (push) Has been cancelled
CI / frontend-tests (pull_request) Successful in 30s
2026-03-20 15:52:17 +01:00
Renovate Bot 5905142981 Update dependency fastapi to v0.135.1
CI / backend-tests (pull_request) Successful in 24s
CI / frontend-tests (pull_request) Successful in 27s
CI / backend-tests (push) Successful in 26s
CI / frontend-tests (push) Has been cancelled
2026-03-20 14:49:42 +00:00
Julian Tabel 24c60e2e28 Add backend tool-versions and update bean status
CI / backend-tests (push) Successful in 25s
CI / frontend-tests (push) Successful in 28s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 15:29:22 +01:00
Julian Tabel 77900ba045 Update dependencies from Renovate PRs
CI / backend-tests (push) Successful in 28s
CI / frontend-tests (push) Successful in 29s
Backend: python-dotenv 1.2.1→1.2.2, sqlalchemy 2.0.46→2.0.48, ty 0.0.17→0.0.24
Frontend: react-router-dom 7.13.0→7.13.1, @tanstack/react-query 5.90.20→5.91.3, @vitejs/plugin-react 5.1.3→5.2.0

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 15:26:08 +01:00
Julian Tabel 869d28ab84 remove playstyle section from test
CI / backend-tests (push) Successful in 28s
CI / frontend-tests (push) Successful in 27s
2026-03-20 15:13:25 +01:00
Julian Tabel 1cd1389408 Replace playstyle rules with free-text custom rules markdown field
CI / backend-tests (push) Successful in 28s
CI / frontend-tests (push) Failing after 28s
Remove hardcoreMode, setModeOnly, and bossTeamMatch toggles which had
no mechanical impact on the tracker. Replace them with a customRules
markdown field so users can document their own rules (especially useful
for genlockes). Add react-markdown + remark-gfm for rendering and
@tailwindcss/typography for prose styling. The custom rules display is
collapsible and hidden by default.

Also simplifies the BossDefeatModal by removing the Lost result and
attempts counter, and always shows boss team size in the level cap bar.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 15:09:02 +01:00
Julian Tabel 535154a056 Allow multiple games per region in Custom genlocke
CI / backend-tests (push) Successful in 25s
CI / frontend-tests (push) Successful in 27s
In custom mode, the region picker no longer filters out already-used
regions, letting users add multiple legs from the same region (e.g.
Black + Black 2 in Unova). Preset modes keep the one-per-region
behavior. Already-used regions show a subtle dot indicator.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 13:32:42 +01:00
TheFurya 7d1c091432 Merge pull request 'Configure Renovate' (#33) from renovate/configure into develop
CI / backend-tests (push) Successful in 26s
CI / frontend-tests (push) Successful in 29s
Reviewed-on: #33
2026-03-17 13:29:24 +01:00
Renovate Bot 70aa1156f5 Add renovate.json
CI / backend-tests (pull_request) Successful in 27s
CI / frontend-tests (pull_request) Successful in 28s
2026-02-22 11:00:54 +00:00
TheFurya 1513bb3658 Split e2e tests into manual workflow_dispatch workflow
CI / frontend-tests (push) Successful in 27s
CI / backend-tests (push) Successful in 26s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:54:25 +01:00
TheFurya 3b63285bd1 Fix FK violations when pruning stale routes
CI / backend-tests (push) Successful in 26s
CI / frontend-tests (push) Successful in 27s
CI / e2e-tests (push) Has been cancelled
Bulk delete bypasses ORM-level cascades, so manually delete
route_encounters, nullify boss_battle.after_route_id, and skip
routes referenced by user encounters before deleting stale routes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:50:54 +01:00
TheFurya 4f0f881736 Update remaining FireRed boss sprites
CI / backend-tests (push) Successful in 25s
CI / frontend-tests (push) Successful in 27s
CI / e2e-tests (push) Successful in 5m29s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:39:14 +01:00
TheFurya dde20c932b Update Brock and Misty boss sprites
CI / backend-tests (push) Successful in 26s
CI / frontend-tests (push) Successful in 27s
CI / e2e-tests (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:37:29 +01:00
TheFurya efa0b5f855 Add --prune flag to seed command to remove stale data
Without --prune, seeds continue to only upsert (add/update).
With --prune, routes, encounters, and bosses not present in the
seed JSON files are deleted from the database.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:33:54 +01:00
TheFurya d535433583 Archive 23 completed beans
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 16:59:54 +01:00