-
v0.6.11-rc39
Stablereleased this
2026-07-05 11:17:57 +02:00 | 13 commits to main since this releaseGET /planner/today löst jetzt automatisch eine Planung aus wenn der Tagesplan noch leer ist — kein manuelles 'Tag planen' mehr nötig. Kandidaten aus Habits, Projekten und Kalender erscheinen beim ersten Öffnen sofort.
Highlights
- PlannerService.getTodayOrPlan(): wenn keine geplanten Items für heute → planToday() automatisch ausführen
- GET /planner/today verwendet jetzt getTodayOrPlan() statt getToday()
- DayPlannerScreen: Button-Label 'Tag jetzt planen' → 'Neu planen'
- TDD: 2 neue Tests für getTodayOrPlan (Rückgabe bestehender Plan / Auto-Run bei leerem Plan)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
mrrmlab--a3fadcf.apk
0 downloads ·
2026-07-05 11:51:21 +02:00 · 152 MiB
-
v0.6.10-rc38
Stablereleased this
2026-07-04 13:31:10 +02:00 | 19 commits to main since this releaseDas Heute-Screen hat jetzt ein Schnelleingabe-Feld direkt im Header: Titel eintippen, '+' drücken — ein manueller Candidate wird sofort angelegt und in den Tagesplan eingetragen. Kein 'Tag planen' nötig für manuelle Todos.
Highlights
- API: POST /planner/quick-todo { title } → DayPlanDto (inserted as source='manual', lifecycleState='planned')
- api-client: PlannerResource.quickTodo(title)
- feature-day-planner: useQuickTodo() Hook mit optimistischem setQueryData
- DayPlannerScreen: Inline-Eingabefeld + '+'-Button im Header (web + mobile shared)
- TDD: planner.service.spec.ts — quickTodo-Beschreibung (insert + getToday-Rückgabe)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
mrrmlab--92a9cad.apk
0 downloads ·
2026-07-04 13:56:44 +02:00 · 152 MiB
-
v0.6.8-rc36
Stablereleased this
2026-07-01 07:12:40 +02:00 | 29 commits to main since this releaseTrackingDetailScreen zeigt jetzt alle zugehörigen Candidates (pending/done) mit Erledigt-Button direkt an. Neuer API-Endpunkt GET /candidates?trackingId=. Auto-Todo-Hinweistext korrigiert: 'Liste Pakete' → 'Tagesplan' (Candidates landen im Planner, nicht in einer Liste).
Highlights
- API: CandidatesService.listByTracking() + GET /candidates?trackingId=, inkl. TDD-Spec
- api-client: CandidatesResource.listByTracking() + TrackingCandidate-Typ
- feature-tracking: useTrackingCandidates() + useMarkCandidateDoneFromTracking() hooks
- TrackingDetailScreen: Todos-Sektion mit CandidateRow (title, priority, Erledigt-Button, Durchstreichung wenn done)
- Fix: Info-Box-Text 'Liste Pakete' → 'Tagesplan' (accurate: candidates go to planner, not a list)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
mrrmlab--799789d.apk
0 downloads ·
2026-07-01 07:45:53 +02:00 · 152 MiB
-
v0.6.6-rc31
Stablereleased this
2026-06-23 08:10:00 +02:00 | 52 commits to main since this releaseSchließt Issue #452: Auto-Indexing-on-Mutation ist jetzt vollständig aktiv. Der Code-Level-Wireup war seit rc30 fertig (_layout.tsx publiziert via onListSourceChange in die DataSources, IndexingService.start() subscribed beim /search-Mount). Dieses RC aktiviert den Maestro-Smoke in der Auto-Trigger-Variante: die Phase2-smoke läuft jetzt ohne manuellen 'Jetzt indexieren'-Tap und bestätigt, dass Quellen >= 1 nach einer Listenerstellung automatisch erscheint. Stale-Kommentar in search-ports.ts aktualisiert.
Highlights
- phase2-mutation-observer-smoke.yaml: Auto-Trigger-Variante — kein 'Jetzt indexieren'-Tap mehr, Quellen >= 1 erscheint automatisch nach Listenerstellung
- search-ports.ts: debugIndexAll-Kommentar auf aktuellen Stand gebracht (Wireup ist seit rc30 aktiv)
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
mrrmlab--1987d53.apk
2 downloads ·
2026-06-23 08:29:25 +02:00 · 151 MiB
-
v0.6.6-rc30
Stablereleased this
2026-06-23 07:07:22 +02:00 | 53 commits to main since this releaseVerdrahtet den initial-vector-index Background-Task (expo-task-manager) und schließt damit die KI-Foundation Phase 2 ab. Der Embedder läuft jetzt automatisch im Hintergrund, sobald das Gerät lädt und im WLAN ist — kein manueller Jetzt-indexieren-Button mehr nötig. listSourceIds gibt echte IDs zurück (Shopping-Listen + Notizen), der INITIAL_INDEX_TASK ruft indexingService.runInitialIndex() auf. DebugIndexBar-Disclaimer entfernt. Maestro phase2-mutation-observer-smoke auf deutsche UI-Strings aktualisiert. Roadmap-Bookkeeping: rc1–rc9 auf done gesetzt (waren stale-next).
Highlights
- batch-task.ts: INITIAL_INDEX_TASK — läuft maximal 1×/Tag bei Ladung+Wifi, ruft indexingService.runInitialIndex() über SearchPorts-Singleton
- search-ports.ts: listSourceIds gibt echte Shopping-Listen- und Notiz-IDs zurück (statt leere Liste)
- DebugIndexBar: Disclaimer Auto-Indexing kommt erst mit der nächsten Iteration entfernt
- Maestro phase2-mutation-observer-smoke.yaml: New list name → Listenname, Add → Hinzufügen (rc29-Regression behoben)
- roadmap.json: rc1–rc9 Bookkeeping-Lücke geschlossen (status: done)
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
mrrmlab--9bb0cc9.apk
2 downloads ·
2026-06-23 07:26:42 +02:00 · 151 MiB
-
v0.6.6-rc29
Stablereleased this
2026-06-18 00:19:09 +02:00 | 57 commits to main since this releaseSystematische UX-Analyse der App mit anschließender Behebung von 13 identifizierten Lücken in drei Prioritätsstufen. Kritisch: Löschen ohne Bestätigung (Listen + Projekte) per Alert.alert abgesichert. Mittel: Einstellungen im Mobile-Drawer zugänglich, Web-Einstellungen zeigt echten Index-Screen statt Redirect, Planner-Feedback nach 'Tag jetzt planen', Habit-Datumseingabe mit Inline-Validierung, Mail-Review Done-State mit Zurück-CTA, Mobile Listen-Screen mit Geschäfte-Link. Klein: ICS-URLs nicht mehr abgeschnitten (selectable), Habit-Schnellauswahl-Buttons (täglich/wöchentlich/monatlich), Archiv-FAB-Spacer verhindert Überlappung mit letztem Item. Alle feature-lists-UI-Strings auf Deutsch. Debug-Bar in Suche hinter DEV-Guard.
Highlights
- Alert.alert-Confirm vor Listen-Löschen ('wirklich löschen?') und Projekt-Löschen (inkl. Schritte-Anzahl im Text) — kein unbeabsichtigtes Datenverlust mehr
- Mobile Drawer: Einstellungen-Eintrag in NAV_ITEMS — bisher nur über Profil-Icon erreichbar
- Web /einstellungen: echter Index-Screen mit allen Kategorien statt Redirect auf /einstellungen/mail
- Day-Planner: Statuszeile nach 'Tag jetzt planen' zeigt 'X Einträge geplant' / 'Keine Candidates verfügbar'
- Habits: Inline-Fehlermeldung bei ungültigem Datum/Intervall + Preset-Buttons Täglich/Wöchentlich/Monatlich
- feature-lists: alle englischen UI-Strings auf Deutsch (Listenname, Hinzufügen, Einkaufen/Notizen, Aufgabentitel, Fälligkeitsdatum, Niedrig/Hoch, Speichern/Abbrechen)
- Mobile Suche: DebugIndexBar hinter DEV-Guard (war in Release-APKs sichtbar)
- Archiv: FlatList-Footer-Spacer (88px) verhindert FAB-Überlappung; Kalender-URL selectable statt abgeschnitten
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
-
mrrmlab--4e7c555.apk
3 downloads ·
2026-06-18 00:37:34 +02:00 · 151 MiB
-
v0.6.6-rc28
Stablereleased this
2026-06-16 12:44:53 +02:00 | 63 commits to main since this releasePhase 3 von Epic #360 (Projekte als Candidate-Source). Mehrstufige Vorhaben mit geordneten Schritten werden zu Candidates mit linearer dependsOn-Chain — der Planner v1-DAG (rc26) sorgt dafür, dass Schritt N+1 erst nach Schritt N geplant wird. Im Unterschied zu Habits ist die Spawn-Logik nicht zeitgesteuert: Beim Anlegen eines Projekts werden alle Step-Candidates synchron geschrieben, kein Cron nötig. Damit ist die rule-based-Source-Sammlung (Tracking, Calendar, Habits, Projects) vollständig — verbleibende Sources Mail→Candidate (#178) und Planner v2 (LLM) sitzen beide hinter Epic #122 (KI-Foundation).
Highlights
- shared-types: projectSchema, projectStepSchema, createProjectRequestSchema, updateProjectRequestSchema — Single-Source-of-Truth-Contract
- api-client: ProjectsResource mit list/create/update/delete + 5 Tests (inkl. Schema-Drift-Guard analog rc22-Lehrlauf)
- API: projects-Tabelle (id, ownerSub, title, steps JSONB, archivedAt); ProjectCandidateWriterService spawnt Candidates synchron beim Create, idempotent via (ownerSub, source, sourceRef)-Unique-Constraint
- dependsOn-Chain: Step i abhängig von Candidate(Step i-1) — Planner v1 stellt Reihenfolge sicher; Conflict-Lookup hält die Chain auch beim Re-Spawn intakt
- feature-day-planner: ProjectsSettingsScreen (Tamagui cross-platform, multiline-Steps-Textarea) + 4 TanStack-Query-Hooks (useProjects/useCreateProject/useUpdateProject/useDeleteProject)
- Web /einstellungen/projekte + Sidebar-Eintrag 'Projekte'; Mobile einstellungen/projekte.tsx + Drawer-Index-Eintrag
- Tests: 13 neue Unit-Tests (ProjectsService 8 + Writer 5), 5 neue Integration-Tests (POST→Candidates+dependsOn-Chain, archive/restore, delete, validation), 5 api-client-Tests — alle grün
- v1-UI-Out-of-Scope (Folge): Inline-Step-Edit, Step-Hinzufügen-Nach-Create, Per-Step-Duration-UI, geplante-vs-archivierte-Sektionen
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
-
mrrmlab--3b0b72a.apk
1 download ·
2026-06-16 13:12:38 +02:00 · 151 MiB
-
v0.6.6-rc27
Stablereleased this
2026-06-16 07:54:17 +02:00 | 66 commits to main since this releaseSchließt Phase 4 von Epic #360. Das Backend war seit ein paar Sprints fertig — habits-Tabelle, HabitsService/-Controller, HabitCandidateWriter, HabitSpawnerCron (stündlich) erzeugen Candidates aus due Habits. Was fehlte: UI zum Anlegen/Verwalten. rc27 schließt analog rc25 (Calendar Settings) die Lücke mit Einstellungen→Routinen (Web + Mobile).
Highlights
- shared-types: habitSchema, createHabitRequestSchema, updateHabitRequestSchema — Single-Source-of-Truth-Contract
- api-client: HabitsResource mit list/create/update/delete + 5 Tests (inkl. Schema-Drift-Guard wie rc22-Lehrlauf)
- feature-day-planner: HabitsSettingsScreen (Tamagui cross-platform) + 3 TanStack-Query-Hooks (useHabits/useCreateHabit/useDeleteHabit)
- Web /einstellungen/habits + Sidebar-Eintrag 'Routinen'; Mobile einstellungen/habits.tsx + Drawer-Index-Eintrag
- v1-UI-Out-of-Scope (Folge): Inline-Edit, RRULE-UI, Streak-Anzeige
- Damit ist Phase 4 von #360 vollständig — Habits sind jetzt als regulär nutzbare Candidate-Source verfügbar
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads
-
mrrmlab--a1fcd80.apk
2 downloads ·
2026-06-16 08:17:46 +02:00 · 151 MiB
-
v0.6.6-rc26
Stablereleased this
2026-06-16 07:02:45 +02:00 | 71 commits to main since this releaseErste Erweiterung über das v0-Heuristik-Niveau hinaus: Der Slot-Planner respektiert jetzt das dependsOn[]-Feld der Candidates. Bisher wurde es vom Schema gepflegt (Phase 1) aber vom Planner ignoriert — Abhängigkeiten wie 'Paket-Benachrichtigung lesen vor Postpaket abholen' wurden zufallsbasiert geplant. rc26 implementiert Kahn-Topologische-Sortierung mit Generationen, Zyklen-Erkennung (alle Beteiligten → overflow, kein Deadlock) und Cascade-Overflow (overflow-Dep ⇒ dependent-Candidate auch overflow). Externe Deps (already done, nicht im pending-Pool) werden als erfüllt behandelt. Innerhalb einer Generation greift die unveränderte v0-Logik: Location-Bucket + Priority-Sort + Event-Skip.
Highlights
- slot-plan.ts: Neue topoGenerations(candidates) liefert dependency-geordnete Generationen + cycle-Member-Liste
- Kahn's Algorithmus: nur Deps INTO inputSet zählen — Deps auf bereits done/obsolete-Candidates (außerhalb pending-Pool) automatisch als satisfied gewertet
- Cascade-Overflow: wenn ein Dep wegen latestAt/Tagesende overflow wird, geht der Dependent ebenfalls in overflow (Set-Tracking via overflowIds)
- Cycle-Detection: was nach Kahn übrig bleibt = Zyklus-Member → overflow, kein Crash, kein Deadlock
- 5 neue slot-plan.spec.ts Tests (dependsOn ordering reverse-of-id-sort, transitive c→b→a, cascade overflow, externe Deps, Cycle-Detection); 17/17 grün; alle 464 API-Tests grün
- v1-Out-of-Scope (Folge-Issues): Habit-Context (braucht Habit-Source = Phase 4), plannedAfter/Before (Planner-Output kein -Input), Transit-Time zwischen Buckets, Time-of-Day Affinity
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
3 downloads
-
mrrmlab--efc1970.apk
2 downloads ·
2026-06-16 07:26:15 +02:00 · 151 MiB
-
v0.6.6-rc25
Stablereleased this
2026-06-15 21:47:45 +02:00 | 76 commits to main since this releaseLetzte offene Phase-5-Folgearbeit aus dem rc20-MVP: Der /heute-Screen kann seit rc20 Kalender-Events anzeigen, aber bisher gab es keine UI um einen ICS-Feed einzuhängen — nur per API-Direktcall möglich. rc25 schließt die Setup-Lücke mit einem Einstellungen→Kalender-Screen (Web + Mobile), der bestehende Feeds listet, Name+URL eingibt, manuell synct und entfernt. Backend (CalendarService + CalendarSyncService + 15-Min-Cron) war seit rc20 fertig. Damit ist Phase 5 vollständig: Empty-State (rc21), Re-Plan-Fix (rc21), Refresh-on-Focus (rc21), Hotfix Schema-Drift (rc23), Mark-Done (rc24), Kalender-Sync-Setup (rc25).
Highlights
- shared-types: calendarSubscriptionSchema, createCalendarSubscriptionRequestSchema, syncCalendarSubscriptionResponseSchema — Single-Source-of-Truth-Contract
- api-client: CalendarResource mit list/create/patch/delete/sync + 5 Tests (inkl. Schema-Drift-Guard analog rc22-Lehrlauf)
- feature-day-planner: CalendarSettingsScreen (Tamagui, cross-platform) + 4 TanStack-Query-Hooks; Invalidiert dayPlanner.today() bei Sync/Delete damit /heute sofort aktualisiert
- Web /einstellungen/kalender + Sidebar-Eintrag; Mobile einstellungen/kalender.tsx + Drawer-Einstellungen-Index-Eintrag
- Empty-State auf /heute bekommt dritten CTA 'Kalender verbinden' → /einstellungen/kalender (analog zu Mail/Todo aus rc21)
- ICS-URL-Only Scope; OAuth/Outlook explizit out-of-scope für späteres Refinement
Downloads
-
Source code (ZIP)
3 downloads
-
Source code (TAR.GZ)
2 downloads
-
mrrmlab--99f15c1.apk
2 downloads ·
2026-06-15 22:11:15 +02:00 · 151 MiB