ONC-10: M9 – Automatik, Mobile, Login Flow #21
Loading…
Reference in a new issue
No description provided.
Delete branch "issue/10/m9-automatik-mobile-login-flow"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #10
Ticket: #10
Änderungen
src/sync/scheduler.ts, rein): Start (2 s nach Layout), Intervall, Debounce nach Änderungen, Vordergrund (höchstens alle 30 s). Neue SettingssyncIntervalMinutes,syncOnStartup,syncOnSave,syncOnSaveDebounceSec(+ UI, DE/EN).SyncController; manuelle Anfrage gewinnt. Auto-Läufe still: kein Dialog, Rückfragen zurückgestellt, Notices nur bei Warnung/Fehler und ohne Wiederholung;AuthError/ApiChangedpausieren sie.src/api/loginFlow.ts, Button in den Einstellungen): Origin-Prüfung von Login-URL und Poll-Endpoint, Warten auf Timer oder App-Resume, nur https, Abbruch beim Schließen.throttledPersist.ts): nurcreatelazy (≤ 1×/s), Flush am Ende/Abbruch.docs/manual-test.md, README,docs/api-notes.md, PLAN §7.1/§10.2/§14/§17.Getestete Akzeptanzkriterien
docs/manual-test.md) auf iOS und Android bestanden — steht aus (Checkliste liegt vor, nicht vom Agent auf Geräten prüfbar)npm run build,lint,test,test:intgrün; PLAN §17 aktualisiert — lokal gemessen (siehe unten)Gate a) Tests
Baseline vor Implementierung: grün (build, lint 0 Fehler, 1769 Unit-, 81 Integrationstests).
npm testnpm run test:int(Docker-Testserver)Kein CI-Check abgefragt; alle Zahlen sind lokal gemessen.
Neue Tests: Scheduler (Start/Intervall/Debounce/Foreground), Controller-Mutex (Re-Run, Auto-Stille, Pause, Dedup, Dialoge, Dirty-Requeue, Warteschlange), Login Flow (Origin-Angriffe, Poll, Timeout, Abbruch, 5xx), gedrosseltes Speichern (inkl. Flush bei Abbruch), Settings-Validierung, Rename/Trash-Unterdrückung. Mutationsproben an Pause, Dedup, Requeue und Warteschlangen-Typ schlugen erwartungsgemäß fehl.
tests/integration/performance.test.ts: 500 Seiten, Erstsync 135 s (133 State-Schreibzugriffe statt ≥ 500), Leerlauf-Sync 2,6 s (Limit < 5 s, localhost).Nicht verifiziert: Login Flow gegen echten Server und Geräteverhalten (
requestUrl-Redirects,window.openiOS, Gerätename); iOS/Android allgemein. Coverage wird im Projekt nicht gemessen.Bekannte rote Tests /
@Ignore: keine.Hinweis: Der Performance-Test löscht seine Collective endgültig – im Papierkorb verlangsamten 500 Seiten alle Folgetests massiv (Pull-Test 20 s → 15 min).
Gate b) Lint und statische Analyse
npm run lintnpm run buildGate c) Code-Review (agentseitige Aussage)
Durchgeführt von: Phil (Code-Review), Nils (Security-Review), beide als Opus-Agent.
Befunde: 14 gesamt — 13 behoben, 1 bewusst offen.
Offen: Nils-Hinweis 5 (serverseitige Löschungen laufen auch in Auto-Läufen ohne Massenlösch-Schwelle; nur unveränderte Dateien, in den Obsidian-Papierkorb, wiederherstellbar) — ggf. M10.
Gate d) Abweichungen von der Story (agentseitige Aussage)
modify+ Debounce; Installation per BRAT oder manuell (docs/manual-test.md§0).Story-Kommentar: siehe Kommentar am Issue #10.
Version
entfällt — keine Versionierung im Projekt, die dieser Skill pflegen dürfte (
package.jsonbleibt bis M10 auf 0.1.0).🤖 Generated with Claude Code