Skip to content

Release 1.1.39 (versionCode 42): adopt core 2.69.0 - #111

Merged
adibhanna merged 6 commits into
mainfrom
release/1.1.39
Oct 13, 2026
Merged

adibhanna merged 6 commits into
mainfrom
release/1.1.39

Conversation

@adibhanna

Copy link
Copy Markdown
Contributor

1.1.39 on core 2.69.0.

  • d72ec37: the shell's own strings drop the long dash (Tags empty hint, the Browse drawer's notes on an external folder, an iCloud vault's deletion and a remote vault's removal, the remote vault's name line, the sync engine's scan-cache error).
  • b6fea3f: Settings search hides the results of the sections the list hides (MCP, CLI and, at phone width, Keymap), through the section id core 2.69 puts on each result. "review" no longer offers Review agent edits.
  • dc6cb34: an assistant's edit record (.zennotes/agent-edits/<note>.json, written by desktop's MCP review since 2.68) is a third sidecar: it moves with renames, moves, Trash and folder renames, goes with deletes and Empty Trash, and a new or copied note never inherits an orphaned one. Three new tests, all failing on the previous vault-fs.
  • 39634df: core-2.69.0-core.h27a2c5df8414d1dd (CI-built from ZenNotes/zennotes d1344076, the v2.69.0 release commit, boundary run 38428924425). For phones: a vault another device encrypted retires its link and says so (no more "Update ZenNotes" on every sync); an encrypted vault's name appears on unlock, and its backups point to Save archive in the desktop app; requestCreateBrowseNote. The Server token bridge members are optional and stay out of this bridge.
  • 4523a8b: Browse's New note row ([FR] A(simple) way to create a Note inside a Folder of our choice. #108), cherry-picked from feat/browse-new-note-108.
  • c2e3203: 1.1.39, versionCode 42.

No new palette command needs the hide list; the settings section and sub-tab labels the shell hides by are unchanged in this core.

Local: typecheck clean, 278 tests pass, npm run upstream (boundaries + typecheck), the production audit gate (12 low/moderate) and npm run sync pass; testDebugUnitTest (21 Java tests), lintDebug (0 errors) and assembleDebug pass. Emulator (throwaway AVD, API 36), on the same web bundle as this branch (the rehearsal core from d1344076 has the same content hash as the official one): fresh setup, Browse → New note created inbox/Untitled.md with its title focused; an edit record moved with a rename and went with Delete; phone-width Settings search hides the MCP, CLI and Keymap results and keeps the rest.

The desktop app's own text dropped the long dash in 2.68.0; the phone
shell's strings were left. Rewritten with commas, colons and
parentheses: the Tags view's empty hint, the Browse drawer's notes on an
external folder, an iCloud vault's deletion and a remote vault's removal,
the remote vault's name line (now "Name" (host)), and the sync engine's
scan-cache error. Comments and console warnings are unchanged.
The section list hides MCP and CLI, and Keymap on a phone, by their
labels, but Settings search builds its results from app-core's index and
listed their settings anyway: searching "review" offered Review agent
edits, and a tap opened the MCP page the list hides. Core 2.69 puts the
section's id on each result (`data-settings-result-category`); the
results of the hidden sections are hidden the same way, at phone width,
where the list hides them.
…s when it goes

Since desktop 2.68.0, an assistant that edits a note through MCP leaves
what the note said before in `.zennotes/agent-edits/<note>.json` until the
edit is reviewed in the desktop app, and Cloud sync carries the record.
This app moved and deleted notes with their comments and creation dates
but not with that record: renaming or moving a note here stranded the
review at the old path, where the desktop could no longer offer it, and
deleting a note left the record behind for a note that was gone.

The record is now a third sidecar, handled as desktop's note-sidecars.ts
handles it: it moves with a rename, a move, Trash and Restore, and a
folder rename; it goes with Delete, Empty Trash and a folder's deletion;
and a record already at a destination with no note beside it belongs to
nobody, so a moved note replaces it and a new or duplicated note never
inherits it. This app still does not review edits itself.

Checked: three new tests in vault-lifecycle.test.ts (rename, move, Trash
and back, Empty Trash; folder rename and both deletions; a new note and a
copy over orphaned records), all three failing on the previous vault-fs;
typecheck and the whole suite.
…s so

Core core-2.69.0-core.h27a2c5df8414d1dd, built by CI from ZenNotes/zennotes
d1344076 (the v2.69.0 release commit); core:adopt checked SHA-256,
SHA-512, packed versions and clean-source provenance.

What it brings here: when another device moves a Cloud vault to end-to-end
encryption, this app's sync host retires the link to the old vault and the
app says it was replaced by an encrypted one, instead of repeating the
service's "Update ZenNotes" on every sync; an encrypted vault shows its
real name as soon as encryption is unlocked, and its backups say to save
an archive in the desktop app instead of offering a button the bridge
refuses; Settings search results carry their section's id, which the
next commits use; requestCreateBrowseNote, for the Browse row; and
shortcuts that switch, reopen or create a note no longer act behind a
dialog on a hardware keyboard, nor do the Tasks calendar's keys.

The 2.69.0 additions that need a desktop stay off: Settings → MCP → Server
token (its bridge methods are optional and this bridge leaves them out;
the MCP section is hidden here), and What's New. No new palette command
needs the hide list.
Browse listed a folder's notes with a New folder row under them but no
way to start a note there: a note could only be made at the top, from
the create row or the New sheet, and then moved with More → Move to…,
and core's "New Note in Current Folder" means the open note's folder,
not the one on screen.

A New note row now sits above New folder in every Browse folder, the
root included. It closes the drawer and calls core's
requestCreateBrowseNote with the folder on screen, which creates the
note there the way the create row's Note does and opens it on its
title, so naming it is the next thing typed. It shares New folder's
muted look under its own class, and the welcome note mentions it
beside New folder.

This needs core 2.69 (requestCreateBrowseNote, ZenNotes/zennotes
f9e219b2), so it lands with that adoption: against core 2.68.0 the
import does not exist.

Checked against a rehearsal core built from that tree: typecheck, 275
tests, build, and an emulator pass driven through the WebView's
DevTools: Browse, New folder "Projects", into it, New note, which
opened "Untitled" with its title selected and wrote
inbox/Projects/Untitled.md.
@adibhanna
adibhanna merged commit 1664759 into main Oct 13, 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