Release 1.1.31 (versionCode 34): Cloud device-testing fixes on core 2.60.4 - #94
Merged
Merged
Conversation
A note pulled from Cloud into the vault root (Welcome.md) left an empty
folder beside it named after the file minus its last character
("Welcome.m"). The rename step that moves a pulled file into place makes
the destination's parent folder first, and took the parent as
`to.slice(0, to.lastIndexOf('/'))`: with no slash in the path that is
`slice(0, -1)`, the whole name but one letter, and mkdir made it. Present
since Cloud sync came to Android (c2211ae, 1.1.12); found in iPhone
device testing on 2026-10-02, and this shell has the same code.
A path without a slash now has no parent to make. The integration test
pulls Welcome.md and notes/Welcome.md and checks that only `notes` is
created. Folders an older build already made stay; they are empty and can
be deleted.
Review on the status row's Cloud entry asks Settings for its Cloud page, but the phone's paged Settings always opened on the section list, so people found Cloud a second time. It now starts on the requested page when the dialog carries data-settings-target (core 2.60.4); on an older core the attribute is absent and nothing changes.
A video attached on the phone landed in the note as a Markdown link, so the note showed its file name instead of something to play; only images were embedded. Attaching or importing an image, PDF, audio or video file now writes an embed (`![[path]]`), which the note renders as a picture, a document or a player; any other file still gets a link. Remote vaults build their links through the same rule. Matches the desktop and server changes in core 2.60.4 and znserver.
Pins core-2.60.4-core.hae0e49f9e5397fc2, built by CI from ZenNotes/zennotes
c507caa3 (archives, provenance and the public boundary verified by
core:adopt). From the 2026-10-02 Cloud device testing:
- device bookkeeping (zennotes-cloud-sync) stays out of a synced vault,
which re-uploaded it on every run;
- a note waiting on a sync conflict says so across its top with Review,
and one notification announces each new conflict;
- limits name themselves ("1 file too large for Cloud", the file named),
a 10 GB plan reads 10 GB, a deleted Cloud vault says so on the other
devices, and deleting one asks for its name;
- audio and video play in Edit mode, with "Not synced to Cloud" under a
file over the 10 MB limit;
- the backup browser pages and searches the whole backup.
The shell wires the new optional listCloudBackupItemsPage to
CloudSyncHostService.listBackupItemsPage, so Browse notes reaches past
the first 50 files here too. The lockfile keeps main's order with only
the root pins and the three @ZenNotes entries changed; npm ci leaves it
as is. typecheck clean, 206/206 tests.
adibhanna
marked this pull request as ready for review
October 2, 2026 22:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hotfix for the problems found in the 2026-10-02 Cloud device testing (on iPhone; this shell shares the code). Adopts core 2.60.4 (
core-2.60.4-core.hae0e49f9e5397fc2, published pre-release from ZenNotes/zennotes c507caa3) and bumps to 1.1.31 (versionCode 34).Shell fixes (tested against the pinned core 2.60.3: typecheck clean, 206/206 tests, boundary verified):
Welcome.mdpulled into the vault root made an emptyWelcome.m/(to.slice(0, to.lastIndexOf('/'))with no slash). Since 1.1.12.data-settings-targetfrom core 2.60.4; inert before).Also on this branch: adopt core 2.60.4 (conflict banner and notification, named limits, deleted-vault notice, type-to-confirm delete, Edit-mode players, the inline "Not synced to Cloud" notice, device bookkeeping kept out of synced vaults, backup browser paging), the shell wires the new optional
listCloudBackupItemsPage, and the version bump.How to test locally
Welcome.mdat the vault root and sync. Before: an emptyWelcome.mfolder appears on the phone. After: onlyWelcome.md.![[…]]and a player instead of a link.