pageta-native/README.md
Till JS f13b460217 Quelloffnung: AGPL-Lizenz, COPYRIGHT, README mit Erwartungssatz
Prüfliste QUELLOEFFNUNG.md §5: Geheimnis-Sweep über die ganze Historie
sauber, nie eine Signier-/Keystore-/Google-Konfigurationsdatei im Baum,
keine Privat-Marker, nur eigene Medien. README sagt ehrlich, dass Bauen
heute die noch nicht offenen mana-Bibliotheken braucht.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 13:23:59 +02:00

4.4 KiB

pageta-native

Native SwiftUI Universal-App (iOS + iPadOS + macOS) für Pageta, die Reader-App des Vereins mana

Bundle: ev.mana.pageta · Team: QP3GLU8PH3 · Backend: api.pageta.com · Auth: auth.mana.how.

⚠️ Bauen gelingt heute nur mit den mana-Swift-Bibliotheken (mana-swift-core, -event-sync, -ui, -llm) als Schwester-Ordner — die liegen noch nicht offen — und einem Apple-Developer-Konto. Den Code lesen und prüfen kannst du vollständig; ihn ohne Weiteres selbst bauen noch nicht. Zur Laufzeit braucht die App die mana-Plattform (Anmeldung, Sync).

Status

Feature-komplett (π-0..π-9 + π-11), TestFlight offen. Voll ausgebaute Universal-App: Feed, Lese-Liste, nativer Reader mit Highlights/Notizen, Markierungen-Tab, Recherche, Konto (inkl. In-App- Account-Löschung), ShareExtension + Widget. Local-first über Event-Sourcing (sync2.mana.how), Feed/Extract-Preview HTTP-only.

Build-Stand (2026-05-29, Xcode 26.3): macOS ✅, iOS Device/Archive ✅ — TestFlight nicht blockiert. Nur der iOS-Simulator-Build ist gebrochen (simulator-spezifische MLX-Macro-Arch-Kollision auf Apple Silicon → auf Device/„My Mac" entwickeln). Details in STATUS.md. Offen bleibt π-10 (ASC + TestFlight-Upload).

Vollständiger Plan + Phasen-Historie: STATUS.md · mana/docs/playbooks/PAGETA_NATIVE_GREENFIELD.md.

Lokal entwickeln

Voraussetzungen:

  • Xcode 16+
  • mana-swift-core + mana-swift-ui als Schwester-Repos ausgecheckt unter ../mana-swift-core und ../mana-swift-ui
  • Apple-Developer-Account mit Team QP3GLU8PH3-Mitgliedschaft
  • XcodeGen (brew install xcodegen)
./scripts/xcodegen             # → PagetaNative.xcodeproj (mit macOS-Share-Patch)
./scripts/build-icon.sh        # → AppIcon-PNGs (1024+512) aus SVG
open PagetaNative.xcodeproj
# Cmd+R im Simulator (iOS oder macOS)

Der scripts/xcodegen-Wrapper umgeht einen XcodeGen-Bug, durch den platformFilter: macOS fälschlich als maccatalyst in die pbxproj geschrieben wird. Ohne den Patch wird die macOS-Share-Extension nicht ins App-Bundle embeddet.

Icon-Regeneration ist nur nötig wenn sich das SVG in ../pageta/apps/web/static/icon-512.svg ändert. Das Script nimmt rsvg-convert (Homebrew librsvg) wenn vorhanden, sonst qlmanage (macOS built-in Fallback).

Apple-Dev-Portal-Pre-Conditions

Vor erstem TestFlight-Build registrieren:

  • Bundle-IDs:
    • ev.mana.pageta (Main App)
    • ev.mana.pageta.widget (kommt mit π-7)
    • ev.mana.pageta.share (kommt mit π-6)
  • App-Group group.ev.mana.pageta
  • Capabilities: Associated Domains, App Groups, Keychain Sharing

Cross-Repo-Doks

Für Mitlesende

Dieses Repo gehört zum Ökosystem von mana und liegt offen, damit andere es lesen, einordnen und als Grundlage nutzen können — das spart Arbeit, egal ob ein Mensch oder ein Modell davorsitzt.

Was du erwarten darfst: den Code so, wie er tatsächlich in Gebrauch ist, unter AGPL-3.0-or-later. Keine Attrappe, kein zurechtgeschnittener Auszug — samt seiner Geschichte. Die Querverweise auf ../mana/… und ../mana-swift-* zeigen auf Repos, die noch nicht offen sind.

Was du nicht erwarten darfst: Support, Antwortzeiten, Zusagen zur Abwärtskompatibilität oder die Übernahme von Änderungswünschen. Fehlermeldungen sind willkommen (am schnellsten über den Feedback-Knopf auf pageta.com), eine Antwort ist nicht zugesagt.

Fork ist ausdrücklich erlaubt und oft der schnellere Weg als zu warten. Wer die App verändert und als Dienst anbietet, legt seine Änderungen offen — das verlangt die AGPL (§13).