-
22ce3f9d49
playwright stuff
main
Patrick Plate
2026-06-22 11:38:40 +02:00
-
83b46c8cda
harden(deploy): db internal-only + robust container-loopback frontend verify
Patrick Plate
2026-06-22 11:06:58 +02:00
-
a686957b09
feat(deploy): public hosting at cannamanage.plate-software.de + fix systemic auth-token bug
Patrick Plate
2026-06-22 10:46:15 +02:00
-
53931d9d2b
fix: resolve CI failures — RetentionService bean, frontend types, artifact upload
Patrick Plate
2026-06-19 16:23:18 +02:00
-
51a9d1db58
fix: use PostgreSQL service container in CI instead of Testcontainers
Patrick Plate
2026-06-19 16:14:06 +02:00
-
ade9673f02
fix: harden CI security gates, parallelize builds, externalize secrets
Patrick Plate
2026-06-19 16:04:09 +02:00
-
1c4c4ec708
fix(frontend): remove conflicting dashboard redirect page resolving to /
Patrick Plate
2026-06-19 15:43:26 +02:00
-
b69e5b1820
fix(security): handle null bytes in filename + fix test assertion
Patrick Plate
2026-06-19 09:23:40 +02:00
-
4b38c4fa09
fix(test): fix DocumentServiceTest + EmailServiceTest for CI green
Patrick Plate
2026-06-19 09:18:54 +02:00
-
ad7f4e2b1c
feat(ci): add security scanning pipeline — OWASP, Trivy, Gitleaks, pnpm audit
Patrick Plate
2026-06-19 09:15:20 +02:00
-
6aae17edba
fix(security): suppress CSRF false positive + upgrade next 15.5.19 + dep overrides
Patrick Plate
2026-06-19 09:09:40 +02:00
-
970f8eb295
fix(security): bump Spring Boot 4.0.6 → 4.0.7 — fixes CVE insecure temp file
Patrick Plate
2026-06-19 09:03:12 +02:00
-
dad798a904
feat: Sprint 14 — Marketing & Monetization
Patrick Plate
2026-06-18 20:27:54 +02:00
-
52d23053e7
fix: CI — remove Docker-in-Docker test steps (not supported by act runner)
Patrick Plate
2026-06-18 19:15:20 +02:00
-
6f5e886bd6
fix: CI — run tests in Docker containers (runner has no JDK/Node)
Patrick Plate
2026-06-18 16:11:32 +02:00
-
f9a87efb7a
feat: Sprint 13 — Production Hardening (security fixes, CI gate, rate limiting, tests)
Patrick Plate
2026-06-18 16:08:05 +02:00
-
279487067e
docs: Sprint 12 wiki summary with screenshots
Patrick Plate
2026-06-18 15:02:51 +02:00
-
be932c1930
docs: Sprint 12 planning, analysis, reviews, and code review
Patrick Plate
2026-06-18 14:43:25 +02:00
-
776149e7d3
test: add full-stack Playwright integration test infrastructure
Patrick Plate
2026-06-18 14:43:16 +02:00
-
6e25914074
feat: wire Documents + Board page buttons, add mock-mode dual operation
Patrick Plate
2026-06-18 14:43:00 +02:00
-
90cdac7468
fix: revert V27 checksum + add V35 for generated_reports timestamps
Patrick Plate
2026-06-17 21:45:09 +02:00
-
fa567c1c3f
feat: Sprint 11 test coverage — +166 unit tests, schema drift fix (V34), Testcontainers 1.21.3
Patrick Plate
2026-06-17 21:38:32 +02:00
-
f1959eb3d2
ci(deploy): re-trigger after socket automount fix (empty options + docker_host)
Patrick Plate
2026-06-16 20:30:35 +02:00
-
592abc4b6d
ci(deploy): re-trigger TrueNAS deploy after runner socket-mount fix
Patrick Plate
2026-06-16 20:27:51 +02:00
-
3b15d7439d
ci(deploy): auto-deploy to TrueNAS via self-hosted Gitea Actions runner
Patrick Plate
2026-06-16 18:52:18 +02:00
-
59b785b8ed
test(sprint-11): centralize JaCoCo coverage rules and add bank import + finance test coverage
Patrick Plate
2026-06-15 21:37:49 +02:00
-
6f7352124d
fix(security): hardening — rate limiting, CORS config, audit safety, CSP headers, validation
Patrick Plate
2026-06-15 19:29:32 +02:00
-
6319552675
fix(security): resolve 4 production blockers from final review
Patrick Plate
2026-06-15 19:11:35 +02:00
-
8c969c610f
feat(sprint10): Phase 4+5 — Frontend import wizard + integration testing
Patrick Plate
2026-06-15 18:33:40 +02:00
-
5defe42d67
feat(sprint10): Phase 3 — BankImportService + REST API
Patrick Plate
2026-06-15 17:47:27 +02:00
-
527e9b1219
feat(sprint10): Phase 2 — Payment matching engine with confidence scoring
Patrick Plate
2026-06-15 17:30:28 +02:00
-
55110c95af
feat(sprint10): Phase 1 — Data model + bank statement parsers (MT940, CAMT.053, CSV)
Patrick Plate
2026-06-15 17:21:55 +02:00
-
57f418f7c9
feat(sprint9): Phase 6 — Compliance dashboard, RetentionService, testing
Patrick Plate
2026-06-15 14:12:01 +02:00
-
87511e0485
feat(sprint9): Phase 5 — Berichtszentrale, sidebar reorg, dashboard enhancement
Patrick Plate
2026-06-15 13:45:48 +02:00
-
c3722ab726
feat(sprint9): Phase 4 — DSGVO templates + Verein admin reports
Patrick Plate
2026-06-15 13:22:46 +02:00
-
3ca231dc9c
feat(sprint9): Phase 3 — KCanG compliance reports + Behörden-Export
Patrick Plate
2026-06-15 12:53:12 +02:00
-
a29c38756c
feat(sprint9): Phase 2 — Financial report generators (EÜR, Kassenbuch, Beitragsbescheinigung)
Patrick Plate
2026-06-15 12:22:53 +02:00
-
26a77dd269
feat(sprint9): Phase 1 — Data model + ReportGenerator infrastructure
Patrick Plate
2026-06-15 12:01:06 +02:00
-
2d83c4b8a1
fix: resolve Sprint 8 compilation issues, Docker build green
Patrick Plate
2026-06-15 09:57:32 +02:00
-
61b0cd92be
feat(sprint8): Phase 5+6 — Integration, schedulers, tier enforcement, testing
Patrick Plate
2026-06-15 09:22:49 +02:00
-
e4698827ee
feat(sprint8): Phase 4 — Dokumentenarchiv + Vorstandsverwaltung
Patrick Plate
2026-06-15 08:53:38 +02:00
-
b22702317a
feat(sprint8): Phase 3 — Mitgliederversammlung (assemblies, voting, protocol PDF)
Patrick Plate
2026-06-15 08:39:10 +02:00
-
3211ade5be
feat(sprint8): Phase 2 — Treasury frontend + PDF receipts
Patrick Plate
2026-06-15 08:24:43 +02:00
-
721503b231
feat(sprint8): Phase 1 — Treasury backend (fee schedules, payments, Kassenbuch)
Patrick Plate
2026-06-15 08:00:04 +02:00
-
cfb38e8fc6
test: authenticated admin E2E suite + accessibility + visual regression baselines
Patrick Plate
2026-06-13 22:30:29 +02:00
-
aabde17532
feat(sprint7): Phase 4 — Integration (SMTP, tier enforcement, WebSocket)
Patrick Plate
2026-06-13 20:51:10 +02:00
-
a539ed9eb2
feat(sprint7): Phase 3 — Forum MVP
Patrick Plate
2026-06-13 20:31:17 +02:00
-
05fd679c4d
feat(sprint7): Phase 2.5 — Club Event Calendar
Patrick Plate
2026-06-13 20:16:56 +02:00
-
4aa27cd4f9
feat(sprint7): Phase 2 — Info Board (Schwarzes Brett)
Patrick Plate
2026-06-13 19:41:20 +02:00
-
706a6e257b
feat(sprint7): Phase 1 — notifications enhancement + push infrastructure
Patrick Plate
2026-06-13 19:25:19 +02:00
-
329b7abb18
fix: replace shadboard.svg with Cannabis leaf icon from lucide-react
Patrick Plate
2026-06-13 17:53:02 +02:00
-
7fe8d4f707
fix: rebrand Shadboard → CannaManage, staff permissions UX
Patrick Plate
2026-06-13 17:45:31 +02:00
-
9aaf771469
fix: consent banner fails open on API error (500/403)
Patrick Plate
2026-06-13 17:30:19 +02:00
-
27690a836e
fix: consent banner dismiss on decline + short viewport layout
Patrick Plate
2026-06-13 17:11:20 +02:00
-
cd77eb6448
fix: correct BCrypt hash in seed SQL and fix Playwright test selectors
Patrick Plate
2026-06-13 17:01:56 +02:00
-
52251cf711
fix(api): resolve consent/dsgvo 'User not found' — principal is userId not email
Patrick Plate
2026-06-13 10:52:43 +02:00
-
26a77b5e16
docs: record 'Oops' crash fix (intl + PWA middleware) verified via Playwright
Patrick Plate
2026-06-13 10:45:44 +02:00
-
4be9c4cf2c
fix(frontend): resolve app-wide 'Oops' crash + PWA middleware interception
Patrick Plate
2026-06-13 10:36:09 +02:00
-
2347a7a1d9
docs: record auth fixes — login verified end-to-end (admin@test.de)
Patrick Plate
2026-06-13 10:14:21 +02:00
-
281adda27c
fix(frontend): align NextAuth authorize() with flat backend LoginResponse
Patrick Plate
2026-06-13 10:10:48 +02:00
-
dac884c4fe
fix(deploy): use valid base64 JWT secret in docker-compose
Patrick Plate
2026-06-13 10:08:34 +02:00
-
6570ea364a
docs: mark CannaManage deploy RESOLVED — live on TrueNAS:3000
Patrick Plate
2026-06-13 10:01:39 +02:00
-
60844efaba
fix(api): disable mail health indicator in docker profile
Patrick Plate
2026-06-13 09:57:01 +02:00
-
8490da4705
fix(api): add spring-boot-starter-flyway for Spring Boot 4 migrations
Patrick Plate
2026-06-13 09:52:22 +02:00
-
f6a7143d1b
fix(frontend): guard metadataBase against undefined BASE_URL
Patrick Plate
2026-06-13 09:44:21 +02:00
-
1eead286ba
docs: add Roo handover doc for TrueNAS Docker deploy session
Patrick Plate
2026-06-13 09:40:02 +02:00
-
9a4df56eaf
fix(frontend): exclude marketing routes from NextAuth middleware matcher
Patrick Plate
2026-06-13 09:39:17 +02:00
-
b57be8a4d8
fix(frontend): hardcode build-time placeholder ENVs for AUTH_URL/SECRET
Patrick Plate
2026-06-13 09:34:20 +02:00
-
3e4fdee05b
fix(frontend): force-dynamic on marketing layout to skip SSG at build time
Patrick Plate
2026-06-13 09:31:24 +02:00
-
805bc4f00d
fix(frontend): add AUTH_URL + AUTH_SECRET build ARGs for NextAuth v5
Patrick Plate
2026-06-13 09:30:13 +02:00
-
d650987b9a
fix(frontend): guard redirect callback against undefined url during SSG
Patrick Plate
2026-06-13 09:28:52 +02:00
-
106229e0e3
fix(frontend): add build-time ARG placeholders for NEXTAUTH_URL/SECRET/BACKEND_URL
Patrick Plate
2026-06-13 09:27:01 +02:00
-
d0c53a912c
fix(service): DsgvoService getMembershipNumber + remove non-existent setPhone
Patrick Plate
2026-06-13 09:23:33 +02:00
-
61707ffe68
fix(service): add spring-boot-starter-websocket dep for SimpMessagingTemplate
Patrick Plate
2026-06-13 09:21:54 +02:00
-
1e693e3d2a
feat(sprint-6): Phase 7 — Launch checklist, pricing page, legal templates
Patrick Plate
2026-06-12 23:16:47 +02:00
-
599514c0db
feat(sprint-6): Phase 6 — Notifications (WebSocket) + PWA
Patrick Plate
2026-06-12 23:02:44 +02:00
-
076fd6f9b3
feat(sprint-6): Phase 5 — Full grow calendar (sensors, photos, feeding, harvest traceability)
Patrick Plate
2026-06-12 22:51:45 +02:00
-
05933a08ca
feat(sprint-6): Phase 4 — Immutable audit log
Patrick Plate
2026-06-12 22:40:40 +02:00
-
61e481b37b
feat(sprint-6): Phase 3 — Stripe integration (SEPA + PayPal + Card)
Patrick Plate
2026-06-12 22:31:03 +02:00
-
3232d2f7fd
feat(sprint-6): Phase 2 — DSGVO consent management
Patrick Plate
2026-06-12 22:22:48 +02:00
-
b38902a7ee
feat(sprint-6): Phase 1 — Production deployment infrastructure (IONOS)
Patrick Plate
2026-06-12 22:11:43 +02:00
-
4fa068092f
fix: apply 8 persona review corrections to Sprint 6 plan (v3)
Patrick Plate
2026-06-12 22:06:08 +02:00
-
8391dbb2cd
docs: Sprint 6 plan v2 — Q&A decisions (IONOS, Stripe tiers, full grow calendar)
Patrick Plate
2026-06-12 21:55:40 +02:00
-
9373c7ad69
fix: address Snyk findings (remove mock password, override vulnerable deps)
Patrick Plate
2026-06-12 21:05:27 +02:00
-
5c02cb0cde
docs: Sprint 5 security review (Snyk + SonarQube)
Patrick Plate
2026-06-12 21:00:03 +02:00
-
4d64576f22
test: Vitest setup + unit tests for API client, hooks, services + staff E2E
Patrick Plate
2026-06-12 20:50:45 +02:00
-
d1487539b6
feat(sprint-5): Phase 7 — System test harness
Patrick Plate
2026-06-12 20:39:09 +02:00
-
2cc8c89944
feat(sprint-5): Phase 6 — Staff management UI (list, invite, permissions, revoke)
Patrick Plate
2026-06-12 20:32:54 +02:00
-
ed1efccc90
feat(sprint-5): Phase 5 — Wire reports + portal to React Query
Patrick Plate
2026-06-12 20:24:11 +02:00
-
be63a84fe8
feat(sprint-5): Phase 4 — Wire distributions + stock to React Query
Patrick Plate
2026-06-12 20:15:26 +02:00
-
b170bb9d87
feat(sprint-5): Phase 3 — Wire dashboard + members to React Query
Patrick Plate
2026-06-12 20:07:16 +02:00
-
f42c166329
feat(sprint-5): Phase 2 — React Query API client layer
Patrick Plate
2026-06-12 19:59:41 +02:00
-
279f2f6de0
feat(sprint-5): Phase 1 — Docker Compose full stack, CORS, Next.js upgrade
Patrick Plate
2026-06-12 19:51:24 +02:00
-
dce27a4291
fix: center content alignment on portal and stock pages
Patrick Plate
2026-06-12 19:01:47 +02:00
-
7f99e11d9f
test: authenticated admin E2E tour with smart mock backend (all pages screenshot)
Patrick Plate
2026-06-12 18:38:22 +02:00
-
09d5ca6db0
fix: regenerate screenshots from stable server (replace error-state captures)
Patrick Plate
2026-06-12 18:27:25 +02:00
-
02e4bbad18
test: comprehensive E2E functional test suite (Sprint 4)
Patrick Plate
2026-06-12 18:11:47 +02:00
-
f8f562915e
docs: Sprint 4 visual tour with 19 Playwright screenshots
Patrick Plate
2026-06-12 17:35:39 +02:00
-
154f79fe60
docs: Sprint 4 walkthrough guide
Patrick Plate
2026-06-12 17:28:56 +02:00
-
fe6e96dd3f
feat: Sprint 4 complete — frontend MVP (admin dashboard + member portal)
Patrick Plate
2026-06-12 17:18:38 +02:00