Mitwirken
Wie dieses Wiki gepflegt wird, was noch offen ist, und der Abgleich zwischen den Einstellungen im Code und im Wiki.
Grundsätze
- Quelle der Wahrheit ist der Code, nicht die Erinnerung: die Einstellungs-Definitionen in
App/Shared/Views/Settings/SettingsGuide.swift(SettingsGuide.all) und die Erklärtexte inApp/Shared/Localizable.xcstrings(settings.info.*,settings.*). Standardwerte stammen aus den*Preference-Dateien undUserDefaults-Schlüsseln. Steht etwas nicht im Code, steht es nicht im Wiki – es kommt in die Liste «Offen». - Stand: Tag
release-1.0.2-bedienung(Commitf0ed668). Ändert sich die App, zuerst den neuen Stand lesen, dann das Wiki. - Sprache: Hochdeutsch mit Schweizer Schreibweise (ss statt ß), Du-Form, kurze Sätze, kein Fachwort ohne Erklärung (siehe Glossar).
- Neutral: keine Anbieternamen, keine echten Sendernamen (Beispiele aus dem Demo-Katalog: «Nordkanal», «Sportwelt»), keine Preise, keine Aussagen zu Testphase oder Abo-Konditionen, keine Werbeaussagen («lagfrei», «besser als»). Keine Zahlen aus dem Regelwerk, die die App nicht selbst anzeigt.
- Bilder nur aus
Docs/release-1.0.2/screens/undApp/Tests/SnapshotTests/__Snapshots__/des Quellcodes, kopiert nachimages/. Keine neuen Screenshots von Hand.
Aufbau einer Einstellung
Jede Einstellung steht genau einmal, auf der Unterseite ihres Bereichs, mit einem unsichtbaren Anker direkt unter der Überschrift:
### Name wie in der App (English name)
<!-- setting: bereich.schlüssel -->
- **Wo:** Bereich · Plattformen
- **Was es tut:** 2–3 Sätze, der Erklärsatz der App in «Guillemets»
- **Standard:** aus dem Code belegt
- **Optionen:** je Option Vorteil und Nachteil
- **Wann ändern:** …
- **Was es kostet:** Akku, Verzögerung zu live, Datenvolumen, Speicher
- **Wirkt zusammen mit:** Verweise
Der Anker <!-- setting: … --> trägt den Schlüssel aus SettingsGuide.swift. Die Prüfung unten zählt diese Anker.
Links und Anker
Forgejo bildet Überschriften-Anker so: Kleinbuchstaben, jede Folge von Zeichen, die weder Buchstabe, Ziffer noch Unterstrich sind, wird ein Bindestrich, am Anfang und Ende keine Bindestriche. Umlaute bleiben. Beispiel: «Reserve gegen Aussetzer (Reserve against dropouts)» → #reserve-gegen-aussetzer-reserve-against-dropouts. Seitenlinks ohne .md, in der Form [Text](Seitenname#anker).
Prüfen vor dem Push
Im Wiki-Repo liegen zwei Skripte unter tools/:
NEVERLAG_SRC=~/neverlag-wiki-src python3 tools/check_settings.py --table # 64 = 64, keine doppelt
python3 tools/check_links.py # Seiten, Anker, Bilder
check_settings.py --table erzeugt die Abgleichliste unten neu. Beide müssen ohne Befund durchlaufen. Danach Commit und git push origin main; die Seitenzahl lässt sich über die API bestätigen: GET /api/v1/repos/haris/Neverlag/wiki/pages.
Eine Seite ändern
- Quellkopie auf den gewünschten Stand bringen (
git -C ~/neverlag-wiki-src checkout <tag>). - Den Erklärtext der App lesen (
settings.info.<id>inLocalizable.xcstrings) und den Standardwert im Code suchen. - Seite ändern; Name der Einstellung exakt wie in der App, Englisch in Klammern.
- Prüfskripte, Commit mit sprechender Nachricht, Push.
- Was nicht belegbar ist: hier unter «Offen» eintragen, nicht raten.
Offen
Punkte, die aus den Quellen nicht eindeutig belegbar waren oder bei denen Quellen einander widersprechen. Wer es klärt, trägt die Antwort ein und streicht den Punkt.
- FAQ-Umfang: Der Auftrag nennt 27 Fragen,
Web/src/i18n/faq/de.tsenthält 34. Das Wiki übernimmt alle 34. - 4K kommt von selbst zurück? Die Website-FAQ («Kommt 4K von selbst zurück?», «Warum bin ich plötzlich auf 1080p?», «… wenn mein Anbieter drosselt?») beschreibt eine automatische Rückkehr nach einigen Minuten. Das Regelwerk 1.0.2 sagt «Nie automatisch hoch»; die tiefere Stufe gilt je Sender höchstens 30 Minuten, hoch jederzeit per Knopf. Das Wiki folgt dem Regelwerk; die Website-Texte wären anzupassen.
- Website-FAQ «stabilster Player» nennt andere Player beim Namen; das Wiki lässt die Namen weg.
- Autoplay (nächste Episode von selbst) ist im Code nicht vorhanden; im Wiki so vermerkt. Falls gewünscht: Funktion, nicht Wiki.
- Bevorzugte Tonsprache (immer Deutsch) gibt es im Stand
release-1.0.2-bedienungnicht; die Spurwahl gilt je Wiedergabe. - Weiterschauen bei Aufnahmen: Eine gespeicherte Position für Aufnahmen ist in den Texten nicht belegt (nur für Filme und Serien). Nicht behauptet.
- Zählung der Einstellungen:
Docs/release-1.0.2/einstellungen-uebersicht.mdführt 61 Einträge inklusive U2 «Tour: Player und Bild» (about.tourPlayer);SettingsGuide.allenthält 64 (ohneabout.tourPlayer, dafür mitabout.hintsundabout.hintsResetaus Session 3c sowie den Bild-II-Schaltern). Massgeblich ist der Code; die Übersicht wäre nachzuführen. - Android / Fire TV: Die Spalte in Plattform-Unterschiede stützt sich auf
Docs/android-parity.md(Stand je Zeile dort datiert), nicht auf einen Lauf der App. Kindersicherung, NAS, Pairing-Senden, Erststart-Hinweis, Bewerten/Feedback und Tour sind dort als fehlend oder nachzuziehen geführt. - Gerätemessungen Bild II: Laut Bericht sind drei Entscheide offen, bis am echten iPhone gemessen ist: «120 Hz für Video» behalten, Standardmodus endgültig, Vorgabe der Bewegungsglättung. Das Wiki nennt die heutigen Standardwerte (an / aus).
- Apple TV 4K mit HDR: Die Website-FAQ nennt Bildverluste bei 4K-HDR als bekannte Grenze («wir arbeiten daran»). Ob der «Neue Renderer» das in 1.0.2 löst, ist in den Berichten nicht als abgeschlossen belegt.
- Reserve-Deckel je Gerät (85 s auf iPhone und Apple TV 4K, 60 s auf Apple TV HD, 40 s bei knappem Speicher) stammen aus dem Bericht Paket 2a; die App zeigt den erreichbaren Wert selbst. Bei neuen Geräteklassen prüfen.
- Bilder: Für Filme und Serien, die Kindersicherungs-Dialoge, Timeshift auf iPhone/iPad und den Netzwerktest gibt es keine Referenzbilder; die Seiten kommen ohne aus.
- Mac-Sprungleiste: Verhalten auf dem Mac (Leiste mit Anfang/Ende oder einfache Liste) ist je Fenstergrösse unterschiedlich; im Wiki nur grob beschrieben.
- Preise und Testphase: Bewusst nicht im Wiki, auch wo die Website sie nennt.
Abgleich: Einstellungen im Code vs. im Wiki
Stand release-1.0.2-bedienung: 64 Einstellungen im Code, 64 im Wiki, jede genau einmal. Erzeugt mit tools/check_settings.py --table.
| Nr. | Schlüssel im Code | Bereich | Name in der App | Wiki-Seite | Stand |
|---|---|---|---|---|---|
| 1 | provider.addXtream | provider | Xtream-Zugang hinzufügen … | Einstellungen-Anbieter | ✓ |
| 2 | provider.addM3U | provider | M3U-Playlist hinzufügen … | Einstellungen-Anbieter | ✓ |
| 3 | provider.sendQR | provider | An Apple TV senden (QR-Code scannen) … | Einstellungen-Anbieter | ✓ |
| 4 | provider.refreshInterval | provider | Automatisch aktualisieren | Einstellungen-Anbieter | ✓ |
| 5 | provider.refreshCatalog | provider | Katalog jetzt aktualisieren | Einstellungen-Anbieter | ✓ |
| 6 | provider.refreshEPG | provider | EPG jetzt aktualisieren | Einstellungen-Anbieter | ✓ |
| 7 | provider.loadDetails | provider | Filmdetails nachladen | Einstellungen-Anbieter | ✓ |
| 8 | provider.manageGroups | provider | Gruppen verwalten & neu laden … | Einstellungen-Anbieter | ✓ |
| 9 | provider.sendToTV | provider | An Apple TV senden … | Einstellungen-Anbieter | ✓ |
| 10 | provider.remove | provider | Anbieter entfernen | Einstellungen-Anbieter | ✓ |
| 11 | categories.show | provider | Kategorien anzeigen | Einstellungen-Anbieter | ✓ |
| 12 | categories.manage | provider | Kategorien verwalten | Einstellungen-Anbieter | ✓ |
| 13 | categories.sortAZ | provider | Alphabetisch sortieren (A–Z) | Einstellungen-Anbieter | ✓ |
| 14 | categories.reset | provider | Zurücksetzen | Einstellungen-Anbieter | ✓ |
| 15 | backup.export | provider | Sicherung exportieren … | Einstellungen-Anbieter | ✓ |
| 16 | backup.import | provider | Sicherung importieren … | Einstellungen-Anbieter | ✓ |
| 17 | tags.manage | provider | Tags verwalten … | Einstellungen-Anbieter | ✓ |
| 18 | epg.assignment | provider | EPG-Zuordnung … | Einstellungen-Anbieter | ✓ |
| 19 | appearance | playback | Erscheinungsbild | Einstellungen-Wiedergabe | ✓ |
| 20 | renderer | playback | Neuer Renderer | Einstellungen-Wiedergabe | ✓ |
| 21 | startQuality | playback | Bevorzugte Startqualität | Einstellungen-Wiedergabe | ✓ |
| 22 | frameTiming | playback | Bildtakt | Einstellungen-Wiedergabe | ✓ |
| 23 | matchFrameRate | playback | Bildwiederholrate an Sendung anpassen | Einstellungen-Wiedergabe | ✓ |
| 24 | highRefreshRate | playback | 120 Hz für Video | Einstellungen-Wiedergabe | ✓ |
| 25 | motionSmoothing | playback | Bewegungsglättung | Einstellungen-Wiedergabe | ✓ |
| 26 | timeshift.disk | playback | Timeshift auf Platte | Einstellungen-Wiedergabe | ✓ |
| 27 | timeshift.window | playback | Rückspulfenster | Einstellungen-Wiedergabe | ✓ |
| 28 | leadHold | playback | Vorrat vor dem ersten Bild | Einstellungen-Wiedergabe | ✓ |
| 29 | reserve | playback | Reserve gegen Aussetzer | Einstellungen-Wiedergabe | ✓ |
| 30 | relay | playback | Wiedergabe über lokalen Empfänger | Einstellungen-Wiedergabe | ✓ |
| 31 | relay.adaptiveRate | playback | Wiedergabe an die Leitung anpassen | Einstellungen-Wiedergabe | ✓ |
| 32 | relay.controller | playback | Controller entscheidet | Einstellungen-Wiedergabe | ✓ |
| 33 | recordings.destination | recordings | Aufnahmeziel | Einstellungen-Aufnahmen | ✓ |
| 34 | recordings.chooseFolder | recordings | Ordner wählen … | Einstellungen-Aufnahmen | ✓ |
| 35 | recordings.defaultFolder | recordings | Standardordner verwenden | Einstellungen-Aufnahmen | ✓ |
| 36 | recordings.nasSetup | recordings | Netzwerkspeicher einrichten … | Einstellungen-Aufnahmen | ✓ |
| 37 | recordings.nasTransfer | recordings | Auf Apple TV übertragen … | Einstellungen-Aufnahmen | ✓ |
| 38 | recordings.paddingBefore | recordings | Vorlauf | Einstellungen-Aufnahmen | ✓ |
| 39 | recordings.paddingAfter | recordings | Nachlauf | Einstellungen-Aufnahmen | ✓ |
| 40 | parental.enabled | parental | Kindersicherung | Einstellungen-Kindersicherung | ✓ |
| 41 | parental.changePIN | parental | PIN ändern … | Einstellungen-Kindersicherung | ✓ |
| 42 | parental.relock | parental | Jetzt wieder sperren | Einstellungen-Kindersicherung | ✓ |
| 43 | parental.lockCategories | parental | Kategorien sperren | Einstellungen-Kindersicherung | ✓ |
| 44 | parental.lockChannels | parental | Kanal suchen und sperren | Einstellungen-Kindersicherung | ✓ |
| 45 | parental.unlockAll | parental | Alle Kanalsperren aufheben | Einstellungen-Kindersicherung | ✓ |
| 46 | subscription.start | subscription | Abo starten | Einstellungen-Abo | ✓ |
| 47 | subscription.manage | subscription | Abo verwalten | Einstellungen-Abo | ✓ |
| 48 | subscription.restore | subscription | Kauf wiederherstellen | Einstellungen-Abo | ✓ |
| 49 | subscription.terms | subscription | Nutzungsbedingungen | Einstellungen-Abo | ✓ |
| 50 | subscription.privacy | subscription | Datenschutz | Einstellungen-Abo | ✓ |
| 51 | diagnostics.overview | diagnostics | Diagnose & Status | Einstellungen-Diagnose | ✓ |
| 52 | diagnostics.history | diagnostics | Verlauf | Einstellungen-Diagnose | ✓ |
| 53 | diagnostics.networkTest | diagnostics | Netzwerktest | Einstellungen-Diagnose | ✓ |
| 54 | diagnostics.journalShare | diagnostics | Journal teilen | Einstellungen-Diagnose | ✓ |
| 55 | diagnostics.journalDelete | diagnostics | Journal löschen | Einstellungen-Diagnose | ✓ |
| 56 | language | language | Sprache | Einstellungen-Sprache | ✓ |
| 57 | about.tour | about | Tour durch die App | Einstellungen-Ueber | ✓ |
| 58 | about.hints | about | Hinweise anzeigen | Einstellungen-Ueber | ✓ |
| 59 | about.hintsReset | about | Alle Hinweise zurücksetzen | Einstellungen-Ueber | ✓ |
| 60 | about.notice | about | Player, kein Anbieter — der Hinweis | Einstellungen-Ueber | ✓ |
| 61 | about.rate | about | Neverlag bewerten | Einstellungen-Ueber | ✓ |
| 62 | about.feedback | about | Feedback senden | Einstellungen-Ueber | ✓ |
| 63 | about.privacyPolicy | about | Datenschutzerklärung | Einstellungen-Ueber | ✓ |
| 64 | about.licenses | about | Open-Source-Lizenzen | Einstellungen-Ueber | ✓ |