Geteilte native Event-Sourcing-Sync-Lib (Counterpart zu @mana/event-sync). Local-First mit Anonymous-Mode + Claim. — Apache-2.0, Spiegel des Vereins mana.
Find a file
2026-06-16 18:34:29 +02:00
devlog devlog: Repo-Historie nachgezogen (spieler+macher) 2026-06-16 01:44:32 +02:00
Sources/ManaEventSync feat: EventSyncEngine.shredScope — App-API für Mandant-Lösch-UX (A3, v0.7.0) 2026-06-16 18:34:29 +02:00
Tests/ManaEventSyncTests feat(engine): Decrypt-Failures sichtbar statt Silent-Skip 2026-06-10 21:52:37 +02:00
.gitignore feat: ManaEventSync E-4.0–E-4.2 — geteilte native Event-Sync-Lib 2026-05-25 12:39:59 +02:00
.swiftformat feat: ManaEventSync E-4.0–E-4.2 — geteilte native Event-Sync-Lib 2026-05-25 12:39:59 +02:00
.swiftlint.yml chore(lint): swiftlint --strict sauber (0 Violations) 2026-05-25 15:49:48 +02:00
CHANGELOG.md feat: EventSyncEngine.shredScope — App-API für Mandant-Lösch-UX (A3, v0.7.0) 2026-06-16 18:34:29 +02:00
CLAUDE.md feat: ManaEventSync E-4.0–E-4.2 — geteilte native Event-Sync-Lib 2026-05-25 12:39:59 +02:00
Package.swift feat: ManaEventSync E-4.0–E-4.2 — geteilte native Event-Sync-Lib 2026-05-25 12:39:59 +02:00
README.md feat: ManaEventSync E-4.0–E-4.2 — geteilte native Event-Sync-Lib 2026-05-25 12:39:59 +02:00

mana-swift-event-sync

ManaEventSync — der native Swift-Counterpart zu @mana/event-sync. Eine geteilte Event-Sourcing-Sync-Bibliothek für alle nativen mana-e.V.-Apps: lokaler Event-Log + Projektion, Outbox, HTTP/WebSocket- Sync gegen mana-sync (sync2.mana.how), optionale Payload-Crypto und Local-First mit Anonymous-Mode + Claim bei Login.

Vereinheitlicht die zuvor zweimal von Hand gebaute Plumbing aus pageta-native und nutriphi-native.

Was die App liefert, was die Lib liefert

  • Lib (ManaEventSync): Wire-Format (EventEnvelope), EventStorage (SwiftData), SyncHTTPClient + optionaler SyncWSClient, optionale CryptoProvider/VaultClient, die EventSyncEngine mit Anonymous- Identität + signIn-Claim.
  • App: ihre Domäne — Payload-Typen, State-Projektionen, Reducer und ein dünner Coordinator, der engine.makeEnvelope/emit/events(forAggregate:) nutzt.

Stand

Siehe CHANGELOG.md. Plan + Phasen: ../mana/docs/playbooks/MANA_SWIFT_EVENT_SYNC.md.

Lokal

swift build
swift test