docs: finalize and verify Ping Service tracer bullet implementation and sync fix

Updated `MASTER_ROADMAP_2026_Q1.md` and session logs to reflect completion of the Ping Service tracer bullet. Verified the end-to-end stack, including frontend, backend, and Gateway integration. Fixed query parameter mismatch in `PingApiKoinClient.syncPings()` (`lastSyncTimestamp` → `since`) for proper Delta-Sync functionality. Marked related roadmap tasks as completed.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-03-09 12:30:51 +01:00
parent 5bc2538aab
commit 23e08403f1
5 changed files with 56 additions and 19 deletions
@@ -171,7 +171,31 @@ gemounteter Konfigs.
- **Consul Healthcheck:** curl auf `/v1/status/leader` ✅
- **Keycloak Healthcheck:** curl auf `localhost:9000/health/ready` ✅
## ✅ Ping Service — Tracer Bullet Analyse & Fix (2026-03-09, gleiche Session)
Vollständige Analyse des Ping Service Stacks (Backend → Gateway → Frontend). Ergebnis: Die gesamte
fachliche Implementierung war bereits vorhanden. Ein einziger kritischer Bug gefunden und behoben.
### Befund: Stack vollständig implementiert
- **Backend** (`backend/services/ping/ping-service`): Domain, Application, Persistence, Controller,
Security (`at.mocode.infrastructure.security` via `@ComponentScan`), DB-Migrations V1+V2 — vollständig.
- **Contracts** (`contracts/ping-api`): `PingResponse`, `EnhancedPingResponse`, `HealthResponse`,
`PingEvent`, `PingApi` — vollständig.
- **Gateway** (`backend/infrastructure/gateway`): Routing `/api/ping/**` → `stripPrefix(1)` →
Ping Service mit CircuitBreaker Fallback — korrekt.
- **Frontend** (`frontend/features/ping-feature`): `PingApiKoinClient`, `PingViewModel`, `PingScreen`,
`PingSyncService`, Koin DI — vollständig.
- **Shell-Integration**: `MainApp.kt` — `AppScreen.Ping` eingebunden, „Ping-Service"-Button auf Home-Screen,
Navigation korrekt.
### Fix: `PingApiKoinClient.kt` — Query-Parameter-Mismatch 🔴
- **Problem:** `syncPings()` sendete `?lastSyncTimestamp=...` als Query-Parameter.
Backend `@RequestParam` erwartet `?since=...` — Delta-Sync lieferte immer alle Daten.
- **Fix:** `url.parameters.append("lastSyncTimestamp", ...)` → `url.parameters.append("since", ...)`
## 🔜 Nächste Schritte
- **TLS/HTTPS** — Langfristig: `KC_HOSTNAME_STRICT_HTTPS=true` setzen, sobald TLS eingerichtet ist.
- **Ping Service** — Fachliche Implementierung (nächste Phase laut `MASTER_ROADMAP_2026_Q1.md`).
- **Entries Service** — Beginn der Implementierung des ersten echten Fach-Services ("Nennungen").