feat(core+frontend): add P2P sync infrastructure with WebSocket support
- **Core Updates:** - Implemented `P2pSyncService` interface with platform-specific WebSocket implementations (`JvmP2pSyncService` and no-op for JS). - Developed `SyncEvent` sealed class hierarchy to handle peer synchronization events (e.g., `PingEvent`, `PongEvent`, `DataChangedEvent`, etc.). - **Frontend Integration:** - Introduced `SyncManager` to manage peer discovery and synchronization, coupled with `NetworkDiscoveryService`. - Updated dependency injection to include `syncModule` for platform-specific sync service initialization. - Enhanced `BewerbViewModel` to support new sync capabilities, including observing sync events and UI updates for connected peers. - **Backend Enhancements:** - Added ZNS-specific fields (`zns_nummer`, `zns_abteilung`) to Bewerb table for idempotent imports. - Introduced import ZNS logic to handle duplicates and align with SyncManager updates. - **UI Improvements:** - Enhanced `TurnierBewerbeTab` with updated dialogs (ZNS imports, sync status) and dynamic previews. - Improved network syncing feedback and error handling in frontend components. - **DB Changes:** - Added migration for new column fields in the Bewerb table with relevant indexing for ZNS import optimizations.
This commit is contained in:
+9
@@ -0,0 +1,9 @@
|
||||
-- V7: ZNS-spezifische Felder für Bewerbe zur Vermeidung von Duplikaten beim Import
|
||||
-- Context: Phase 8 – ZNS Importer Erweiterung
|
||||
|
||||
ALTER TABLE bewerbe
|
||||
ADD COLUMN IF NOT EXISTS zns_nummer INTEGER NULL,
|
||||
ADD COLUMN IF NOT EXISTS zns_abteilung INTEGER NULL;
|
||||
|
||||
-- Index für schnelles Nachschlagen beim Import
|
||||
CREATE INDEX IF NOT EXISTS idx_bewerbe_zns_ref ON bewerbe(turnier_id, zns_nummer, zns_abteilung);
|
||||
Reference in New Issue
Block a user