Skip to content

Release Android 1.1.20 with Cloud download, sign-in, and sync fixes - #64

Merged
adibhanna merged 4 commits into
mainfrom
fix/cloud-live-regressions
Sep 14, 2026
Merged

adibhanna merged 4 commits into
mainfrom
fix/cloud-live-regressions

Conversation

@adibhanna

@adibhanna adibhanna commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Initial Cloud downloads could crash Android while copying large base64 responses into native debug logging, and restarting the app could lose a saved Cloud sign-in. This bounds content pages and fixes storage initialization, while adopting the shared 2.50.0 publishing, conflict, and restore fixes from ZenNotes/zennotes#774.

  • Disable Capacitor payload logging and fetch one item per content-bearing manifest/change page. Metadata-only pagination stays unchanged.
  • Serialize Secure Storage initialization and migrate legacy credential/pending-sign-in records before use. Canonical credentials win, shared validation still applies, and logout cannot resurrect a legacy credential.
  • Expose the metadata-only remote change probe so incoming changes refresh automatically without scanning local files or fetching attachments during the probe.

Validation: 130 tests pass; TypeScript, production web build, Capacitor sync, and native debug build pass. Live native testing against zennotes.org reproduced the original crash twice, then verified recovery of all four initial attachments (26 MB total) with exact hashes on the same 192 MB native heap. Also passed sign-in/restart, automatic bidirectional sync, exact-hash 8.1 MB and 10,000,000-byte uploads, oversized-file recovery, publishing and updating the same URL (including Cloud Settings), offline conflict resolution, backup, restore, and unpublish. Restoring the eight-file Android backup produced exact checkpoint hashes on Android, iPhone, and desktop, removed a newer file from all three, and refreshed the open editor. Disposable Cloud resources were removed afterward.

Shared source is pinned to 104416f560bb9e709620cabe9e1f225306f7a4ea. Native validation used an emulator. One-item content pagination adds requests and can slow large initial syncs/backlogs; it bounds each native response, not the coordinator's total JavaScript memory use.

Release identifiers are consistently 1.1.20 / versionCode 22. The signed release AAB and APK build successfully, native unit tests pass, and all 474 bridge/web asset files match between them. The signed release APK passed fresh-install onboarding, local note creation, and a cold restart with identical saved-note hashes on an isolated Android 15 emulator. The upload bundle SHA-256 is 6fe26fa76798b8632daeff10b19a54601b1091eca75e6574b31c8ea9c06b1d05.

@adibhanna adibhanna changed the title Fix Cloud download crashes, sign-in persistence, and sync refresh Release Android 1.1.20 with Cloud download, sign-in, and sync fixes Sep 14, 2026
@adibhanna
adibhanna merged commit 50c31dc into main Sep 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant