Commit graph

129 commits

Author SHA1 Message Date
cschlaefke
9f36cd0c33 feat(db): reject U+200B in display names
All checks were successful
CI / flutter (pull_request) Successful in 1m3s
CI / web-build (pull_request) Successful in 54s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 34s
Refs #1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 23:51:56 +01:00
cschlaefke
fb0f4b9d3f fix(db): trim all Unicode whitespace in display name, harden templates
All checks were successful
CI / flutter (pull_request) Successful in 1m3s
CI / web-build (pull_request) Successful in 58s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 34s
- add public.trim_ws mirroring Dart String.trim
- require JSON string metadata, tolerate non-string locale in templates
- add tests, align docs with review

Refs #1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 23:48:01 +01:00
cschlaefke
47721a48e8 docs(auth): align spec with spike results and add AUTH-CFG-25
Refs #1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 23:26:03 +01:00
cschlaefke
59a47c5a5d feat(auth): configure Supabase Auth and add de/en mail templates
Adds AUTH-CFG settings, confirmation/recovery templates and
docs/auth-konfiguration.md (KTO-01 criteria 1, 3, 4, 7, 8, 11).

Refs #1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 23:23:06 +01:00
cschlaefke
395816609f feat(db): enforce registration rules and add terms_version
Adds display name validation, terms_version, locale sync trigger and
pgTAP tests (KTO-01 criteria 1, 2, 10, 11). Includes GoTrue spike results.

Refs #1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 22:36:21 +01:00
cschlaefke
450af82234 Merge branch 'main' into feature/1-auth-registrierung-anmeldung 2026-11-02 22:21:24 +01:00
29f22605a1 Merge pull request 'feat(app): App-Fundament – Flutter-Gerüst und Supabase-Konfiguration' (#32) from feature/31-app-fundament into main
All checks were successful
CI / flutter (push) Successful in 1m8s
CI / web-build (push) Successful in 55s
CI / supabase (push) Successful in 3s
CI / supabase-tests (push) Successful in 31s
Reviewed-on: #32
2026-11-02 21:21:02 +00:00
cschlaefke
51ab6e2667 ci: run supabase-tests against the runner's docker-in-docker daemon
All checks were successful
CI / flutter (pull_request) Successful in 1m5s
CI / web-build (pull_request) Successful in 53s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 35s
Refs #31

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 22:05:08 +01:00
cschlaefke
04d9d01395 docs: update PostgreSQL version to 17 in CLAUDE.md
Some checks failed
CI / flutter (pull_request) Successful in 1m3s
CI / web-build (pull_request) Successful in 1m4s
CI / supabase (pull_request) Successful in 5s
CI / supabase-tests (pull_request) Failing after 36s
Refs #31

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 21:57:09 +01:00
cschlaefke
2ff657c03f fix(supabase): use db.major_version 17
Some checks failed
CI / flutter (pull_request) Successful in 1m0s
CI / web-build (pull_request) Successful in 52s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Failing after 17s
Refs #31

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 21:48:16 +01:00
cschlaefke
9fc3ed0a32 fix(supabase): use db.major_version 15 accepted by CLI 3.0.0
Some checks failed
CI / flutter (pull_request) Successful in 1m1s
CI / web-build (pull_request) Successful in 51s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Failing after 18s
The CLI rejects 16; 15 matches the self-hosted Supabase image.

Refs #31

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 21:40:14 +01:00
cschlaefke
b03d771869 fix(app): address review findings for foundation
Some checks failed
CI / flutter (pull_request) Successful in 2m29s
CI / web-build (pull_request) Successful in 53s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Failing after 23s
- add INTERNET permission, iOS localizations, html lang
- make focus ring visible on FilledButton
- neutral SITE_URL default, idempotent logger configure

Refs #31

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 20:36:58 +01:00
cschlaefke
568f425ef7 ci: install pinned Flutter SDK from git tag instead of missing image
Refs #31

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 20:24:50 +01:00
cschlaefke
adf61b3ba2 test: add pumpApp helpers, fakes and coverage matrix template
Refs #31

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 20:21:55 +01:00
cschlaefke
936ca7bd4b feat(theme): add Material 3 light/dark theme base and design tokens
Refs #31

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 20:19:19 +01:00
cschlaefke
77c71c0169 ci: run Flutter and web build checks from app/
Refs #31

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 20:18:58 +01:00
cschlaefke
e5df79ee0a feat(app): add Flutter scaffold with config, logging, routing and l10n
Refs #31

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 20:17:24 +01:00
cschlaefke
c498db5366 chore(supabase): add config.toml and ignore app env files
Refs #31

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 20:12:09 +01:00
cschlaefke
e56f75a5e1 docs(auth): add spec for KTO-01 registration, login and password reset
Refs #1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 20:10:07 +01:00
c0e89a806f Merge pull request 'chore: setup-check und Katalog-Test bereinigen' (#30) from chore/setup-check-and-catalog-test into main
Some checks failed
CI / flutter (push) Failing after 4s
CI / supabase (push) Successful in 2s
CI / supabase-tests (push) Failing after 21s
2026-11-02 18:17:11 +00:00
cschlaefke
079eb0b576 test(catalog): clear seed data before catalog count assertions
Some checks failed
CI / flutter (pull_request) Failing after 4s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Failing after 22s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 19:16:17 +01:00
cschlaefke
4b2c7fe542 chore(scripts): drop OUTLINE_URL from setup check
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 19:16:17 +01:00
f15810ecf6 Merge pull request 'docs(requirements): R1 intake – backlog, clarifications, KTO-11, QUE-09' (#27) from docs/r1-intake into main
Some checks are pending
CI / flutter (push) Waiting to run
CI / supabase (push) Waiting to run
CI / supabase-tests (push) Waiting to run
Reviewed-on: #27
2026-11-02 15:27:14 +00:00
cschlaefke
f25bd85f53 docs(requirements): note resolved assumptions in changelog
Some checks failed
CI / flutter (pull_request) Failing after 3s
CI / supabase (pull_request) Successful in 2s
CI / supabase-tests (pull_request) Failing after 23s
Refs #25, #28, #29

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 16:15:03 +01:00
cschlaefke
9880a6fd09 docs(requirements): resolve follow-up questions N1-N14
Some checks failed
CI / flutter (pull_request) Failing after 4s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Failing after 20s
Decisions on the follow-up questions from the R1 intake are recorded
in requirements/r1-klaerungen.md and applied to the acceptance
criteria, requirements and backlog: settings (KTO-11), dashboard
(QUE-09, new label epic/querschnitt), catalog seed without third-party
covers (KAT-05), per-user dedup of BGG import reports (SAM-08) and the
confirmed PAR-08 rule. No open questions remain for R1.

Refs #1, #2, #13, #22, #23, #25, #28, #29

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 16:14:31 +01:00
cschlaefke
9d59244655 docs(requirements): apply R1 clarifications and add KTO-11, QUE-09
Some checks failed
CI / flutter (pull_request) Failing after 3s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Failing after 20s
All 48 open questions from the R1 intake are answered in
requirements/r1-klaerungen.md. Acceptance criteria, requirements and
backlog are updated accordingly; removed criteria stay marked as
"entfällt" so references keep their numbers. New stories KTO-11
(settings, #28) and QUE-09 (dashboard, #29). backlog.md lists the data
model changes for the architect and new open questions N1-N14.

Refs #2, #25, #28, #29

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 15:52:59 +01:00
cschlaefke
56e57afd43 docs(requirements): add R1 backlog and story draft
Some checks failed
CI / flutter (pull_request) Failing after 3m35s
CI / supabase (pull_request) Successful in 55s
CI / supabase-tests (pull_request) Failing after 1m32s
Intake of the 26 R1 stories from requirements/20-r1-akzeptanzkriterien.md
into Forgejo issues #1-#26. backlog.md maps story IDs to issues, stages
R1.1-R1.4, dependencies and the 48 open questions.

Refs #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12, #13, #14, #15,
#16, #17, #18, #19, #20, #21, #22, #23, #24, #25, #26

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:52:06 +01:00
cb2c75b0f8 .mcp.json aktualisiert
Some checks are pending
CI / flutter (push) Waiting to run
CI / supabase (push) Waiting to run
CI / supabase-tests (push) Waiting to run
2026-11-02 11:23:55 +00:00
cschlaefke
317634dac5 chore: initial project kit
Some checks are pending
CI / flutter (push) Waiting to run
CI / supabase (push) Waiting to run
CI / supabase-tests (push) Waiting to run
2026-11-02 12:14:09 +01:00