Skip to content

ZenNotes for Android 1.1.58: TikZ figures draw right away, and attachments behave

Latest

Choose a tag to compare

@adibhanna adibhanna released this 11 Nov 23:53
· 4 commits to main since this release
f35a664

Version 1.1.58, versionCode 61, November 11, 2026, following 1.1.57 (60). PR #156 carries eae9a8e; the signed bundle zennotes-1.1.58-vc61.aab (40,116,224 bytes, SHA-256 d891c8aad2c02718ffecb3aef0912e72b3c22cad70d69cb98f7ee50e7a0477b7) is built from eae9a8e, merged as f35a664 with the same tree.

What changes on the phone

  • A new or edited TikZ figure draws in about a second. 1.1.57 waited 30 seconds and then showed "TikZ render timed out on this device."
  • A deleted attachment always lands in the Trash. A delete can no longer leave it where the Trash cannot see it, and a restore puts it back where the stored record says it was.
  • Attachments in a self-hosted workspace can be duplicated, deleted and restored (ZenNotes server 2.24 or newer), and automatic sync no longer runs and fails over and over in a self-hosted workspace, which has no Cloud link.
  • Publishing a note with large attachments uses about a sixth of the memory, and a publish over 100 MB stops with a clear message.
  • Clearer Cloud messages: a refused sign-in shows the server's first reason, an end-to-end encrypted vault's backup downloads with its encryption header, and an attachment that cannot be encrypted for upload says so.
  • Coming back to a self-hosted workspace runs one resync, and the 4 second check still updates notes one by one while the app is open.
  • The device, not the layout, decides when drawings are view-only. A phone keeps drawings view-only even when the tablet layout is picked, and a tablet keeps them editable in any layout, as on the iPhone.

Under the hood

The vault layer, the Cloud glue and the self-hosted client stop being hand-kept copies in src/bridge/: they come from @zennotes/portable-vault, packed beside app-core in each core release, and src/bridge/host.ts puts the Capacitor plugins behind its interfaces. Cloud state keeps its keys (rootUri ?? rootPath, the hashed account key), so every existing link, sync state and scan cache is found, and NativeFs passes the package's file system contract, which the device fixture now runs too (28 checks). The core moves from core-2.84.0-core.h988ec71466b50cb9 to core-2.85.0-core.h34304526f14f966c, built from desktop v2.85.0 at 612e7b7b.

Validation

  • On the 2.85.0 candidate core (core-2.85.0-core.hff1ec0edb0ccf6cd, a draft built from desktop b46b69ed): npm test 322 passed (324 on the feature branch with 05c700b); typecheck, the package boundary check, the build and Capacitor sync are clean.
  • On an emulator: the native vault fixture (28 checks, plus a restart), an upgrade install over 1.1.57's data, a Cloud upgrade on the device from the 1.1.57 Play build, sync online, offline and after reconnecting, and TikZ (a new figure in 1.2 seconds, an edit in 0.3 to 0.5 seconds; the 1.1.57 Play build: the 30.3 second timeout error).
  • On the release commit: 324 tests, typecheck, the core boundary check, the build and Capacitor sync pass.
  • CI on #156: the build job and the emulator launch job passed (run 43119590858).
  • Release build walk: the 1.1.58 release build on an Android 17 Pixel 8 emulator on generic data: TikZ new in 1.4 s and edited in 0.6 s, drawings view-only on a phone in the desktop layout and editable at tablet size, Help with no clipper card, no Download Vault row, create, rename, search, templates, Trash and restore, a relaunch that keeps every file, and a self-hosted workspace updating live within about 2.6 s.
  • Not tested: a real device.

Play Console submission

1.1.57 (60) is live. Production, Create new release: the AAB, processed as 61 (1.1.58), no devices lost (12,611 phones, 6,851 tablets as before), full rollout, and sent for review on November 11. Play Console reads Changes in review.

This release carries Play's signed universal APK from App bundle explorer as zennotes-1.1.58-universal.apk: 40,383,998 bytes, SHA-256 c34975f68b8f30d115fe4f167233fa3a99195537c1f2c70086315caec569352a, md.zennotes 61 / 1.1.58, min 24 / target 36, signer 9f1af3a4..., Play's app-signing key, no CHECK_LICENSE, no pairip.

How to test locally

  1. npm ci && npm run build && npx cap sync android, then open android/ in Android Studio and run on an emulator.

  2. Fresh install, then Get started and keep the vault on this device. Create a note and type a TikZ block:

    ```tikz
    \begin{tikzpicture}\draw (0,0) circle (1);\end{tikzpicture}
    ```
    
  3. Open the note in Read (the editor keeps the TikZ source; Read draws it). Before: nothing for 30 seconds, then "TikZ render timed out on this device." After: the circle draws within about a second, and changing circle (1) to circle (2) in Edit, then opening Read again, redraws it at once.