Skip to content

Release 1.1.24: Favorites on Home, gestures on every page, folder-vault moves, and the shared 2.53.0 core - #79

Merged
adibhanna merged 2 commits into
mainfrom
release/1.1.24
Sep 19, 2026
Merged

adibhanna merged 2 commits into
mainfrom
release/1.1.24

Conversation

@adibhanna

Copy link
Copy Markdown
Contributor

Summary

Release 1.1.24 (versionCode 27). Three fixes from the reports that followed 1.1.23, the Android half of desktop #813, the phone side of Favorites, and the shared ZenNotes core 2.53.0 (app core 2.51.0 before).

  • Core 2.53.0. The vendored @zennotes/* archives move to the clean core-2.53.0-core.h598c8d004c9228a3 set built from desktop commit 3a622639 (tag v2.53.0, clean tree). Each archive's SHA-256 and SHA-512 integrity matched its provenance file and the recorded source commit before vendoring; npm run boundaries:check passes without an override and now refuses archives built from a dirty upstream tree unless ZEN_ALLOW_DIRTY_CORE=1 is set for a local try-out. The core brings the Reading-mode heading link fix (Clicking a heading link forces note into edit mode when reading mode is set as default #74), the template editor fix (Make the Template Editor Responsive on Smaller Screens #78), the command-palette focus fix (Search Vault Input Does Not Receive Focus in Edit Mode #65), Favorites on Home, per-note panel memory, side panels that leave the note room to read, and undo history that survives switching notes. "Keep undo history after quitting" is desktop only and does not appear in Settings; its bridge methods stay unimplemented.
  • Gestures on every page (Gestures do not work on Home page and Deleted folder #75). The flick and pull-down hooks only accepted touches inside the note body, which Home, Tasks, Quick Notes, Tags, Files, Archive and Trash do not render. The pane section is now the surface, minus the tab strip, headers, side sheets and rows that already answer a finger.
  • Edit/Read in the ••• sheet ("Switch to Read mode" button disappears from radial menu after navigating links #76, not reproduced). The entries were gated on core's content cache alone; the note-index lookup counts too, so a cache hiccup cannot hide them while a note is on screen.
  • The open database gets Rename / Move to… / Delete (Database rename option is missing from the menu despite being listed in the changelog #77), and Browse folders and databases get Move to… (requestMoveBrowseDirectory).
  • Favorites (desktop #810). The ••• sheet and the long-press menu on note rows toggle the vault's favorites list, hidden in Trash. Home shows its Favorites section (note favorites only) and keeps hiding Today. The wikilink hover preview is hidden on coarse pointers: a tap in Reading mode opened the card and nothing dismissed it.
  • Folder vaults (desktop #813). SafFsPlugin.rename() splits into same-directory rename, cross-directory move, and cross-directory move with a new name (rename in the source folder first, to the target name or a hidden .zn-move-… temporary, then move, then the final name; each hop rolls back on failure). The Storage Access Framework's move keeps the source name, so the old "move, then rename" collided with an existing file in the target folder.
  • Bridge. ZenAppInfo.engine carries the user agent for About's Version details block (desktop #814); the settings conflict report includes the parsed parked copy as cloud_settings for core's per-section dialog (desktop #816).

Validation

  • After the clean-archive swap: boundary check (no override), typecheck, 150 tests, production web build, Capacitor sync and assembleDebug passed; the debug APK's web assets matched dist/ file by file. Against the interim build with an identical web bundle: testDebugUnitTest (9), lintDebug (0 errors, 43 warnings), connectedDebugAndroidTest (4) and npm audit --omit=dev --audit-level=high (0) passed.
  • Android 15 emulator, upgrade over existing data: Favorites toggled from both menus and written to .zennotes/vault.json, shown on Home with swipe and long-press, absent in Trash; a [[Note#Heading]] tap in Reading mode opened the target at the heading in Reading mode with no card left over and Back returned in Reading mode; the template editor stacked in one column; About showed the Version details block with the Engine line; Settings took focus on open and its search finds no undo-history setting; "Keep panels when switching notes" persisted across a force-stop; gestures answered on every page with row swipes and headers left alone; Rename, Move to… and Delete of an open database verified on disk; folder-vault trash with a taken target name landed as Untitled 2.md with the .zn-move-… temporary in logcat; the 2.52.0 checklist (command-opened search keeps typing, panel rail, undo across note switch and rename, | in the link picker, Browse move) passed. Not exercised: the per-setting Cloud conflict dialog and the sync-engine resume (no Cloud account on the emulator).
  • Signed AAB built from the committed tree at bbeb8e9: sha256 a5d155da0f7354866b3bba801863e961d2ac890f9768f4a8ed14f08e981030e8, upload key SHA-1 3D:0D:A6:11…73:62; all 442 web assets match dist/ byte for byte.

After merge

Tag v1.1.24 on the merge commit and attach the Play-signed universal APK after confirming it contains no com.pairip code and no CHECK_LICENSE permission. Publish the core-2.53.0-core.h598c8d004c9228a3 draft on ZenNotes/zennotes.

adibhanna and others added 2 commits September 18, 2026 22:19
…ge, folder-vault moves

Core packages: the vendored @zennotes/app-core, bridge-contract and
shared-domain archives move from 2.51.0 to the clean
core-2.53.0-core.h598c8d004c9228a3 release (desktop commit 3a622639,
tag v2.53.0, workingTreeDirty false). Each archive's SHA-256 and SHA-512
integrity matched its provenance file and the recorded source commit
before vendoring; manifest.json is the app-core provenance file.
tooling/check-core-boundary.mjs now refuses an archive whose manifest
says workingTreeDirty or lacks a 40-hex source commit unless
ZEN_ALLOW_DIRTY_CORE=1 is set for a local try-out. README names the new
release. The core carries the Reading-mode heading link fix (#74), the
template editor fix (#78), the command-palette focus fix (#65), Favorites
on Home, per-note panel memory, and undo history that survives switching
notes. The undo-file bridge methods stay unimplemented: that setting is
desktop only.

Gestures on every page (#75): the flick and pull-down hooks only accepted
touches inside `.cm-editor, .prose-zen`, which Home, Tasks, Quick Notes,
Tags, Files, Archive and Trash do not render. The pane section is now the
surface, minus the tab strip, headers, side sheets and rows that already
answer a finger.

Edit/Read in the ••• sheet (#76, not reproduced): the entries were gated
on core's content cache alone; the note-index lookup now counts too, so a
cache hiccup cannot hide them while a note is on screen.

The open database gets the same Rename / Move to… / Delete rows as its
Browse row (#77), and Browse folders and databases get Move to…
(requestMoveBrowseDirectory, public since core 2.52.0).

Favorites (desktop #810): the ••• sheet and the long-press menu on note
rows toggle the vault's favorites list (requestToggleNoteFavorite), hidden
in Trash where the command refuses. mobile.css shows Home's Favorites
section (note favorites only; folder favorites open the desktop tree) and
keeps hiding Today; note-row-gestures reads the data-home-note-path that
cores from 2.53 stamp on every Home row. The wikilink hover preview is
hidden on coarse pointers: a tap in Reading mode synthesized mouse events
that opened the card and nothing ever dismissed it (covered by a test).

Folder vaults (desktop #813, Android half): SafFsPlugin.rename() splits
into same-directory rename, cross-directory move with the same name, and
cross-directory move with a new name, which renames in the source folder
first (to the target name when free, else a hidden .zn-move-<hex>-<name>
temporary), moves, then applies the final name; each hop rolls back on
failure and reports FOLDER_STATE_UNCERTAIN when the rollback itself fails.
The Storage Access Framework's move keeps the source name, so the old
"move, then rename" collided with an existing file in the target folder.
A provider that redirects a rename to a "name (1)" variant is undone
instead of silently accepted.

Bridge: ZenAppInfo.engine carries navigator.userAgent for the About
Version details block (desktop #814); the settings conflict report
includes the parsed parked copy as cloud_settings so core's dialog can
offer a per-section answer (desktop #816).

Verified on the Android 15 emulator over existing data: Favorites toggled
from both menus and written to .zennotes/vault.json, shown on Home with
swipe and long-press, absent in Trash; a [[Note#Heading]] tap in Reading
mode opened the target at the heading in Reading mode with no card left
over and Back returned in Reading mode; gestures answered on every page
with row swipes and headers left alone; Rename, Move to… and Delete of an
open database verified on disk; folder-vault trash with a taken target
name landed as "Untitled 2.md" and the .zn-move temporary appeared in
logcat; per-note panels survived a force-stop; the Settings search finds
no undo-history setting.

Amp-Thread-ID: https://ampcode.com/threads/T-01a0b29d-0b29-7669-9202-24bfe881e47a
Co-authored-by: Amp <[email protected]>
@adibhanna
adibhanna merged commit 3d454a5 into main Sep 19, 2026
2 checks passed
@adibhanna
adibhanna deleted the release/1.1.24 branch September 19, 2026 04:47
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