Release: server 2.56.0 with the vault display name, on the 2.56.0 browser artifact - #4
Merged
Merged
Conversation
… vault (ZenNotes #692) ZenNotes 2.56.0 lets a vault carry a display name in vault.json (`displayName`): what the sidebar header, the vault switcher and the title bar call it, distinct from the folder's name on disk, so several `docs/` folders can each go by their project's name. The desktop app reads and writes it; this server had to learn it too, for two reasons. The settings struct is strict: a key it does not know is gone after the next SetSettings, and the web client saves everything it read, so a desktop-written name would have vanished the first time a web user toggled a favorite (the #446/#379 round-trip rule). DisplayName is now a first-class field, normalized by a byte-for-byte mirror of shared-domain's normalizeVaultDisplayName (controls dropped, whitespace collapsed, trimmed, cut at 64 UTF-16 units without splitting a surrogate pair), and omitted when empty so a cleared name leaves no stub behind. And Info(), which GET /api/vault answers with, prefers the display name when there is one, so the web client and a desktop remote workspace show the same name the local app does. It reads through the settings cache, one stat once the file has been parsed. Tests mirror the TypeScript cases one for one, plus a round trip through Set/GetSettings with Info before, after and after clearing.
The browser bundle is the published `web-2.56.0-web.h377717cfb31ad477` artifact, built from the desktop 2.56.0 release commit `2c3dd065` with a clean tree; the manifest here is that release's manifest byte for byte, so prepare-web verifies the archive against it. That bundle reads and writes the vault display name this server learned in `f6374ce`, so a self-hosted vault named from the desktop keeps its name through a web client's settings save and the web app shows it (ZenNotes #692). It also carries the 2.56.0 client fixes that need no server change: Settings search, the calendar task placement, the task code block in Preview and the undo history after a note changes on disk. release.json moves to 2.56.0. The Go vendor hash is unchanged because no Go dependency moved. Verified with Go alone: prepare-web from the manifest URL, vet, the package tests, the embedded bundle test, an embedded build whose index.html carries one bundled module script and no inline script, and a standalone run on a scratch vault next to the 2.55.0 binary, which reads and writes the same vault and drops the display name on a settings save, the gap this release closes.
This branch was successfully deployed
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.
Server 2.56.0: the vault display name (
f6374ce, ZenNotes #692) and the pin of the published browser artifactweb-2.56.0-web.h377717cfb31ad477(desktop release commit2c3dd065), withrelease.jsonat 2.56.0. No Go dependency moved, so the vendor hash stays.What self-hosters get: a vault named from the desktop (Settings → Vault → Vault name, or Rename Vault…) keeps its
displayNamethrough a web client's settings save, since the settings struct now knows the field and normalizes it exactly as the desktop does, andGET /api/vaultanswers with that name, so the web app and a desktop remote workspace show it. The 2.56.0 browser bundle also brings the client-side fixes that need no server change: Settings search reaching every setting, calendar tasks joining the note's Tasks section, a task's code block staying under its text in Preview, and a clean undo history when the open note changes on disk.Verified locally with Go alone: prepare-web from the manifest URL, vet, package tests, the embedded bundle test, an embedded build with one bundled module script and no inline script, and a standalone run on a scratch vault next to the 2.55.0 binary (which reads and writes the same vault and drops
displayNameon a settings save, the gap this release closes). The release itself is cut by the Prepare server release workflow from the merge commit, then the draft is verified and published, and the Docker image is pushed from the tag.