Commit graph

93 commits

Author SHA1 Message Date
cschlaefke
c43a4afd3d docs: Release-Checkliste (D1) mit checks.sql, Zugang, Auth/SMTP und Runner
Refs #2
Refs #46

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 20:37:54 +01:00
8c003ddece Merge pull request 'feat(catalog): GameCover-Widget mit einheitlichem Platzhalter (KAT-05, 2a Flutter)' (#52) from feature/2a-game-cover into main
All checks were successful
CI / flutter (push) Successful in 1m18s
CI / web-build (push) Successful in 1m0s
CI / supabase (push) Successful in 8s
CI / supabase-tests (push) Successful in 31s
CI / e2e (push) Successful in 2m53s
Reviewed-on: #52
2026-11-03 19:32:30 +00:00
cschlaefke
a9a7990636 chore: merge main into feature/2a-game-cover
All checks were successful
CI / flutter (pull_request) Successful in 1m20s
CI / web-build (pull_request) Successful in 55s
CI / supabase (pull_request) Successful in 9s
CI / supabase-tests (pull_request) Successful in 34s
CI / e2e (pull_request) Successful in 2m54s
Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 20:07:46 +01:00
cschlaefke
13db8ebb9c fix(l10n): regenerate localizations after ARB key order
All checks were successful
CI / flutter (pull_request) Successful in 1m16s
CI / web-build (pull_request) Successful in 1m0s
CI / supabase (pull_request) Successful in 4s
CI / supabase-tests (pull_request) Successful in 32s
CI / e2e (pull_request) Successful in 2m56s
Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 19:48:13 +01:00
4536e4d027 Merge pull request 'feat(catalog): Katalog-Fundament, Rechte und Startbestand-Werkzeug (KAT-05, 2a Backend)' (#53) from feature/2a-katalog-datenmodell into main
All checks were successful
CI / flutter (push) Successful in 1m20s
CI / web-build (push) Successful in 59s
CI / supabase (push) Successful in 8s
CI / supabase-tests (push) Successful in 31s
CI / e2e (push) Successful in 2m51s
Reviewed-on: #53
2026-11-03 18:46:42 +00:00
cschlaefke
9952efa2fe test(catalog): address review findings on PR 2a
All checks were successful
CI / flutter (pull_request) Successful in 1m28s
CI / web-build (pull_request) Successful in 59s
CI / supabase (pull_request) Successful in 9s
CI / supabase-tests (pull_request) Successful in 34s
CI / e2e (pull_request) Successful in 3m2s
Replace tests that could not fail (manual_fields stability, no-op update), select runbook games by id, add grant matrix and forged-admin tests, assert vocabulary seeding and Deno checksum in CI, clarify the set local convention and API notes.

Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 18:18:32 +01:00
cschlaefke
52cbd79fb4 feat(catalog): run checks.sql in CI and document seed loader result
Adds the checks.sql smoke step, the verified CLI result for generated seed content and the created_at/updated_at note for the API.

Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 16:40:55 +01:00
cschlaefke
24b27c3776 docs(catalog): add catalog runbook, data model and README updates
Includes the checked CLI assumptions (sql_paths, begin/commit) and implementation notes in the spec.

Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 15:38:28 +01:00
cschlaefke
9dbafbcad7 feat(catalog): add starting-stock tool, vocabulary proposal and CI checks
Deno script validates vocabulary.csv and startbestand.csv and generates the idempotent SQL, key list and checks.sql. startbestand.csv stays header-only; vocabulary.csv is a proposal pending approval (C0). seed.sql no longer inserts genres and mechanics.

Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 15:38:28 +01:00
cschlaefke
3c762003b2 feat(catalog): add catalog foundation migration with pgTAP tests
Sources, publishers, hidden/merged columns, manual_fields triggers, catalog_games view and column grants on games (KAT-05, PR 2a). Fixtures for the tests are generated from supabase/catalog/testdata.

Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 15:38:28 +01:00
cschlaefke
f99c82b1e0 feat(catalog): address review of GameCover (labels, tests, spec notes)
Some checks failed
CI / flutter (pull_request) Failing after 51s
CI / web-build (pull_request) Successful in 1m1s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 31s
CI / e2e (pull_request) Successful in 2m50s
Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 15:26:38 +01:00
cschlaefke
8a68d4f449 feat(catalog): add GameCover widget with uniform placeholder
Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 15:18:48 +01:00
79e06fbfe9 Merge pull request 'fix(ci): Fork-PR-Risiko für den docker-host-Runner dokumentieren (ADR-0003)' (#50) from fix/43-ci-fork-pr-guard into main
All checks were successful
CI / flutter (push) Successful in 1m26s
CI / web-build (push) Successful in 1m2s
CI / supabase (push) Successful in 4s
CI / supabase-tests (push) Successful in 36s
CI / e2e (push) Successful in 2m57s
Reviewed-on: #50
2026-11-03 14:15:18 +00:00
982a689b7f Merge pull request 'docs(catalog): Spec für KAT-05 Katalogdaten (freigegeben)' (#51) from docs/2-kat05-spec into main
Some checks failed
CI / web-build (push) Waiting to run
CI / supabase (push) Waiting to run
CI / supabase-tests (push) Waiting to run
CI / e2e (push) Blocked by required conditions
CI / flutter (push) Has been cancelled
Reviewed-on: #51
2026-11-03 14:15:11 +00:00
b77146eabf docs(catalog): mark design choices W1, W4, W6, W7, H1, H2, H7 as confirmed
All checks were successful
CI / flutter (pull_request) Successful in 1m16s
CI / web-build (pull_request) Successful in 56s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
CI / e2e (pull_request) Successful in 2m45s
Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 14:07:21 +00:00
6dd5854eab docs(catalog): address re-review of KAT-05 spec and record clarification N15
All checks were successful
CI / flutter (pull_request) Successful in 1m14s
CI / web-build (pull_request) Successful in 55s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 31s
CI / e2e (pull_request) Successful in 2m51s
Visibility is immutable, variant copying is derived from visibility,
startbestand idempotency and vocabulary handling are defined, and the
edition deviation from KAT-04 criterion 4 is recorded as N15.

Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 14:02:17 +00:00
8c57e05458 docs(catalog): address review findings on KAT-05 spec
All checks were successful
CI / flutter (pull_request) Successful in 1m18s
CI / web-build (pull_request) Successful in 56s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
CI / e2e (pull_request) Successful in 2m51s
Variants are no longer copied when repointing provisional entries,
all PRs only reference #2, grants, idempotency, checks and merge
rules are spelled out.

Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:35:40 +00:00
c0f832fd1d docs(catalog): record approval and decisions F1-F9 in KAT-05 spec
All checks were successful
CI / flutter (pull_request) Successful in 1m18s
CI / web-build (pull_request) Successful in 56s
CI / supabase (pull_request) Successful in 4s
CI / supabase-tests (pull_request) Successful in 33s
CI / e2e (pull_request) Successful in 2m51s
Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:15:52 +00:00
074118db69 docs(catalog): note default privileges, studio role and schema test count
Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:08:49 +00:00
34eaab12e1 docs(catalog): add technical spec for KAT-05 catalog data
Refs #2

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:02:24 +00:00
cschlaefke
6c4e2cc2e9 docs(ci): align auth-konfiguration guard wording with ADR-0003
All checks were successful
CI / flutter (pull_request) Successful in 1m21s
CI / web-build (pull_request) Successful in 58s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 32s
CI / e2e (pull_request) Successful in 3m1s
Refs #43

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:59:02 +01:00
cschlaefke
25610c1ec9 docs(ci): correct guard rationale and unverified claims in ADR-0003
Refs #43

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:58:09 +01:00
cschlaefke
501310f43b docs(ci): verify fork-PR approval logic and correct runner advice in ADR-0003
Refs #43

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:51:46 +01:00
cschlaefke
666ba64fcc fix(ci): document fork-PR risk for docker-host runner and guard supabase-tests
Add ADR-0003 with Forgejo 8.0.3 options and a step-by-step guide for
runner/Forgejo settings, correct the misleading guard comments in ci.yml
and apply the comfort guard to supabase-tests too.

Refs #43

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:50:25 +01:00
455b3bf708 Merge pull request 'fix(auth): Semantics-Knoten im breiten Layout trennen (a11y Web)' (#48) from fix/41-semantics-split into main
All checks were successful
CI / flutter (push) Successful in 1m16s
CI / web-build (push) Successful in 55s
CI / supabase (push) Successful in 4s
CI / supabase-tests (push) Successful in 32s
CI / e2e (push) Successful in 4m11s
Reviewed-on: #48
2026-11-03 12:32:33 +00:00
cschlaefke
ffc30db2e5 fix(auth): address review findings for semantics split
All checks were successful
CI / flutter (pull_request) Successful in 1m14s
CI / web-build (pull_request) Successful in 53s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
CI / e2e (pull_request) Successful in 2m56s
Refs #41

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:17:09 +01:00
cschlaefke
eb63636fd9 test(e2e): click buttons via getByRole instead of keyboard helper
Removes pressFirstButton; the web build now exposes real button nodes.

Refs #41

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:07:01 +01:00
cschlaefke
cda9417353 fix(auth): keep heading, text and button as separate semantics nodes in the wide card
Card is a semantics container without explicitChildNodes, so on >= 600 dp
(web/tablet) title, text and button folded into one node. AppFormScaffold now
wraps the card content in Semantics(explicitChildNodes: true).

Refs #41

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:07:01 +01:00
d8f47f0827 Merge pull request 'fix(auth): SMTP-Fehler wie Erfolg behandeln (Konten-Seitenkanal, F13)' (#47) from fix/37-smtp-neutral into main
All checks were successful
CI / flutter (push) Successful in 1m15s
CI / web-build (push) Successful in 56s
CI / supabase (push) Successful in 3s
CI / supabase-tests (push) Successful in 32s
CI / e2e (push) Successful in 3m5s
Reviewed-on: #47
2026-11-03 11:58:11 +00:00
cschlaefke
97222ebb5b chore(auth): regenerate generated files after doc comment changes
All checks were successful
CI / flutter (pull_request) Successful in 1m13s
CI / web-build (pull_request) Successful in 59s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 31s
CI / e2e (pull_request) Successful in 2m54s
Refs #37

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 12:38:42 +01:00
cschlaefke
3805c71225 fix(auth): address review findings for smtp-neutral handling
Some checks failed
CI / flutter (pull_request) Failing after 44s
CI / web-build (pull_request) Successful in 51s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 29s
CI / e2e (pull_request) Successful in 2m44s
Refs #37

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 12:24:25 +01:00
cschlaefke
de093b68ed docs(auth): renumber SMTP risk to R17 (R16 was taken)
Refs #37

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 12:03:11 +01:00
cschlaefke
7d094a6732 fix(auth): treat SMTP failures like success on enumeration-sensitive calls
Refs #37

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 12:03:04 +01:00
f8774359ee Merge pull request 'chore(mcp): Outline-MCP per OAuth statt API-Key-Header' (#45) from chore/44-outline-mcp-oauth into main
All checks were successful
CI / flutter (push) Successful in 1m20s
CI / web-build (push) Successful in 54s
CI / supabase (push) Successful in 3s
CI / supabase-tests (push) Successful in 33s
CI / e2e (push) Successful in 2m45s
Reviewed-on: #45
2026-11-03 10:57:09 +00:00
cschlaefke
083035d2d7 chore(mcp): use OAuth for the Outline MCP server
All checks were successful
CI / flutter (pull_request) Successful in 1m17s
CI / web-build (pull_request) Successful in 59s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 35s
CI / e2e (pull_request) Successful in 3m9s
Refs #44

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 11:54:31 +01:00
3a9af3b96b Merge pull request 'chore(mcp): Outline-MCP als Projekt-Server einbinden' (#40) from chore/39-outline-mcp into main
All checks were successful
CI / flutter (push) Successful in 1m14s
CI / web-build (push) Successful in 53s
CI / supabase (push) Successful in 3s
CI / supabase-tests (push) Successful in 32s
CI / e2e (push) Successful in 2m56s
Reviewed-on: #40
2026-11-03 10:42:59 +00:00
0f7eee80a9 Merge pull request 'test(auth): KTO-01 Playwright-E2E (api, web, throttle) und CI-Job e2e' (#42) from feature/38-auth-e2e into main
Some checks failed
CI / web-build (push) Waiting to run
CI / supabase (push) Waiting to run
CI / supabase-tests (push) Waiting to run
CI / e2e (push) Blocked by required conditions
CI / flutter (push) Has been cancelled
Reviewed-on: #42
2026-11-03 10:42:01 +00:00
cschlaefke
15ccae2b52 ci(e2e): seed mail templates in dind before supabase start
All checks were successful
CI / flutter (pull_request) Successful in 1m15s
CI / web-build (pull_request) Successful in 56s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 31s
CI / e2e (pull_request) Successful in 4m34s
Refs #38

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 11:16:13 +01:00
cschlaefke
354fdd4e41 ci(e2e): provide mail templates under remote docker daemon
Some checks failed
CI / flutter (pull_request) Successful in 1m12s
CI / web-build (pull_request) Successful in 53s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
CI / e2e (pull_request) Failing after 53s
Refs #38

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 11:09:21 +01:00
cschlaefke
aa421b12b0 test(auth): address review findings for e2e
Some checks failed
CI / flutter (pull_request) Successful in 1m15s
CI / web-build (pull_request) Successful in 53s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
CI / e2e (pull_request) Failing after 3m56s
Refs #38

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 10:55:27 +01:00
cschlaefke
da8305c12d ci(e2e): address review findings
Refs #38

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 10:53:32 +01:00
cschlaefke
23816377a5 ci(e2e): add Playwright e2e job on docker-host with throttle GoTrue and artifacts
Some checks failed
CI / flutter (pull_request) Successful in 1m15s
CI / web-build (pull_request) Successful in 54s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
CI / e2e (pull_request) Failing after 4m3s
Refs #38

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 10:45:17 +01:00
cschlaefke
ec2d45c319 docs(auth): document E2E setup and SMTP outage spike result
Refs #38

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 10:42:28 +01:00
cschlaefke
d390b60bd6 test(auth): add web E2E tests for KTO-01 criteria 1-10 against the Flutter web build
Refs #38

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 10:42:28 +01:00
cschlaefke
2542679797 test(auth): add throttle and SMTP-down spike projects, start-throttle-gotrue.sh
Refs #38

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 10:30:15 +01:00
cschlaefke
f302c56904 test(auth): add Playwright project with api tests for KTO-01 (GoTrue, Mailpit, db helper)
Refs #38

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 10:29:18 +01:00
cschlaefke
b04a655d15 chore(mcp): add Outline MCP server to project config
All checks were successful
CI / flutter (pull_request) Successful in 1m22s
CI / web-build (pull_request) Successful in 57s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 32s
Refs #39

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 10:24:28 +01:00
6bcbaff95a Merge pull request 'feat(auth): KTO-01 Passwort zurücksetzen (01c) (4/4)' (#36) from feature/1-01c-passwort-reset into main
All checks were successful
CI / flutter (push) Successful in 1m18s
CI / web-build (push) Successful in 1m5s
CI / supabase (push) Successful in 3s
CI / supabase-tests (push) Successful in 32s
Reviewed-on: #36
2026-11-03 09:21:43 +00:00
cschlaefke
7c2f684098 fix(auth): address review findings for password reset
All checks were successful
CI / flutter (pull_request) Successful in 1m13s
CI / web-build (pull_request) Successful in 55s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 30s
Finish the recovery guard only after the password change, mark the change
in the repository so a late userUpdated event is harmless, keep the form
locked after success, carry from through the reset check-email page,
share the password error texts and focus the continue button.

Refs #1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 09:58:31 +01:00
cschlaefke
3b2995463e docs(auth): document 01c deviations, reset mode route and AppBanner actionEnabled
Refs #1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 09:50:42 +01:00