You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v1.10.0: Editor Overhaul, Share / Export & Sync Reliability
New Features:
- Share & Export from editor: Share as Text, Share as PDF, Export to Calendar
- Expandable FAB speed-dial menu with staggered spring animation
- Delete note from editor with timed undo snackbar
- Batch server deletion with DELETING phase and progress banner
- Adaptive layouts for tablets & landscape (720 dp / 600 dp caps)
- Undo/Redo in note editor (50-step stack, debounced snapshots)
- Configurable WebDAV connection timeout (1–30 s slider)
- Markdown auto-sync timeout protection (10 s, optimistic toggle)
- Save on Back Navigation (saves dirty notes when autosave is on)
Bug Fixes:
- Download progress now determinate (DOWNLOADING + Markdown import)
- FGS timeout on Android 15+ (ensureActive checkpoints)
- WorkManager quota/standby stops now surfaced in banner
- Overflow menu anchored correctly to ⋮ button
- Pre-heading content no longer lost during Markdown import
- Checklist autosave triggered correctly on all item changes
- Minimal scroll when adding new checklist items
- False autosave on checklist cursor tap prevented
- Undo to saved state resets isDirty and cancels autosave
- Foreign non-note JSON files filtered before download
- Note count strings use proper Android plural forms
Documentation:
- README (EN + DE) updated to v1.10.0 with new highlights
- FEATURES (EN + DE) updated with v1.10.0 editor features
- CHANGELOG (EN + DE) updated with full feature descriptions
Special Thanks:
- @james0336 for requesting PDF export <3
- @GitNichtGibtsNicht for requesting autosave on back <3
Großes Release mit PDF-Export, Text- und Kalender-Teilen, überarbeitetem FAB-Menü, Löschen aus dem Editor mit Rückgängig, Batch-Serverlöschung mit Fortschrittsanzeige, adaptiven Tablet-Layouts, WorkManager-Zuverlässigkeitsverbesserungen und echten deterministischen Fortschrittsbalken für alle Sync-Phasen.
16
+
17
+
### ✨ Neue Features
18
+
19
+
**Teilen & Exportieren aus dem Editor** ([e2b9f79](https://github.com/inventory69/simple-notes-sync/commit/e2b9f79), [2aca873](https://github.com/inventory69/simple-notes-sync/commit/2aca873), [57c4e96](https://github.com/inventory69/simple-notes-sync/commit/57c4e96)) _(Danke an [@james0336](https://github.com/james0336) für den PDF-Export-Wunsch!)_
20
+
- Neues Überlaufmenü (⋮) in der Editor-Toolbar: Als Text teilen, Als PDF teilen, In Kalender exportieren
21
+
- PDF nativ über `PdfDocument`-API erstellt — keine Drittanbieter-Bibliothek erforderlich
22
+
- Teilen via `FileProvider` für sichere Freigabe mit beliebigen PDF-Viewern
23
+
- Kalender-Export füllt Titel, ganztägiges Startdatum (heute) und Notizinhalt als Beschreibung vor
- Aktivierung von Markdown-Auto-Sync hat jetzt einen 10-s-Timeout für den initialen Export
61
+
- UI-Toggle aktualisiert optimistisch und kehrt bei Fehler oder Timeout zurück
62
+
- Verhindert, dass der Einstellungs-Screen bei unerreichbaren Servern hängt
63
+
64
+
**Speichern beim Zurücknavigieren** ([402382c](https://github.com/inventory69/simple-notes-sync/commit/402382c)) _(Danke an [@GitNichtGibtsNicht](https://github.com/GitNichtGibtsNicht) für den Autosave-beim-Zurück-Wunsch!)_
65
+
- Ungespeicherte Notizen werden beim Verlassen des Editors automatisch gespeichert (System-Zurück + Toolbar-Zurück)
66
+
- Nur aktiv wenn Autosave aktiviert ist; synchrones Speichern ohne Sync auszulösen
67
+
- Autosave-Toggle-Beschreibung erwähnt jetzt dieses Verhalten
68
+
69
+
### 🐛 Fehlerbehebungen
70
+
71
+
**Download-Fortschritt immer indeterminate** ([c83aae3](https://github.com/inventory69/simple-notes-sync/commit/c83aae3))
72
+
-`ParallelDownloader` trackte `abgeschlossen / gesamt` intern korrekt, aber `syncNotes()` hat `total = 0` hardcodiert
73
+
- Behoben: `total` wird jetzt korrekt weitergegeben → DOWNLOADING-Phase zeigt einen echten `LinearProgressIndicator`
74
+
-`importMarkdownFiles()` meldet jetzt ebenfalls Datei-für-Datei-Fortschritt: Banner zeigt `X / Y dateiname.md` mit determiniertem Balken
75
+
76
+
**FGS-Timeout auf Android 15+** ([1e6eb64](https://github.com/inventory69/simple-notes-sync/commit/1e6eb64))
77
+
-`ensureActive()`-Checkpoints in der Download-Schleife und beim Markdown-Import von `WebDavSyncService` hinzugefügt, damit Coroutines bei WorkManager-Abbruch auf targetSdk 35+ sofort reagieren
78
+
-`CancellationException`-Handler in `SyncWorker` loggt jetzt den Stop-Grund (API 31+)
79
+
80
+
**WorkManager-Quota / Standby-Stops nicht sichtbar** ([3d66a19](https://github.com/inventory69/simple-notes-sync/commit/3d66a19))
81
+
- Detailliertes Stop-Reason-Logging: 16 WorkManager-Stop-Codes auf lesbare Namen gemappt
82
+
- Wenn ein Sync durch JobScheduler-Quota oder App-Standby gestoppt wird, erscheint beim nächsten App-Start ein Info-Banner
83
+
84
+
**Konsistente Position des Editor-Überlaufmenüs** ([242ece3](https://github.com/inventory69/simple-notes-sync/commit/242ece3))
85
+
- Überlaufmenü (⋮) ist jetzt am `⋮`-Button verankert, auch bei Checklisten-Notizen
86
+
- Zuvor war das Menü an der äußeren Actions-`Row` verankert und erschien bei Checklisten zu weit links
87
+
88
+
**Markdown-Import: Inhalt vor Überschrift verloren** ([e33ac23](https://github.com/inventory69/simple-notes-sync/commit/e33ac23))
89
+
- Inhalt vor dem ersten `#`-Heading wurde beim Markdown-Import still verworfen
90
+
- Checklisten-Erkennung verbessert: mehr Item-Muster werden jetzt erkannt
91
+
92
+
**Checklisten-Autosave nicht bei Item-Änderungen ausgelöst** ([5401df3](https://github.com/inventory69/simple-notes-sync/commit/5401df3))
93
+
- Löschen, Hinzufügen und Verschieben von Checklisten-Items markiert die Notiz jetzt korrekt als geändert und löst Autosave aus
94
+
95
+
**Minimales Scrollen beim Hinzufügen neuer Checklisten-Items** ([c2fbe0b](https://github.com/inventory69/simple-notes-sync/commit/c2fbe0b))
96
+
- Neue Checklisten-Items scrollen nur so weit, dass das Item sichtbar wird, statt zur Listenoberseite zu springen
97
+
98
+
**Falsches Autosave beim Tippen in Checkliste** ([9ea7089](https://github.com/inventory69/simple-notes-sync/commit/9ea7089))
99
+
- Antippen eines Checklisten-Items zum Platzieren des Cursors löst kein falsches Autosave mehr aus
100
+
- No-Op-Guards in `updateChecklistItemText()` und `updateChecklistItemChecked()`
101
+
102
+
**Undo auf Originalzustand löste trotzdem Autosave aus** ([cf5027b](https://github.com/inventory69/simple-notes-sync/commit/cf5027b))
103
+
- Rückgängig-Machen aller Änderungen zum letzten Speicherzustand setzt `isDirty` jetzt korrekt zurück und bricht das ausstehende Autosave ab
104
+
- Neues `savedSnapshot`-Property erfasst den Zustand beim Laden und nach jedem expliziten Speichern
Major release adding PDF export, text and calendar sharing, a redesigned FAB menu, delete-from-editor with undo, batch server deletion with progress, adaptive tablet layouts, WorkManager reliability improvements, and real determinate progress bars for all sync phases.
16
+
17
+
### ✨ New Features
18
+
19
+
**Share & Export from Editor** ([e2b9f79](https://github.com/inventory69/simple-notes-sync/commit/e2b9f79), [2aca873](https://github.com/inventory69/simple-notes-sync/commit/2aca873), [57c4e96](https://github.com/inventory69/simple-notes-sync/commit/57c4e96)) _(Thanks to [@james0336](https://github.com/james0336) for requesting PDF export!)_
20
+
- New overflow menu (⋮) in the editor toolbar: Share as Text, Share as PDF, Export to Calendar
21
+
- PDF generated natively via `PdfDocument` API — no third-party library required
22
+
- Shared via `FileProvider` for secure, permission-free sharing with any PDF viewer
23
+
- Calendar export pre-fills title, all-day start date (today), and note content as description
24
+
25
+
**Expandable FAB Menu** ([85d68c4](https://github.com/inventory69/simple-notes-sync/commit/85d68c4), [61788e3](https://github.com/inventory69/simple-notes-sync/commit/61788e3))
26
+
- FAB replaced with an expanding speed-dial: tap `+` to reveal animated sub-action buttons for Text Note and Checklist
27
+
-`+` icon rotates to `×` when expanded; sub-actions slide in with staggered spring animation
28
+
- Transparent dismiss overlay closes the menu on outside tap
29
+
- Sub-action buttons and label pills use `secondaryContainer` colour, forming a visual unit
30
+
- Stronger shadow elevation (8–10 dp) ensures the FAB visually floats above note cards in both light and dark theme
31
+
32
+
**Delete Note from Editor with Undo** ([f3fd806](https://github.com/inventory69/simple-notes-sync/commit/f3fd806))
33
+
- Delete action moved from a blocking dialog to a bottom sheet confirmation
34
+
- After confirming, the editor closes and the main screen shows a timed undo snackbar
35
+
- Undo restores the note from the deleted state and cancels any scheduled server deletion
36
+
37
+
**Batch Server Deletion with Progress** ([39a873f](https://github.com/inventory69/simple-notes-sync/commit/39a873f))
38
+
- New `DELETING` sync phase shown in the banner when deleting multiple notes from the server
39
+
- Progress bar shows `current / total` with the current note title
40
+
- Phase transitions smoothly to `COMPLETED` with a result message
41
+
42
+
**Adaptive Layouts for Tablets & Landscape** ([a117cbe](https://github.com/inventory69/simple-notes-sync/commit/a117cbe))
43
+
- Editor content capped at 720 dp width, centred on wide screens
44
+
- Settings screens capped at 600 dp width, centred
45
+
- Main screen grid uses `Adaptive(180 dp)` columns — more columns appear automatically on tablets and in landscape
46
+
- Prepares for Android 16 (targetSdk 36) which ignores `screenOrientation` locks on displays ≥ 600 dp
47
+
48
+
**Undo/Redo in Note Editor** ([484bf3a](https://github.com/inventory69/simple-notes-sync/commit/484bf3a))
49
+
- Full undo/redo support for text notes and checklists via toolbar buttons
50
+
- Debounced snapshots: rapid keystrokes grouped into a single undo step (500 ms window)
51
+
- Stack limited to 50 entries; cleared on note switch to prevent cross-note undo
52
+
- Restoring a snapshot correctly updates the cursor position
- Enabling Markdown auto-sync now has a 10 s timeout for the initial export
61
+
- UI toggle updates optimistically and reverts if the export fails or times out
62
+
- Prevents the Settings screen from hanging on unreachable servers
63
+
64
+
**Save on Back Navigation** ([402382c](https://github.com/inventory69/simple-notes-sync/commit/402382c)) _(Thanks to [@GitNichtGibtsNicht](https://github.com/GitNichtGibtsNicht) for requesting autosave on back!)_
65
+
- Dirty notes are saved automatically when navigating back from the editor (system back + toolbar back)
66
+
- Only active when autosave is enabled; synchronous save without triggering sync
67
+
- Autosave toggle description updated to mention this behaviour
- Fixed: `total` is now passed through → DOWNLOADING phase shows a real `LinearProgressIndicator`
74
+
-`importMarkdownFiles()` also reports per-file progress: banner shows `X / Y filename.md` with a determinate bar
75
+
76
+
**FGS Timeout on Android 15+** ([1e6eb64](https://github.com/inventory69/simple-notes-sync/commit/1e6eb64))
77
+
- Added `ensureActive()` checkpoints in `WebDavSyncService` download loop and markdown import so coroutines respond promptly to WorkManager cancellation on targetSdk 35+
78
+
-`CancellationException` handler in `SyncWorker` now logs the stop reason (API 31+)
79
+
80
+
**WorkManager Quota / Standby Stops Not Surfaced** ([3d66a19](https://github.com/inventory69/simple-notes-sync/commit/3d66a19))
0 commit comments