Skip to content

ZenNotes for Android 1.1.31: Cloud says what it is waiting on

Choose a tag to compare

@adibhanna adibhanna released this 02 Oct 23:07
· 28 commits to main since this release
81493e4

ZenNotes for Android 1.1.31: Cloud says what it is waiting on

Version 1.1.31, versionCode 34, October 2, 2026, following 1.1.30 (33). PR #94 carries fdd848b; the signed bundle zennotes-1.1.31-vc34.aab (31,565,446 bytes, SHA-256 55b1c461…5c8d25) was built from that commit.

What changes on the phone

These come from testing ZenNotes Cloud on real devices against the production service on October 2.

  • A note paused by a sync conflict says so on the note. A one-row banner across its top, with Review opening the conflict queue on that note, and one notification per new conflict. Before, only Settings → Cloud knew.
  • Limits name themselves. "1 file too large for Cloud" on the status row, the file named in the message, and "Not synced to Cloud: larger than the 10 MB file-size limit, so it stays on this device." right under the file in the note. A 10 GB plan reads 10 GB, not 9.3 GB.
  • Attached videos, audio and PDFs embed in the note and play in Edit and Read mode, instead of landing as a link.
  • Deleting a Cloud vault asks for its name, and other devices say "Cloud vault deleted" instead of quietly stopping. Review on the Cloud row opens Settings on the Cloud page.
  • The backup browser lists and searches the whole backup, with Load more, instead of stopping at the first 50 files.
  • Fixed: pulling a note at the top level of a vault left an empty folder named after it minus its last letter (Welcome.m), since 1.1.12; and Cloud no longer syncs its own bookkeeping files.

Under the hood

Core core-2.60.4-core.hae0e49f9e5397fc2 was built by CI from ZenNotes/zennotes c507caa3 on v2.61.0 (run 37072275356) and published as a pre-release; iPhone 1.17.1 vendors the identical archives. core:adopt checked SHA-256, SHA-512, packed versions and clean-source provenance. The shell wires the new optional listCloudBackupItemsPage bridge method. The lockfile is main's with only the root pins and the three @zennotes entries swapped; npm ci accepts it.

Source: branch release/1.1.31 from main 7c6d778: root-level pull fix 1cf261e, Settings target f8d87c2, media embeds b802c91, adoption 276d4a2 (2.60.4), version commit fdd848b (Gradle, the bridge fallback version, package.json and the lockfile root). No native code, permission or SDK changes.

Validation

  • On core 2.60.4: boundaries, typecheck and 206 JavaScript tests passed, plus the Vite build and Capacitor sync. JDK 21 bundleRelease passed.
  • PR #94 CI on fdd848b passed: the build job and the emulator launch job.
  • The Cloud changes were exercised on a physical iPhone with development builds of the same core against production Cloud, and on desktop; not on an Android device here.

Play Console submission

1.1.30 (33) went live on October 2. Production, Create new release: release notes (402 characters, inside <en-US> tags), the AAB dropped in by Adib, processed as 34 (1.1.31): API 24+, target SDK 36; no devices lost (12,320 phones, 6,749 tablets); 2.29 MB update; only the usual "no deobfuscation file" warning. Saved, "Submit 1 change for review", "Send changes for review": Changes in review. Managed publishing is off, so approval publishes it.

PR #94 merged as 81493e4d (merge tree equals fdd848b, the AAB's source); lightweight tag v1.1.31. This release carries Play's signed universal APK from App bundle explorer as zennotes-1.1.31-universal.apk: 31,818,291 bytes, SHA-256 97e40b44…0a0b45, md.zennotes 34 / 1.1.31, target 36, signer 9f1af3a4… as since 1.1.22, no CHECK_LICENSE or pairip.

How to test locally

  1. npm ci && npm run build && npx cap sync android, then open android/ in Android Studio and run on a device or emulator.
  2. Sign in to ZenNotes Cloud and link a vault that also syncs on a desktop.
  3. On the desktop, create Welcome.md at the vault root and sync. Before (1.1.30): the phone grows an empty Welcome.m folder. After: only Welcome.md.
  4. Edit the same line of a note on both devices while one is offline, then reconnect. Before: nothing on the phone said sync had paused. After: the note shows "Sync is paused for this note…" with Review.
  5. Attach a short video to a note. Before: a link with the file name. After: a player.