Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 44 of 266 Next →
February 27, 2026
patch Notes

Fix column layout blocks not added from block picker (BUG #7)

Details

The block type picker's InsertBlockType() switch statement had no

cases for columns_2, columns_3, or columns_2_wide_left. Selecting

any column layout from the "/" palette or Add Block button silently

did nothing.

Fix: add AddColumnsBlock relay command to NotesViewModel that

delegates to the existing CreateBlockFromTypeId() (which already

handles all three column variants). Wire the three column type IDs

in the picker's switch statement to call the new command.

patch UI Components

Fix SplitPaneLayout: use Border hosts instead of ContentPresenter

Details

ContentPresenter outside a ControlTemplate doesn't reliably present

Control content in Avalonia. Replaced with Border hosts that use

Child property directly.

Also fixed MeasureOverride: was returning availableSize which could

contain Infinity, causing the layout system to give zero size. Now

clamps infinite dimensions and measures each child with its

proportional share of space.

patch Notes

Fix cover image buttons unclickable and positioned wrong (BUG #2)

Details

Cover image action buttons (Change/Reposition/Remove) were positioned

at top-right with Margin="0,44,12,0", placing them directly under the

ToolbarHoverZone (ZIndex=1, Height=120 when cover exists). The hover

zone captured all pointer events before they reached the buttons.

Fix: move buttons to bottom-right of the cover (VerticalAlignment=

Bottom, Margin="0,0,12,28") and set ZIndex=2 so they float above the

toolbar hover zone. Buttons now appear on cover hover and are fully

clickable.

patch UI Components

Add SplitPaneLayout shared control to UI.Adaptive

Details

Code-only Border subclass with a custom inner Panel that arranges

two content panes and a draggable resize handle using ratio-based

math. Avoids the star-column minimum width issues that plague

Grid-based split implementations.

Properties: Ratio (pane2 fraction), MinRatio, MaxRatio, HandleSize,

Pane1, Pane2. Fires RatioChanged event on drag release for

persistence. During drag, uses an internal _dragRatio for live

feedback without updating the bound property on every pixel.

Replaces the inline resize logic pattern found in Tasks and Data

plugins with a single reusable component.

patch Desktop Shell

Fix cloud sync pushing local_only entities (CalDAV/ICS events)

Details

Events from external sources (CalDAV subscriptions, ICS feeds) are

marked local_only in the database and should never be synced to cloud

or P2P — the remote server is the source of truth.

Two defense-in-depth guards added:

1. SdkHost.NotifySyncIfMutation: Skip sync notification entirely when

the SDK request carries the local_only parameter. This prevents

the outbound pipeline from ever seeing local_only mutations.

2. SyncOutboundService.NotifyEntityChanged: Parse the entity payload

JSON and reject entities where local_only is true. Catches any

edge case where a local_only entity reaches the outbound path

without the parameter (e.g. ViewModel-initiated edits).

← Prev Page 44 of 266 Next →

Get notified about new releases