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
Till JS 09963498fd fix: unused try?-Resultat in setSyncConsent (Warnung)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 16:35:41 +02:00
devlog devlog: Repo-Historie nachgezogen (spieler+macher) 2026-06-16 01:44:32 +02:00
Sources/ManaEventSync fix: unused try?-Resultat in setSyncConsent (Warnung) 2026-06-23 16:35:41 +02:00
Tests/ManaEventSyncTests Cloud-Sync-Opt-in-Gate (Art. 25) — Parität zur Web-App 2026-06-23 16:09:25 +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 release v0.10.0 — Cloud-Sync-Opt-in-Gate 2026-06-23 16:14:14 +02:00
CLAUDE.md mana statt »e.V.«: Schweizer Verein (kein Store-Release, nur Quelltext-Korrektur) 2026-06-17 20:32:28 +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 mana statt »e.V.«: Schweizer Verein (kein Store-Release, nur Quelltext-Korrektur) 2026-06-17 20:32:28 +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-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