152 Commits

Author SHA1 Message Date
stefan 98425b8fa8 chore/ai-guardrails-centralization
PR Guard / no-hardcoded-versions (pull_request) Failing after 12m14s
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been skipped
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-06-02 14:04:17 +02:00
stefan 5b6459a041 chore(ai): centralize guardrail scripts under .ai; add resolve_repo_root; add shims for .junie/.nolik; fix gitea contexts in release.yml
Co-authored-by: Junie <junie@jetbrains.com>
2026-06-02 14:01:26 +02:00
stefan d493734660 ### fix: 41 verbessere Lade- und Navigationslogik
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m50s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m16s
- **OnlineNennungFormular:** `isLoading`-State präziser verwaltet und Erfolgsmeldungen erweitert.
- **WebMainScreen:** Hashwechsel-Logik verbessert, Erfolgsscreen modularisiert.
- **UI-Version:** auf `v2026-04-23.41 - UI NAVIGATION FIX` aktualisiert.
2026-04-23 20:42:01 +02:00
stefan 0aaa160b95 ### fix: 40 aktualisiere SMTP-Port und erweitere Timeout-Parameter
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m47s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m53s
- **.env:** SMTP-Port auf `587` geändert.
- **application.yaml:** Timeout-Parameter (`connectiontimeout`, `timeout`, `writetimeout`) hinzugefügt.
- **MailServiceApplication:** Logging um SMTP-Timeout ergänzt.
- **WebMainScreen:** Versionsmarker auf `v2026-04-23.40 - SMTP PORT FORCE` aktualisiert.
2026-04-23 20:14:45 +02:00
stefan 03184aa951 ### fix: 39 finalisiere SMTP-Härtung und UI-Synchronisation
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m57s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m56s
- **application.yaml:** Parameter für SMTP-Authentifizierung (`STARTTLS_REQUIRED`) ergänzt.
- **MailServiceApplication:** Logging für SMTP-Passwort und Umgebungsvariablen erweitert.
- **WebMainScreen:** Erfolgsscreen-Logik bei API-Status `200 OK` optimiert.
- **dc-planb.yaml:** SMTP-Konfiguration mit STARTTLS zwingend ergänzt.
- **.env:** Korrekten SMTP-Host und `MAIL_SERVICE_URL` hinzugefügt.
- **Docs:** Änderungslog dokumentiert.
- **UI-Version:** auf `v2026-04-23.39 - FINAL SMTP & UI SYNC` aktualisiert.
2026-04-23 19:47:15 +02:00
stefan 34bd42a009 ### fix: 38 aktualisiere SMTP-Parameter und verbessere Fehlerbehandlung
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m48s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m52s
- **application.yaml:** SMTP-Parameter auf Umgebungsvariablen umgestellt.
- **MailServiceApplication:** Logging erweitert, Passwort maskiert.
- **WebMainScreen:** Fehlerbehandlung und Logging für API-Antworten optimiert, Versionsmarker auf `v2026-04-23.38 - SMTP & UI FINAL FORCE` aktualisiert.
2026-04-23 19:08:11 +02:00
stefan 897394e27e ### fix: 37 aktualisiere SMTP-Konfiguration und Versionsmarker
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m48s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m56s
- **application.yaml:** SMTP-Parameter (Host, Port, Benutzer, Passwort, Auth/StartTLS) hart kodiert.
- **MailServiceApplication:** Logging-Text für SMTP-Konfiguration angepasst.
- **WebMainScreen:** Versionsmarker auf `v2026-04-23.37 - SMTP HARD-CODED` aktualisiert.
2026-04-23 18:40:29 +02:00
stefan 9ab914dbfb ### fix: 36 verbessere SMTP-Logging und Versionsmarker
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m48s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m55s
- **dc-planb.yaml:** SMTP-Parameter hart codiert (Host, Port, Benutzer, Passwort).
- **mail-service:** Logging erweitert, SMTP-Konfiguration (`host`, `port`, `user`) wird angezeigt.
- **WebMainScreen:** Versionsmarker auf `v2026-04-23.36 - SMTP DIAGNOSE` aktualisiert.
2026-04-23 18:15:49 +02:00
stefan 9659fe3f8a ### fix: 35 verbessere SMTP-Konfiguration und Versionsmarker
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m41s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m51s
- **dc-planb.yaml:** Hard-Coded Passwort entfernt, AUTH/STARTTLS Flags erzwungen.
- **mail-service:** Nutzung der World4You-Credentials gesichert.
- **WebMainScreen:** Versionsmarker auf `v2026-04-23.35 - SMTP FIX` aktualisiert.
2026-04-23 17:51:38 +02:00
stefan 5cbf4fdfc0 ### fix: 34 erweitere Logging für Debugging und Callback-Analyse
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m41s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m12s
- **OnlineNennungFormular:** `println`-Logs für Callback-Status (`success`, `error`) hinzugefügt.
- **WebMainScreen:** Erfolgs-, Fehler- und State-Logs ergänzt.
- **Docs:** Neue Logging-Strategie dokumentiert.
- **UI:** Versionsmarker auf `v2026-04-23.34 - CALLBACK LOGGING` aktualisiert.
2026-04-23 17:17:37 +02:00
stefan bd06efe05d ### fix: 33 verbessere API-Antwort-Handling und Versionsmarker
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m48s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m13s
- **NennungRemoteRepository:** Handling für leeren JSON-Body angepasst.
- **MailController:** JSON-Antwort mit Erfolgsstatus und ID hinzugefügt.
- **WebMainScreen:** Versionsmarker auf `v2026-04-23.33 - JSON RESPONSE FIX` aktualisiert.
2026-04-23 16:59:11 +02:00
stefan 23c3e40390 ### fix: 32 erweitere Debug-Logging und Proxy-Strategie
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m52s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m13s
- **NennungRemoteRepository:** API-Logs erweitert (Antwortstatus und Body).
- **Caddyfile:** Strategie-Version auf `v32` aktualisiert.
- **WebMainScreen:** Versionsmarker auf `v2026-04-23.32 - PROXY DEBUG` angepasst.
2026-04-23 16:39:10 +02:00
stefan 1201755077 ### fix: 31 verbessere Fehlermeldungen und Same-Origin-Strategie
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m58s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m12s
- **OnlineNennungFormular:** Fehlermeldung für Server-Aufrufe präzisiert.
- **Caddyfile:** Header `X-Forwarded-Proto` hinzugefügt und Strategie-Version auf `v31` aktualisiert.
- **WebMainScreen:** Versionsmarker auf `v2026-04-23.31 - SAME-ORIGIN v3` aktualisiert.
2026-04-23 16:21:16 +02:00
stefan 162e2ef414 ### fix: 30 verbessere Fehlertransparenz und Debug-Logs
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m44s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m12s
- **OnlineNennungFormular:** Hinweis auf Browser-Konsole zu Fehlermeldungen hinzugefügt.
- **MailController:** Zusätzliche Debug-Logs für SMTP-Flows (Sendeversuch und Fehlerbehandlung).
- **WebMainScreen:** Versionsmarker auf `v2026-04-23.30 - COMPILE FIX` aktualisiert.
2026-04-23 16:02:11 +02:00
stefan 3f291c907c ### fix: v28 verbessere Same-Origin-Strategie und Fehlerbehandlung
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m46s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m40s
- **PlatformConfig.wasmJs.kt:** API-URLs auf leere Strings geändert (Root-Proxy).
- **OnlineNennungFormular:** Fehlermeldungen bei Versandfehlern präzisiert.
- **NennungRemoteRepository:** Detaillierte Fehlerrückmeldungen hinzugefügt.
- **Caddyfile:** Reverse Proxy angepasst, Header und Strategie-Version aktualisiert.
- **WebMainScreen:** Versionsmarker auf `v2026-04-23.28 - SAME-ORIGIN v2` aktualisiert.
2026-04-23 15:40:15 +02:00
stefan 251647a6ab ### fix: implementiere Same-Origin-Strategie zur Umgehung von CORS
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m38s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m35s
- **PlatformConfig.wasmJs.kt:** API-URLs auf relative Pfade (`/api`) geändert.
- **Caddyfile:** `/api/*` Anfragen intern weitergeleitet, `/api` Präfix entfernt. Header angepasst.
- **UI:** Versionsmarker auf `v2026-04-23.27 - SAME-ORIGIN PROXY` aktualisiert.
- **Docs:** Analyse und Lösung zur neuen Strategie hinzugefügt.
2026-04-23 15:16:08 +02:00
stefan 277254ebbd ### fix: verbessere CORS-Handling und UI-Markierungen
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m47s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m51s
- **Caddyfile:** Ersetze `Access-Control-Allow-Origin` durch `*`, entferne `Access-Control-Allow-Credentials`, füge `Access-Control-Expose-Headers` hinzu.
- **GlobalSecurityConfig:** Lockere `allowedOrigins`, `allowedOriginPatterns` und `exposedHeaders` auf `*`, setze `allowCredentials` auf `false`.
- **MailServiceApplication:** Passe CORS-Mapping durch `allowedOrigins` und `allowCredentials` an.
- **UI:** Aktualisiere Versionsmarker auf `v2026-04-23.26 - NUCLEAR CORS v2`.
2026-04-23 14:42:49 +02:00
stefan f97bfeff47 ### fix: verbessere CORS-Handling im Caddy-Proxy
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m36s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m51s
- **Caddyfile:** `Access-Control-Allow-Headers` auf `*` gelockert, Versionsmarkers angepasst.
- **UI:** Aktualisierung des Versionsmarkers auf `v2026-04-23.25 - CADDY CATCH-ALL CORS`.
- **Docs:** Ergänzung der Analyse und Lösung für Version 25.
2026-04-23 14:21:26 +02:00
stefan 02a778751a ### fix: verbessere CORS-Handling im Caddy-Proxy
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m39s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m53s
- **Caddyfile:** OPTIONS-Handling optimiert: Hinzufügen spezifischer Header (`X-Requested-With`), Entfernen von `*` und leere Response (`respond "" 204`) eingeführt.
- **UI:** Aktualisierung des Versionsmarkers auf `v2026-04-23.24 - CADDY CORS FINAL BOSS`.
- **Docs:** Erweiterung der Analyse um Lösung und Status für Version 24.
2026-04-23 14:02:03 +02:00
stefan af0ece8ded ### fix: verbessere CORS-Handling im Caddy-Proxy
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m56s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m51s
- **Caddyfile:** Separates Handling für OPTIONS-Requests mit spezifischen Headern eingeführt, `defer` entfernt.
- **UI:** Aktualisierung des Versionsmarkers auf `v2026-04-23.23 - CADDY CORS OPTIONS FIX`.
- **Docs:** Ergänzung der Analyse und Lösung für Version 23.
2026-04-23 13:41:04 +02:00
stefan 03fa74abba ### fix: verbessere CORS-Handling im Caddy-Proxy
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m47s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m55s
- **Caddyfile:** Hinzufügen des `defer`-Flags zur korrekten Verarbeitung von CORS-Headern.
- **UI:** Aktualisierung des Versionsmarkers auf `v2026-04-23.22 - CADDY DEFER CORS FIX`.
- **Docs:** Ergänzung der Analyse und Lösung für Version 22.
2026-04-23 13:25:06 +02:00
stefan 71aea3f41d ### fix: verbessere CORS-Handling im Caddy-Proxy
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m47s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m54s
- **Caddyfile:** Verlagerung des CORS-Handlings in den Reverse Proxy, inkl. Unterstützung für Preflight-Anfragen und Header-Optimierungen.
- **UI:** Aktualisierung des Versionsmarkers auf `v2026-04-23.21 - CADDY CORS PROXY FIX`.
- **Docs:** Ergänzung der Problem- und Lösungshistorie für Version 21.
2026-04-23 13:02:52 +02:00
stefan 16c8674eff ### fix: verbessere CORS-Konfiguration und DNS-Verifizierung
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m47s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m55s
- **GlobalSecurityConfig:** Optimierung von `allowedOriginPatterns` und Hinzufügen von `exposedHeaders`.
- **UI:** Aktualisierung des Versionsmarkers auf `v2026-04-23.20 - CLOUDFLARE DNS VERIFIED`.
- **Docs:** Hinzufügen eines Screenshots zur Cloudflare-DNS-Analyse.
2026-04-23 12:43:39 +02:00
stefan df5276abf2 ### fix: verbessere CORS-Konfiguration
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Has been cancelled
- **GlobalSecurityConfig:** Lockerung von `allowedOriginPatterns` auf `*`.
- **MailServiceApplication:** Hinzufügen einer redundanten `WebMvcConfigurer` Bean für zusätzliches CORS-Mapping.
- **UI:** Aktualisierung des Versionsmarkers auf `v2026-04-23.19 - NUCLEAR CORS FIX`.
2026-04-23 12:35:50 +02:00
stefan 636ecc9883 ### fix: verbessere CORS-Konfiguration
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m51s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m54s
- **GlobalSecurityConfig:** Füge `allowedOriginPatterns` für Subdomains von `mo-code.at` hinzu.
- **UI:** Aktualisiere Versionsmarker auf `v2026-04-23.18 - RADICAL CORS PERMISSIVENESS`.
2026-04-23 12:15:49 +02:00
stefan 92950dbbe6 ### fix: behebe fehlende Spring Security Abhängigkeiten
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m40s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 9m25s
- **build.gradle.kts:** Füge `spring-boot-starter-security`, `spring-boot-starter-oauth2-resource-server` und `infrastructure:security` hinzu.
- **UI:** Aktualisiere Versionsmarker auf `v2026-04-23.17 - SECURITY DEPENDENCY FIX`.
2026-04-23 11:47:51 +02:00
stefan 5c51664e6c ### fix: behebe CORS- und Config-Probleme
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m58s
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m47s
- **MailServiceApplication:** Füge `scanBasePackages` hinzu, um `GlobalSecurityConfig` korrekt zu laden.
- **GlobalSecurityConfig:** Erlaube Zugriff auf `/api/mail/nennung` ohne Authentifizierung.
- **MailController:** Entferne redundante `@CrossOrigin` Annotation.
- **UI:** Aktualisiere Versionsmarker auf `v2026-04-23.16 - CORS & CONFIG FIX`.
2026-04-23 11:16:18 +02:00
stefan 3244efd5e0 ### fix: behebe CORS-Probleme und Stabilitätsfehler
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 6m0s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m55s
- **MailController:** Erweitere `@CrossOrigin`-Headers und Methoden für Preflight-Checks.
- **GlobalSecurityConfig:** Reaktiviere CORS und füge explizite `CorsConfigurationSource` hinzu.
- **Tests:** Fix für `NoSuchBeanDefinitionException` bei Integrationstests.
- **UI:** Aktualisiere Versionsmarker auf `v2026-04-23.15 - CORS STABILITY`.
2026-04-23 10:53:55 +02:00
stefan af02e14f2d ### feat: verbessere Feedback- und Fehlerhandling im Nennformular
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 6m0s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m39s
- **OnlineNennungFormular:** Ladeindikator und Fehleranzeige bei API-Fehlermeldungen hinzugefügt.
- **WebMainScreen:** Navigation zum Erfolgsscreen erfolgt erst nach erfolgreicher API-Bestätigung.
- **UI:** Aktualisiere Versionsmarker auf `v2026-04-23.11 - NETWORK STATUS FIX`.
2026-04-23 10:16:16 +02:00
stefan 8730ffa7db ### feat: verbessere Feedback- und Fehlerhandling im Nennformular
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m51s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m44s
- **OnlineNennungFormular:** Ladeindikator und Fehleranzeige bei API-Fehlermeldungen hinzugefügt.
- **WebMainScreen:** Navigation zum Erfolgsscreen erfolgt erst nach erfolgreicher API-Bestätigung.
- **UI:** Aktualisiere Versionsmarker auf `v2026-04-23.11 - NETWORK STATUS FIX`.
2026-04-23 09:34:59 +02:00
stefan f7d11ccf97 ### feat: verbessere Feedback- und Fehlerhandling im Nennformular
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m49s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m13s
- **OnlineNennungFormular:** Ladeindikator und Fehleranzeige bei API-Fehlermeldungen hinzugefügt.
- **WebMainScreen:** Navigation zum Erfolgsscreen erfolgt erst nach erfolgreicher API-Bestätigung.
- **UI:** Aktualisiere Versionsmarker auf `v2026-04-23.11 - NETWORK STATUS FIX`.
2026-04-23 09:06:24 +02:00
stefan 76e6cebd90 ### fix: behebe HTTPS- und CORS-Probleme
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m51s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m5s
- **MailController:** Erweitere `@CrossOrigin`-Whitelist um `https://app.mo-code.at`.
- **dc-planb.yaml:** Passe API-URLs auf HTTPS an.
- **WebMainScreen:** Aktualisiere UI-Versionsmarker auf `v2026-04-23.10 - HTTPS FIX`.
2026-04-23 08:31:15 +02:00
stefan dbbca96c69 ### feat: verbessere PDF-Handling und füge neuen Versionsmarker hinzu
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m52s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m19s
- **WebMainScreen:** Implementiere Öffnen von Ausschreibungen (PDFs) in neuem Tab.
- **UI:** Ergänze dezentralen Versions-Marker in der Web-Oberfläche.
- **Docker-Publish:** Kopiere Turnier-Ausschreibungen (PDFs) in den Zielordner.
- **Assets:** Füge neue PDF-Dateien für Neumarkt2026 hinzu.
2026-04-23 08:11:15 +02:00
stefan eea022b862 ### feat(WebMainScreen, OnlineNennungFormular, index.html)
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m58s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m18s
- **WebMainScreen:** Implementiere hash-basiertes Routing für URLs und Synchronisation mit Adressleiste.
- **OnlineNennungFormular:** Aktualisiere Versionsanzeige mit neuer Farbe und Stil.
- **index.html:** Füge Runtime-Konfiguration per JavaScript hinzu (API, Mail, Keycloak).
2026-04-23 07:16:19 +02:00
stefan 6de5b55810 - **feat(OnlineNennungFormular):** verbessere Anzeige der Versionsnummer mit hervorgehobener Formatierung.
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m58s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m21s
- **chore(Caddy):** füge Cache-Buster für `meldestelle-web.js` hinzu.
2026-04-23 06:36:33 +02:00
stefan 07bd114df1 - **feat(OnlineNennungFormular):** Zeige eindeutige Versionsnummer zur besseren Nachverfolgbarkeit an.
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 6m11s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m17s
- **chore(Caddyfile):** Passe Caching-Strategie für `.wasm` und `.js` zur Vermeidung von Ladeproblemen während der Entwicklung an.
2026-04-23 06:14:39 +02:00
stefan 84d38f5eb5 chore: aktualisiere Dockerfile und CI-Workflow
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m48s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m48s
- **Dockerfile:** Füge `BUILD_DATE` als Argument hinzu, um Layer-Cache zu invalidieren.
- **CI:** Aktualisiere Build-Args mit `BUILD_DATE` aus Commit-Timestamp.
2026-04-23 05:53:26 +02:00
stefan 9db85236ec chore: füge Leerzeile zur README hinzu
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m47s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m28s
2026-04-23 05:23:48 +02:00
stefan f2a6078421 ### feat: erweitere und optimiere Online-Nennformular
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Has been cancelled
- **Display:** Link zur Nennungs-URL nur für Desktop hinzugefügt.
- **Inputs:** Unterstütze `singleLine` in allen Texteingabefeldern.
- **UX:** Hinzufügen von `ImeAction.Done` für Bemerkungen mit direkter Verarbeitung bei Abschluss.
2026-04-23 05:18:19 +02:00
stefan 568d9dbb32 ### feat: optimiere Online-Nennformular und Turnier-Integration
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 6m27s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 4m18s
- **`OnlineNennungFormular.kt`:**
  - Erweiterung um Felder für Telefon und Pferdename.
  - Dynamische Validierung und UI-Anpassungen für mobile Geräte.
  - Zusätzliche Bewerbslisten und Auswahlbeschränkungen hinzugefügt.
- **`WebMainScreen.kt`:**
  - Aktualisierte Turniermetadata und verbesserte Responsivität.
2026-04-23 04:48:51 +02:00
stefan f620f46d15 ### chore: aktualisiere Docker-Publish-Workflow
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m47s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m48s
- Entferne veraltete Cache- und Bereinigungsschritte.
- Implementiere neue Staging-Methode für Web-Assets ohne rsync.
- Aktualisiere Tags für Docker-Build und kommentiere ungenutzte Build-Args aus.
- Füge neuen Screenshot für Dokumentation hinzu.
2026-04-23 03:17:22 +02:00
stefan 46d3d7cf35 ### chore: aktualisiere Plan-B-Konfiguration und CI-Workflows
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 6m11s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 4m20s
- **dc-planb.yaml:** Passe Ports und füge Zipkin-Deaktivierung hinzu.
- **Docker-Publish:** Ergänze Bereinigung und Sicherheitsprüfung für Web-Assets.
2026-04-23 02:41:57 +02:00
stefan cb22b1bb96 chore: aktualisiere CI-Workflows
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been skipped
- **Workflows:** Deaktivierbar via `DESKTOP_CI_ENABLED` Repo-Variable.
- **Workflows:** Ergänze zusätzliche Prüfung auf Plan-B-Commits `[planb]`.
2026-04-23 00:40:11 +02:00
stefan 5544b04b07 ### chore: aktualisiere Desktop-Test-Workflow
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 4m23s
- **Workflows:** Begrenze Ausführung auf Änderungen am Desktop-Shell-Modul oder Workflow-Datei.
- **Workflows:** Füge `workflow_dispatch` für manuelles Starten hinzu.
- **Tests:** Korrigiere Run-Name für headless Tests (`xvfb`).
2026-04-23 00:29:55 +02:00
stefan 49d8b205d7 ### chore: aktualisiere Desktop-Test-Workflow
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 4m27s
- **CI:** Ergänze Installation von `xauth` im Desktop-Test-Workflow.
2026-04-23 00:14:36 +02:00
stefan f296a076dc ### chore: aktualisiere Docker-Build und CI für Web-Assets
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 55s
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m56s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 3m57s
- **Dockerfile:** Passe COPY-Pfad für Web-Assets auf neuen CI-Workflow an.
- **CI:** Füge Schritt zum Staging von Web-Assets vor dem Docker-Build hinzu.
2026-04-23 00:02:33 +02:00
stefan 1caefe6603 ### feat: optimiere Plan-B-Builds und CI/CD-Workflows
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been skipped
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m56s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 6m57s
- **Docker-Publish:** Reduziere auf Mail-Service und Web-App für schnellere Builds.
- **Workflows:** Überspringe Plan-B-Builds basierend auf Commit-Message ([planb]).
- **Frontend:** Aktualisiere Build-Skripte für Wasm-Distribution statt JS.
2026-04-22 23:41:03 +02:00
stefan 6b690232ff ### feat: füge Mail-Service-
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 58s
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 5m59s
Build and Publish Docker Images / build-and-push (., backend/services/mail/Dockerfile, mail-service, mail-service) (push) Successful in 5m48s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m2s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 1m52s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m44s
2026-04-22 23:17:19 +02:00
stefan 309834d90c ### feat: verbessere DTO-Handling und füge Feature-Flag hinzu
- **NennungViewModel:** Definiere lokales `NennungDto` zur Optimierung der Backend-Response-Verarbeitung.
- **MailPollingService:** Ergänze Bedingung für Scheduler-Aktivierung (`ConditionalOnProperty`).
- **.env & application.yaml:** Füge `MAIL_POLLING_ENABLED` als Feature-Flag hinzu.
- **Dependencies:** Refaktor Import-Reihenfolge für Konsistenz.
2026-04-22 20:27:04 +02:00
stefan 8b44edda90 ### feat: aktualisiere Netzwerk-URLs und vereinfachte Online-Nennung
- **PlatformConfig:** Passe Standard-URLs für lokale Dienste an (`8092` statt `8083/8085`).
- **OnlineNennungFormular:** Entferne zusätzliche Felder und vereinfachere Validierungslogik.
- **OnlineNennungViewModel:** Ersetze HttpClient-Logik durch Repository-Injektion.
- **DI:** Aktualisiere Dependencies für `NennungRemoteRepository`.
2026-04-22 16:22:59 +02:00
stefan 255343145d ### feat: optimiere Architektur und verbessere E-Mail-Handling
- **ArchTests:** Passe Slices-Matching für `FrontendArchitectureTest` an Package-Struktur an.
- **Mail-Service:** Füge Plan-B-Benachrichtigung für Nennungen an Meldestelle hinzu; entferne Plus-Addressing (Fallback).
- **Build:** Deaktiviere Desktop-Build standardmäßig (`enableDesktop=false`) und mache Module-Registrierung optional.
2026-04-22 16:01:55 +02:00
stefan 5baa971b46 ### docs: aktualisiere ADR 0028 für E-Mail-basiertes Routing
- Ersetze Catch-All-Ansatz durch Betreff-basiertes Routing.
- Reduziere Infrastruktur-Aufwände durch generische Zieladresse.
2026-04-22 15:18:35 +02:00
stefan e65384768f ### feat: initialisiere Plan-B für E-Mail-basierte Online-Nennung
- **ADR 0028:** Dokumentiere MVP-Entscheidung für E-Mail-gesteuertes Nennsystem.
- **Gradle:** Aktiviere `enableWasm` für die Web-App-Generierung.
2026-04-22 15:11:00 +02:00
stefan beb20e0cf7 ### feat: erweitere ZNS und SQLDelight-Integration
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
- **SQLDelight:** Füge neue Queries (`countVereine`, `maxUpdated...`) zur SQLite-Datenbank hinzu und aktualisiere `DesktopMasterdataRepository`.
- **ZNS-Sync:** Passe `ZnsImportState` an, um Pferde- und Funktionärsdaten zu unterstützen.
- **Cloud-Sync:** Entferne redundante Auth-Header und setze Limits für Massensynchronisation auf 50.000 Datensätze.
- **Masterdata-Service:** Stabilisiere Consul Health-Checks und implementiere Limit-Beschränkungen auf Controller-Ebene.
2026-04-22 14:14:39 +02:00
stefan 98c241fc64 ### feat: erweitere Stammdaten-Integration
- **Repositories:** Implementiere und integriere `KtorPferdRepository` und `KtorFunktionaerRepository`.
- **SQLite:** Erweitere Schema um `LocalPferd` und `LocalFunktionaer` mit passenden Queries.
- **ViewModels:** Passe `PferdeViewModel` und `FunktionaerViewModel` an, um Flows und Repository-Injektion zu nutzen.
- **DI-Module:** Aktualisiere `PferdeModule` und `FunktionaerModule` für Backend-Anbindung.
2026-04-22 12:25:43 +02:00
stefan d4cc0eb77d ### feat: verbessere DI, Healthcheck-Logik und Reiter-API
- **Healthcheck:** Aktualisiere Dockerfile und konsolidiere Ports für konsistente Service-Gesundheitsprüfungen (8086 für Actuator, 8091 für API-Traffic).
- **ReiterRepository:** Implementiere `KtorReiterRepository` zur Nutzung der Backend-Stammdaten über API.
- **DI-Module:** Passe `ReiterModule` und `VereinFeatureModule` an, um den authentifizierten `apiClient` zu verwenden.
- **Masterdata-Service:** Synchronisiere Environment-Variablen und Konsul-Konfiguration mit aktualisierten Ports.
2026-04-22 12:11:38 +02:00
stefan e0b1ce8836 ### feat: implementiere SQLite-Integration und Repository-Refactoring
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 58s
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 6m0s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m10s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 2m0s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m55s
- Erstelle Persistenz-Layer mit SQLite-Tabellen für `Verein` und `Reiter` inkl. Queries.
- Entferne Mock-Daten in `ReiterViewModel` und nutze Repository-Injektion.
- Integriere neue Tabellen und Queries im `DesktopMasterdataRepository`.
- Erweitere `VeranstalterWizardViewModel` um lokale Suche mit SQLite-Queries.
- Harmonisiere Feldnamen (`remoteReiterResults`) über alle Module hinweg.
- Aktualisiere DI-Module (`VeranstalterModule`, `ReiterModule`, `DesktopModule`) mit SQLite-Injektionen.
- Refaktor UI-Komponenten und Screens (`ReiterScreen`, `StammdatenImportScreen`) mit neuer Logik.
2026-04-22 02:20:55 +02:00
stefan f18b002f4e ### feat: füge Validierung und Fehler-Handling zur Veranstalter-Erstellung hinzu
- Implementiere Validierungslogik im `VeranstalterWizardViewModel` (Pflichtfelder, E-Mail-Format).
- Zeige Validierungsfehler direkt in der `VeranstalterNeuScreen` an.
- Erweiterung der State-Klasse um `errors` für direktes UI-Feedback.
2026-04-22 00:06:47 +02:00
stefan f8913f81b8 ### feat: überarbeite Veranstalter-Erstellung mit ZNS-Integration
- Implementiere "Search & Populate"-Logik im `VeranstalterWizardViewModel` und aktualisiere die Abhängigkeiten (`MasterdataRepository`, `ZnsImportProvider`).
- Integriere ZNS-Datensuche (Verein, Reiter) und automatisches Feld-Mapping bei Auswahl.
- Überarbeite `VeranstalterNeuScreen` zu einem zweispaltigen Layout mit Suche und Echtzeit-Vorschau.
- Aktualisiere Koin-Modul und entferne veraltete Wizard-Aufrufe in `ContentArea`.
- Füge zusätzliche ScreenPreviews hinzu und passe `ScreenPreviews.kt` an.
- Aktualisiere Dokumentation (`2026-04-21_Veranstalter-Neu-Overhaul.md`), Screenshots und relevante UI-Komponenten.
2026-04-21 23:22:14 +02:00
stefan 9195cdb14d ### feat: verbessere Wizard-Validierung und UI-Feedback
- Integriere Fortschrittsanzeige während der Veranstalter-Suche (`isCheckingStats`).
- Zeige Fehlermeldungen bei Suchfehlern im `EventWizardScreen`.
- Füge `hasSelectedVeranstalter`-Guard und zugehörige Tests hinzu.
- Präzisiere `DemoEventFlow` mit expliziter Guard-Logik.
- Aktualisiere Unit-Tests zur Abdeckung neuer Guard-Szenarien.
2026-04-21 21:26:06 +02:00
stefan 3f4ba9eea9 ### feat: erweitere Wizard- und UI-Logik
- Füge automatische Re-Evaluierung im `EventWizardViewModel` nach Import hinzu.
- Aktualisiere `StammdatenImportScreen` mit `onBack`-Callback für Status-Prüfung.
- Erweitere `PingScreen` im `ConnectivityCheck`-Screen um Navigation zum Login.
- Präzisiere `hasZns`-Guard mit Prüfung auf Import-Datum.
2026-04-21 21:10:58 +02:00
stefan 92028d9e02 ### feat: erweitere Wizard- und UI-Logik
- Füge automatische Re-Evaluierung im `EventWizardViewModel` nach Import hinzu.
- Aktualisiere `StammdatenImportScreen` mit `onBack`-Callback für Status-Prüfung.
- Erweitere `PingScreen` im `ConnectivityCheck`-Screen um Navigation zum Login.
- Präzisiere `hasZns`-Guard mit Prüfung auf Import-Datum.
2026-04-21 20:43:15 +02:00
stefan bdb45eefe4 ### feat: verbessere Validierungs- und Draft-Funktionalität im Wizard
- Entferne `onNavigateToVeranstalterNeu` aus `EventWizardScreen` und zugehörigen Komponenten.
- Füge persistente Speicherung für Drafts über `DraftStore` hinzu (JSON für JVM, No-op für Wasm).
- Ergänze WizardScaffold um `errorSummary` zur Anzeige von Validierungsfehlern.
- Bereinige und optimiere Schritt-Logik in `EventWizardViewModel`.
2026-04-21 20:12:53 +02:00
stefan 148b71db48 chore(devops): remove .idea files from git index and update .gitignore 2026-04-21 19:26:15 +02:00
stefan c54ad3830d feat: füge Wizard-Orchestrator mit Runtime, Scaffold und DraftStore (MVP) hinzu
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 18:30:16 +02:00
stefan d66bd63cc9 feat: füge DraftStore und Speichern/Resume von Wizard-Status hinzu
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 18:26:34 +02:00
stefan 3b4e3db51d feat: erweitere DemoEventFlow und EventWizardViewModel um neue Schritte
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 18:16:56 +02:00
stefan 2d7046d0e3 feat: passe EventWizardViewModel-Initialisierung für optionale Parameter an
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 18:03:55 +02:00
stefan d9b5c6bfea feat: aktiviere neues EventWizardScreen-Scaffold hinter Feature-Flag
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 17:58:48 +02:00
stefan 91a8c38b25 feat: implementiere WizardScaffold und Hotkey-Integration mittels Compose
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 17:56:56 +02:00
stefan 19ba044ec0 feat: integriere WizardRuntime in EventWizardViewModel und erweitere Schritt-Logik
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 17:44:31 +02:00
stefan 9556e0ac67 test: füge Unit-Tests für WizardRuntime hinzu
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 17:03:41 +02:00
stefan 4692bd186c chore: füge Core-Wizard-Modul hinzu und integriere in Veranstaltung-Feature
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 17:02:28 +02:00
stefan b11432df16 chore: implementiere Ping-Screen mit UI-Logik, ViewModel und Preview-Komponenten
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 17:02:15 +02:00
stefan 319cb52160 chore: implementiere Ping-Feature mit Repository, Sync-Service und API Client
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 17:02:03 +02:00
stefan a35dfa1434 chore: füge Event-Wizard-Screen und Schritt-Logik für neue Veranstaltungen hinzu
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 17:01:49 +02:00
stefan 237c71e5a0 chore: implementiere Wizard-Framework mit State- und Flow-Logik sowie Feature-Flags für Migration
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 17:01:31 +02:00
stefan ec124e9acd chore(docs): füge ADRs 0025–0027 und Wizard-DSL-Referenz hinzu, aktualisiere Roadmap und ADR-Index
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 16:21:22 +02:00
stefan 0ab1807235 chore: vereinheitliche Imports und ersetze androidx.compose.foundation.Image durch Image im Veranstalter-Wizard
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 15:18:04 +02:00
stefan 7cfdd06d1e chore: integriere Logo-Upload und Vorschau in Veranstalter-Wizard, verbessere Navigationslogik und erweitere Datenmodelle
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 15:16:05 +02:00
stefan 544fbf792c chore: erweitere Veranstalter-Wizard um Bearbeitungsmodus, füge Kontaktdaten und Step-Logik hinzu
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 14:37:43 +02:00
stefan 18e619abfc chore: erweitere Datenmodelle um neue Felder, verbessere Styling und aktualisiere Veranstalter-UI
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 14:24:54 +02:00
stefan 5eeff24b3a chore: refaktoriere Veranstaltungs-Wizard zu Event-Wizard, entferne überflüssige Komponenten und passe DI-Konfiguration an
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 14:00:04 +02:00
stefan f13c2eb35b chore: erweitere Datenmodelle um Nation und Bundesland, verbessere UI im Profil- und Veranstaltungs-Wizard
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 13:56:08 +02:00
stefan 2662d4e82e chore: erweitere Pferd-, Funktionär- und Reiter-Modelle um neue Felder, verbessere UI und Suche
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 13:47:37 +02:00
stefan 574f8c470c chore: refaktoriere Veranstaltungs-UI zu Events, implementiere ZNS-Suche und verbessere Navigationslogik
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 13:42:45 +02:00
stefan 9b4af2bb56 chore: füge Navigation zum Veranstalter-Wizard hinzu, erweitere Mock-Daten und verbessere Veranstaltungs-Flow
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 10:57:30 +02:00
stefan 1a295c18c8 chore: integriere Turnier-Wizard und ZNS-Importer in Veranstaltungsscreen, implementiere Profil-Onboarding und aktualisiere Modulabhängigkeiten
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 10:42:47 +02:00
stefan 01bf440f21 chore: behebe Kompilierungsfehler in ScreenPreviews.kt durch Implementierung von getStats() in Mock-Repos
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 09:41:57 +02:00
stefan 7acd9ea4c2 chore: implementiere Suche nach Veranstalter via OEPS-Nummer, verbessere UI-Flow im Veranstaltungs-Wizard und erweitere VereinRepository um OEPS-Abfrage
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 09:27:38 +02:00
stefan 30b53584f8 chore: implementiere Suche nach Veranstalter via OEPS-Nummer, verbessere UI-Flow im Veranstaltungs-Wizard und erweitere VereinRepository um OEPS-Abfrage
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-21 00:50:14 +02:00
stefan c1327f3186 chore: erweitere Veranstaltungs-Wizard um Ansprechperson-Anzeige, verbessere Fehlerhandling bei fehlenden Stammdaten und implementiere MsStringDropdown
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-20 23:53:43 +02:00
stefan 7a2c5700f9 chore: füge Warn-Dialoge für Rollenwechsel und Bearbeitungsmodus hinzu, verbessere Zustandshandhabung im Device-Setup und implementiere Turnierverwaltung im Veranstaltungs-Wizard
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-20 23:48:53 +02:00
stefan 5b8ef5ea2d chore: implementiere Lockscreen-Logik für Geräte- und Veranstaltungsinitialisierung, füge Zustandsprüfungen und neue UI-Komponenten hinzu
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-20 23:37:58 +02:00
stefan db58c24613 chore: entferne settings.json und Veranstaltungskomponenten, refaktoriere Veranstaltungsverwaltung und implementiere StoreVeranstaltungRepository
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-20 18:33:45 +02:00
stefan edfe05cbe3 chore: entferne ungenutzte Importe, reduziere Redundanz in DesktopMainLayout und verlagere Komponenten in Module
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-20 15:59:36 +02:00
stefan 6feb139a46 chore: füge SyncManager und Peer-Zähler hinzu, verbessere Navigation-Breadcrumbs und passe MD3-Stil an
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-20 15:09:25 +02:00
stefan b94e0f2d9d chore: implementiere Zustandsprüfung für DiscoveryService und ConnectivityTracker, verbessere Plug-and-Play-Kompatibilität und optimiere LAN-Discovery
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-20 14:39:48 +02:00
stefan 8806d11e3c chore: implementiere Auth-Status-abhängige Navigation und Icons, deaktiviere Module ohne Initialisierung und passe NavRail sowie Header für besseren UX an
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-20 14:23:47 +02:00
stefan a1bf93342e chore: fix 500 errors in ping-service, improve security annotations, update parameter mapping, integrate Resilience4j with Kotlin, and refine test suite 2026-04-20 14:21:53 +02:00
stefan 5887ac7b6c chore: update roadmap with finalized frontend modernization phase, refactor turnier and veranstalter features to adhere to Plug-and-Play architecture, and improve code hygiene in core frontend modules
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
2026-04-20 10:55:28 +02:00
stefan 8aef46bba1 chore: refactor Veranstalter screens and ViewModels to decouple from Koin, implement hoisting for better testability, consolidate legacy shell logic into modern components, and add mock repositories for previews 2026-04-20 10:31:45 +02:00
stefan 2489beab59 chore: refactor TurnierDetailScreen and related components, remove unused parameters, centralize date validation logic, implement TurnierStammdatenViewModel, and eliminate reflection dependencies 2026-04-20 10:11:10 +02:00
stefan f8820847fa chore: implement Turnier domain logic, add repository interfaces and default implementations, and disable WASM builds 2026-04-20 09:38:39 +02:00
stefan 345c329350 chore: enhance Stammdaten-Verwaltung and refine desktop UX across multiple features, fix typo in settings.json, enable WASM builds, and add Master-Detail layout for Funktionäre
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
2026-04-20 02:49:34 +02:00
stefan d4aeba4666 chore: implementiere MsFilePicker-Komponente, ersetze veraltete Input-Felder in Geräteneukonfiguration und ZNS-Importer, verbessere Vereinskarten-Darstellung und Detail-UX, behebe Tippfehler in settings.json 2026-04-20 02:00:36 +02:00
stefan 9fe889b2c1 chore: bereinige unbenutzte Importe in VereinScreens.kt und LogoUploadZone.jvm.kt, verbessere Code-Readability durch konsistenten Importstil 2026-04-20 01:21:18 +02:00
stefan 85ac1cae9c chore: implementiere Logo-Upload-Zone mit Base64-Unterstützung, verbessere Vereinsverwaltung mit kompakten Feldern und nutzerspezifischen Uploadoptionen, optimiere Desktop-UX und Navigation 2026-04-20 01:20:20 +02:00
stefan dfaa2e8545 chore: consolidate redundant controllers in mail-service, improve backend stability, refine desktop UX, and enhance Vereinsverwaltung functionality 2026-04-20 00:21:20 +02:00
stefan bcabb86841 chore: fix DI binding for ZnsImportProvider in zns-import-feature, ensure proper Koin resolution 2026-04-19 22:18:18 +02:00
stefan 189ebc6565 chore: entferne XML-Deklaration aus .idea/misc.xml
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
2026-04-19 21:50:42 +02:00
stefan 83adb4ae07 chore: erweitere Resilience4j-Bundle um Kotlin-Support, aktualisiere PingController um Fallback-Logik, füge Fehlerhandler hinzu, verbessere PingControllerTest, synchronisiere .env und dc-infra.yaml 2026-04-19 21:50:33 +02:00
stefan 54f91c7309 chore: entferne unbenutzten PingEvent Import aus PingSyncIntegrationTest
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
2026-04-19 17:46:48 +02:00
stefan a645bb4dbc chore: migriere ping-feature Modul auf Module Structure Blueprint, füge Fake-Repository und neue Integrationstests hinzu, dokumentiere Änderungen 2026-04-19 17:46:29 +02:00
stefan 691861a706 chore: entferne veraltete turnier-feature Artefakte und ViewModels nach Migration auf Module Structure Blueprint 2026-04-19 17:39:34 +02:00
stefan ef5d4fdc81 chore: migriere meldestelle-web Shell auf Module Structure Blueprint, aktualisiere group, setze version, passe DI-Imports an, dokumentiere Änderungen 2026-04-19 17:36:20 +02:00
stefan afad3c5a02 chore: migriere Artefakte für Module auf Module Structure Blueprint (meldestelle-desktop, sync, network), aktualisiere Ausgabepfade, füge wasmJsMain und jvmMain Outputs hinzu 2026-04-19 17:33:31 +02:00
stefan 512eb730b0 chore: migriere meldestelle-desktop Shell auf Module Structure Blueprint, aktualisiere group, setze version, passe DI-Imports an, dokumentiere Änderungen 2026-04-19 17:33:18 +02:00
stefan 8c1abaebad chore: migriere zns-import-feature Modul auf Module Structure Blueprint, aktualisiere group, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:24:01 +02:00
stefan 3428261bff chore: migriere verein-feature Modul auf Module Structure Blueprint, aktualisiere group, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:13:05 +02:00
stefan 34cab61567 chore: migriere veranstaltung-feature Modul auf Module Structure Blueprint, aktualisiere group, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:12:07 +02:00
stefan 4419e55ee1 chore: migriere veranstalter-feature Modul auf Module Structure Blueprint, aktualisiere group, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:11:07 +02:00
stefan bd8899a829 chore: migriere turnier-feature Modul auf Module Structure Blueprint, aktualisiere group, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:10:03 +02:00
stefan 8148ceb318 chore: migriere reiter-feature Modul auf Module Structure Blueprint, aktualisiere group, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:08:43 +02:00
stefan 58454ec9af chore: migriere profile-feature Modul auf Module Structure Blueprint, aktualisiere group, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:07:38 +02:00
stefan 2e7078424d chore: migriere ping-feature Modul auf Module Structure Blueprint, aktualisiere group, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:06:37 +02:00
stefan 56ecee4cba chore: migriere pferde-feature Modul auf Module Structure Blueprint, aktualisiere group, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:05:27 +02:00
stefan 9222ae7a1c chore: migriere nennung-feature Modul auf Module Structure Blueprint, aktualisiere group, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:04:04 +02:00
stefan 9578b92e7a chore: migriere funktionaer-feature Modul auf Module Structure Blueprint, passe group an, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:02:34 +02:00
stefan f02e172ff0 chore: migriere device-initialization Modul auf Module Structure Blueprint, aktualisiere group, füge wasmJsMain Dependency hinzu, dokumentiere Änderungen 2026-04-19 17:00:52 +02:00
stefan cef579f91b chore: migriere billing-feature Modul auf Module Structure Blueprint, setze group und version, füge wasmJsMain Dependency hinzu 2026-04-19 16:59:12 +02:00
stefan c8655bfc7f chore: dokumentiere Migration des core/sync Moduls auf Module Structure Blueprint, inkl. group und version Anpassungen 2026-04-19 16:53:16 +02:00
stefan 28a7c5dc44 chore: migriere core/sync Modul auf Module Structure Blueprint, setze group und version, füge wasmJsMain Dependency hinzu 2026-04-19 16:52:08 +02:00
stefan b19f7cadb8 chore: migriere core/network Modul auf Module Structure Blueprint, setze group und version, dokumentiere Änderungen 2026-04-19 16:50:33 +02:00
stefan cb6db36adb chore: migriere core/navigation Modul auf Module Structure Blueprint, aktualisiere group und füge wasmJsMain Dependency hinzu 2026-04-19 16:48:37 +02:00
stefan 0e694341b8 chore: füge Artifact-Konfigurationsdateien für Domain- und LocalDb-Module hinzu 2026-04-19 16:45:56 +02:00
stefan 2ab1840237 chore: setze group und version in Core-LocalDb-Modul, dokumentiere Migration auf Blueprint 2026-04-19 16:45:32 +02:00
stefan 96bdc92723 chore: setze group und version in Core-Domain-Build, füge wasmJsMain Dependency hinzu 2026-04-19 16:42:46 +02:00
stefan cee0a8437f chore: füge fehlende Artifact-Konfigurationsdateien für Projektmodule hinzu 2026-04-19 16:39:50 +02:00
stefan 2b05eebad9 chore: migriere ComponentPreview-Annotation in konsistente Paketstruktur und bereinige referenzierende Importe 2026-04-19 16:39:32 +02:00
stefan 9037b6ce1c chore: entferne veraltete .gitignore-Einträge und nicht genutzte IDE-Konfigurationsdateien 2026-04-19 16:15:59 +02:00
stefan ec861b8f81 chore: entferne DesktopApp und DesktopMainLayout, da diese nicht mehr benötigt werden 2026-04-19 16:07:58 +02:00
stefan 767d78af27 chore: bereinige Import-Anweisungen und entferne nicht genutzten Code in DeviceInitialization-Präsentationsmodulen 2026-04-19 15:59:29 +02:00
stefan 8a3ef98c44 chore: entferne AuthApiClient, AuthTokenManager und DeviceInitializationConfig.jvm, da diese nicht mehr benötigt werden 2026-04-19 15:58:03 +02:00
stefan dc66dfb537 chore: konsolidiere Exception-Handling durch _-Platzhalter, bereinige Import-Anweisungen und entferne nicht genutzten Code
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 58s
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 6m13s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m27s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 1m59s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m50s
2026-04-19 00:54:34 +02:00
stefan ae39eb4637 chore: entferne nicht genutzte NennungsMaske-Komponente, extrahiere AktionsButtonLeiste in separaten Komponentenordner 2026-04-19 00:52:36 +02:00
stefan 64d749be3a chore: entferne nicht genutzte NennungsMaske-Komponente, extrahiere AktionsButtonLeiste in separaten Komponentenordner 2026-04-19 00:52:12 +02:00
stefan 1b20e480f4 feat: verbessere Device-Setup-UX durch präzise Fokus-Navigation, Plug-and-Play-Optimierungen und Logging-Standardisierung
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 1m0s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
2026-04-18 22:29:15 +02:00
stefan c29c8179a1 feat: flexibilisiere JWT-Validierung durch benutzerdefinierte Decoder und verbessere CORS-Konfiguration 2026-04-18 20:40:40 +02:00
stefan 2bd2a26ab9 chore: entferne Backup-Dateimuster *~ aus .gitignore 2026-04-18 20:40:03 +02:00
stefan fb520c6607 chore: entferne nicht mehr genutzten Code und Backup-Dateien aus shared-Modul 2026-04-18 20:39:42 +02:00
stefan bad6f44122 chore: entferne nicht mehr genutzte Backup-Dateien, IDE-Konfigurationen und Kotlin-Build-Skripte 2026-04-18 20:38:57 +02:00
538 changed files with 17018 additions and 16613 deletions
+50
View File
@@ -0,0 +1,50 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
# shellcheck disable=SC1091
source "$SCRIPT_DIR/lib/common.sh"
REPO_ROOT="$(resolve_repo_root)"
cd "$REPO_ROOT"
# check-docs-drift.sh
# Zweck: sehr schlanke Drift-Checks gegen die neue Doku-Struktur.
# - Kein Guidelines-System mehr.
# - Single Source of Truth: `docs/`
err=0
has() { grep -q "$2" "$1" || { echo "[DRIFT] '$2' fehlt in $1"; err=1; }; }
miss() { grep -q "$2" "$1" && { echo "[DRIFT] Veralteter Begriff '$2' in $1"; err=1; }; }
# Harte Altlast-Pfade dürfen nicht mehr vorkommen
if git grep -n "docs/00_Domain/" -- docs >/dev/null 2>&1; then
echo "[DRIFT] Veralteter Pfad 'docs/00_Domain/' in docs/* gefunden"
err=1
fi
if git grep -n "docs/adr/" -- docs >/dev/null 2>&1; then
echo "[DRIFT] Veralteter Pfad 'docs/adr/' in docs/* gefunden"
err=1
fi
if git grep -n "docs/c4/" -- docs >/dev/null 2>&1; then
echo "[DRIFT] Veralteter Pfad 'docs/c4/' in docs/* gefunden"
err=1
fi
if git grep -n "docs/how-to/" -- docs >/dev/null 2>&1; then
echo "[DRIFT] Veralteter Pfad 'docs/how-to/' in docs/* gefunden"
err=1
fi
if git grep -n "docs/reference/" -- docs >/dev/null 2>&1; then
echo "[DRIFT] Veralteter Pfad 'docs/reference/' in docs/* gefunden"
err=1
fi
# Quelle der Wahrheit: Gateway-Technologie (sollte in Architektur/ADRs/C4 konsistent sein)
has docs/01_Architecture/ARCHITECTURE.md "Spring Cloud Gateway"
has docs/01_Architecture/adr/0007-api-gateway-pattern-de.md "Spring Cloud Gateway"
miss docs/01_Architecture/adr/0007-api-gateway-pattern-de.md "Ktor"
has docs/01_Architecture/c4/02-container-de.puml "Spring Cloud Gateway"
miss docs/01_Architecture/c4/02-container-de.puml "Ktor"
exit $err
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
set -euo pipefail
# Common helpers for AI guardrail scripts
# Robustly resolve the repository root directory.
# Strategy: prefer Git; fallback to marker search upwards; last resort: current dir.
resolve_repo_root() {
local start
start="${1:-$(cd -- "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)}"
if command -v git >/dev/null 2>&1; then
if git -C "$start" rev-parse --show-toplevel >/dev/null 2>&1; then
git -C "$start" rev-parse --show-toplevel
return 0
fi
fi
local dir
dir="$(cd "$start" && pwd)"
while [ "$dir" != "/" ]; do
if [ -f "$dir/gradlew" ] || [ -f "$dir/settings.gradle.kts" ] || [ -d "$dir/.git" ]; then
echo "$dir"
return 0
fi
dir="$(dirname "$dir")"
done
pwd
}
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
# shellcheck disable=SC1091
source "$SCRIPT_DIR/lib/common.sh"
REPO_ROOT="$(resolve_repo_root)"
cd "$REPO_ROOT"
mkdir -p build/diagrams
shopt -s nullglob
for f in docs/architecture/c4/*.puml; do
docker run --rm -v "$PWD":/data plantuml/plantuml -tsvg "/data/$f" -o "/data/build/diagrams"
echo "Rendered build/diagrams/$(basename "${f%.puml}").svg"
done
+127
View File
@@ -0,0 +1,127 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
# shellcheck disable=SC1091
source "$SCRIPT_DIR/lib/common.sh"
REPO_ROOT="$(resolve_repo_root)"
cd "$REPO_ROOT"
QUICK_MODE=false
while [[ $# -gt 0 ]]; do
case $1 in
--quick)
QUICK_MODE=true
shift
;;
--help|-h)
cat << 'EOF'
Docs Link-Validierung
USAGE:
./.ai/scripts/validate-links.sh [--quick]
BESCHREIBUNG:
Prüft Markdown-Links in `docs/**/*.md` auf gebrochene relative Pfade.
Ignoriert externe Links (http/https/mailto) sowie reine Anchors (#...).
OPTIONEN:
--quick Führt nur eine Teilmenge der Prüfungen durch (aktuell nicht implementiert).
EOF
exit 0
;;
*)
echo "[ERROR] Unbekannter Parameter: $1" >&2
exit 2
;;
esac
done
python3 - <<'PY'
import re
import sys
from pathlib import Path
from urllib.parse import unquote
root = Path.cwd()
docs_dir = root / "docs"
if not docs_dir.is_dir():
print(f"[ERROR] docs-Verzeichnis nicht gefunden: {docs_dir}", file=sys.stderr)
sys.exit(2)
# Veraltete Pfad-Prüfungen wurden entfernt; Fokus auf Link-Integrität.
FORBIDDEN_SUBSTRINGS = []
md_files = sorted(docs_dir.rglob("*.md"))
link_pattern = re.compile(r"\]\(([^)]+)\)")
errors = 0
def is_external(target: str) -> bool:
t = target.lower()
return t.startswith("http://") or t.startswith("https://") or t.startswith("mailto:")
def strip_fragment_and_query(target: str) -> str:
target = target.split("#", 1)[0]
target = target.split("?", 1)[0]
return target
for f in md_files:
text = f.read_text(encoding="utf-8", errors="replace")
for forbidden in FORBIDDEN_SUBSTRINGS:
if forbidden in text:
print(f"[ERROR] Veralteter Pfad '{forbidden}' in {f}")
errors += 1
for match in link_pattern.finditer(text):
target = match.group(1).strip()
if not target:
continue
if is_external(target):
continue
if target.startswith("#"):
continue
if target.startswith("<") and target.endswith(">"):
target = target[1:-1]
target = unquote(strip_fragment_and_query(target))
if target.startswith("/"):
continue
if ":" in target.split("/", 1)[0]:
# z.B. "vscode:..."
continue
resolved = (f.parent / target).resolve()
try:
resolved.relative_to(root.resolve())
except ValueError:
print(f"[ERROR] Link zeigt außerhalb des Repos: {f} -> {target}")
errors += 1
continue
if resolved.is_dir():
if not (resolved / "README.md").is_file():
print(f"[ERROR] Verlinktes Verzeichnis ohne README.md: {f} -> {target}")
errors += 1
continue
if not resolved.exists():
print(f"[ERROR] Broken link: {f} -> {target}")
errors += 1
if errors:
print(f"[ERROR] Link-Validierung fehlgeschlagen: {errors} Fehler")
sys.exit(1)
print(f"[OK] Link-Validierung erfolgreich: {len(md_files)} Markdown-Dateien geprüft")
PY
+1 -1
View File
@@ -193,7 +193,7 @@ secrets/
# ===================================================================
TODO*.md
NOTES*.md
**/.junie/
.junie/
# ===================================================================
# Keep essential files (override exclusions)
+263
View File
@@ -0,0 +1,263 @@
# ==========================================
# Meldestelle Docker Compose Environment
# Single Source of Truth (SSoT)
# ==========================================
# WARNING: This file contains secrets (passwords).
# Do NOT commit this file to version control if it contains production secrets.
# --- PROJECT ---
PROJECT_NAME=meldestelle
# --- BACKUP ---
BACKUP_DIR=/home/stefan/backups/meldestelle
BACKUP_RETENTION_DAYS=7
# Docker build versions (optional overrides)
DOCKER_VERSION=1.0.0-SNAPSHOT
DOCKER_REGISTRY=git.mo-code.at/mocode-software/meldestelle
DOCKER_BUILD_DATE=2026-03-16T12:00:00Z
DOCKER_GRADLE_VERSION=9.3.1
DOCKER_JAVA_VERSION=25
DOCKER_NODE_VERSION=24.12.0
DOCKER_NGINX_VERSION=1.28.0-alpine
DOCKER_CADDY_VERSION=2.11-alpine
# JVM Power Flags (Lokal leer lassen, da Intel/AMD Architektur)
JVM_OPTS_ARM64=
# --- POSTGRES ---
POSTGRES_IMAGE=postgres:16-alpine
POSTGRES_SHARED_BUFFERS=256MB
POSTGRES_EFFECTIVE_CACHE_SIZE=768MB
POSTGRES_USER=pg-user
POSTGRES_PASSWORD=pg-password
POSTGRES_DB=pg-meldestelle-db
POSTGRES_PORT=5432:5432
POSTGRES_DB_URL=jdbc:postgresql://postgres:5432/pg-meldestelle-db
# --- VALKEY (formerly Redis) ---
VALKEY_IMAGE=valkey/valkey:9-alpine
VALKEY_PASSWORD=valkey-password
VALKEY_PORT=6379:6379
VALKEY_SERVER_HOSTNAME=valkey
VALKEY_SERVER_PORT=6379
VALKEY_SERVER_CONNECT_TIMEOUT=5s
VALKEY_POLICY=allkeys-lru
VALKEY_MAX_MEMORY=256MB
SPRING_DATA_VALKEY_HOST=localhost
SPRING_DATA_VALKEY_PORT=6379
SPRING_DATA_VALKEY_PASSWORD=valkey-password
# --- KEYCLOAK ---
KEYCLOAK_IMAGE_TAG=latest
KC_HEAP_MIN=512M
KC_HEAP_MAX=1024M
# Lokale Entwicklung: start-dev (kein Pre-Build nötig, kein --optimized)
# Server/Produktion: start --optimized --import-realm (nutzt das pre-built Registry-Image)
KC_COMMAND=start-dev --import-realm
# System-Admin (Master Console)
KC_BOOTSTRAP_ADMIN_USERNAME=kc-admin
KC_BOOTSTRAP_ADMIN_PASSWORD=kc-password
# Fach-Admin User Passwort (wird im Realm Import genutzt)
# Hinweis: Wenn du das hier änderst, müsstest du auch die JSON anpassen
# oder dort eine Variable nutzen.
KC_DB=postgres
KC_DB_SCHEMA=keycloak
KC_DB_URL=jdbc:postgresql://postgres:5432/pg-meldestelle-db
KC_DB_USERNAME=pg-user
KC_DB_PASSWORD=meldestelle
# Lokal: localhost | Server: echte IP oder Domain (z.B. 10.0.0.50 oder auth.meldestelle.at)
# WICHTIG: Nur den Hostnamen angeben, OHNE Port (Keycloak 26.x hostname v2)
KC_HOSTNAME=localhost
# false = Zugriff über beliebige Hostnamen erlaubt (nötig ohne TLS / für HTTP-Betrieb)
KC_HOSTNAME_STRICT=false
KC_HOSTNAME_STRICT_HTTPS=false
KC_PORT=8180:8080
KC_MANAGEMENT_PORT=9000:9000
KC_HTTP_ENABLE=true
KC_API_GATEWAY_CLIENT_SECRET=K5RqonwVOaxPKaXVH4mbthSRbjRh5tOK
# KC_POSTMAN_CLIENT_SECRET=postman-secret-123
# KC_BOOTSTRAP_ADMIN_PASSWORD=Admin#1234
KC_FRONTEND_URL=http://localhost:8180
KC_PROXY_HEADERS=xforwarded
# --- KEYCLOAK TOKEN VALIDATION ---
# Public Issuer URI (must match the token issuer from browser/postman)
# Lokal: http://localhost:8180 | Produktion: http://10.0.0.50:8180
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI=http://localhost:8180/realms/meldestelle
# Internal JWK Set URI (for service-to-service communication within Docker)
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI=http://keycloak:8080/realms/meldestelle/protocol/openid-connect/certs
# --- CONSUL ---
CONSUL_IMAGE=hashicorp/consul:1.22.1
CONSUL_PORT=8500:8500
CONSUL_UDP_PORT=8600:8600/udp
CONSUL_HOST=consul
CONSUL_HTTP_PORT=8500
SPRING_CLOUD_CONSUL_HOST=consul
SPRING_CLOUD_CONSUL_PORT=8500
SPRING_CLOUD_CONSUL_DISCOVERY_SERVICE_NAME=api-gateway
SPRING_CLOUD_CONSUL_DISCOVERY_PREFER_IP_ADDRESS=true
# --- Zipkin ---
ZIPKIN_IMAGE=openzipkin/zipkin:3
ZIPKIN_MIN_HEAP=256M
ZIPKIN_MAX_HEAP=512M
ZIPKIN_PORT=9411:9411
ZIPKIN_ENDPOINT=http://zipkin:9411/api/v2/spans
ZIPKIN_SAMPLING_PROBABILITY=1.0
# --- Mailpit ---
MAILPIT_IMAGE=axllent/mailpit:v1.29
MAILPIT_WEB_PORT=8025:8025
MAILPIT_SMTP_PORT=1025:1025
# --- PGADMIN ---
PGADMIN_IMAGE=dpage/pgadmin4:8
PGADMIN_EMAIL=meldestelle@mo-code.at
PGADMIN_PASSWORD=pgadmin
PGADMIN_PORT=8888:80
# --- POSTGRES-EXPORTER ---
POSTGRES_EXPORTER_IMAGE=prometheuscommunity/postgres-exporter:v0.18.0
# --- ALERTMANAGER ---
ALERTMANAGER_IMAGE=prom/alertmanager:v0.29.0
ALERTMANAGER_PORT=9093:9093
# --- PROMETHEUS ---
PROMETHEUS_IMAGE=prom/prometheus:v3.7.3
PROMETHEUS_PORT=9090:9090
# --- GRAFANA ---
GF_IMAGE=grafana/grafana:12.3
GF_ADMIN_USER=gf-admin
GF_ADMIN_PASSWORD=gf-password
GF_PORT=3000:3000
# --- API-GATEWAY ---
GATEWAY_PORT=8081:8081
GATEWAY_DEBUG_PORT=5005:5005
GATEWAY_SERVER_PORT=8081
GATEWAY_SPRING_PROFILES_ACTIVE=docker
GATEWAY_DEBUG=true
GATEWAY_SERVICE_NAME=api-gateway
GATEWAY_CONSUL_PREFER_IP=true
# --- PING-SERVICE ---
PING_SPRING_PROFILES_ACTIVE=docker
PING_PORT=8082:8082
PING_DEBUG_PORT=5006:5006
PING_SERVER_PORT=8082
PING_DEBUG=true
PING_SERVICE_NAME=ping-service
PING_CONSUL_PREFER_IP=true
# --- MAIL-SERVICE ---
MAIL_PORT=8083:8083
MAIL_DEBUG_PORT=5014:5014
MAIL_SERVER_PORT=8083
MAIL_SERVICE_URL=http://10.0.0.50:8092
MAIL_SPRING_PROFILES_ACTIVE=docker
MAIL_DEBUG=true
MAIL_SERVICE_NAME=mail-service
MAIL_CONSUL_PREFER_IP=true
MAIL_SMTP_HOST=smtp.world4you.com
MAIL_SMTP_PORT=587
MAIL_SMTP_USER=online-nennen@mo-code.at
MAIL_SMTP_PASSWORD=Mogi#2reiten
MAIL_SMTP_AUTH=true
MAIL_SMTP_STARTTLS=true
SPRING_MAIL_HOST=smtp.world4you.com
SPRING_MAIL_PORT=587
SPRING_MAIL_USERNAME=online-nennen@mo-code.at
SPRING_MAIL_PASSWORD=Mogi#2reiten
SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH=false
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE=false
SPRING_CLOUD_CONSUL_DISCOVERY_ENABLED=false
SPRING_CLOUD_CONSUL_ENABLED=false
MAIL_POLLING_ENABLED=false
# --- MASTERDATA-SERVICE ---
MASTERDATA_PORT=8086:8086
MASTERDATA_DEBUG_PORT=5007:5007
MASTERDATA_SERVER_PORT=8086
MASTERDATA_KTOR_PORT=8091
MASTERDATA_SPRING_PROFILES_ACTIVE=docker
MASTERDATA_DEBUG=true
MASTERDATA_SERVICE_NAME=masterdata-service
MASTERDATA_CONSUL_PREFER_IP=true
MASTERDATA_SERVICE_HOSTNAME=masterdata-service
# --- EVENTS-SERVICE ---
EVENTS_PORT=8085:8085
EVENTS_DEBUG_PORT=5008:5008
EVENTS_SERVER_PORT=8085
EVENTS_SPRING_PROFILES_ACTIVE=docker
EVENTS_DEBUG=true
EVENTS_SERVICE_NAME=events-service
EVENTS_CONSUL_PREFER_IP=true
# --- ZNS-IMPORT-SERVICE ---
ZNS_IMPORT_PORT=8095:8095
ZNS_IMPORT_DEBUG_PORT=5009:5009
ZNS_IMPORT_SERVER_PORT=8095
ZNS_IMPORT_SPRING_PROFILES_ACTIVE=docker
ZNS_IMPORT_DEBUG=true
ZNS_IMPORT_SERVICE_NAME=zns-import-service
ZNS_IMPORT_CONSUL_PREFER_IP=true
# --- RESULTS-SERVICE ---
RESULTS_PORT=8088:8088
RESULTS_DEBUG_PORT=5010:5010
RESULTS_SERVER_PORT=8088
RESULTS_SPRING_PROFILES_ACTIVE=docker
RESULTS_DEBUG=true
RESULTS_SERVICE_NAME=results-service
RESULTS_CONSUL_PREFER_IP=true
# --- BILLING-SERVICE ---
BILLING_PORT=8087:8087
BILLING_DEBUG_PORT=5012:5012
BILLING_SERVER_PORT=8087
BILLING_SPRING_PROFILES_ACTIVE=docker
BILLING_DEBUG=true
BILLING_SERVICE_NAME=billing-service
BILLING_CONSUL_PREFER_IP=true
# --- SCHEDULING-SERVICE ---
SCHEDULING_PORT=8084:8084
SCHEDULING_DEBUG_PORT=5013:5013
SCHEDULING_SERVER_PORT=8084
SCHEDULING_SPRING_PROFILES_ACTIVE=docker
SCHEDULING_DEBUG=true
SCHEDULING_SERVICE_NAME=scheduling-service
SCHEDULING_CONSUL_PREFER_IP=true
# --- SERIES-SERVICE ---
SERIES_PORT=8089:8089
SERIES_DEBUG_PORT=5011:5011
SERIES_SERVER_PORT=8089
SERIES_SPRING_PROFILES_ACTIVE=docker
SERIES_DEBUG=true
SERIES_SERVICE_NAME=series-service
SERIES_CONSUL_PREFER_IP=true
# --- WEB-APP ---
CADDY_VERSION=2.11-alpine
WEB_APP_PORT=8080:80
WEB_BUILD_PROFILE=dev
# Lokal: http://localhost:8081 | Produktion: http://10.0.0.50:8081
WEB_APP_API_URL=http://localhost:8081
WEB_APP_KEYCLOAK_URL=http://auth.mo-code.at
# --- DESKTOP-APP ---
DESKTOP_APP_VNC_PORT=5901:5901
DESKTOP_APP_NOVNC_PORT=6080:6080
+13 -2
View File
@@ -1,13 +1,24 @@
name: Desktop CI — Headless Tests & Build
on:
# Nur ausführen, wenn explizit das Desktop-Shell-Modul geändert wurde
push:
branches: [ main, master ]
paths:
- 'frontend/shells/meldestelle-desktop/**'
- '.gitea/workflows/desktop-tests.yml'
pull_request:
branches: [ main, master ]
paths:
- 'frontend/shells/meldestelle-desktop/**'
# Manuell startbar, falls benötigt
workflow_dispatch:
jobs:
desktop-tests:
# Komplett deaktivierbar über Repo-Variable: Settings → Variables → DESKTOP_CI_ENABLED=true
# Zusätzlich: Für PlanBBuilds überspringen, wenn Commit-Message [planb] enthält
if: ${{ vars.DESKTOP_CI_ENABLED == 'true' && !contains(gitea.event.head_commit.message, '[planb]') }}
name: Compose Desktop — Tests (headless) & Build
runs-on: ubuntu-latest
@@ -38,12 +49,12 @@ jobs:
- name: Show Gradle version
run: ./gradlew --version
- name: Run Desktop tests headless (Xvfb)
- name: Run Desktop tests headless (xvfb)
env:
_JAVA_OPTIONS: -Djava.awt.headless=true
run: |
sudo apt-get update -y
sudo apt-get install -y Xvfb
sudo apt-get install -y xvfb xauth
xvfb-run --auto-servernum --server-args="-screen 0 1920x1080x24" \
./gradlew :frontend:shells:meldestelle-desktop:jvmTest --stacktrace --no-daemon
+34 -46
View File
@@ -33,18 +33,11 @@ jobs:
max-parallel: 1
matrix:
include:
- service: keycloak
# Plan-B fokussiert: Nur Mail-Service + Web-App bauen/pushen (beschleunigt CI deutlich)
- service: mail-service
context: .
dockerfile: config/docker/keycloak/Dockerfile
image: keycloak
- service: api-gateway
context: .
dockerfile: backend/infrastructure/gateway/Dockerfile
image: api-gateway
- service: ping-service
context: .
dockerfile: backend/services/ping/Dockerfile
image: ping-service
dockerfile: backend/services/mail/Dockerfile
image: mail-service
- service: web-app
context: .
dockerfile: config/docker/caddy/web-app/Dockerfile
@@ -61,43 +54,42 @@ jobs:
distribution: "temurin"
cache: gradle
- name: Setup Gradle Cache
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
# Verhindert mysteriöse Build-Fehler durch korrupte Node/Kotlin-Caches (nur web-app relevant)
- name: Cleanup stale build caches
if: matrix.service == 'web-app'
run: |
rm -rf frontend/shells/meldestelle-portal/build/js/node_modules/.cache || true
rm -rf frontend/shells/meldestelle-portal/build/js/.yarn/cache || true
rm -rf ~/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable || true
- name: Build Frontend (Kotlin JS)
# --- SCHRITT 1: Build mit radikalem Clean (gegen die März-Leichen) ---
- name: Build Frontend (Wasm JS)
if: matrix.service == 'web-app'
run: |
chmod +x gradlew
./gradlew :frontend:shells:meldestelle-portal:jsBrowserDistribution \
# Löscht alte Build-Stände komplett
./gradlew :frontend:shells:meldestelle-web:clean
./gradlew :frontend:shells:meldestelle-web:wasmJsBrowserDistribution \
-Pproduction=true \
--max-workers=4 \
-Dkotlin.daemon.jvm.options="-Xmx4g"
# Pangolin-Bypass: Credentials direkt in config.json schreiben.
# Kein "docker login" → kein Daemon-Ping → kein HTTPS-Fehler.
# BuildKit liest ~/.docker/config.json und verwendet diese Credentials beim Push.
# - name: Registry-Credentials konfigurieren (kein Daemon-Kontakt)
# run: |
# mkdir -p ~/.docker
# AUTH=$(echo -n "${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_TOKEN }}" | base64 -w 0)
# printf '{"auths":{"%s":{"auth":"%s"}}}\n' "${{ env.REGISTRY_INTERNAL }}" "${AUTH}" > ~/.docker/config.json
# echo "✓ Credentials für ${{ env.REGISTRY_INTERNAL }} gespeichert"
# --- SCHRITT 2: Staging ohne rsync (Fix für dein Log-Fehler) ---
- name: Stage Web Assets for Docker build
if: matrix.service == 'web-app'
run: |
set -e
DIST_DIR="frontend/shells/meldestelle-web/build/dist/wasmJs/productionExecutable"
TARGET_DIR="config/docker/caddy/web-app/_site"
if [ ! -d "$DIST_DIR" ]; then
echo "❌ Fehler: Build-Verzeichnis nicht gefunden!"
exit 1
fi
# Ersetzt rsync durch sicheres Löschen & Kopieren
rm -rf "$TARGET_DIR"
mkdir -p "$TARGET_DIR"
cp -r "$DIST_DIR"/. "$TARGET_DIR/"
# Kopiere Turnier-Ausschreibungen (PDFs) für Plan-B
cp docs/Neumarkt2026/*.pdf "$TARGET_DIR/" || true
echo "✓ Assets für Docker vorbereitet (Stand: $(date))"
# --- SCHRITT 3: Login & BuildX ---
# NEU (sauber, nach daemon.json-Fix):
- name: Login to Gitea Registry
uses: docker/login-action@v3
@@ -122,7 +114,7 @@ jobs:
with:
images: ${{ env.REGISTRY_INTERNAL }}/${{ env.IMAGE_PREFIX }}/${{ matrix.image }}
tags: |
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
type=raw,value=latest
type=sha,format=long
- name: Build and push Docker image
@@ -137,9 +129,5 @@ jobs:
provenance: false
sbom: false
build-args: |
DOCKER_BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
BUILD_DATE=${{ github.event.head_commit.timestamp || 'unknown' }}
VERSION=${{ github.sha }}
GRADLE_VERSION=${{ env.GRADLE_VERSION }}
JAVA_VERSION=${{ env.JAVA_VERSION }}
KEYCLOAK_IMAGE_TAG=${{ env.KEYCLOAK_IMAGE_TAG }}
JVM_OPTS_APPEND=${{ env.JVM_OPTS_ARM64 }}
+2
View File
@@ -4,6 +4,8 @@ on:
branches: [ "**" ]
jobs:
no-hardcoded-versions:
# Für Plan-B-Builds überspringen: Commit-Message enthält [planb]
if: ${{ !contains(gitea.event.head_commit.message, '[planb]') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
+19 -13
View File
@@ -22,6 +22,8 @@ jobs:
# =============================================================
tag-release:
name: 🏷️ Git-Tag setzen
# Für Plan-B-Builds überspringen: Commit-Message enthält [planb]
if: ${{ !contains(gitea.event.head_commit.message, '[planb]') }}
runs-on: ubuntu-latest
outputs:
version: ${{ steps.read-version.outputs.version }}
@@ -62,7 +64,7 @@ jobs:
fi
- name: Git-Tag erstellen & pushen
if: steps.check-tag.outputs.already_tagged == 'false' && github.event.inputs.dry_run != 'true'
if: steps.check-tag.outputs.already_tagged == 'false' && gitea.event.inputs.dry_run != 'true'
run: |
TAG="${{ steps.read-version.outputs.tag }}"
VERSION="${{ steps.read-version.outputs.version }}"
@@ -77,6 +79,8 @@ jobs:
# =============================================================
package-linux:
name: 📦 Linux .deb Packaging
# Nur ausführen, wenn Desktop-CI explizit aktiviert ist UND kein PlanB Commit
if: ${{ vars.DESKTOP_CI_ENABLED == 'true' && !contains(gitea.event.head_commit.message, '[planb]') }}
runs-on: ubuntu-latest
needs: tag-release
@@ -84,11 +88,11 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Setup JDK 21 (Temurin)
- name: Setup JDK 25 (Temurin)
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
java-version: '25'
- name: Gradle cache
uses: actions/cache@v4
@@ -123,6 +127,8 @@ jobs:
# =============================================================
package-windows:
name: 📦 Windows .msi Packaging
# Nur ausführen, wenn Desktop-CI explizit aktiviert ist UND kein PlanB Commit
if: ${{ vars.DESKTOP_CI_ENABLED == 'true' && !contains(gitea.event.head_commit.message, '[planb]') }}
runs-on: windows-latest
needs: tag-release
@@ -130,11 +136,11 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Setup JDK 21 (Temurin)
- name: Setup JDK 25 (Temurin)
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
java-version: '25'
- name: Gradle cache
uses: actions/cache@v4
@@ -173,11 +179,11 @@ jobs:
steps:
- name: Summary ausgeben
run: |
echo "## 🚀 Release ${{ needs.tag-release.outputs.version }}" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| Artefakt | Status |" >> $GITHUB_STEP_SUMMARY
echo "|----------|--------|" >> $GITHUB_STEP_SUMMARY
echo "| Linux .deb | ${{ needs.package-linux.result }} |" >> $GITHUB_STEP_SUMMARY
echo "| Windows .msi | ${{ needs.package-windows.result }} |" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Git-Tag:** \`${{ needs.tag-release.outputs.tag }}\`" >> $GITHUB_STEP_SUMMARY
echo "## 🚀 Release ${{ needs.tag-release.outputs.version }}" >> $GITEA_STEP_SUMMARY
echo "" >> $GITEA_STEP_SUMMARY
echo "| Artefakt | Status |" >> $GITEA_STEP_SUMMARY
echo "|----------|--------|" >> $GITEA_STEP_SUMMARY
echo "| Linux .deb | ${{ needs.package-linux.result }} |" >> $GITEA_STEP_SUMMARY
echo "| Windows .msi | ${{ needs.package-windows.result }} |" >> $GITEA_STEP_SUMMARY
echo "" >> $GITEA_STEP_SUMMARY
echo "**Git-Tag:** \`${{ needs.tag-release.outputs.tag }}\`" >> $GITEA_STEP_SUMMARY
+58
View File
@@ -0,0 +1,58 @@
# 🐧 [DevOps Engineer] Optimierte .gitignore für Meldestelle (KMP / Gradle / Docker)
# --- IDE & Editor ---
.idea/
*.iml
*.iws
*.ipr
out/
.vscode/
.history/
.shelf/
# --- Gradle ---
.gradle/
build/
!**/src/**/build/
gradle-app.setting
!gradle-wrapper.jar
.gradletasknamecache
bin/
# --- Kotlin / KMP ---
.kotlin/
kotlin-js-store/
.jetbrains/
# --- Android (falls relevant) ---
*.ap_
*.apk
*.dex
local.properties
# --- Node / JS (Compose Web / KMP JS) ---
node_modules/
package-lock.json
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.npm/
# --- Docker & Infrastructure ---
.docker/
*.log
logs/
.env
!.env.example
.data/
postgres-data/
# --- OS Specific ---
.DS_Store
Thumbs.db
desktop.ini
# --- Project Specific ---
docs/temp/
docs/Bin/
docs/_archive/
-10
View File
@@ -1,10 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Ignored default folder with query files
/queries/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
Generated
-1
View File
@@ -1 +0,0 @@
Meldestelle
-6
View File
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AndroidProjectSystem">
<option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
</component>
</project>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="auth-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/core/auth/build/libs</output-path>
<root id="archive" name="auth-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.core.auth.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="auth-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/core/auth/build/libs</output-path>
<root id="archive" name="auth-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.core.auth.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="auth-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/core/auth/build/libs</output-path>
<root id="archive" name="auth-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.core.auth.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="billing-domain-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/billing/billing-domain/build/libs</output-path>
<root id="archive" name="billing-domain-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.billing.billing-domain.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="billing-domain-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/billing/billing-domain/build/libs</output-path>
<root id="archive" name="billing-domain-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.billing.billing-domain.jvmMain" />
</root>
</artifact>
</component>
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="billing-domain-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/billing/billing-domain/build/libs</output-path>
<root id="archive" name="billing-domain-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.billing.billing-domain.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="billing-feature-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/billing-feature/build/libs</output-path>
<root id="archive" name="billing-feature-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.billing-feature.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="billing-feature-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/billing-feature/build/libs</output-path>
<root id="archive" name="billing-feature-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.billing-feature.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="billing-feature-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/billing-feature/build/libs</output-path>
<root id="archive" name="billing-feature-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.billing-feature.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="core-domain-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/core/core-domain/build/libs</output-path>
<root id="archive" name="core-domain-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.core.core-domain.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="core-domain-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/core/core-domain/build/libs</output-path>
<root id="archive" name="core-domain-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.core.core-domain.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="core-domain-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/core/core-domain/build/libs</output-path>
<root id="archive" name="core-domain-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.core.core-domain.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="core-utils-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/core/core-utils/build/libs</output-path>
<root id="archive" name="core-utils-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.core.core-utils.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="core-utils-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/core/core-utils/build/libs</output-path>
<root id="archive" name="core-utils-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.core.core-utils.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="core-utils-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/core/core-utils/build/libs</output-path>
<root id="archive" name="core-utils-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.core.core-utils.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="design-system-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/design-system/build/libs</output-path>
<root id="archive" name="design-system-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.design-system.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="design-system-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/design-system/build/libs</output-path>
<root id="archive" name="design-system-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.design-system.jvmMain" />
</root>
</artifact>
</component>
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="design-system-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/design-system/build/libs</output-path>
<root id="archive" name="design-system-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.design-system.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="device-initialization-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/device-initialization/build/libs</output-path>
<root id="archive" name="device-initialization-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.device-initialization.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="device-initialization-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/device-initialization/build/libs</output-path>
<root id="archive" name="device-initialization-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.device-initialization.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="device-initialization-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/device-initialization/build/libs</output-path>
<root id="archive" name="device-initialization-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.device-initialization.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="domain-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/domain/build/libs</output-path>
<root id="archive" name="domain-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.domain.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="domain-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/domain/build/libs</output-path>
<root id="archive" name="domain-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.domain.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="domain-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/domain/build/libs</output-path>
<root id="archive" name="domain-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.domain.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="entries-api-js-1.0.0">
<output-path>$PROJECT_DIR$/backend/services/entries/entries-api/build/libs</output-path>
<root id="archive" name="entries-api-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.backend.services.entries.entries-api.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="entries-api-jvm-1.0.0">
<output-path>$PROJECT_DIR$/backend/services/entries/entries-api/build/libs</output-path>
<root id="archive" name="entries-api-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.backend.services.entries.entries-api.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="entries-api-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/backend/services/entries/entries-api/build/libs</output-path>
<root id="archive" name="entries-api-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.backend.services.entries.entries-api.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="entries-domain-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/entries/entries-domain/build/libs</output-path>
<root id="archive" name="entries-domain-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.entries.entries-domain.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="entries-domain-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/entries/entries-domain/build/libs</output-path>
<root id="archive" name="entries-domain-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.entries.entries-domain.jvmMain" />
</root>
</artifact>
</component>
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="entries-domain-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/entries/entries-domain/build/libs</output-path>
<root id="archive" name="entries-domain-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.entries.entries-domain.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="events-common-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/events/events-common/build/libs</output-path>
<root id="archive" name="events-common-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.events.events-common.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="events-common-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/events/events-common/build/libs</output-path>
<root id="archive" name="events-common-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.events.events-common.jvmMain" />
</root>
</artifact>
</component>
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="events-common-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/events/events-common/build/libs</output-path>
<root id="archive" name="events-common-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.events.events-common.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="funktionaer-feature-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/funktionaer-feature/build/libs</output-path>
<root id="archive" name="funktionaer-feature-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.funktionaer-feature.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="funktionaer-feature-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/funktionaer-feature/build/libs</output-path>
<root id="archive" name="funktionaer-feature-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.funktionaer-feature.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="funktionaer-feature-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/funktionaer-feature/build/libs</output-path>
<root id="archive" name="funktionaer-feature-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.funktionaer-feature.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="local-db-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/local-db/build/libs</output-path>
<root id="archive" name="local-db-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.local-db.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="local-db-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/local-db/build/libs</output-path>
<root id="archive" name="local-db-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.local-db.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="local-db-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/local-db/build/libs</output-path>
<root id="archive" name="local-db-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.local-db.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="masterdata-domain-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/masterdata/masterdata-domain/build/libs</output-path>
<root id="archive" name="masterdata-domain-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.masterdata.masterdata-domain.jsMain" />
</root>
</artifact>
</component>
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="masterdata-domain-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/masterdata/masterdata-domain/build/libs</output-path>
<root id="archive" name="masterdata-domain-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.masterdata.masterdata-domain.jvmMain" />
</root>
</artifact>
</component>
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="masterdata-domain-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/backend/services/masterdata/masterdata-domain/build/libs</output-path>
<root id="archive" name="masterdata-domain-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.backend.services.masterdata.masterdata-domain.wasmJsMain" />
</root>
</artifact>
</component>
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="meldestelle-desktop-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/shells/meldestelle-desktop/build/libs</output-path>
<root id="archive" name="meldestelle-desktop-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.shells.meldestelle-desktop.jsMain" />
</root>
</artifact>
</component>
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="meldestelle-desktop-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/shells/meldestelle-desktop/build/libs</output-path>
<root id="archive" name="meldestelle-desktop-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.shells.meldestelle-desktop.jvmMain" />
</root>
</artifact>
</component>
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="meldestelle-desktop-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/shells/meldestelle-desktop/build/libs</output-path>
<root id="archive" name="meldestelle-desktop-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.shells.meldestelle-desktop.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="meldestelle-web-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/shells/meldestelle-web/build/libs</output-path>
<root id="archive" name="meldestelle-web-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.shells.meldestelle-web.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="meldestelle-web-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/shells/meldestelle-web/build/libs</output-path>
<root id="archive" name="meldestelle-web-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.shells.meldestelle-web.jvmMain" />
</root>
</artifact>
</component>
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="meldestelle-web-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/shells/meldestelle-web/build/libs</output-path>
<root id="archive" name="meldestelle-web-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.shells.meldestelle-web.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="navigation-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/core/navigation/build/libs</output-path>
<root id="archive" name="navigation-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.core.navigation.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="navigation-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/core/navigation/build/libs</output-path>
<root id="archive" name="navigation-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.core.navigation.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="navigation-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/core/navigation/build/libs</output-path>
<root id="archive" name="navigation-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.core.navigation.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="nennung-feature-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/nennung-feature/build/libs</output-path>
<root id="archive" name="nennung-feature-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.nennung-feature.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="nennung-feature-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/nennung-feature/build/libs</output-path>
<root id="archive" name="nennung-feature-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.nennung-feature.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="nennung-feature-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/nennung-feature/build/libs</output-path>
<root id="archive" name="nennung-feature-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.nennung-feature.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="network-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/network/build/libs</output-path>
<root id="archive" name="network-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.network.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="network-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/network/build/libs</output-path>
<root id="archive" name="network-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.network.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="network-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/network/build/libs</output-path>
<root id="archive" name="network-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.network.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="pferde-feature-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/pferde-feature/build/libs</output-path>
<root id="archive" name="pferde-feature-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.pferde-feature.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="pferde-feature-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/pferde-feature/build/libs</output-path>
<root id="archive" name="pferde-feature-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.pferde-feature.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="pferde-feature-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/pferde-feature/build/libs</output-path>
<root id="archive" name="pferde-feature-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.pferde-feature.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="ping-api-js-1.0.0">
<output-path>$PROJECT_DIR$/contracts/ping-api/build/libs</output-path>
<root id="archive" name="ping-api-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.contracts.ping-api.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="ping-api-jvm-1.0.0">
<output-path>$PROJECT_DIR$/contracts/ping-api/build/libs</output-path>
<root id="archive" name="ping-api-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.contracts.ping-api.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="ping-api-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/contracts/ping-api/build/libs</output-path>
<root id="archive" name="ping-api-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.contracts.ping-api.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="ping-feature-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/ping-feature/build/libs</output-path>
<root id="archive" name="ping-feature-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.ping-feature.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="ping-feature-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/ping-feature/build/libs</output-path>
<root id="archive" name="ping-feature-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.ping-feature.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="ping-feature-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/ping-feature/build/libs</output-path>
<root id="archive" name="ping-feature-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.ping-feature.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="profile-feature-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/profile-feature/build/libs</output-path>
<root id="archive" name="profile-feature-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.profile-feature.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="profile-feature-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/profile-feature/build/libs</output-path>
<root id="archive" name="profile-feature-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.profile-feature.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="profile-feature-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/profile-feature/build/libs</output-path>
<root id="archive" name="profile-feature-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.profile-feature.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="reiter-feature-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/reiter-feature/build/libs</output-path>
<root id="archive" name="reiter-feature-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.reiter-feature.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="reiter-feature-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/reiter-feature/build/libs</output-path>
<root id="archive" name="reiter-feature-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.reiter-feature.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="reiter-feature-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/reiter-feature/build/libs</output-path>
<root id="archive" name="reiter-feature-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.reiter-feature.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="sync-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/sync/build/libs</output-path>
<root id="archive" name="sync-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.sync.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="sync-jvm-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/sync/build/libs</output-path>
<root id="archive" name="sync-jvm-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.sync.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="sync-wasm-js-1.0.0-SNAPSHOT">
<output-path>$PROJECT_DIR$/frontend/core/sync/build/libs</output-path>
<root id="archive" name="sync-wasm-js-1.0.0-SNAPSHOT.jar">
<element id="module-output" name="Meldestelle.frontend.core.sync.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="turnier-feature-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/turnier-feature/build/libs</output-path>
<root id="archive" name="turnier-feature-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.turnier-feature.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="turnier-feature-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/turnier-feature/build/libs</output-path>
<root id="archive" name="turnier-feature-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.turnier-feature.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="turnier-feature-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/turnier-feature/build/libs</output-path>
<root id="archive" name="turnier-feature-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.turnier-feature.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="veranstalter-feature-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/veranstalter-feature/build/libs</output-path>
<root id="archive" name="veranstalter-feature-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.veranstalter-feature.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="veranstalter-feature-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/veranstalter-feature/build/libs</output-path>
<root id="archive" name="veranstalter-feature-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.veranstalter-feature.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="veranstalter-feature-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/veranstalter-feature/build/libs</output-path>
<root id="archive" name="veranstalter-feature-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.veranstalter-feature.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="veranstaltung-feature-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/veranstaltung-feature/build/libs</output-path>
<root id="archive" name="veranstaltung-feature-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.veranstaltung-feature.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="veranstaltung-feature-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/veranstaltung-feature/build/libs</output-path>
<root id="archive" name="veranstaltung-feature-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.veranstaltung-feature.jvmMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="veranstaltung-feature-wasm-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/veranstaltung-feature/build/libs</output-path>
<root id="archive" name="veranstaltung-feature-wasm-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.veranstaltung-feature.wasmJsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="verein-feature-js-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/verein-feature/build/libs</output-path>
<root id="archive" name="verein-feature-js-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.verein-feature.jsMain" />
</root>
</artifact>
</component>
-8
View File
@@ -1,8 +0,0 @@
<component name="ArtifactManager">
<artifact type="jar" name="verein-feature-jvm-1.0.0">
<output-path>$PROJECT_DIR$/frontend/features/verein-feature/build/libs</output-path>
<root id="archive" name="verein-feature-jvm-1.0.0.jar">
<element id="module-output" name="Meldestelle.frontend.features.verein-feature.jvmMain" />
</root>
</artifact>
</component>

Some files were not shown because too many files have changed in this diff Show More