-
v0.6.6-rc4
Stablereleased this
2026-06-07 01:37:45 +02:00 | 166 commits to main since this releaseFolge-RC zu rc3: nachdem rc3 auf dem Gerät 0 Chunks AND 0 Fehler meldete, hängt höchstwahrscheinlich der Embedder still beim Modell-Download (~120 MB ONNX) oder beim Laden. rc4 routet den embeddingService-Lifecycle (idle / downloading N% / loading / ready / error) durch einen neuen EmbedderStatusPort an die Debug-Bar, damit man auf dem Gerät genau sieht wo es klemmt.
Highlights
- feat(search): EmbedderStatusPort an SearchPorts (#122) — Debug-Bar zeigt jetzt 'embedder: downloading 47%' / 'ready' / 'error: …' und entlarvt damit silent failures, die in der Release-APK sonst unsichtbar bleiben (Hermes strippt console).
- Lazy-Native-Boundary bleibt intakt: die Route importiert embeddingService nicht direkt, sondern bekommt nur den Port — vitest fasst onnxruntime-react-native weiterhin nie an.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads
-
mrrmlab--9468ce3.apk
7 downloads ·
2026-06-07 01:53:55 +02:00 · 151 MiB
-
v0.6.6-rc3
Stablereleased this
2026-06-06 23:22:10 +02:00 | 168 commits to main since this releaseFolge-RC zu rc2: nachdem der Debug-Indexier-Button erfolgreich Events publisht, die Suche aber leer bleibt, ergänzt rc3 in der gelben Debug-Bar einen Counter (Chunks indexed) + Fehler-Anzeige (last error). Notwendig weil Release-APKs Hermes-console.log strippen und logcat damit blind ist — ohne diese Bar gibt es keinerlei On-Device-Sichtbarkeit für Embedder- oder Vector-Store-Failures.
Highlights
- feat(search): Debug-Bar abonniert ports.indexing.onProgress (#122) — running totals für chunk-indexed + error events, plus letzte Fehlermeldung mit sourceType-Präfix.
- Reine Diagnose-Iteration: keine Logik-Änderung an Embedder / IndexingService / VectorStore. Wird mit rc-Cleanup vor dem Phase-1-Final entfernt.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
mrrmlab--8cbea0b.apk
1 download ·
2026-06-06 23:38:12 +02:00 · 151 MiB
-
v0.6.6-rc2
Stablereleased this
2026-06-06 19:08:48 +02:00 | 172 commits to main since this releaseFolge-RC zu rc1: ergänzt einen temporären Debug-Button auf der Suche-Route, der für alle Shopping-Listen und Notizen des Users 'created'-Events in die IndexingService-Queue feuert. Notwendig weil der api-client noch keine Mutation-Observer-Hooks publisht (kommt als Task B / Folge-PR) — ohne diesen Button bleibt der Index auf einem echten Gerät leer und das Stack-Wireup lässt sich nicht validieren.
Highlights
- feat(search): Debug-Index-Button (#122) — gelbe Bar oberhalb der Suche-Eingabe; ruft ports.debugIndexAll() auf und meldet, wie viele Listen/Notizen in die Queue gewandert sind.
- search-ports erweitert um debugIndexAll() — fächert publish('created') über ShoppingListDataSource und NoteDataSource auf; Mail bleibt ausgeklammert bis #438 die sourceId-Enumeration löst.
- Wird mit der ordentlichen Mutation-Observer-Wireup-Iteration (Task B, Folge-PR gegen #122) entfernt — bis dahin auf jedem Device-Test-Build sichtbar.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
mrrmlab--c9dbccc.apk
1 download ·
2026-06-06 19:25:34 +02:00 · 151 MiB
-
v0.6.6-rc1
Stablereleased this
2026-06-06 18:01:37 +02:00 | 174 commits to main since this releaseErste verdrahtete Vorabversion von Phase 1 der KI-Foundation (#122): on-device Embedding-Modell + sqlite-vec + Background-Indexing + Suche-UI. Reiner Device-Test-Build — vor Merge nach main muss der Physical-Device-Pass laut apps/mobile/docs/ai-foundation-verification.md grün sein.
Highlights
- feat(ai): Phase-1-Wireup (#122, PR #444) — verdrahtet EmbeddingService + VectorStore + DataSourceRegistry + IndexingService hinter der Suche-Route; native Bindings (op-sqlite + onnxruntime) werden lazy beim Route-Render konstruiert.
- Sub-Issues #439–#443 abgeschlossen: multilingual-e5-small on-device, sqlite-vec via op-sqlite, IDataSource-Adapter für Mails/Listen/Notizen, IndexingService mit Hash-Dedup + Backoff, Suche-UI mit Filter-Chips + Privacy-Hinweis.
- Initial-Index-Backfill bewusst noch deaktiviert — wartet auf den
Ladung + Wifi-Trigger (#438); RC1 indiziert ausschließlich inkrementell auf jede Mutation.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
mrrmlab--1728f15.apk
7 downloads ·
2026-06-06 18:23:15 +02:00 · 151 MiB
-
v0.6.5
Stablereleased this
2026-06-03 01:53:04 +02:00 | 188 commits to main since this releaseLint-Konfiguration vereinheitlicht: alle 11 Workspaces nutzen jetzt das gleiche @mrrmlab/config Flat-Config-Preset (base/node/react). CI lintet wieder das gesamte Monorepo statt nur api + shared-types.
Highlights
- chore(lint): ESLint v9 Flat-Config in feature-lists, feature-shopping-list, feature-tracking, ui, api-client, auth, mobile (#409) — 7 neue eslint.config.mjs, alle dünn (re-export aus @mrrmlab/config) — kein eigenes Regelwerk pro Paket.
- Aufgesammelte Lint-Errors gefixt: ungenutzte Imports (Spinner, z, storeSchema, TagChip), unescaped Quotes in JSX (5x), useless escape im Regex, leere Interface-Augmentation (tamagui.config), import()-Type-Annotation in mail/hooks.
- .drone.yml lint-Step linst jetzt alle Pakete (entfernter --filter), shared-types/api eslint.config.js → .mjs gegen MODULE_TYPELESS-Warnings.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads
-
mrrmlab--4d0391c.apk
5 downloads ·
2026-06-03 02:13:43 +02:00 · 149 MiB
-
v0.6.4
Stablereleased this
2026-06-02 01:04:40 +02:00 | 192 commits to main since this releaseVor parseText sieht der User die von ML Kit erkannten Zeilen-Boxen auf dem Foto und kann sie kuratieren: einzelne Boxen ignorieren, zwei zu einer mergen, fehlende Boxen per '+' selbst aufziehen oder bestehende per Drag-Handles in Größe/Position anpassen. Re-OCR läuft automatisch nur auf den geänderten oder neu erzeugten Boxen.
Highlights
- feat(ocr): Lines-Review-Screen zwischen ML Kit und Review (#327) — Tap = ignore, Long-press = Edit-Modus mit 4 Resize-Handles + Verschieben per Body-Drag, Toolbar mit Aktivieren/Mit-mergen/Löschen, '+ Box' für fehlende Zeilen.
- Pure line-curation Modul (apps/mobile/src/services/line-curation.ts) — fromOcrLines / toggleIgnore / mergeLines / resizeLine / createLine / deleteLine + dirty-Tracking; 17 Vitest-Cases.
- crop-math: imageRectToContainer als Inverse von containerToImageRect (für Box-Positionierung im Container-Space) — 11 Tests.
- Re-OCR via ML Kit auf jeder dirty Box (neu/resized/merged) vor parseText, fällt auf Originaltext zurück wenn nichts erkannt wird.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
mrrmlab--33559dd.apk
6 downloads ·
2026-06-02 01:38:26 +02:00 · 149 MiB
-
v0.6.3
Stablereleased this
2026-05-31 02:28:07 +02:00 | 194 commits to main since this releaseDer User kann vor der Analyse einen Rahmen über das Foto ziehen, um nur den Zettel-Bereich an die OCR zu geben. Tischrand, Hintergrund und Nachbar-Zettel landen nicht mehr im ML-Kit-Input — saubere Erkennung ohne Cluster-Filter-Heuristik als Krücke.
Highlights
- feat(ocr): Pre-Crop-UI im Image-Preview (#326) — vier Eck-Handles auf Reanimated SharedValues + Gesture-Handler, dimmed Maske außerhalb des Rahmens, axis-aligned Rechteck mit MIN_RECT=40 und Bounds-Clamping.
- Pure Crop-Math als testbares Modul (apps/mobile/src/services/crop-math.ts) mit 10 Vitest-Cases für computeDisplayedImage / containerToImageRect / clampRectInImage / isFullImageRect.
- Crop wird vor ML-Kit und Server-OCR via expo-image-manipulator angewendet; bei Rotation wird der Rahmen zurückgesetzt.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
mrrmlab--e75b40b.apk
5 downloads ·
2026-05-31 02:57:23 +02:00 · 149 MiB
-
v0.6.2
Stablereleased this
2026-05-29 13:36:07 +02:00 | 196 commits to main since this releaseBei abgelaufenem ID-Token zeigt die App keine alten Daten mehr an, sondern landet zuverlässig auf dem Login. Vorher: API gab korrekt 401 zurück, aber TanStack Query behielt die gecachten Listen, sodass der User trotz fehlender Auth weiter Daten sah.
Highlights
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
mrrmlab--45f841b.apk
6 downloads ·
2026-05-29 16:39:18 +02:00 · 149 MiB
-
Source code (ZIP)
-
v0.6.1
Stablereleased this
2026-05-29 00:02:25 +02:00 | 199 commits to main since this releaseManuelle OCR-Korrektur wird einfacher: jedes erkannte Item zeigt im Review-Screen den dazugehörigen Bildausschnitt seiner handschriftlichen Zeile. Branding-Spalten (Logos, Footer) werden automatisch aus dem ML-Kit-Output gefiltert, bevor parseText läuft.
Highlights
- feat(ocr): per-line crops + main-cluster filter (#428) — pro ML-Kit-Zeile ein eigener Bild-Crop via expo-image-manipulator; filterToMainCluster() splittet Zeilen nach X-Position und behält nur den Cluster mit größter vertikaler Ausdehnung.
- Folge-UX als #427 dokumentiert: User markiert Listenbereich vor OCR (Pre-Crop-Rechteck).
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
mrrmlab--e7f7658.apk
6 downloads ·
2026-05-29 00:33:35 +02:00 · 149 MiB
-
v0.6.0
Stablereleased this
2026-05-28 19:30:10 +02:00 | 202 commits to main since this releaseTexterkennung läuft jetzt komplett on-device über Google ML Kit Text Recognition v2 (Latin Script). Bilder verlassen das Gerät nicht mehr, Erkennung erfolgt sofort ohne API-Call. Server-OCR (EasyOCR) bleibt als Backup verfügbar.
Highlights
- feat(ocr): on-device OCR via Google ML Kit Text Recognition v2 (#423, #424) — ML-Kit-Modell ~20 MB on-demand über Google Play Services, kein APK-Bloat, Inferenz lokal.
- feat(ocr): ML-Kit-Integration in den Image-Preview-Flow (#425, #426) — mlkit/de als Default-Modell, neuer POST /lists/parse-text Endpoint wiederverwendet History-Fuzzy-Match auf erkanntem Text.
- Pivot weg von TrOCR-handwritten (#421/#422 verworfen) — IAM-Korpus-Bias machte das Modell unbrauchbar für deutsche Handschrift.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
mrrmlab--48dc3fc.apk
8 downloads ·
2026-05-28 19:59:02 +02:00 · 149 MiB