Skip to content

ZenNotes for Android 1.1.30: folder pickers, heading links and native Cloud transfers

Choose a tag to compare

@adibhanna adibhanna released this 02 Oct 15:22
· 38 commits to main since this release
7c6d778

ZenNotes for Android 1.1.30: folder pickers, heading links and native Cloud transfers

Version 1.1.30, versionCode 33, October 2, 2026, following 1.1.29 (32). PR #92 was rebuilt on main after #93 (native Cloud streaming) merged and carries a83bb57; the signed bundle zennotes-1.1.30-vc33.aab (31,557,330 bytes, SHA-256 f8ee7e64…395a) was built from that commit. Earlier bundles on core 2.60.1 and 2.60.2 were superseded and never uploaded.

What changes on the phone

  • Folder pickers open without the keyboard. Since core 2.53.0 (the first core the phones took after desktop 2.52.0 added the shared dialog focus), Move to… (for a note or a folder) opened with the soft keyboard up, covering the list of folders it asks you to tap. PromptModal leaves touch prompts with suggestions tap-first, but the shared dialog shell focused their input on open anyway. With core 2.60.1 the picker opens with the whole list visible; tap a folder to move there, or tap the field to type a path. Prompts with nothing to tap (Rename, New folder) still open with the keyboard.
  • Heading links land in Read mode. A Markdown [text](#heading) had nothing to scroll to (rendered headings carry no id), and in the editor only the exact heading text matched. Both now follow #heading, #Heading%20Text and #heading-slug to the heading. A tap on a wikilink also stops opening the hover card first: on iPhone that card swallowed the tap entirely (emailed report on iOS 1.15.0); on Android it only flashed.

Under the hood

Draft core-2.60.3-core.h44232ae9fc126112 was built from ZenNotes/zennotes e5e34f84d4a7b3eaaa4ac319f9bfb2a5a0cb6656 on v2.61.0 by workflow 37018099829: main's Cloud core from #884 merged with the picker fix 0c3071a6 and the heading-link fix a6d0997a (merge 5c3d3bd9); iPhone 1.17.0 vendors the identical archives. core:adopt checked SHA-256, SHA-512, packed versions and clean-source provenance. App-core is 2.60.3-core.h44232ae9fc126112. No bridge changes, so the shell needs no port.

Source: branch release/1.1.30 rebuilt from main f3bfe28 (merge of #93: core 2.60.1 adoption and native Cloud streaming through CloudFileStream/DirectUploadPlugin): adoption aeb3f4c (2.60.3), version commit a83bb57 (Gradle, the bridge fallback version, package.json and the lockfile root). The lockfile is main's with only the root pins and the three @zennotes entries swapped; npm ci accepts it. Native code changed in #93 (Cloud file streaming plugin); no permission or SDK changes in this release's own commits.

Validation

  • On core 2.60.3 with #93: boundaries, typecheck, 203 JavaScript tests (including the native-bridge test that no response groups large attachments, which fails on this core without #93), production audit (0 vulnerabilities), Vite build and Capacitor sync passed.
  • JDK 21: testDebugUnitTest, lintDebug, assembleDebug and bundleRelease passed. The bundle's merged manifest reads versionCode 33 / 1.1.30, and its public/ assets equal dist/ file for file.
  • The picker fix was verified on the iPhone shell with the same core (Move to… opens with no keyboard and the whole list visible; one tap on the field raises it) and by composed jsdom tests upstream. The heading-link fix was verified on desktop over CDP (all three link forms land the heading) and on the iPhone simulator. Neither was exercised on an Android device or emulator here; PR #92's emulator job is the launch check.

Play Console submission

1.1.29 (32) was already live (Active, 178 countries) on October 2, so 1.1.30 is a regular update. Production, Create new release: release notes (the What's New text, 434 characters, inside <en-US> tags) filled in the built-in browser; the AAB dropped in by Adib (signed in to Google first); processed as 33 (1.1.30): API 24+, target SDK 36, same screen layouts, ABIs and required features as 1.1.29; no devices lost (12,320 phones, 6,749 tablets); 6.1 MB update; only the usual "no deobfuscation file" warning; rollout 100.0. Saved, Publishing overview, "Submit 1 change for review", "Send changes for review" at about 15:17 UTC: "Changes in review", sent once Play's quick checks finish. Managed publishing is off, so approval publishes it.

PR #92 CI on a83bb57 passed (build, and the emulator job with #93's instrumentation tests in about 21 minutes). Merged as 7c6d778f (merge tree equals a83bb57, the AAB's source); lightweight tag v1.1.30. GitHub release v1.1.30 (latest) carries Play's signed universal APK from App bundle explorer as zennotes-1.1.30-universal.apk: 31,810,001 bytes, SHA-256 b9bdb7e1…37ee, md.zennotes 33 / 1.1.30, 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. Open Browse, long-press a note, tap Move to….
  3. Before (1.1.29): the keyboard comes up over the folder list. After: the list is fully visible with no keyboard; tapping the field brings the keyboard up.
  4. In a note with ## Section Three far down and [jump](#section-three) at the top, switch to Read and tap the link. Before: nothing happens. After: the note scrolls to the heading.