* fix(sync): defer example-op rejection until after hydration succeeds Move _discardExampleTaskOps to after hydrateFromRemoteSync succeeds in the file-based snapshot path so a hydration failure no longer drops pending example-create ops while leaving the user without the remote snapshot. Cancelled LWW re-uploads now stop the sync and report UNKNOWN_OR_CHANGED to force a retry, and the snapshot of isNeverSynced is threaded into retries so the second upload doesn't mis-classify a still-fresh client. Adds ordering and download-LWW-cancel tests. * fix(task-repeat-cfg): preserve user-edited overdue instances across more fields skipOverdue cleanup previously only protected instances with notes or attachments. Extend the unmodified-template check to also gate on title, time estimate, tag membership (excluding TODAY_TAG), project, and subtask templates so a yesterday-instance the user touched in any of those ways survives until the user deletes it themselves. Adds regression tests for completed subtasks (via hasSubtaskProgress) and project moves. * fix(tasks): preserve user-set deadline reminder across add-task-bar parses The parser used to overwrite a manually-set deadline with a null reminder option on every keystroke and the deadline dialog dropped the previously-selected reminder when opened in select-only mode. Track whether the active deadline came from short syntax and only clear it when that syntax is removed, and thread the existing reminder option through to the dialog so reopening doesn't wipe it. Also hardens select-only submit against malformed time input and adds parameterized tests for the bad-time set. * chore(android): clarify WebView provider wording Reword the storage-cleanup warning to reference the active WebView provider app rather than "Android System WebView" so the message remains accurate on devices where the provider is Samsung Internet, Huawei Browser, etc. * fix: address review data-preservation gaps |
||
|---|---|---|
| .. | ||
| .idea | ||
| app | ||
| fastlane/metadata/android/en-US/changelogs | ||
| gradle/wrapper | ||
| .gitignore | ||
| ALWAYS_TAG_RELEASES_FOR_FDROID | ||
| build.gradle | ||
| capacitor.settings.gradle | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| README.md | ||
| README_OFFLINE.md | ||
| README_ONLINE.md | ||
| settings.gradle | ||
super-productivity-android
Android App for Super Productivity (https://super-productivity.com/).
I am not an Android developer, so help would be very welcome!!
New Connectivity-Free Mode is Here!
This feature was added on October 7, 2024. See Pull Request #57.
You can now use the core features of the app without an internet connection, offering a smoother and more reliable experience. We've made several key updates to enhance usability:
- Connectivity-Free Mode Support: Enjoy uninterrupted access to the app's main features without needing a network connection. You can still sync with WebDAV, Dropbox, or choose to work entirely offline without any network access.
- Online-Only Mode (Compatibility Mode): For users who prefer or need the traditional experience, the app still supports the original mode, which requires an internet connection for functionality.
- CORS Issues Resolved: Fixed cross-origin resource sharing (CORS) problems, especially for WebDAV sync, ensuring secure and smooth synchronisation with local or hosted resources.
- Enhanced Security: Strengthened data protection to keep your information secure, even when offline.
- Seamless Upgrade: Existing users can continue using the app in Online-Only Mode (Compatibility Mode) without any disruptions, while new users can immediately enjoy the benefits of Connectivity-Free Mode. Future updates will also include a smooth migration plan for everyone.
Update now to enjoy these exciting new features and improvements!
Launch Modes
The app supports two launch modes:
- Connectivity-Free Mode (Recommended) – Use the app without an internet connection.
- Online-Only Mode (Compatibility Mode) – Requires an internet connection to connect to production, local development, or self-hosted servers.
Configuring Launch Mode
To configure the launch mode, adjust the LAUNCH_MODE setting in the app_config.properties file:
- 0: Default behaviour (read from SharedPreferences)
- 1: Force Online-Only Mode (Compatibility Mode)
- 2: Force Connectivity-Free Mode (Recommended)
Recommendation: Set LAUNCH_MODE to 2 for Connectivity-Free Mode.
How to Adjust LAUNCH_MODE
- Locate the
app_config.propertiesfile in the project's root directory. - Open the file in a text editor.
- Find the
LAUNCH_MODEsetting and set it to your desired mode (0,1, or2).
LAUNCH_MODE=2
Important: The app_config.properties file is intended for local modifications only. DO NOT COMMIT this file unless you are sure of what you are doing.
Detailed Configuration Guides
- Connectivity-Free Mode Documentation (Recommended): Step-by-step guide to setting up and building the app in Connectivity-Free Mode.
- Online-Only Mode (Compatibility) Documentation: Step-by-step guide to setting up and building the app in Online-Only Mode.