Pageta für iOS, iPadOS und macOS (SwiftUI) — Lese-App ohne Algorithmus, Werbung und Tracking. AGPL-3.0. Spiegel des Vereins mana.
Find a file
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
devlog devlog: Repo-Historie nachgezogen (spieler+macher) 2026-06-16 01:16:21 +02:00
scripts Pfade: ~/Documents/Code → ~/Developer 2026-09-22 20:58:32 +02:00
ShareExtension Tabs umbenannt: Lese-Liste → Stapel, Markierungen → Marker 2026-06-01 01:04:14 +02:00
ShareExtensionMac Tabs umbenannt: Lese-Liste → Stapel, Markierungen → Marker 2026-06-01 01:04:14 +02:00
Sources fix(marke): Verein-Domain auf mana.how 2026-08-02 00:03:15 +02:00
Tests/UnitTests feat: ArticleMediaArchived-Mirror + archivierte Vorschaubilder (Liste + Reader-Header) 2026-07-14 18:52:17 +02:00
Widgets/PagetaWidget chore: ITSAppUsesNonExemptEncryption=false in Info.plist + project.yml 2026-05-19 13:02:36 +02:00
.gitignore π-0: Repo-Skelett (SwiftUI Universal, ManaAuthGate-Login, paper-Theme) 2026-05-18 14:59:58 +02:00
.swiftformat π-0: Repo-Skelett (SwiftUI Universal, ManaAuthGate-Login, paper-Theme) 2026-05-18 14:59:58 +02:00
CHANGELOG.md design(lese-liste): gestickter Abschnitt auf Navbar-Titelhöhe 2026-05-29 21:51:53 +02:00
CLAUDE.md mana statt »e.V.«: Schweizer Verein (kein Store-Release, nur Quelltext-Korrektur) 2026-06-17 20:32:06 +02:00
COPYRIGHT Quelloffnung: AGPL-Lizenz, COPYRIGHT, README mit Erwartungssatz 2026-09-30 13:23:59 +02:00
LICENSE Quelloffnung: AGPL-Lizenz, COPYRIGHT, README mit Erwartungssatz 2026-09-30 13:23:59 +02:00
project.yml build(ios): mana-swift-Lib-Pfade nach Bucket-Umzug auf ../../../libs/ korrigieren 2026-06-17 18:15:58 +02:00
README.md Quelloffnung: AGPL-Lizenz, COPYRIGHT, README mit Erwartungssatz 2026-09-30 13:23:59 +02:00
STATUS.md docs: Sortier-Fehler im Event-Log behoben — TestFlight-Release ausstehend 2026-07-27 16:46:42 +02:00

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).