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/)
|
||||
[](https://m3.material.io/)
|
||||
[](LICENSE)
|
||||
**Minimalistische Offline-Notizen mit Auto-Sync zu deinem eigenen Server**
|
||||
|
||||
[<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)
|
||||
[<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://www.android.com/)
|
||||
[](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
|
||||
|
||||
- ✅ **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/)
|
||||
[](https://m3.material.io/)
|
||||
[](LICENSE)
|
||||
**Minimalist offline notes with auto-sync to your own server**
|
||||
|
||||
[<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)
|
||||
[<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://www.android.com/)
|
||||
[](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
|
||||
|
||||
- ✅ **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"
|
||||
minSdk = 24
|
||||
targetSdk = 36
|
||||
versionCode = 15 // 🔧 v1.6.1: Lint-Cleanup detekt and ktlint
|
||||
versionName = "1.6.1" // 🔧 v1.6.1: Lint-Cleanup detekt and ktlint
|
||||
versionCode = 16 // 🔧 v1.6.2: Hotfix offline mode migration bug
|
||||
versionName = "1.6.2" // 🔧 v1.6.2: Hotfix offline mode migration bug
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
@@ -18,8 +18,14 @@ class SimpleNotesApplication : Application() {
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
|
||||
// File-Logging ZUERST aktivieren (damit alle Logs geschrieben werden!)
|
||||
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)) {
|
||||
Logger.enableFileLogging(this)
|
||||
Logger.d(TAG, "📝 File logging enabled at Application startup")
|
||||
@@ -50,4 +56,30 @@ class SimpleNotesApplication : Application() {
|
||||
// WorkManager läuft weiter auch nach onTerminate!
|
||||
// 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