Repository navigation
Release 1.1.46 (versionCode 49): core 2.76.0 - #132
Merged
Merged
Conversation
Keeping the other device's version of a conflict publishes that file where the other device put it, and any file already there on this phone stopped the choice with "<path> already exists.", even one unrelated to the conflict. Dave's phone (2026-10-23) had trashed an Untitled.md of its own into the slot his computer's trashed Untitled.md went to, so keeping his phone's version was the only way out. That file now moves to the next free name beside it, "Untitled 2.md" and on, the way a second note moved into the folder is named, and moves back if publishing fails. Anything but a plain file still refuses. The name helper is core's cloudSyncFreePath, copied until the shell adopts a core that exports it (2.76.0); that core also settles the conflicts a stuck sync queued against files they only passed.
…on bar
Dave (Discord, 2026-10-23, 1.1.45 from Play, 3-button navigation) found
app buttons hard to tap under back/home/recents; his Review sync changes
sheet drew its last line, "Loading the versions kept for you...", under
the buttons.
Since WebView 140, Capacitor 8's SystemBars stops padding the WebView and
hands the insets to the page, so the page draws under the status and
navigation bars. The emulator images used for shell work ship WebView 133,
where the page still sits between the bars, so this never showed in
testing. Three things were wrong on newer WebViews:
- Dialog sheets kept the bar's height as padding inside their 86dvh cap.
Core sizes some dialog bodies in vh for the desktop (Review sync changes
has a 72vh scroller under its header); once the body fills up, header
plus body plus inset exceed the cap, and overflow:hidden clips at the
padding edge, so the body's bottom painted into the strip under the bar.
Block panels now lay out as a column whose scroller shrinks to fit, and
a panel that still overflows scrolls with the inset at the end.
- The palettes' results and Settings' footer ran to the screen bottom.
Both now pad every inset; with the keyboard up the bottom inset reads 0,
so the results still meet the keyboard.
- Nothing honored the side insets, where a landscape 3-button bar or the
camera cutout sits ("Finish later" sat under Back). The app shell,
sheets, dialog sheets, palettes, Settings, side panels, drawer, toasts
and onboarding now clear them; side panels are inset rather than padded
because core gives them their own side padding.
It deliberately does not go back to native padding on new WebViews,
which would paint both bar strips in the fixed dark window color under
every theme, and it changes nothing in app-core or Immersive Mode.
Verified on a throwaway Pixel 8 AVD with API 37 (WebView 145) over WebView
CDP, at 360x800 CSS px, in 3-button and gesture navigation, portrait and
both landscape rotations, with a stand-in for Review sync changes built
from core 2.75.0's exact Modal, Header and Body classes (no Cloud account
on the AVD): before, the last line sat at 757 to 841 px with the bar from
752; after, the body ends at 752 and scrolls its last line clear. Palette,
Settings, drawer, Outline, Trash confirm and Rename checked too, and a
WebView 133 AVD still reads every inset as 0 with its layout unchanged.
npm test (308, two new layout contracts that fail on the old CSS),
typecheck, build and assembleDebug pass. Not run: a real Cloud conflict on
a device, WebView 140 to 143. Notes in
docs/system-bar-insets-validation-2026-10-23.md.
…lace in a conflict
… of the navigation bar
…by priority Core core-2.76.0-core.h076cc71aa1ce0bbe, built by CI from ZenNotes/zennotes 61628218 (the v2.76.0 release commit); core:adopt checked SHA-256, SHA-512, packed versions and clean-source provenance. Core 2.76.0 adds Choose a date… to the task menu a long-press opens, with the month calendar a tap on a day sets (ZenNotes/zennotes#991), gives an undated task its own No due date group and Status board column instead of Today (ZenNotes/zennotes#990), and an Order menu that puts high priority first in the Tasks list (ZenNotes/zennotes#989). Its Cloud coordinator settles a conflict that met this device's file once Cloud has moved that note on, so the other device's version can no longer delete a note this device kept (Dave, Discord), and it names a note's folder the same way in note search, the buffer switcher and the [[ picker. This shell's staged resolve now asks core's cloudSyncFreePath for the next free name instead of the copy it carried until this core. No new bridge method or long-press entry; the bridge contract adds tasksListOrder to the portable preferences and otherwise changed only its version. npm run typecheck, 310 tests, build and sync pass.
Core 2.76.0 puts an Order row (Note order / Priority, ZenNotes/zennotes#989) between the Tasks list's toolbar and the list. On a phone the row grew to split the screen with the list: a third of the screen of empty space with the select floating in the middle, found on the simulator while preparing this release. The shell thumb-sizes every select row with `div:has(> select) { flex: 1 }`, written when the only selects were the Kanban and database Board Group by rows, which share a toolbar line, where flex: 1 fills the line. The Order row is stacked in the Tasks view's column instead, so flex: 1 grew it vertically. A select row that is a direct child of a flex column now keeps its own height (`flex: none`); rows on a toolbar line are unchanged (measured: Kanban's Group by row still fills its line at 44 px). Measured in the release web build at 375x812: the Order row is 53 px and the list starts right under it (before: 311 px). A layout contract test pins both rules.
Core 2.76.0's task menu has Choose a date… (ZenNotes/zennotes#991), so a long-press on any task now leads to the month calendar that typing @Date opens in a note. Under the grid it said "Arrows move. PageUp/PageDown change the month, with Shift the year. Enter picks the day.", keyboard help a phone has no keys for; this shell already hides the other key-hint strips on touch for that reason. The help text goes on phones; the Today button beside it keeps its place on the right. Tablets keep both, as they keep the other hints. Seen and checked on the iPhone simulator with this release's build; a layout contract test pins the rule.
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.
Core
core-2.76.0-core.h076cc71aa1ce0bbefrom ZenNotes/zennotes61628218(the v2.76.0 release commit): Choose a date… in the task menu a long-press opens (ZenNotes/zennotes#991), No due date for undated tasks in the list and on the board (ZenNotes/zennotes#990), the Tasks list ordered by priority (ZenNotes/zennotes#989), and Cloud conflicts that settle without deleting a kept note. Merges fix/cloud-conflict-room (9cbe6a8: the other device's version takes its place, moving a file in its way to the next free name; now through core's cloudSyncFreePath) and fix/system-bar-insets (a56be5f: sheets, palettes and Settings stay clear of the navigation bar on WebView 140+, Dave's report). Then 1.1.46, versionCode 49. npm run typecheck, 310 tests, build and sync pass; assembleDebug builds. Dave's exact screen (Review sync changes' confirm step, rendered from core 2.76.0's own dialog) measured on this build on an API 37 / WebView 145 emulator with 3-button navigation: Saving… and Go back end at 723 px, the bar starts at 752; both landscape rotations clear too.