docs(v1.8.1): comprehensive metadata & documentation update for F-Droid release
Complete overhaul of all metadata and documentation for v1.8.1: F-Droid Critical: - Fix broken umlauts in de-DE/10.txt changelog (für, hinzugefügt, aufgeräumt) - Shorten de-DE/7.txt changelog for brevity - Remove trailing newline from en-US/title.txt Version & Accuracy: - Update README badges (Android 7.0+) and footer (v1.8.1) - Add widgets, sorting, parallel sync to highlights - Fix APK names in workflows (removed "universal") - Update cache action v3 → v4 in PR workflow - Fix CONTRIBUTING.md filename references - Update QUICKSTART guides (APK name, typo, Android version, docs links) Feature Documentation: - Update full_description.txt (both locales) - remove NEW/NEU labels, add v1.8.0+ features - Major FEATURES.md update - add Views & Layout, Widgets sections, updated tech stack - Add UPCOMING.md v1.7.0-1.8.1 as released sections - Update DOCS.md roadmap references and dates to Feb 2026 - Create missing en-US changelogs 1.txt, 2.txt Supplementary Fixes: - Update BACKUP.md - add encryption docs, fix cross-references - Add CHANGELOG.md reference links v1.2.1-v1.8.1 (15 missing) - Fix DEBUG_APK.md duplicate header - Rewrite fastlane/README.md with both locales and limits table - Create SELF_SIGNED_SSL.de.md (full German translation) Affects: 26 files across READMEs, docs/, fastlane/, workflows
This commit is contained in:
4
.github/workflows/build-production-apk.yml
vendored
4
.github/workflows/build-production-apk.yml
vendored
@@ -61,11 +61,11 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
mkdir -p apk-output
|
mkdir -p apk-output
|
||||||
|
|
||||||
# Standard Flavor - Universal APK
|
# Standard Flavor
|
||||||
cp android/app/build/outputs/apk/standard/release/app-standard-release.apk \
|
cp android/app/build/outputs/apk/standard/release/app-standard-release.apk \
|
||||||
apk-output/simple-notes-sync-v${{ env.VERSION_NAME }}-standard.apk
|
apk-output/simple-notes-sync-v${{ env.VERSION_NAME }}-standard.apk
|
||||||
|
|
||||||
# F-Droid Flavor - Universal APK
|
# F-Droid Flavor
|
||||||
cp android/app/build/outputs/apk/fdroid/release/app-fdroid-release.apk \
|
cp android/app/build/outputs/apk/fdroid/release/app-fdroid-release.apk \
|
||||||
apk-output/simple-notes-sync-v${{ env.VERSION_NAME }}-fdroid.apk
|
apk-output/simple-notes-sync-v${{ env.VERSION_NAME }}-fdroid.apk
|
||||||
|
|
||||||
|
|||||||
6
.github/workflows/pr-build-check.yml
vendored
6
.github/workflows/pr-build-check.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
|||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
java-version: '17'
|
java-version: '17'
|
||||||
- name: Gradle Cache
|
- name: Gradle Cache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
~/.gradle/caches
|
~/.gradle/caches
|
||||||
@@ -69,14 +69,14 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
- name: Build-Ergebnis pruefen
|
- name: Build-Ergebnis pruefen
|
||||||
run: |
|
run: |
|
||||||
if [ -f "android/app/build/outputs/apk/standard/debug/app-standard-universal-debug.apk" ]; then
|
if [ -f "android/app/build/outputs/apk/standard/debug/app-standard-debug.apk" ]; then
|
||||||
echo "✅ Standard Debug APK erfolgreich gebaut"
|
echo "✅ Standard Debug APK erfolgreich gebaut"
|
||||||
ls -lh android/app/build/outputs/apk/standard/debug/*.apk
|
ls -lh android/app/build/outputs/apk/standard/debug/*.apk
|
||||||
else
|
else
|
||||||
echo "❌ Standard Debug APK Build fehlgeschlagen"
|
echo "❌ Standard Debug APK Build fehlgeschlagen"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [ -f "android/app/build/outputs/apk/fdroid/debug/app-fdroid-universal-debug.apk" ]; then
|
if [ -f "android/app/build/outputs/apk/fdroid/debug/app-fdroid-debug.apk" ]; then
|
||||||
echo "✅ F-Droid Debug APK erfolgreich gebaut"
|
echo "✅ F-Droid Debug APK erfolgreich gebaut"
|
||||||
ls -lh android/app/build/outputs/apk/fdroid/debug/*.apk
|
ls -lh android/app/build/outputs/apk/fdroid/debug/*.apk
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -968,6 +968,21 @@ Das komplette UI wurde von XML-Views auf Jetpack Compose migriert. Die App ist j
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
[1.8.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.8.1
|
||||||
|
[1.8.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.8.0
|
||||||
|
[1.7.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.2
|
||||||
|
[1.7.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.1
|
||||||
|
[1.7.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.0
|
||||||
|
[1.6.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.6.1
|
||||||
|
[1.6.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.6.0
|
||||||
|
[1.5.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.5.0
|
||||||
|
[1.4.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.4.1
|
||||||
|
[1.4.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.4.0
|
||||||
|
[1.3.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.2
|
||||||
|
[1.3.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.1
|
||||||
|
[1.3.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.0
|
||||||
|
[1.2.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.2
|
||||||
|
[1.2.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.1
|
||||||
[1.2.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.0
|
[1.2.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.0
|
||||||
[1.1.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.2
|
[1.1.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.2
|
||||||
[1.1.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.1
|
[1.1.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.1
|
||||||
|
|||||||
15
CHANGELOG.md
15
CHANGELOG.md
@@ -967,6 +967,21 @@ The complete UI has been migrated from XML Views to Jetpack Compose. The app is
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
[1.8.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.8.1
|
||||||
|
[1.8.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.8.0
|
||||||
|
[1.7.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.2
|
||||||
|
[1.7.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.1
|
||||||
|
[1.7.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.0
|
||||||
|
[1.6.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.6.1
|
||||||
|
[1.6.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.6.0
|
||||||
|
[1.5.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.5.0
|
||||||
|
[1.4.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.4.1
|
||||||
|
[1.4.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.4.0
|
||||||
|
[1.3.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.2
|
||||||
|
[1.3.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.1
|
||||||
|
[1.3.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.0
|
||||||
|
[1.2.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.2
|
||||||
|
[1.2.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.1
|
||||||
[1.2.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.0
|
[1.2.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.0
|
||||||
[1.1.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.2
|
[1.1.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.2
|
||||||
[1.1.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.1
|
[1.1.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.1
|
||||||
|
|||||||
@@ -94,10 +94,10 @@ Nutze die [Feature Request Template](https://github.com/inventory69/simple-notes
|
|||||||
Dokumentations-Verbesserungen sind auch Contributions!
|
Dokumentations-Verbesserungen sind auch Contributions!
|
||||||
|
|
||||||
**Dateien:**
|
**Dateien:**
|
||||||
- `README.md` / `README.en.md` - Übersicht
|
- `README.de.md` / `README.md` - Übersicht
|
||||||
- `QUICKSTART.md` / `QUICKSTART.en.md` - Schritt-für-Schritt Anleitung
|
- `QUICKSTART.de.md` / `QUICKSTART.md` - Schritt-für-Schritt Anleitung
|
||||||
- `DOCS.md` / `DOCS.en.md` - Technische Details
|
- `docs/DOCS.de.md` / `docs/DOCS.md` - Technische Details
|
||||||
- `server/README.md` / `server/README.en.md` - Server Setup
|
- `server/README.de.md` / `server/README.md` - Server Setup
|
||||||
|
|
||||||
**Bitte:** Halte beide Sprachen (DE/EN) synchron!
|
**Bitte:** Halte beide Sprachen (DE/EN) synchron!
|
||||||
|
|
||||||
@@ -219,10 +219,10 @@ Use the [Feature Request Template](https://github.com/inventory69/simple-notes-s
|
|||||||
Documentation improvements are also contributions!
|
Documentation improvements are also contributions!
|
||||||
|
|
||||||
**Files:**
|
**Files:**
|
||||||
- `README.md` / `README.en.md` - Overview
|
- `README.de.md` / `README.md` - Overview
|
||||||
- `QUICKSTART.md` / `QUICKSTART.en.md` - Step-by-step guide
|
- `QUICKSTART.de.md` / `QUICKSTART.md` - Step-by-step guide
|
||||||
- `DOCS.md` / `DOCS.en.md` - Technical details
|
- `docs/DOCS.de.md` / `docs/DOCS.md` - Technical details
|
||||||
- `server/README.md` / `server/README.en.md` - Server setup
|
- `server/README.de.md` / `server/README.md` - Server setup
|
||||||
|
|
||||||
**Please:** Keep both languages (DE/EN) in sync!
|
**Please:** Keep both languages (DE/EN) in sync!
|
||||||
|
|
||||||
@@ -260,4 +260,4 @@ By contributing, you agree that your code will be published under the [MIT Licen
|
|||||||
|
|
||||||
Öffne ein [Issue](https://github.com/inventory69/simple-notes-sync/issues) oder nutze die [Question Template](https://github.com/inventory69/simple-notes-sync/issues/new/choose).
|
Öffne ein [Issue](https://github.com/inventory69/simple-notes-sync/issues) oder nutze die [Question Template](https://github.com/inventory69/simple-notes-sync/issues/new/choose).
|
||||||
|
|
||||||
**Frohe Weihnachten & Happy Coding! 🎄**
|
**Happy Coding! 🚀**
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
## Voraussetzungen
|
## Voraussetzungen
|
||||||
|
|
||||||
- ✅ Android 8.0+ Smartphone/Tablet
|
- ✅ Android 7.0+ Smartphone/Tablet
|
||||||
- ✅ WLAN-Verbindung
|
- ✅ WLAN-Verbindung
|
||||||
- ✅ Eigener Server mit Docker (optional - für Self-Hosting)
|
- ✅ Eigener Server mit Docker (optional - für Self-Hosting)
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ ip addr show | grep "inet " | grep -v 127.0.0.1
|
|||||||
### Schritt 2: App installieren
|
### Schritt 2: App installieren
|
||||||
|
|
||||||
1. **APK herunterladen:** [Neueste Version](https://github.com/inventory69/simple-notes-sync/releases/latest)
|
1. **APK herunterladen:** [Neueste Version](https://github.com/inventory69/simple-notes-sync/releases/latest)
|
||||||
- Wähle: `simple-notes-sync-vX.X.X-standard-universal.apk`
|
- Wähle: `simple-notes-sync-vX.X.X-standard.apk`
|
||||||
|
|
||||||
2. **Installation erlauben:**
|
2. **Installation erlauben:**
|
||||||
- Android: Einstellungen → Sicherheit → "Unbekannte Quellen" für deinen Browser aktivieren
|
- Android: Einstellungen → Sicherheit → "Unbekannte Quellen" für deinen Browser aktivieren
|
||||||
@@ -261,7 +261,7 @@ Für zuverlässigen Auto-Sync:
|
|||||||
## 🆘 Weitere Hilfe
|
## 🆘 Weitere Hilfe
|
||||||
|
|
||||||
- **GitHub Issues:** [Problem melden](https://github.com/inventory69/simple-notes-sync/issues)
|
- **GitHub Issues:** [Problem melden](https://github.com/inventory69/simple-notes-sync/issues)
|
||||||
- **Vollständige Docs:** [DOCS.md](DOCS.md)
|
- **Vollständige Docs:** [DOCS.md](docs/DOCS.md)
|
||||||
- **Server Setup Details:** [server/README.md](server/README.md)
|
- **Server Setup Details:** [server/README.md](server/README.md)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- ✅ Android 8.0+ smartphone/tablet
|
- ✅ Android 7.0+ smartphone/tablet
|
||||||
- ✅ WiFi connection
|
- ✅ WiFi connection
|
||||||
- ✅ Own server with Docker (optional - for self-hosting)
|
- ✅ Own server with Docker (optional - for self-hosting)
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ ip addr show | grep "inet " | grep -v 127.0.0.1
|
|||||||
### Step 2: Install App
|
### Step 2: Install App
|
||||||
|
|
||||||
1. **Download APK:** [Latest version](https://github.com/inventory69/simple-notes-sync/releases/latest)
|
1. **Download APK:** [Latest version](https://github.com/inventory69/simple-notes-sync/releases/latest)
|
||||||
- Choose: `simple-notes-sync-vX.X.X-standard-universal.apk`
|
- Choose: `simple-notes-sync-vX.X.X-standard.apk`
|
||||||
|
|
||||||
2. **Allow installation:**
|
2. **Allow installation:**
|
||||||
- Android: Settings → Security → Enable "Unknown sources" for your browser
|
- Android: Settings → Security → Enable "Unknown sources" for your browser
|
||||||
@@ -77,7 +77,7 @@ ip addr show | grep "inet " | grep -v 127.0.0.1
|
|||||||
|
|
||||||
> **💡 Note:** Enter only the base URL (without `/notes`). The app automatically creates `/notes/` for JSON files and `/notes-md/` for Markdown export.
|
> **💡 Note:** Enter only the base URL (without `/notes`). The app automatically creates `/notes/` for JSON files and `/notes-md/` for Markdown export.
|
||||||
|
|
||||||
4. **Press "Test connection"****
|
4. **Press "Test connection"**
|
||||||
- ✅ Success? → Continue to step 4
|
- ✅ Success? → Continue to step 4
|
||||||
- ❌ Error? → See [Troubleshooting](#troubleshooting)
|
- ❌ Error? → See [Troubleshooting](#troubleshooting)
|
||||||
|
|
||||||
@@ -261,8 +261,8 @@ For reliable auto-sync:
|
|||||||
## 🆘 Further Help
|
## 🆘 Further Help
|
||||||
|
|
||||||
- **GitHub Issues:** [Report problem](https://github.com/inventory69/simple-notes-sync/issues)
|
- **GitHub Issues:** [Report problem](https://github.com/inventory69/simple-notes-sync/issues)
|
||||||
- **Complete docs:** [DOCS.en.md](DOCS.en.md)
|
- **Complete docs:** [DOCS.md](docs/DOCS.md)
|
||||||
- **Server setup details:** [server/README.en.md](server/README.en.md)
|
- **Server setup details:** [server/README.md](server/README.md)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
10
README.de.md
10
README.de.md
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
[](https://www.android.com/)
|
[](https://www.android.com/)
|
||||||
[](https://kotlinlang.org/)
|
[](https://kotlinlang.org/)
|
||||||
[](https://developer.android.com/compose/)
|
[](https://developer.android.com/compose/)
|
||||||
[](https://m3.material.io/)
|
[](https://m3.material.io/)
|
||||||
@@ -66,12 +66,14 @@ alt="Get it on F-Droid" align="center" height="80" /></a>
|
|||||||
- 📝 **Offline-first** – Funktioniert ohne Internet
|
- 📝 **Offline-first** – Funktioniert ohne Internet
|
||||||
- 📊 **Flexible Ansichten** – Listen- und Grid-Layout
|
- 📊 **Flexible Ansichten** – Listen- und Grid-Layout
|
||||||
- ✅ **Checklisten** – Tap-to-Check, Drag & Drop
|
- ✅ **Checklisten** – Tap-to-Check, Drag & Drop
|
||||||
- 🌍 **Mehrsprachig** – Deutsch/Englisch mit Sprachauswahl
|
|
||||||
- 🔄 **Konfigurierbare Sync-Trigger** – onSave, onResume, WiFi, periodisch (15/30/60 Min), Boot
|
- 🔄 **Konfigurierbare Sync-Trigger** – onSave, onResume, WiFi, periodisch (15/30/60 Min), Boot
|
||||||
|
- 📌 **Widgets** – Home-Screen Quick-Note und Notizlisten-Widget
|
||||||
|
- 🔀 **Smartes Sortieren** – Nach Titel, Änderungsdatum, Erstelldatum, Farbe
|
||||||
|
- ⚡ **Paralleler Sync** – Lädt bis zu 5 Notizen gleichzeitig herunter
|
||||||
|
- 🌍 **Mehrsprachig** – Deutsch/Englisch mit Sprachauswahl
|
||||||
- 🔒 **Self-hosted** – Deine Daten bleiben bei dir (WebDAV)
|
- 🔒 **Self-hosted** – Deine Daten bleiben bei dir (WebDAV)
|
||||||
- 💾 **Lokales Backup** – Export/Import als JSON-Datei (optional verschlüsselt)
|
- 💾 **Lokales Backup** – Export/Import als JSON-Datei (optional verschlüsselt)
|
||||||
- 🖥️ **Desktop-Integration** – Markdown-Export für Obsidian, VS Code, Typora
|
- 🖥️ **Desktop-Integration** – Markdown-Export für Obsidian, VS Code, Typora
|
||||||
- 🔋 **Akkuschonend** – ~0.2% mit Defaults, bis zu ~1.0% mit Periodic Sync
|
|
||||||
- 🎨 **Material Design 3** – Dynamischer Dark/Light Mode & Farben
|
- 🎨 **Material Design 3** – Dynamischer Dark/Light Mode & Farben
|
||||||
|
|
||||||
➡️ **Vollständige Feature-Liste:** [docs/FEATURES.de.md](docs/FEATURES.de.md)
|
➡️ **Vollständige Feature-Liste:** [docs/FEATURES.de.md](docs/FEATURES.de.md)
|
||||||
@@ -138,6 +140,6 @@ MIT License – siehe [LICENSE](LICENSE)
|
|||||||
<div align="center">
|
<div align="center">
|
||||||
<br /><br />
|
<br /><br />
|
||||||
|
|
||||||
**v1.7.0** · Built with ❤️ using Kotlin + Jetpack Compose + Material Design 3
|
**v1.8.1** · Built with ❤️ using Kotlin + Jetpack Compose + Material Design 3
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
[](https://www.android.com/)
|
[](https://www.android.com/)
|
||||||
[](https://kotlinlang.org/)
|
[](https://kotlinlang.org/)
|
||||||
[](https://developer.android.com/compose/)
|
[](https://developer.android.com/compose/)
|
||||||
[](https://m3.material.io/)
|
[](https://m3.material.io/)
|
||||||
@@ -66,12 +66,14 @@ alt="Get it on F-Droid" align="center" height="80" /></a>
|
|||||||
- 📝 **Offline-first** - Works without internet
|
- 📝 **Offline-first** - Works without internet
|
||||||
- 📊 **Flexible views** - Switch between list and grid layout
|
- 📊 **Flexible views** - Switch between list and grid layout
|
||||||
- ✅ **Checklists** - Tap-to-check, drag & drop
|
- ✅ **Checklists** - Tap-to-check, drag & drop
|
||||||
- 🌍 **Multilingual** - English/German with language selector
|
|
||||||
- 🔄 **Configurable sync triggers** - onSave, onResume, WiFi-connect, periodic (15/30/60 min), boot
|
- 🔄 **Configurable sync triggers** - onSave, onResume, WiFi-connect, periodic (15/30/60 min), boot
|
||||||
|
- 📌 **Widgets** - Home screen quick-note and note list widgets
|
||||||
|
- 🔀 **Smart sorting** - By title, date modified, date created, color
|
||||||
|
- ⚡ **Parallel sync** - Downloads up to 5 notes simultaneously
|
||||||
|
- 🌍 **Multilingual** - English/German with language selector
|
||||||
- 🔒 **Self-hosted** - Your data stays with you (WebDAV)
|
- 🔒 **Self-hosted** - Your data stays with you (WebDAV)
|
||||||
- 💾 **Local backup** - Export/Import as JSON file (encryption available)
|
- 💾 **Local backup** - Export/Import as JSON file (encryption available)
|
||||||
- 🖥️ **Desktop integration** - Markdown export for Obsidian, VS Code, Typora
|
- 🖥️ **Desktop integration** - Markdown export for Obsidian, VS Code, Typora
|
||||||
- 🔋 **Battery-friendly** - ~0.2% with defaults, up to ~1.0% with periodic sync
|
|
||||||
- 🎨 **Material Design 3** - Dynamic dark/light mode & colors based on system settings
|
- 🎨 **Material Design 3** - Dynamic dark/light mode & colors based on system settings
|
||||||
|
|
||||||
➡️ **Complete feature list:** [FEATURES.md](docs/FEATURES.md)
|
➡️ **Complete feature list:** [FEATURES.md](docs/FEATURES.md)
|
||||||
@@ -148,6 +150,6 @@ MIT License - see [LICENSE](LICENSE)
|
|||||||
<div align="center">
|
<div align="center">
|
||||||
<br /><br />
|
<br /><br />
|
||||||
|
|
||||||
**v1.7.0** · Built with ❤️ using Kotlin + Jetpack Compose + Material Design 3
|
**v1.8.1** · Built with ❤️ using Kotlin + Jetpack Compose + Material Design 3
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -276,8 +276,9 @@ Schritt-für-Schritt:
|
|||||||
|
|
||||||
### Daten-Schutz
|
### Daten-Schutz
|
||||||
- ✅ **Lokal gespeichert** - Kein Cloud-Upload ohne deine Aktion
|
- ✅ **Lokal gespeichert** - Kein Cloud-Upload ohne deine Aktion
|
||||||
- ✅ **Keine Verschlüsselung** - Klartextformat für Lesbarkeit
|
- ✅ **Optionale Verschlüsselung** _(v1.7.0+)_ - Backup-Dateien mit Passwort schützen
|
||||||
- ⚠️ **Sensible Daten?** - Backup-Datei selbst verschlüsseln (z.B. 7-Zip mit Passwort)
|
- ✅ **Menschenlesbar** - Klartextformat (JSON) wenn unverschlüsselt
|
||||||
|
- ⚠️ **Sensible Daten?** - Verschlüsselung aktivieren oder externe Tools nutzen (z.B. 7-Zip)
|
||||||
|
|
||||||
### Empfehlungen
|
### Empfehlungen
|
||||||
- 🔐 Backup-Dateien in verschlüsseltem Container speichern
|
- 🔐 Backup-Dateien in verschlüsseltem Container speichern
|
||||||
@@ -321,4 +322,4 @@ Schritt-für-Schritt:
|
|||||||
- [FEATURES.md](FEATURES.md) - Vollständige Feature-Liste
|
- [FEATURES.md](FEATURES.md) - Vollständige Feature-Liste
|
||||||
- [DESKTOP.md](DESKTOP.md) - Desktop-Integration mit Markdown
|
- [DESKTOP.md](DESKTOP.md) - Desktop-Integration mit Markdown
|
||||||
|
|
||||||
**Letzte Aktualisierung:** v1.2.1 (2026-01-05)
|
**Letzte Aktualisierung:** v1.8.1 (2026-02-11)
|
||||||
|
|||||||
@@ -276,8 +276,9 @@ Step-by-step:
|
|||||||
|
|
||||||
### Data Protection
|
### Data Protection
|
||||||
- ✅ **Locally stored** - No cloud upload without your action
|
- ✅ **Locally stored** - No cloud upload without your action
|
||||||
- ✅ **No encryption** - Plain text format for readability
|
- ✅ **Optional encryption** _(v1.7.0+)_ - Password-protect backup files
|
||||||
- ⚠️ **Sensitive data?** - Encrypt backup file yourself (e.g., 7-Zip with password)
|
- ✅ **Human-readable** - Plain JSON format when unencrypted
|
||||||
|
- ⚠️ **Sensitive data?** - Enable encryption or use external tools (e.g., 7-Zip)
|
||||||
|
|
||||||
### Recommendations
|
### Recommendations
|
||||||
- 🔐 Store backup files in encrypted container
|
- 🔐 Store backup files in encrypted container
|
||||||
@@ -317,8 +318,8 @@ Step-by-step:
|
|||||||
---
|
---
|
||||||
|
|
||||||
**📚 See also:**
|
**📚 See also:**
|
||||||
- [QUICKSTART.en.md](../QUICKSTART.en.md) - App installation and setup
|
- [QUICKSTART.md](../QUICKSTART.md) - App installation and setup
|
||||||
- [FEATURES.en.md](FEATURES.en.md) - Complete feature list
|
- [FEATURES.md](FEATURES.md) - Complete feature list
|
||||||
- [DESKTOP.en.md](DESKTOP.en.md) - Desktop integration with Markdown
|
- [DESKTOP.md](DESKTOP.md) - Desktop integration with Markdown
|
||||||
|
|
||||||
**Last update:** v1.2.1 (2026-01-05)
|
**Last update:** v1.8.1 (2026-02-11)
|
||||||
|
|||||||
@@ -48,8 +48,6 @@ git push origin fix/my-bug
|
|||||||
|
|
||||||
## 📱 Installation auf Gerät
|
## 📱 Installation auf Gerät
|
||||||
|
|
||||||
## 📱 Installation auf Gerät
|
|
||||||
|
|
||||||
### Mit ADB (Empfohlen - sauberes Testing)
|
### Mit ADB (Empfohlen - sauberes Testing)
|
||||||
```bash
|
```bash
|
||||||
# Gerät verbinden
|
# Gerät verbinden
|
||||||
|
|||||||
@@ -541,17 +541,7 @@ androidx.localbroadcastmanager:localbroadcastmanager:1.1.0
|
|||||||
|
|
||||||
## 🔮 Roadmap
|
## 🔮 Roadmap
|
||||||
|
|
||||||
### v1.1
|
Siehe [UPCOMING.md](UPCOMING.md) für die vollständige Roadmap und geplante Features.
|
||||||
- [ ] Suche & Filter
|
|
||||||
- [ ] Dark Mode
|
|
||||||
- [ ] Tags/Kategorien
|
|
||||||
- [ ] Markdown Preview
|
|
||||||
|
|
||||||
### v2.0
|
|
||||||
- [ ] Desktop Client (Flutter)
|
|
||||||
- [ ] End-to-End Verschlüsselung
|
|
||||||
- [ ] Shared Notes (Collaboration)
|
|
||||||
- [ ] Attachment Support
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -564,4 +554,4 @@ androidx.localbroadcastmanager:localbroadcastmanager:1.1.0
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Letzte Aktualisierung:** 25. Dezember 2025
|
**Letzte Aktualisierung:** Februar 2026
|
||||||
|
|||||||
14
docs/DOCS.md
14
docs/DOCS.md
@@ -541,17 +541,7 @@ androidx.localbroadcastmanager:localbroadcastmanager:1.1.0
|
|||||||
|
|
||||||
## 🔮 Roadmap
|
## 🔮 Roadmap
|
||||||
|
|
||||||
### v1.1
|
See [UPCOMING.md](UPCOMING.md) for the full roadmap and planned features.
|
||||||
- [ ] Search & Filter
|
|
||||||
- [ ] Dark Mode
|
|
||||||
- [ ] Tags/Categories
|
|
||||||
- [ ] Markdown Preview
|
|
||||||
|
|
||||||
### v2.0
|
|
||||||
- [ ] Desktop Client (Flutter)
|
|
||||||
- [ ] End-to-End Encryption
|
|
||||||
- [ ] Shared Notes (Collaboration)
|
|
||||||
- [ ] Attachment Support
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -564,4 +554,4 @@ androidx.localbroadcastmanager:localbroadcastmanager:1.1.0
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Last updated:** December 25, 2025
|
**Last updated:** February 2026
|
||||||
|
|||||||
@@ -37,6 +37,50 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 📊 Ansichten & Layout _(NEU in v1.7.0+)_
|
||||||
|
|
||||||
|
### Darstellungsmodi
|
||||||
|
- ✅ **Listenansicht** - Klassisches Listen-Layout
|
||||||
|
- ✅ **Rasteransicht** _(NEU in v1.7.0)_ - Pinterest-artiges Staggered Grid mit dynamischen Vorschauzeilen
|
||||||
|
- ✅ **Layout-Umschalter** - Zwischen Listen- und Grid-Ansicht wechseln
|
||||||
|
- ✅ **Adaptive Spalten** - 2-3 Spalten basierend auf Bildschirmgröße
|
||||||
|
- ✅ **Grid als Standard** _(v1.8.0)_ - Neue Installationen starten im Grid-Modus
|
||||||
|
|
||||||
|
### Notiz-Sortierung _(NEU in v1.8.0)_
|
||||||
|
- ✅ **Nach Änderungsdatum** - Neueste oder älteste zuerst
|
||||||
|
- ✅ **Nach Erstelldatum** - Nach Erstellungszeitpunkt
|
||||||
|
- ✅ **Nach Titel** - A-Z oder Z-A
|
||||||
|
- ✅ **Nach Typ** - Textnotizen vs. Checklisten
|
||||||
|
- ✅ **Persistente Einstellungen** - Sortier-Option bleibt nach App-Neustart
|
||||||
|
- ✅ **Sortier-Dialog** - Richtungswahl im Hauptbildschirm
|
||||||
|
|
||||||
|
### Checklisten-Sortierung _(NEU in v1.8.0)_
|
||||||
|
- ✅ **Manuell** - Eigene Drag & Drop Reihenfolge
|
||||||
|
- ✅ **Alphabetisch** - A-Z Sortierung
|
||||||
|
- ✅ **Offene zuerst** - Unerledigte Items oben
|
||||||
|
- ✅ **Erledigte zuletzt** - Abgehakte Items unten
|
||||||
|
- ✅ **Visueller Trenner** - Zwischen offenen/erledigten Gruppen mit Anzahl
|
||||||
|
- ✅ **Auto-Sortierung** - Neu sortieren beim Abhaken/Öffnen
|
||||||
|
- ✅ **Drag über Grenzen** - Items wechseln Status beim Überqueren des Trenners
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📌 Homescreen-Widgets _(NEU in v1.8.0)_
|
||||||
|
|
||||||
|
### Widget-Features
|
||||||
|
- ✅ **Textnotiz-Widget** - Beliebige Notiz auf dem Homescreen anzeigen
|
||||||
|
- ✅ **Checklisten-Widget** - Interaktive Checkboxen mit Sync zum Server
|
||||||
|
- ✅ **5 Größenklassen** - SMALL, NARROW_MED, NARROW_TALL, WIDE_MED, WIDE_TALL
|
||||||
|
- ✅ **Material You Farben** - Dynamische Farben passend zum System-Theme
|
||||||
|
- ✅ **Einstellbare Transparenz** - Hintergrund-Opazität (0-100%)
|
||||||
|
- ✅ **Sperr-Umschalter** - Versehentliche Bearbeitungen verhindern
|
||||||
|
- ✅ **Auto-Aktualisierung** - Updates nach Sync-Abschluss
|
||||||
|
- ✅ **Konfigurations-Activity** - Notiz-Auswahl und Einstellungen
|
||||||
|
- ✅ **Checklisten-Sortierung** _(v1.8.1)_ - Widgets übernehmen Sortier-Option
|
||||||
|
- ✅ **Visuelle Trenner** _(v1.8.1)_ - Zwischen offenen/erledigten Items
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 🌍 Mehrsprachigkeit _(NEU in v1.5.0)_
|
## 🌍 Mehrsprachigkeit _(NEU in v1.5.0)_
|
||||||
|
|
||||||
### Unterstützte Sprachen
|
### Unterstützte Sprachen
|
||||||
@@ -129,9 +173,12 @@
|
|||||||
### Sync-Mechanismus
|
### Sync-Mechanismus
|
||||||
- ✅ **Upload** - Lokale Änderungen zum Server
|
- ✅ **Upload** - Lokale Änderungen zum Server
|
||||||
- ✅ **Download** - Server-Änderungen in App
|
- ✅ **Download** - Server-Änderungen in App
|
||||||
|
- ✅ **Parallele Downloads** _(NEU in v1.8.0)_ - Bis zu 5 gleichzeitige Downloads
|
||||||
- ✅ **Konflikt-Erkennung** - Bei gleichzeitigen Änderungen
|
- ✅ **Konflikt-Erkennung** - Bei gleichzeitigen Änderungen
|
||||||
- ✅ **Konfliktfreies Merging** - Last-Write-Wins via Timestamp
|
- ✅ **Konfliktfreies Merging** - Last-Write-Wins via Timestamp
|
||||||
- ✅ **Sync-Status Tracking** - LOCAL_ONLY, PENDING, SYNCED, CONFLICT
|
- ✅ **Server-Löschungs-Erkennung** _(NEU in v1.8.0)_ - Erkennt auf anderen Geräten gelöschte Notizen
|
||||||
|
- ✅ **Sync-Status Tracking** - LOCAL_ONLY, PENDING, SYNCED, CONFLICT, DELETED_ON_SERVER
|
||||||
|
- ✅ **Live Fortschritts-UI** _(NEU in v1.8.0)_ - Phasen-Anzeige mit Upload/Download-Zählern
|
||||||
- ✅ **Fehlerbehandlung** - Retry bei Netzwerkproblemen
|
- ✅ **Fehlerbehandlung** - Retry bei Netzwerkproblemen
|
||||||
- ✅ **Offline-First** - App funktioniert ohne Server
|
- ✅ **Offline-First** - App funktioniert ohne Server
|
||||||
|
|
||||||
@@ -140,6 +187,9 @@
|
|||||||
- ✅ **HTTP/HTTPS** - HTTP nur lokal, HTTPS für extern
|
- ✅ **HTTP/HTTPS** - HTTP nur lokal, HTTPS für extern
|
||||||
- ✅ **Username/Password** - Basic Authentication
|
- ✅ **Username/Password** - Basic Authentication
|
||||||
- ✅ **Connection Test** - In Einstellungen testen
|
- ✅ **Connection Test** - In Einstellungen testen
|
||||||
|
- ✅ **WiFi-Only Sync** _(NEU in v1.7.0)_ - Option nur über WiFi zu synchronisieren
|
||||||
|
- ✅ **VPN-Unterstützung** _(NEU in v1.7.0)_ - Sync funktioniert korrekt über VPN-Tunnels
|
||||||
|
- ✅ **Self-Signed SSL** _(NEU in v1.7.0)_ - Unterstützung für selbstsignierte Zertifikate
|
||||||
- ✅ **Server-URL Normalisierung** - Automatisches `/notes/` und `/notes-md/` _(NEU in v1.2.1)_
|
- ✅ **Server-URL Normalisierung** - Automatisches `/notes/` und `/notes-md/` _(NEU in v1.2.1)_
|
||||||
- ✅ **Flexible URL-Eingabe** - Beide Varianten funktionieren: `http://server/` und `http://server/notes/`
|
- ✅ **Flexible URL-Eingabe** - Beide Varianten funktionieren: `http://server/` und `http://server/notes/`
|
||||||
|
|
||||||
@@ -196,11 +246,12 @@
|
|||||||
## 🛠️ Technische Details
|
## 🛠️ Technische Details
|
||||||
|
|
||||||
### Plattform
|
### Plattform
|
||||||
- ✅ **Android 8.0+** (API 26+)
|
- ✅ **Android 7.0+** (API 24+)
|
||||||
- ✅ **Target SDK 36** (Android 15)
|
- ✅ **Target SDK 36** (Android 15)
|
||||||
- ✅ **Kotlin** - Moderne Programmiersprache
|
- ✅ **Kotlin** - Moderne Programmiersprache
|
||||||
|
- ✅ **Jetpack Compose** - Deklaratives UI-Framework
|
||||||
- ✅ **Material Design 3** - Neueste Design-Richtlinien
|
- ✅ **Material Design 3** - Neueste Design-Richtlinien
|
||||||
- ✅ **ViewBinding** - Typ-sichere View-Referenzen
|
- ✅ **Jetpack Glance** _(v1.8.0)_ - Widget-Framework
|
||||||
|
|
||||||
### Architektur
|
### Architektur
|
||||||
- ✅ **MVVM-Light** - Einfache Architektur
|
- ✅ **MVVM-Light** - Einfache Architektur
|
||||||
@@ -218,6 +269,7 @@
|
|||||||
- ✅ **Gson** - JSON Serialization
|
- ✅ **Gson** - JSON Serialization
|
||||||
- ✅ **WorkManager** - Background Tasks
|
- ✅ **WorkManager** - Background Tasks
|
||||||
- ✅ **OkHttp** - HTTP Client (via Sardine)
|
- ✅ **OkHttp** - HTTP Client (via Sardine)
|
||||||
|
- ✅ **Glance** _(v1.8.0)_ - Widget-Framework
|
||||||
|
|
||||||
### Build-Varianten
|
### Build-Varianten
|
||||||
- ✅ **Standard** - Universal APK (100% FOSS, keine Google-Dependencies)
|
- ✅ **Standard** - Universal APK (100% FOSS, keine Google-Dependencies)
|
||||||
@@ -247,22 +299,12 @@
|
|||||||
|
|
||||||
## 🔮 Zukünftige Features
|
## 🔮 Zukünftige Features
|
||||||
|
|
||||||
Geplant für kommende Versionen:
|
Geplant für kommende Versionen – siehe [UPCOMING.md](UPCOMING.md) für die vollständige Roadmap.
|
||||||
|
|
||||||
### v1.4.0 - Checklisten
|
### v2.0.0 - Legacy Cleanup
|
||||||
- ⏳ **Checklisten-Notizen** - Neuer Notiz-Typ mit Checkboxen
|
- ⏳ **Veraltete Activities entfernen** - Durch Compose-Varianten ersetzen
|
||||||
- ⏳ **Erledigte Items** - Durchstreichen/Abhaken
|
- ⏳ **LocalBroadcastManager → SharedFlow** - Moderne Event-Architektur
|
||||||
- ⏳ **Drag & Drop** - Items neu anordnen
|
- ⏳ **WebDavSyncService aufteilen** - SyncOrchestrator, NoteUploader, NoteDownloader
|
||||||
|
|
||||||
### v1.5.0 - Internationalisierung
|
|
||||||
- ⏳ **Mehrsprachigkeit** - Deutsch + Englisch UI
|
|
||||||
- ⏳ **Sprachauswahl** - In Einstellungen wählbar
|
|
||||||
- ⏳ **Vollständige Übersetzung** - Alle Strings in beiden Sprachen
|
|
||||||
|
|
||||||
### v1.6.0 - Modern APIs
|
|
||||||
- ⏳ **LocalBroadcastManager ersetzen** - SharedFlow stattdessen
|
|
||||||
- ⏳ **PackageInfo Flags** - PackageInfoFlags.of() verwenden
|
|
||||||
- ⏳ **Komplexitäts-Refactoring** - Lange Funktionen aufteilen
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -305,4 +347,4 @@ A: Ja! Lade die APK direkt von GitHub oder nutze F-Droid.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Letzte Aktualisierung:** v1.3.2 (2026-01-10)
|
**Letzte Aktualisierung:** v1.8.1 (2026-02-11)
|
||||||
|
|||||||
@@ -37,6 +37,50 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 📊 Views & Layout _(NEW in v1.7.0+)_
|
||||||
|
|
||||||
|
### Display Modes
|
||||||
|
- ✅ **List View** - Classic list layout
|
||||||
|
- ✅ **Grid View** _(NEW in v1.7.0)_ - Pinterest-style staggered grid with dynamic preview lines
|
||||||
|
- ✅ **Layout toggle** - Switch between list and grid in settings
|
||||||
|
- ✅ **Adaptive columns** - 2-3 columns based on screen size
|
||||||
|
- ✅ **Grid as default** _(v1.8.0)_ - New installations default to grid view
|
||||||
|
|
||||||
|
### Note Sorting _(NEW in v1.8.0)_
|
||||||
|
- ✅ **Sort by Updated** - Newest or oldest first
|
||||||
|
- ✅ **Sort by Created** - By creation date
|
||||||
|
- ✅ **Sort by Title** - A-Z or Z-A
|
||||||
|
- ✅ **Sort by Type** - Text notes vs checklists
|
||||||
|
- ✅ **Persistent preferences** - Sort option saved across app restarts
|
||||||
|
- ✅ **Sort dialog** - Direction toggle in main screen
|
||||||
|
|
||||||
|
### Checklist Sorting _(NEW in v1.8.0)_
|
||||||
|
- ✅ **Manual** - Custom drag & drop order
|
||||||
|
- ✅ **Alphabetical** - A-Z sorting
|
||||||
|
- ✅ **Unchecked First** - Unchecked items on top
|
||||||
|
- ✅ **Checked Last** - Checked items at bottom
|
||||||
|
- ✅ **Visual separator** - Between unchecked/checked groups with count
|
||||||
|
- ✅ **Auto-sort on toggle** - Re-sorts when checking/unchecking items
|
||||||
|
- ✅ **Drag across boundaries** - Items auto-toggle state when crossing separator
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📌 Homescreen Widgets _(NEW in v1.8.0)_
|
||||||
|
|
||||||
|
### Widget Features
|
||||||
|
- ✅ **Text note widget** - Display any note on homescreen
|
||||||
|
- ✅ **Checklist widget** - Interactive checkboxes that sync to server
|
||||||
|
- ✅ **5 size classes** - SMALL, NARROW_MED, NARROW_TALL, WIDE_MED, WIDE_TALL
|
||||||
|
- ✅ **Material You colors** - Dynamic colors matching system theme
|
||||||
|
- ✅ **Configurable opacity** - Background transparency (0-100%)
|
||||||
|
- ✅ **Lock toggle** - Prevent accidental edits
|
||||||
|
- ✅ **Auto-refresh** - Updates after sync completion
|
||||||
|
- ✅ **Configuration activity** - Note selection and settings
|
||||||
|
- ✅ **Checklist sorting** _(v1.8.1)_ - Widgets respect saved sort option
|
||||||
|
- ✅ **Visual separators** _(v1.8.1)_ - Between unchecked/checked items
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 🌍 Multilingual Support _(NEW in v1.5.0)_
|
## 🌍 Multilingual Support _(NEW in v1.5.0)_
|
||||||
|
|
||||||
### Supported Languages
|
### Supported Languages
|
||||||
@@ -129,9 +173,12 @@
|
|||||||
### Sync Mechanism
|
### Sync Mechanism
|
||||||
- ✅ **Upload** - Local changes to server
|
- ✅ **Upload** - Local changes to server
|
||||||
- ✅ **Download** - Server changes to app
|
- ✅ **Download** - Server changes to app
|
||||||
|
- ✅ **Parallel downloads** _(NEW in v1.8.0)_ - Up to 5 simultaneous downloads
|
||||||
- ✅ **Conflict detection** - On simultaneous changes
|
- ✅ **Conflict detection** - On simultaneous changes
|
||||||
- ✅ **Conflict-free merging** - Last-Write-Wins via timestamp
|
- ✅ **Conflict-free merging** - Last-Write-Wins via timestamp
|
||||||
- ✅ **Sync status tracking** - LOCAL_ONLY, PENDING, SYNCED, CONFLICT
|
- ✅ **Server deletion detection** _(NEW in v1.8.0)_ - Detects notes deleted on other devices
|
||||||
|
- ✅ **Sync status tracking** - LOCAL_ONLY, PENDING, SYNCED, CONFLICT, DELETED_ON_SERVER
|
||||||
|
- ✅ **Live progress UI** _(NEW in v1.8.0)_ - Phase indicators with upload/download counters
|
||||||
- ✅ **Error handling** - Retry on network issues
|
- ✅ **Error handling** - Retry on network issues
|
||||||
- ✅ **Offline-first** - App works without server
|
- ✅ **Offline-first** - App works without server
|
||||||
|
|
||||||
@@ -140,6 +187,9 @@
|
|||||||
- ✅ **HTTP/HTTPS** - HTTP only local, HTTPS for external
|
- ✅ **HTTP/HTTPS** - HTTP only local, HTTPS for external
|
||||||
- ✅ **Username/password** - Basic authentication
|
- ✅ **Username/password** - Basic authentication
|
||||||
- ✅ **Connection test** - Test in settings
|
- ✅ **Connection test** - Test in settings
|
||||||
|
- ✅ **WiFi-only sync** _(NEW in v1.7.0)_ - Option to sync only on WiFi
|
||||||
|
- ✅ **VPN support** _(NEW in v1.7.0)_ - Sync works correctly through VPN tunnels
|
||||||
|
- ✅ **Self-signed SSL** _(NEW in v1.7.0)_ - Support for self-signed certificates
|
||||||
- ✅ **Server URL normalization** - Automatic `/notes/` and `/notes-md/` _(NEW in v1.2.1)_
|
- ✅ **Server URL normalization** - Automatic `/notes/` and `/notes-md/` _(NEW in v1.2.1)_
|
||||||
- ✅ **Flexible URL input** - Both variants work: `http://server/` and `http://server/notes/`
|
- ✅ **Flexible URL input** - Both variants work: `http://server/` and `http://server/notes/`
|
||||||
|
|
||||||
@@ -196,11 +246,12 @@
|
|||||||
## 🛠️ Technical Details
|
## 🛠️ Technical Details
|
||||||
|
|
||||||
### Platform
|
### Platform
|
||||||
- ✅ **Android 8.0+** (API 26+)
|
- ✅ **Android 7.0+** (API 24+)
|
||||||
- ✅ **Target SDK 36** (Android 15)
|
- ✅ **Target SDK 36** (Android 15)
|
||||||
- ✅ **Kotlin** - Modern programming language
|
- ✅ **Kotlin** - Modern programming language
|
||||||
|
- ✅ **Jetpack Compose** - Declarative UI framework
|
||||||
- ✅ **Material Design 3** - Latest design guidelines
|
- ✅ **Material Design 3** - Latest design guidelines
|
||||||
- ✅ **ViewBinding** - Type-safe view references
|
- ✅ **Jetpack Glance** _(v1.8.0)_ - Widget framework
|
||||||
|
|
||||||
### Architecture
|
### Architecture
|
||||||
- ✅ **MVVM-Light** - Simple architecture
|
- ✅ **MVVM-Light** - Simple architecture
|
||||||
@@ -218,6 +269,7 @@
|
|||||||
- ✅ **Gson** - JSON serialization
|
- ✅ **Gson** - JSON serialization
|
||||||
- ✅ **WorkManager** - Background tasks
|
- ✅ **WorkManager** - Background tasks
|
||||||
- ✅ **OkHttp** - HTTP client (via Sardine)
|
- ✅ **OkHttp** - HTTP client (via Sardine)
|
||||||
|
- ✅ **Glance** _(v1.8.0)_ - Widget framework
|
||||||
|
|
||||||
### Build Variants
|
### Build Variants
|
||||||
- ✅ **Standard** - Universal APK (100% FOSS, no Google dependencies)
|
- ✅ **Standard** - Universal APK (100% FOSS, no Google dependencies)
|
||||||
@@ -247,22 +299,12 @@
|
|||||||
|
|
||||||
## 🔮 Future Features
|
## 🔮 Future Features
|
||||||
|
|
||||||
Planned for upcoming versions:
|
Planned for upcoming versions – see [UPCOMING.md](UPCOMING.md) for the full roadmap.
|
||||||
|
|
||||||
### v1.4.0 - Checklists
|
### v2.0.0 - Legacy Cleanup
|
||||||
- ⏳ **Checklist notes** - New note type with checkboxes
|
- ⏳ **Remove deprecated Activities** - Replace with Compose equivalents
|
||||||
- ⏳ **Completed items** - Strike-through/check off
|
- ⏳ **LocalBroadcastManager → SharedFlow** - Modern event architecture
|
||||||
- ⏳ **Drag & drop** - Reorder items
|
- ⏳ **WebDavSyncService split** - SyncOrchestrator, NoteUploader, NoteDownloader
|
||||||
|
|
||||||
### v1.5.0 - Internationalization
|
|
||||||
- ⏳ **Multi-language** - German + English UI
|
|
||||||
- ⏳ **Language selection** - Selectable in settings
|
|
||||||
- ⏳ **Full translation** - All strings in both languages
|
|
||||||
|
|
||||||
### v1.6.0 - Modern APIs
|
|
||||||
- ⏳ **Replace LocalBroadcastManager** - Use SharedFlow instead
|
|
||||||
- ⏳ **PackageInfo Flags** - Use PackageInfoFlags.of()
|
|
||||||
- ⏳ **Complexity refactoring** - Split long functions
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -305,4 +347,4 @@ A: Yes! Download the APK directly from GitHub or use F-Droid.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Last update:** v1.3.2 (2026-01-10)
|
**Last update:** v1.8.1 (2026-02-11)
|
||||||
|
|||||||
146
docs/SELF_SIGNED_SSL.de.md
Normal file
146
docs/SELF_SIGNED_SSL.de.md
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
# Selbstsignierte SSL-Zertifikate
|
||||||
|
|
||||||
|
**Seit:** v1.7.0
|
||||||
|
**Status:** ✅ Unterstützt
|
||||||
|
|
||||||
|
**🌍 Sprachen:** **Deutsch** · [English](SELF_SIGNED_SSL.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Übersicht
|
||||||
|
|
||||||
|
Simple Notes Sync unterstützt die Verbindung zu WebDAV-Servern mit selbstsignierten SSL-Zertifikaten, z.B.:
|
||||||
|
- ownCloud/Nextcloud mit selbstsignierten Zertifikaten
|
||||||
|
- Synology NAS mit Standard-Zertifikaten
|
||||||
|
- Raspberry Pi oder Home-Server
|
||||||
|
- Interne Firmen-Server mit privaten CAs
|
||||||
|
|
||||||
|
## Anleitung
|
||||||
|
|
||||||
|
### Schritt 1: CA-Zertifikat des Servers exportieren
|
||||||
|
|
||||||
|
**Auf deinem Server:**
|
||||||
|
|
||||||
|
1. Finde deine Zertifikatsdatei (meist `.crt`, `.pem` oder `.der` Format)
|
||||||
|
2. Falls du das Zertifikat selbst erstellt hast, hast du es bereits
|
||||||
|
3. Für Synology NAS: Systemsteuerung → Sicherheit → Zertifikat → Exportieren
|
||||||
|
4. Für ownCloud/Nextcloud: Meist unter `/etc/ssl/certs/` auf dem Server
|
||||||
|
|
||||||
|
### Schritt 2: Zertifikat auf Android installieren
|
||||||
|
|
||||||
|
**Auf deinem Android-Gerät:**
|
||||||
|
|
||||||
|
1. **Übertrage** die `.crt` oder `.pem` Datei auf dein Handy (per E-Mail, USB, etc.)
|
||||||
|
|
||||||
|
2. **Öffne Einstellungen** → Sicherheit → Weitere Sicherheitseinstellungen (oder Verschlüsselung & Anmeldedaten)
|
||||||
|
|
||||||
|
3. **Von Speicher installieren** / "Zertifikat installieren"
|
||||||
|
- Wähle "CA-Zertifikat"
|
||||||
|
- **Warnung:** Android zeigt eine Sicherheitswarnung. Das ist normal.
|
||||||
|
- Tippe auf "Trotzdem installieren"
|
||||||
|
|
||||||
|
4. **Navigiere** zu deiner Zertifikatsdatei und wähle sie aus
|
||||||
|
|
||||||
|
5. **Benenne** es erkennbar (z.B. "Mein ownCloud CA")
|
||||||
|
|
||||||
|
6. ✅ **Fertig!** Das Zertifikat wird nun systemweit vertraut
|
||||||
|
|
||||||
|
### Schritt 3: Simple Notes Sync verbinden
|
||||||
|
|
||||||
|
1. Öffne Simple Notes Sync
|
||||||
|
2. Gehe zu **Einstellungen** → **Server-Einstellungen**
|
||||||
|
3. Gib deine **`https://` Server-URL** wie gewohnt ein
|
||||||
|
4. Die App vertraut nun deinem selbstsignierten Zertifikat ✅
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Sicherheitshinweise
|
||||||
|
|
||||||
|
### ⚠️ Wichtig
|
||||||
|
|
||||||
|
- Die Installation eines CA-Zertifikats gewährt Vertrauen für **alle** von dieser CA signierten Zertifikate
|
||||||
|
- Installiere nur Zertifikate aus vertrauenswürdigen Quellen
|
||||||
|
- Android warnt dich vor der Installation – lies die Warnung sorgfältig
|
||||||
|
|
||||||
|
### 🔒 Warum das sicher ist
|
||||||
|
|
||||||
|
- Du installierst das Zertifikat **manuell** (bewusste Entscheidung)
|
||||||
|
- Die App nutzt Androids nativen Trust Store (keine eigene Validierung)
|
||||||
|
- Du kannst das Zertifikat jederzeit in den Android-Einstellungen entfernen
|
||||||
|
- F-Droid und Google Play konform (kein "allen vertrauen" Hack)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Fehlerbehebung
|
||||||
|
|
||||||
|
### Zertifikat nicht vertraut
|
||||||
|
|
||||||
|
**Problem:** App zeigt weiterhin SSL-Fehler nach Zertifikatsinstallation
|
||||||
|
|
||||||
|
**Lösungen:**
|
||||||
|
1. **Installation prüfen:** Einstellungen → Sicherheit → Vertrauenswürdige Anmeldedaten → Tab "Nutzer"
|
||||||
|
2. **Zertifikatstyp prüfen:** Muss ein CA-Zertifikat sein, kein Server-Zertifikat
|
||||||
|
3. **App neustarten:** Simple Notes Sync schließen und wieder öffnen
|
||||||
|
4. **URL prüfen:** Muss `https://` verwenden (nicht `http://`)
|
||||||
|
|
||||||
|
### Selbstsigniert vs. CA-signiert
|
||||||
|
|
||||||
|
| Typ | Installation nötig | Sicherheit |
|
||||||
|
|-----|-------------------|------------|
|
||||||
|
| **Selbstsigniert** | ✅ Ja | Manuelles Vertrauen |
|
||||||
|
| **Let's Encrypt** | ❌ Nein | Automatisch |
|
||||||
|
| **Private CA** | ✅ Ja (CA-Root) | Automatisch für alle CA-signierten Zertifikate |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Alternative: Let's Encrypt (Empfohlen)
|
||||||
|
|
||||||
|
Wenn dein Server öffentlich erreichbar ist, erwäge **Let's Encrypt** für kostenlose, automatisch erneuerte SSL-Zertifikate:
|
||||||
|
|
||||||
|
- Keine manuelle Zertifikatsinstallation nötig
|
||||||
|
- Von allen Geräten automatisch vertraut
|
||||||
|
- Einfacher für Endbenutzer
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Technische Details
|
||||||
|
|
||||||
|
### Implementierung
|
||||||
|
|
||||||
|
- Nutzt Androids **Network Security Config**
|
||||||
|
- Vertraut sowohl System- als auch Benutzer-CA-Zertifikaten
|
||||||
|
- Kein eigener TrustManager oder HostnameVerifier
|
||||||
|
- F-Droid und Play Store konform
|
||||||
|
|
||||||
|
### Konfiguration
|
||||||
|
|
||||||
|
Datei: `android/app/src/main/res/xml/network_security_config.xml`
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<base-config>
|
||||||
|
<trust-anchors>
|
||||||
|
<certificates src="system" />
|
||||||
|
<certificates src="user" /> <!-- ← Aktiviert Self-Signed Support -->
|
||||||
|
</trust-anchors>
|
||||||
|
</base-config>
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## FAQ
|
||||||
|
|
||||||
|
**F: Muss ich das Zertifikat nach App-Updates neu installieren?**
|
||||||
|
A: Nein, Zertifikate werden systemweit gespeichert, nicht pro App.
|
||||||
|
|
||||||
|
**F: Kann ich dasselbe Zertifikat für mehrere Apps verwenden?**
|
||||||
|
A: Ja, einmal installiert funktioniert es für alle Apps die Benutzerzertifikaten vertrauen.
|
||||||
|
|
||||||
|
**F: Wie entferne ich ein Zertifikat?**
|
||||||
|
A: Einstellungen → Sicherheit → Vertrauenswürdige Anmeldedaten → Tab "Nutzer" → Zertifikat antippen → Entfernen
|
||||||
|
|
||||||
|
**F: Funktioniert das auf Android 14+?**
|
||||||
|
A: Ja, getestet auf Android 7 bis 15 (API 24-35).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Hilfe nötig?** Erstelle ein Issue auf [GitHub](https://github.com/inventory69/simple-notes-sync/issues)
|
||||||
@@ -60,28 +60,91 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## v1.7.0 - Staggered Grid Layout
|
## v1.7.0 - Grid View, WiFi-Only & VPN ✅
|
||||||
|
|
||||||
> **Status:** Geplant 📝
|
> **Status:** Released 🎉 (Januar 2026)
|
||||||
|
|
||||||
### 🎨 Adaptives Layout
|
### 🎨 Grid Layout
|
||||||
|
|
||||||
- **Staggered Grid** - Pinterest-artiges Layout mit `LazyVerticalStaggeredGrid`
|
- ✅ **Pinterest-artiges Staggered Grid** - Lückenfreies Layout mit dynamischen Vorschauzeilen
|
||||||
- **Intelligente Größen** - Kleine Notizen (kurzer Text, wenige Checklist-Items) kompakt dargestellt
|
- ✅ **Layout-Umschalter** - Zwischen Listen- und Grid-Ansicht wechseln
|
||||||
- **Layout-Umschalter** - Zwischen Listen- und Grid-Ansicht in Einstellungen wechseln
|
- ✅ **Adaptive Spalten** - 2-3 Spalten basierend auf Bildschirmgröße
|
||||||
- **Adaptive Spalten** - 2-3 Spalten basierend auf Bildschirmgröße
|
|
||||||
- **120 FPS optimiert** - Lazy Loading für flüssiges Scrollen bei vielen Notizen
|
|
||||||
|
|
||||||
### 🔧 Server-Ordner Prüfung
|
### 📡 Sync-Verbesserungen
|
||||||
|
|
||||||
- **WebDAV Folder Check** - Prüft ob der Ordner auf dem Server existiert und beschreibbar ist
|
- ✅ **WiFi-Only Sync Toggle** - Nur über WiFi synchronisieren
|
||||||
- **Bessere Fehlermeldungen** - Hilfreiche Hinweise bei Server-Problemen
|
- ✅ **VPN-Unterstützung** - Sync funktioniert korrekt über VPN-Tunnels
|
||||||
- **Connection-Test Verbesserung** - Prüft Read/Write Permissions
|
- ✅ **Self-Signed SSL** - Dokumentation und Unterstützung für selbstsignierte Zertifikate
|
||||||
|
- ✅ **Server-Wechsel-Erkennung** - Alle Notizen auf PENDING zurückgesetzt bei URL-Änderung
|
||||||
|
|
||||||
### 🔧 Technische Verbesserungen
|
---
|
||||||
|
|
||||||
- **Code-Refactoring** - LargeClass Komponenten aufteilen (WebDavSyncService, SettingsActivity)
|
## v1.7.1 - Android 9 Fix & VPN ✅
|
||||||
- **Verbesserte Progress-Dialoge** - Material Design 3 konform
|
|
||||||
|
> **Status:** Released 🎉 (Februar 2026)
|
||||||
|
|
||||||
|
- ✅ **Android 9 Crash Fix** - `getForegroundInfo()` für WorkManager auf API 28 implementiert
|
||||||
|
- ✅ **VPN-Kompatibilität** - WiFi Socket-Binding erkennt Wireguard VPN-Interfaces
|
||||||
|
- ✅ **SafeSardineWrapper** - Saubere HTTP-Verbindungs-Bereinigung
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v1.7.2 - Timestamp & Löschungs-Fixes ✅
|
||||||
|
|
||||||
|
> **Status:** Released 🎉 (Februar 2026)
|
||||||
|
|
||||||
|
- ✅ **Server-mtime als Wahrheitsquelle** - Behebt Timestamp-Probleme mit externen Editoren
|
||||||
|
- ✅ **Deletion Tracker Mutex** - Thread-sichere Batch-Löschungen
|
||||||
|
- ✅ **ISO8601 Timezone-Parsing** - Multi-Format-Unterstützung
|
||||||
|
- ✅ **E-Tag Batch-Caching** - Performance-Verbesserung
|
||||||
|
- ✅ **Memory Leak Prävention** - SafeSardineWrapper mit Closeable
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v1.8.0 - Widgets, Sortierung & Erweiterter Sync ✅
|
||||||
|
|
||||||
|
> **Status:** Released 🎉 (Februar 2026)
|
||||||
|
|
||||||
|
### 📌 Homescreen-Widgets
|
||||||
|
|
||||||
|
- ✅ **Volles Jetpack Glance Framework** - 5 responsive Größenklassen
|
||||||
|
- ✅ **Interaktive Checklisten** - Checkboxen die zum Server synchronisieren
|
||||||
|
- ✅ **Material You Farben** - Dynamische Farben mit einstellbarer Opazität
|
||||||
|
- ✅ **Sperr-Umschalter** - Versehentliche Bearbeitungen verhindern
|
||||||
|
- ✅ **Konfigurations-Activity** - Notiz-Auswahl und Einstellungen
|
||||||
|
|
||||||
|
### 📊 Sortierung
|
||||||
|
|
||||||
|
- ✅ **Notiz-Sortierung** - Nach Titel, Änderungsdatum, Erstelldatum, Typ
|
||||||
|
- ✅ **Checklisten-Sortierung** - Manuell, alphabetisch, offene zuerst, erledigte zuletzt
|
||||||
|
- ✅ **Visuelle Trenner** - Zwischen offenen/erledigten Gruppen
|
||||||
|
- ✅ **Drag über Grenzen** - Auto-Toggle beim Überqueren des Trenners
|
||||||
|
|
||||||
|
### 🔄 Sync-Verbesserungen
|
||||||
|
|
||||||
|
- ✅ **Parallele Downloads** - Bis zu 5 gleichzeitig (konfigurierbar)
|
||||||
|
- ✅ **Server-Löschungs-Erkennung** - Erkennt auf anderen Clients gelöschte Notizen
|
||||||
|
- ✅ **Live Sync-Fortschritt** - Phasen-Anzeige mit Zählern
|
||||||
|
- ✅ **Sync-Status Legende** - Hilfe-Dialog für alle Sync-Icons
|
||||||
|
|
||||||
|
### ✨ UX
|
||||||
|
|
||||||
|
- ✅ **Post-Update Changelog** - Zeigt lokalisierten Changelog nach Update
|
||||||
|
- ✅ **Grid als Standard** - Neue Installationen starten im Grid-Modus
|
||||||
|
- ✅ **Toast → Banner Migration** - Einheitliches Benachrichtigungssystem
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v1.8.1 - Bugfix & Polish ✅
|
||||||
|
|
||||||
|
> **Status:** Released 🎉 (Februar 2026)
|
||||||
|
|
||||||
|
- ✅ **Checklisten-Sortierung Persistenz** - Sortier-Option korrekt wiederhergestellt
|
||||||
|
- ✅ **Widget Scroll Fix** - Scroll funktioniert auf Standard 3×2 Widget-Größe
|
||||||
|
- ✅ **Widget Checklisten-Sortierung** - Widgets übernehmen gespeicherte Sortier-Option
|
||||||
|
- ✅ **Drag Cross-Boundary** - Drag & Drop über Checked/Unchecked-Trenner
|
||||||
|
- ✅ **Sync Rate-Limiting** - Globaler 30s Cooldown zwischen Auto-Syncs
|
||||||
|
- ✅ **Detekt: 0 Issues** - Alle 12 Findings behoben
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -110,7 +173,6 @@
|
|||||||
|
|
||||||
### 🎨 UI Features
|
### 🎨 UI Features
|
||||||
|
|
||||||
- **Widget** - Schnellzugriff vom Homescreen
|
|
||||||
- **Kategorien/Tags** - Notizen organisieren
|
- **Kategorien/Tags** - Notizen organisieren
|
||||||
- **Suche** - Volltextsuche in Notizen
|
- **Suche** - Volltextsuche in Notizen
|
||||||
|
|
||||||
|
|||||||
@@ -60,28 +60,91 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## v1.7.0 - Staggered Grid Layout
|
## v1.7.0 - Grid View, WiFi-Only & VPN ✅
|
||||||
|
|
||||||
> **Status:** Planned 📝
|
> **Status:** Released 🎉 (January 2026)
|
||||||
|
|
||||||
### 🎨 Adaptive Layout
|
### 🎨 Grid Layout
|
||||||
|
|
||||||
- **Staggered Grid** - Pinterest-style layout using `LazyVerticalStaggeredGrid`
|
- ✅ **Pinterest-style staggered grid** - Gapless layout with dynamic preview lines
|
||||||
- **Smart sizing** - Small notes (short text, few checklist items) displayed compactly
|
- ✅ **Layout toggle** - Switch between list and grid in settings
|
||||||
- **Layout toggle** - Switch between List and Grid view in settings
|
- ✅ **Adaptive columns** - 2-3 columns based on screen size
|
||||||
- **Adaptive columns** - 2-3 columns based on screen size
|
|
||||||
- **120 FPS optimized** - Lazy loading for smooth scrolling with many notes
|
|
||||||
|
|
||||||
### 🔧 Server Folder Check
|
### 📡 Sync Improvements
|
||||||
|
|
||||||
- **WebDAV folder check** - Checks if folder exists and is writable on server
|
- ✅ **WiFi-only sync toggle** - Sync only when connected to WiFi
|
||||||
- **Better error messages** - Helpful hints for server problems
|
- ✅ **VPN support** - Sync works correctly through VPN tunnels
|
||||||
- **Connection test improvement** - Checks read/write permissions
|
- ✅ **Self-signed SSL** - Documentation and support for self-signed certificates
|
||||||
|
- ✅ **Server change detection** - All notes reset to PENDING when server URL changes
|
||||||
|
|
||||||
### 🔧 Technical Improvements
|
---
|
||||||
|
|
||||||
- **Code refactoring** - Split LargeClass components (WebDavSyncService, SettingsActivity)
|
## v1.7.1 - Android 9 Fix & VPN ✅
|
||||||
- **Improved progress dialogs** - Material Design 3 compliant
|
|
||||||
|
> **Status:** Released 🎉 (February 2026)
|
||||||
|
|
||||||
|
- ✅ **Android 9 crash fix** - Implemented `getForegroundInfo()` for WorkManager on API 28
|
||||||
|
- ✅ **VPN compatibility** - WiFi socket binding detects Wireguard VPN interfaces
|
||||||
|
- ✅ **SafeSardineWrapper** - Proper HTTP connection cleanup
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v1.7.2 - Timestamp & Deletion Fixes ✅
|
||||||
|
|
||||||
|
> **Status:** Released 🎉 (February 2026)
|
||||||
|
|
||||||
|
- ✅ **Server mtime as source of truth** - Fixes external editor timestamp issues
|
||||||
|
- ✅ **Deletion tracker mutex** - Thread-safe batch deletes
|
||||||
|
- ✅ **ISO8601 timezone parsing** - Multi-format support
|
||||||
|
- ✅ **E-Tag batch caching** - Performance improvement
|
||||||
|
- ✅ **Memory leak prevention** - SafeSardineWrapper with Closeable
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v1.8.0 - Widgets, Sorting & Advanced Sync ✅
|
||||||
|
|
||||||
|
> **Status:** Released 🎉 (February 2026)
|
||||||
|
|
||||||
|
### 📌 Homescreen Widgets
|
||||||
|
|
||||||
|
- ✅ **Full Jetpack Glance framework** - 5 responsive size classes
|
||||||
|
- ✅ **Interactive checklists** - Checkboxes that sync to server
|
||||||
|
- ✅ **Material You colors** - Dynamic colors with configurable opacity
|
||||||
|
- ✅ **Lock toggle** - Prevent accidental edits
|
||||||
|
- ✅ **Configuration activity** - Note selection and settings
|
||||||
|
|
||||||
|
### 📊 Sorting
|
||||||
|
|
||||||
|
- ✅ **Note sorting** - By title, date modified, date created, type
|
||||||
|
- ✅ **Checklist sorting** - Manual, alphabetical, unchecked first, checked last
|
||||||
|
- ✅ **Visual separators** - Between unchecked/checked groups
|
||||||
|
- ✅ **Drag across boundaries** - Auto-toggle state on cross-boundary drag
|
||||||
|
|
||||||
|
### 🔄 Sync Improvements
|
||||||
|
|
||||||
|
- ✅ **Parallel downloads** - Up to 5 simultaneous (configurable)
|
||||||
|
- ✅ **Server deletion detection** - Detects notes deleted on other clients
|
||||||
|
- ✅ **Live sync progress** - Phase indicators with counters
|
||||||
|
- ✅ **Sync status legend** - Help dialog explaining all sync icons
|
||||||
|
|
||||||
|
### ✨ UX
|
||||||
|
|
||||||
|
- ✅ **Post-update changelog** - Shows localized changelog on first launch after update
|
||||||
|
- ✅ **Grid as default** - New installations default to grid view
|
||||||
|
- ✅ **Toast → Banner migration** - Unified notification system
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v1.8.1 - Bugfix & Polish ✅
|
||||||
|
|
||||||
|
> **Status:** Released 🎉 (February 2026)
|
||||||
|
|
||||||
|
- ✅ **Checklist sort persistence** - Sort option correctly restored when reopening
|
||||||
|
- ✅ **Widget scroll fix** - Scroll works on standard 3×2 widget size
|
||||||
|
- ✅ **Widget checklist sorting** - Widgets apply saved sort option
|
||||||
|
- ✅ **Drag cross-boundary** - Drag & drop across checked/unchecked separator
|
||||||
|
- ✅ **Sync rate-limiting** - Global 30s cooldown between auto-syncs
|
||||||
|
- ✅ **Detekt: 0 issues** - All 12 findings resolved
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -110,7 +173,6 @@
|
|||||||
|
|
||||||
### 🎨 UI Features
|
### 🎨 UI Features
|
||||||
|
|
||||||
- **Widget** - Quick access from homescreen
|
|
||||||
- **Categories/Tags** - Organize notes
|
- **Categories/Tags** - Organize notes
|
||||||
- **Search** - Full-text search in notes
|
- **Search** - Full-text search in notes
|
||||||
|
|
||||||
|
|||||||
@@ -5,34 +5,50 @@ Diese Verzeichnisstruktur enthält alle Metadaten für die F-Droid-Veröffentlic
|
|||||||
## Struktur
|
## Struktur
|
||||||
|
|
||||||
```
|
```
|
||||||
fastlane/metadata/android/de-DE/
|
fastlane/metadata/android/
|
||||||
├── title.txt # App-Name (max 50 Zeichen)
|
├── de-DE/ # Deutsche Lokalisierung (primär)
|
||||||
├── short_description.txt # Kurzbeschreibung (max 80 Zeichen)
|
│ ├── title.txt # App-Name (max 50 Zeichen)
|
||||||
├── full_description.txt # Vollständige Beschreibung (max 4000 Zeichen)
|
│ ├── short_description.txt # Kurzbeschreibung (max 80 Zeichen)
|
||||||
├── changelogs/
|
│ ├── full_description.txt # Vollständige Beschreibung (max 4000 Zeichen)
|
||||||
│ └── 1.txt # Changelog für Version 1
|
│ ├── changelogs/
|
||||||
└── images/
|
│ │ ├── 1.txt ... 21.txt # Changelogs pro versionCode (max 500 Zeichen!)
|
||||||
└── phoneScreenshots/ # Screenshots (PNG/JPG, 320-3840px breit)
|
│ └── images/
|
||||||
├── 1.png # Hauptansicht (Notizliste)
|
│ └── phoneScreenshots/ # Screenshots (PNG/JPG, 320-3840px breit)
|
||||||
├── 2.png # Notiz-Editor
|
│ ├── 1.png ... 5.png
|
||||||
├── 3.png # Settings
|
└── en-US/ # Englische Lokalisierung
|
||||||
└── 4.png # Empty State
|
├── title.txt
|
||||||
|
├── short_description.txt
|
||||||
|
├── full_description.txt
|
||||||
|
├── changelogs/
|
||||||
|
│ ├── 1.txt ... 21.txt
|
||||||
|
└── images/
|
||||||
|
└── phoneScreenshots/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Wichtige Limits
|
||||||
|
|
||||||
|
| Feld | Max. Länge | Hinweis |
|
||||||
|
|------|-----------|---------|
|
||||||
|
| `title.txt` | 50 Zeichen | App-Name |
|
||||||
|
| `short_description.txt` | 80 Zeichen | Kurzbeschreibung |
|
||||||
|
| `full_description.txt` | 4000 Zeichen | Vollständige Beschreibung |
|
||||||
|
| `changelogs/*.txt` | **500 Bytes** | Pro versionCode, **Bytes nicht Zeichen!** |
|
||||||
|
|
||||||
|
> **Achtung:** Changelogs werden in **Bytes** gemessen! UTF-8 Umlaute (ä, ö, ü) zählen als 2 Bytes.
|
||||||
|
|
||||||
## Screenshots erstellen
|
## Screenshots erstellen
|
||||||
|
|
||||||
Verwende einen Android Emulator oder physisches Gerät mit:
|
Verwende ein physisches Gerät oder Emulator mit:
|
||||||
- Material You Theme aktiviert
|
- Material You Theme aktiviert
|
||||||
- Deutsche Sprache
|
- Deutsche/Englische Sprache je nach Locale
|
||||||
- Screenshots in hoher Auflösung (1080x2400 empfohlen)
|
- Screenshots in hoher Auflösung (1080x2400 empfohlen)
|
||||||
|
|
||||||
### Screenshot-Reihenfolge:
|
|
||||||
1. **Notizliste** - Mit mehreren Beispiel-Notizen, Sync-Status sichtbar
|
|
||||||
2. **Editor** - Zeige eine bearbeitete Notiz mit Titel und Inhalt
|
|
||||||
3. **Settings** - Server-Konfiguration mit erfolgreichem Server-Status
|
|
||||||
4. **Empty State** - Schöne leere Ansicht mit Material 3 Card
|
|
||||||
|
|
||||||
## F-Droid Build-Konfiguration
|
## F-Droid Build-Konfiguration
|
||||||
|
|
||||||
Die App verwendet den `fdroid` Build-Flavor ohne proprietäre Dependencies.
|
Die App verwendet den `fdroid` Build-Flavor ohne proprietäre Dependencies.
|
||||||
Siehe `build.gradle.kts` für Details.
|
Siehe `android/app/build.gradle.kts` für Details.
|
||||||
|
|
||||||
|
## Aktuelle Version
|
||||||
|
|
||||||
|
- **versionName:** 1.8.1
|
||||||
|
- **versionCode:** 21
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Unter der Haube haben wir ordentlich aufgeraumt:
|
Unter der Haube haben wir ordentlich aufgeräumt:
|
||||||
- Verbesserte Sync-Performance durch optimierten Code
|
- Verbesserte Sync-Performance durch optimierten Code
|
||||||
- Stabilere Fehlerbehandlung bei Verbindungsproblemen
|
- Stabilere Fehlerbehandlung bei Verbindungsproblemen
|
||||||
- Speichereffizientere Datenverarbeitung
|
- Speichereffizientere Datenverarbeitung
|
||||||
- Datenschutz-Hinweis fur Datei-Logging hinzugefugt
|
- Datenschutz-Hinweis für Datei-Logging hinzugefügt
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
v1.2.2 - Rückwärtskompatibilität für v1.2.0 User
|
v1.2.2 - Rückwärtskompatibilität für v1.2.0 User
|
||||||
|
|
||||||
Kritische Fehlerbehebung
|
Kritische Fehlerbehebung
|
||||||
• Server-Wiederherstellung findet jetzt ALLE Notizen (Root + /notes/)
|
• Server-Restore findet jetzt ALLE Notizen (Root + /notes/)
|
||||||
• User die von v1.2.0 upgraden verlieren keine Daten mehr
|
• Upgrade von v1.2.0 ohne Datenverlust
|
||||||
• Alte Notizen aus Root-Ordner werden beim Restore gefunden
|
• Alte Notizen aus Root-Ordner werden gefunden
|
||||||
|
|
||||||
Technische Details
|
Technische Details
|
||||||
• Dual-Mode Download nur bei Server-Restore aktiv
|
• Dual-Mode Download nur bei Server-Restore aktiv
|
||||||
• Normale Syncs bleiben schnell (scannen nur /notes/)
|
• Normale Syncs bleiben schnell (nur /notes/)
|
||||||
• Automatische Deduplication verhindert Duplikate
|
• Automatische Deduplication verhindert Duplikate
|
||||||
• Sanfte Migration: Neue Uploads gehen in /notes/, alte bleiben lesbar
|
• Sanfte Migration: Uploads → /notes/, alte bleiben lesbar
|
||||||
|
|||||||
@@ -1,29 +1,31 @@
|
|||||||
Simple Notes Sync ist eine minimalistische Notizen-App mit WebDAV-Synchronisation und modernen Features.
|
Simple Notes Sync ist eine minimalistische Notizen-App mit WebDAV-Synchronisation und modernen Features.
|
||||||
|
|
||||||
Hauptfunktionen:
|
Hauptfunktionen:
|
||||||
• Text-Notizen und Checklisten (Tap-to-Check, Drag & Drop)
|
• Text-Notizen und Checklisten (Tap-to-Check, Drag & Drop, Sortierung)
|
||||||
• NEU: Raster-Ansicht (Grid View) für Notizen
|
• Raster- und Listen-Ansicht mit Notizfarben
|
||||||
|
• Homescreen-Widgets (Quick-Note, Checkliste mit interaktiven Checkboxen)
|
||||||
• Multi-Device Sync (Handy, Tablet, Desktop)
|
• Multi-Device Sync (Handy, Tablet, Desktop)
|
||||||
• WebDAV-Synchronisation mit eigenem Server (Nextcloud, ownCloud, etc.)
|
• WebDAV-Synchronisation mit eigenem Server (Nextcloud, ownCloud, etc.)
|
||||||
• Markdown-Export und Import für Desktop-Editoren (Obsidian, VS Code)
|
• Markdown-Export und Import für Desktop-Editoren (Obsidian, VS Code)
|
||||||
• NEU: WiFi-only Sync, VPN-Unterstützung, Verschlüsselung für lokale Backups
|
• WiFi-only Sync, VPN-Unterstützung, parallele Downloads
|
||||||
• Konfigurierbare Sync-Trigger: onSave, onResume, WiFi, periodisch, Boot
|
• Konfigurierbare Sync-Trigger: onSave, onResume, WiFi, periodisch, Boot
|
||||||
• Komplett offline nutzbar
|
• Komplett offline nutzbar – keine Werbung, keine Tracker
|
||||||
• Keine Werbung, keine Tracker
|
|
||||||
|
|
||||||
Datenschutz & Sicherheit:
|
Datenschutz & Sicherheit:
|
||||||
• Alle Daten bleiben bei dir – keine Cloud, keine Tracking-Bibliotheken
|
• Alle Daten bleiben bei dir – keine Cloud, keine Tracking-Bibliotheken
|
||||||
• Unterstützung für selbstsignierte SSL-Zertifikate (Self-signed SSL)
|
• Unterstützung für selbstsignierte SSL-Zertifikate
|
||||||
• SHA-256 Hash des Signaturzertifikats in App und Releases sichtbar
|
• Verschlüsselte lokale Backups
|
||||||
|
|
||||||
Synchronisation:
|
Synchronisation:
|
||||||
• Automatisch oder manuell, optimierte Performance, periodischer Sync optional
|
• Parallele Downloads (bis zu 5 gleichzeitig)
|
||||||
• Intelligente Konfliktlösung, Lösch-Tracking, Batch-Aktionen
|
• Live Sync-Fortschritt mit Phasen-Anzeige
|
||||||
|
• Intelligente Konfliktlösung, Server-Löschungs-Erkennung
|
||||||
|
• Post-Update Changelog-Dialog
|
||||||
|
|
||||||
UI & Design:
|
UI & Design:
|
||||||
• Moderne Jetpack Compose Oberfläche
|
• Moderne Jetpack Compose Oberfläche
|
||||||
• Material Design 3, Dynamic Colors, Dark Mode
|
• Material Design 3, Dynamic Colors, Dark Mode
|
||||||
• Animationen und Live Sync-Status
|
• Notiz- und Checklisten-Sortierung (Titel, Datum, Farbe, alphabetisch)
|
||||||
|
|
||||||
Mehrsprachig:
|
Mehrsprachig:
|
||||||
• Deutsch und Englisch, automatische Erkennung, App-Sprachauswahl
|
• Deutsch und Englisch, automatische Erkennung, App-Sprachauswahl
|
||||||
|
|||||||
8
fastlane/metadata/android/en-US/changelogs/1.txt
Normal file
8
fastlane/metadata/android/en-US/changelogs/1.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
• Material Design 3 with Dynamic Colors
|
||||||
|
• Swipe-to-Delete with confirmation dialog
|
||||||
|
• Server Backup & Restore feature
|
||||||
|
• Improved Empty State view
|
||||||
|
• German localization
|
||||||
|
• Splash Screen Support (Android 12+)
|
||||||
|
• Performance improvements
|
||||||
|
• Bug fixes
|
||||||
5
fastlane/metadata/android/en-US/changelogs/2.txt
Normal file
5
fastlane/metadata/android/en-US/changelogs/2.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
• Configurable sync interval (15/30/60 minutes)
|
||||||
|
• Transparent battery usage display (measured: 0.4%/day at 30min)
|
||||||
|
• Doze Mode optimizations for more reliable background syncs
|
||||||
|
• About section with app information and GitHub links
|
||||||
|
• Various bugfixes and performance improvements
|
||||||
@@ -1,29 +1,31 @@
|
|||||||
Simple Notes Sync is a minimalist note-taking app with WebDAV sync and modern features.
|
Simple Notes Sync is a minimalist note-taking app with WebDAV sync and modern features.
|
||||||
|
|
||||||
Key Features:
|
Key Features:
|
||||||
• Text notes and checklists (tap-to-check, drag & drop)
|
• Text notes and checklists (tap-to-check, drag & drop, sorting)
|
||||||
• NEW: Grid view for notes
|
• Grid and list view with note color support
|
||||||
|
• Homescreen widgets (quick-note, checklist with interactive checkboxes)
|
||||||
• Multi-device sync (phone, tablet, desktop)
|
• Multi-device sync (phone, tablet, desktop)
|
||||||
• WebDAV sync with your own server (Nextcloud, ownCloud, etc.)
|
• WebDAV sync with your own server (Nextcloud, ownCloud, etc.)
|
||||||
• Markdown export/import for desktop editors (Obsidian, VS Code)
|
• Markdown export/import for desktop editors (Obsidian, VS Code)
|
||||||
• NEW: WiFi-only sync, VPN support, encryption for local backups
|
• WiFi-only sync, VPN support, parallel downloads
|
||||||
• Configurable sync triggers: onSave, onResume, WiFi, periodic, boot
|
• Configurable sync triggers: onSave, onResume, WiFi, periodic, boot
|
||||||
• Fully usable offline
|
• Fully usable offline – no ads, no trackers
|
||||||
• No ads, no trackers
|
|
||||||
|
|
||||||
Privacy & Security:
|
Privacy & Security:
|
||||||
• Your data stays with you – no cloud, no tracking libraries
|
• Your data stays with you – no cloud, no tracking libraries
|
||||||
• Support for self-signed SSL certificates
|
• Support for self-signed SSL certificates
|
||||||
• SHA-256 hash of signing certificate shown in app and releases
|
• Encrypted local backups
|
||||||
|
|
||||||
Synchronization:
|
Synchronization:
|
||||||
• Automatic or manual, optimized performance, optional periodic sync
|
• Parallel downloads (up to 5 simultaneous)
|
||||||
• Smart conflict resolution, deletion tracking, batch actions
|
• Live sync progress with phase indicators
|
||||||
|
• Smart conflict resolution, server deletion detection
|
||||||
|
• Post-update changelog dialog
|
||||||
|
|
||||||
UI & Design:
|
UI & Design:
|
||||||
• Modern Jetpack Compose interface
|
• Modern Jetpack Compose interface
|
||||||
• Material Design 3, dynamic colors, dark mode
|
• Material Design 3, dynamic colors, dark mode
|
||||||
• Animations and live sync status
|
• Note & checklist sorting (title, date, color, alphabetical)
|
||||||
|
|
||||||
Multilingual:
|
Multilingual:
|
||||||
• English and German, automatic detection, in-app language selector
|
• English and German, automatic detection, in-app language selector
|
||||||
|
|||||||
Reference in New Issue
Block a user