• Joined on 2023-07-22
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 08:06:34 +00:00
98596b5586 Merge feature/feat-13-followup: /hilfe Vertrag+Zuchtprofil sections + verified Abgabe->wizard handoff [god-QA: 80/47/e2e 64]
9013ff488e docs(HUMANQUESTION): C2 answered — '-' = unknown allele (confirmed)
d79f039b8b FEAT-13-Followup: /hilfe sections for Abgabevertrag wizard + Zuchtprofil (du-Form, de.ts-referenced labels) + finish-step in Abgabe section
Compare 3 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:59:39 +00:00
2a1c4a9eb7 docs(HUMANQUESTION): C1 answered (Uw=G, Sls=WP, DP=Darkpatch, Dea/dea=hearing/deaf, WFNZ/RV/GV=annotations); D2 conflict group resolved
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:51:38 +00:00
8202dfc0e4 Merge feature/inbox-3: Gmail SMTP send + reply threading (In-Reply-To/References/Re:), MailNotConfigured/MailAuthFailed handling [god-QA: 80 + snapshot clean]
68366ad8c9 INBOX-3: SMTP send + Gmail threading (POST /api/requests/{id}/send)
Compare 2 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:44:52 +00:00
dcf849cfa7 Merge feature/inbox-0: Gmail request inbox backend (MailKit reader, Request entity, MailSettings, sync/triage endpoints) [god-QA: 75 + snapshot clean]
958a2dbac0 INBOX-0: regenerate AddRequestsAndMailSettings migration after rebase onto WEB-0 (clean snapshot: CMS + INBOX, Up adds only Requests+MailSettings)
5d7cbc66bf INBOX-0: Gmail request inbox backend (MailKit) + Request entity + sync/triage endpoints
Compare 3 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:37:31 +00:00
84181ed74d docs: HUMANQUESTION.md — fully German + 'nicht selbst bearbeiten, an Michael antworten' banner at top (wife reads this)
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:33:56 +00:00
d510b0f822 Merge test/search-variations: 9 backend search-variation tests (all green) [god-QA: 70]
3716dcb1f3 test: SearchVariationsTests — 9 search variations (contains, case-insensitive, separator-insensitive nameSearch, umlauts, OriginBreeder filter, /breeders distinct, paging, combined). Fills the gap where SEARCH-1's tests never reached main.
Compare 2 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:28:27 +00:00
d6e35f40ec Merge feature/search-2b: Herkunft filter -> originBreeder + /gerbils/breeders; name search -> nameSearch (separator-insensitive) [god-QA: 47/build/e2e 62]
cab8c133c8 SEARCH-2b: e2e mock /gerbils/breeders + nameSearch/originBreeder seed; Herkunft + separator-insensitive smokes [QA-1]
681e8c28fb SEARCH-2b: Herkunft dropdown -> originBreeder + GET /gerbils/breeders; name search -> nameSearch (client-normalized)
Compare 3 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:27:33 +00:00
70f7c88419 Merge feature/web-0: CMS model (Site/Page/Block/Media) + /api/site-snapshot (Abgabetiere auto from ForSale) + Page/Block CRUD [god-QA: 61]
f73ac0d4d8 WEB-0: CMS endpoint tests — snapshot shape/nav, Abgabetiere resolves ForSale (Becken group), block CRUD+reorder (SQLite host)
94f055f9bf WEB-0: CMS content model + /api/site-snapshot + Page/Block CRUD
Compare 3 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:25:38 +00:00
acd7f4c386 docs: HUMANQUESTION.md — open questions/data requests for Julian + wife (incl. 32 conflict animals, blockers per item)
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:16:55 +00:00
13ff97a12b Merge feature/feat-14b: Charakterbogen UI (checkbox traits + note) on detail + Abgabe composer, feeds AI sale-ad [god-QA pending result-gate]
5d8bbfa93b FEAT-14b: Charakterbogen on animal detail (persist) + Abgabe composer; feed traits+note into sale-ad; e2e smoke
5b11780074 FEAT-14b: trait vocabulary (de.character), Gerbil/sale-ad types, Charakterbogen component
Compare 3 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:15:48 +00:00
ba81f48e0f Merge feature/feat-14a: Charakterbogen backend (Gerbil.CharacterTraits + CharacterNote) + sale-ad request extension [god-QA: 58]
3afb04f646 FEAT-14a: Charakterbogen on Gerbil (traits + note) + sale-ad request extension
Compare 2 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:04:22 +00:00
f858a02f50 Merge feature/search-1: separator-insensitive NameSearch field + OriginBreeder (Herkunft) filterable string from import + /gerbils/breeders distinct endpoint
09f11cb4e3 SEARCH-1: separator-insensitive NameSearch + OriginBreeder (Herkunft) filter
Compare 2 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 07:00:27 +00:00
45b213e11d Merge feature/search-2: Herkunft filter dropdown on Tiere list + live-search UX confirmed [god-QA: 55/47/e2e 60]
38b9717ad2 SEARCH-2: Herkunft (originContactId) filter dropdown on Tiere list + e2e smoke; name-search field behind NAME_SEARCH_FIELD for SEARCH-1 normalized swap
Compare 2 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 06:52:14 +00:00
0ee2b53b24 Hotfix: gerbil search contains operator — name=*a not name=*a* + mock mirrors real Gridify [god-QA: 47 unit + 58 e2e; live: name=*a -> 203 hits]
459c66bc3e Hotfix: gerbil search contains operator — drop trailing '*' (Gridify =* is contains; name=*a not name=*a*) + e2e mock mirrors real Gridify
Compare 2 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 06:18:18 +00:00
0cee3e2710 Merge feature/polish-1: canonical Gridify '=', InvalidParentGender German message, Abgabe-abschliessen->wizard wiring, de.ts sweep, e2e mock accepts both operators [god-QA: 55/47/58]
385cccb352 POLISH-1: e2e mock accepts canonical '=' (and legacy '==') equals operator [QA-1 coordination]
e73b561b77 POLISH-1: move stray UI strings to de.ts (pageNav/moreData), gitignore Playwright artefacts, wire 'Abgabe abschliessen' -> /vertraege/neu?tiere= (FEAT-13b)
55a72bfe12 POLISH-1: gridify emits canonical '='; localize litter InvalidParentGender 400 (ApiError body) + de strings
Compare 4 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 06:07:23 +00:00
e87d0aafea Merge feature/export-1: Datenexport (zip JSON+German CSVs) on /einstellungen + CI flake-cap [god-QA pending result-gate]
f08dbd2219 QA-1: CI-Flake-Schutz - Worker-Cap 4 unter CI (geteilter Vite-Dev-Server, Dwights Beobachtung)
a1549266c3 EXPORT-1: e2e - Download-Smoke (/einstellungen) + Mock: /export-Zip, /settings/breeder-profile, URL-Praedikat fuer /api-relative Basis (OPS-1-proof)
8fa02a5d49 EXPORT-1: Datenexport-Karte auf /einstellungen (Anker-Download, deutsche Erklaertexte + Foto-Hinweis)
f86a044143 EXPORT-1: GET /export - Zip mit export.json (volle Treue) + deutschen Excel-CSVs (Semikolon, BOM, TT.MM.JJJJ) + LIESMICH; 9 Tests (Escaping + API-Round-Trip)
Compare 9 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 06:01:47 +00:00
db53fad5a4 Merge feature/feat-13: Abgabevertrag phase B — SaleContract+wizard, /einstellungen Zuchtprofil, contract endpoints w/ transactional Abgabe, Kontakt structured fields [god-QA: 40/40+47/47+e2e 56/56]
d3f38b9be4 FEAT-13: resolve leftover rebase conflict markers in App.tsx routes (hilfe + vertraege/einstellungen union)
be62e785db FEAT-13: e2e an strukturierte Kontaktfelder angepasst + 2 Abdeckungstests (Patch von Oscar, e2e-Owner)
d8ccb451d9 FEAT-13: singular-aware contract count text (1 Vertrag / n Vertraege)
9c3bcfc9f9 FEAT-13: Abgabe wizard (/vertraege/neu, 4 steps, ?tiere= prefill), Vertraege list w/ download+delete, /einstellungen Zuchtprofil form, contracts/settings API clients, nav entries, detail-page entry point + replace orphaned contactInfo with email/phone/address across Kontakt pages
Compare 6 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 05:57:40 +00:00
cd795d3831 Merge feature/feat-8c: Excel import loader — /import/dry-run + gated /import/execute, quarantine policy, provenance + idempotency [god-QA: 43/43]
b7ee48401a FEAT-8c: loader tests (in-memory DB + fixture) + public test helpers
ac5ab9d0ba FEAT-8c: import loader — /import/dry-run + /import/execute (gated)
e431c50347 FEAT-8c: mark conflict animals in animals.json for the API loader
Compare 4 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 05:49:53 +00:00
ce1e578bf2 Merge feature/help-1: in-app German user guide /hilfe (9 accordion sections, du-Form, rename-safe labels) [god-QA: 37/37+47/47+e2e 54/54]
98060b890b HELP-1: in-app German user guide (/hilfe, accordion, 9 sections)
Compare 2 commits »
Gulum pushed to main at Gulum/GerbilManager 2026-06-06 05:42:43 +00:00
42718606a9 Merge feature/ops-1: TrueNAS deployment (compose + backup sidecar + nginx proxy + prod Dockerfiles), Gitea CI draft, German ops guide [god-QA: 18/18+47/47+e2e 48/48]
d6bf6c6fe3 OPS-1: fix e2e regression -- API_BASE_URL conditional on import.meta.env.PROD
69a0279bb7 OPS-1: TrueNAS compose, backup sidecar, Gitea CI draft, ops docs
2f2e5b1f56 OPS-1: Dockerfiles (net10 API + nginx frontend) + production config
Compare 4 commits »