Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
217a174478 | ||
|
|
d58d9036cb | ||
|
|
dfdccfe6c7 |
39
README.de.md
39
README.de.md
@@ -1,17 +1,24 @@
|
|||||||
# Simple Notes Sync 📝
|
<div align="center">
|
||||||
|
|
||||||
> Minimalistische Offline-Notizen mit Auto-Sync zu deinem eigenen Server
|
# Simple Notes Sync
|
||||||
|
|
||||||
[](https://www.android.com/)
|
**Minimalistische Offline-Notizen mit Auto-Sync zu deinem eigenen Server**
|
||||||
[](https://m3.material.io/)
|
|
||||||
[](LICENSE)
|
|
||||||
|
|
||||||
[<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="80">](https://apt.izzysoft.de/fdroid/index/apk/dev.dettmer.simplenotes)
|
[](https://www.android.com/)
|
||||||
[<img src="https://f-droid.org/badge/get-it-on-de.png" alt="Get it on F-Droid" height="80">](https://f-droid.org/packages/dev.dettmer.simplenotes/)
|
[](https://kotlinlang.org/)
|
||||||
|

|
||||||
|
[](https://m3.material.io/)
|
||||||
|
[](LICENSE)
|
||||||
|
|
||||||
**📱 [APK Download](https://github.com/inventory69/simple-notes-sync/releases/latest)** · **📖 [Dokumentation](docs/DOCS.de.md)** · **🚀 [Quick Start](QUICKSTART.de.md)**
|
[<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="60">](https://apt.izzysoft.de/fdroid/index/apk/dev.dettmer.simplenotes)
|
||||||
|
[<img src="https://raw.githubusercontent.com/ImranR98/Obtainium/main/assets/graphics/badge_obtainium.png" alt="Get it on Obtainium" height="60">](http://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/inventory69/simple-notes-sync)
|
||||||
|
[<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/packages/dev.dettmer.simplenotes/)
|
||||||
|
|
||||||
**🌍 Sprachen:** **Deutsch** · [English](README.md)
|
[📱 APK Download](https://github.com/inventory69/simple-notes-sync/releases/latest) · [📖 Dokumentation](docs/DOCS.de.md) · [🚀 Quick Start](QUICKSTART.de.md)
|
||||||
|
|
||||||
|
**🌍** **Deutsch** · [English](README.md)
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -28,6 +35,14 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
|
||||||
|
📝 Offline-first • 🔄 Smart Sync • 🔒 Self-hosted • 🔋 Akkuschonend
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## ✨ Highlights
|
## ✨ Highlights
|
||||||
|
|
||||||
- ✅ **NEU: Checklisten** - Tap-to-Check, Drag & Drop
|
- ✅ **NEU: Checklisten** - Tap-to-Check, Drag & Drop
|
||||||
@@ -112,4 +127,8 @@ MIT License - siehe [LICENSE](LICENSE)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**v1.6.0** · Built with ❤️ using Kotlin + Material Design 3
|
<div align="center">
|
||||||
|
|
||||||
|
**v1.6.1** · Built with ❤️ using Kotlin + Jetpack Compose + Material Design 3
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|||||||
41
README.md
41
README.md
@@ -1,17 +1,26 @@
|
|||||||
# Simple Notes Sync 📝
|
<div align="center">
|
||||||
|
|
||||||
> Minimalist offline notes with auto-sync to your own server
|
# Simple Notes Sync
|
||||||
|
|
||||||
[](https://www.android.com/)
|
**Minimalist offline notes with auto-sync to your own server**
|
||||||
[](https://m3.material.io/)
|
|
||||||
[](LICENSE)
|
|
||||||
|
|
||||||
[<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="80">](https://apt.izzysoft.de/fdroid/index/apk/dev.dettmer.simplenotes)
|
[](https://www.android.com/)
|
||||||
[<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="80">](https://f-droid.org/packages/dev.dettmer.simplenotes/)
|
[](https://kotlinlang.org/)
|
||||||
|

|
||||||
|
[](https://m3.material.io/)
|
||||||
|
[](LICENSE)
|
||||||
|
|
||||||
**📱 [APK Download](https://github.com/inventory69/simple-notes-sync/releases/latest)** · **📖 [Documentation](docs/DOCS.md)** · **🚀 [Quick Start](QUICKSTART.md)**
|
[<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="60">](https://apt.izzysoft.de/fdroid/index/apk/dev.dettmer.simplenotes)
|
||||||
|
[<img src="https://raw.githubusercontent.com/ImranR98/Obtainium/main/assets/graphics/badge_obtainium.png" alt="Get it on Obtainium" height="60">](http://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/inventory69/simple-notes-sync)
|
||||||
|
[<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/packages/dev.dettmer.simplenotes/)
|
||||||
|
|
||||||
**🌍 Languages:** [Deutsch](README.de.md) · **English**
|
|
||||||
|
|
||||||
|
[📱 APK Download](https://github.com/inventory69/simple-notes-sync/releases/latest) · [📖 Documentation](docs/DOCS.md) · [🚀 Quick Start](QUICKSTART.md)
|
||||||
|
|
||||||
|
**🌍** [Deutsch](README.de.md) · **English**
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -28,6 +37,14 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
|
||||||
|
📝 Offline-first • 🔄 Smart Sync • 🔒 Self-hosted • 🔋 Battery-friendly
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## ✨ Highlights
|
## ✨ Highlights
|
||||||
|
|
||||||
- ✅ **NEW: Checklists** - Tap-to-check, drag & drop
|
- ✅ **NEW: Checklists** - Tap-to-check, drag & drop
|
||||||
@@ -108,4 +125,8 @@ MIT License - see [LICENSE](LICENSE)
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**v1.6.0** · Built with ❤️ using Kotlin + Jetpack Compose + Material Design 3
|
<div align="center">
|
||||||
|
|
||||||
|
**v1.6.1** · Built with ❤️ using Kotlin + Jetpack Compose + Material Design 3
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ android {
|
|||||||
applicationId = "dev.dettmer.simplenotes"
|
applicationId = "dev.dettmer.simplenotes"
|
||||||
minSdk = 24
|
minSdk = 24
|
||||||
targetSdk = 36
|
targetSdk = 36
|
||||||
versionCode = 15 // 🔧 v1.6.1: Lint-Cleanup detekt and ktlint
|
versionCode = 16 // 🔧 v1.6.2: Hotfix offline mode migration bug
|
||||||
versionName = "1.6.1" // 🔧 v1.6.1: Lint-Cleanup detekt and ktlint
|
versionName = "1.6.2" // 🔧 v1.6.2: Hotfix offline mode migration bug
|
||||||
|
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,14 @@ class SimpleNotesApplication : Application() {
|
|||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
super.onCreate()
|
super.onCreate()
|
||||||
|
|
||||||
// File-Logging ZUERST aktivieren (damit alle Logs geschrieben werden!)
|
|
||||||
val prefs = getSharedPreferences(Constants.PREFS_NAME, Context.MODE_PRIVATE)
|
val prefs = getSharedPreferences(Constants.PREFS_NAME, Context.MODE_PRIVATE)
|
||||||
|
|
||||||
|
// 🔧 Hotfix v1.6.2: Migrate offline mode setting BEFORE any ViewModel initialization
|
||||||
|
// This prevents the offline mode bug where users updating from v1.5.0 incorrectly
|
||||||
|
// appear as offline even though they have a configured server
|
||||||
|
migrateOfflineModeSetting(prefs)
|
||||||
|
|
||||||
|
// File-Logging ZUERST aktivieren (damit alle Logs geschrieben werden!)
|
||||||
if (prefs.getBoolean("file_logging_enabled", false)) {
|
if (prefs.getBoolean("file_logging_enabled", false)) {
|
||||||
Logger.enableFileLogging(this)
|
Logger.enableFileLogging(this)
|
||||||
Logger.d(TAG, "📝 File logging enabled at Application startup")
|
Logger.d(TAG, "📝 File logging enabled at Application startup")
|
||||||
@@ -50,4 +56,30 @@ class SimpleNotesApplication : Application() {
|
|||||||
// WorkManager läuft weiter auch nach onTerminate!
|
// WorkManager läuft weiter auch nach onTerminate!
|
||||||
// Nur bei deaktiviertem Auto-Sync stoppen wir es
|
// Nur bei deaktiviertem Auto-Sync stoppen wir es
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 🔧 Hotfix v1.6.2: Migrate offline mode setting for updates from v1.5.0
|
||||||
|
*
|
||||||
|
* Problem: KEY_OFFLINE_MODE didn't exist in v1.5.0, but MainViewModel
|
||||||
|
* and NoteEditorViewModel use `true` as default, causing existing users
|
||||||
|
* with configured servers to appear in offline mode after update.
|
||||||
|
*
|
||||||
|
* Fix: Set the key BEFORE any ViewModel is initialized based on whether
|
||||||
|
* a server was already configured.
|
||||||
|
*/
|
||||||
|
private fun migrateOfflineModeSetting(prefs: android.content.SharedPreferences) {
|
||||||
|
if (!prefs.contains(Constants.KEY_OFFLINE_MODE)) {
|
||||||
|
val serverUrl = prefs.getString(Constants.KEY_SERVER_URL, null)
|
||||||
|
val hasServerConfig = !serverUrl.isNullOrEmpty() &&
|
||||||
|
serverUrl != "http://" &&
|
||||||
|
serverUrl != "https://"
|
||||||
|
|
||||||
|
// If server was configured → offlineMode = false (continue syncing)
|
||||||
|
// If no server → offlineMode = true (new users / offline users)
|
||||||
|
val offlineModeValue = !hasServerConfig
|
||||||
|
prefs.edit().putBoolean(Constants.KEY_OFFLINE_MODE, offlineModeValue).apply()
|
||||||
|
|
||||||
|
Logger.i(TAG, "🔄 Migrated offline_mode_enabled: hasServer=$hasServerConfig → offlineMode=$offlineModeValue")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
2
fastlane/metadata/android/de-DE/changelogs/16.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/16.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
• Behebt Offline-Modus Problem nach Update von v1.5.0
|
||||||
|
• Nutzer mit konfiguriertem Server werden nicht mehr fälschlicherweise als offline angezeigt
|
||||||
2
fastlane/metadata/android/en-US/changelogs/16.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/16.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
• Fixes offline mode issue after updating from v1.5.0
|
||||||
|
• Users with configured servers are no longer incorrectly shown as offline
|
||||||
Reference in New Issue
Block a user