Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 43 of 212 Next →
February 27, 2026
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).

patch Tasks

Refactor Tasks split layout to use SplitPaneLayout control

Details

Replace ~95 lines of inline resize code (fields, 4 handlers,

ApplyDetailPanelRatio, FindControl lookups) with the shared

SplitPaneLayout control from UI.Adaptive. The code-behind now

has a single OnDetailPanelRatioChanged event handler for

persistence.

Also adds IsFinite guard in SetDetailPanelRatio to prevent

JSON serialization crash when ratio computes to Infinity.

patch Desktop Shell

Make API docs dialog dynamically populate endpoints from plugins

Details

Replace hardcoded Tasks/Projects endpoint sections with an ItemsControl

that discovers all IApiProvider plugins at runtime via IPluginRegistry.

Each plugin gets a collapsible Expander showing its routes with color-coded

HTTP methods (GET=green, POST=primary, PATCH=warning, DELETE=danger).

  • LoadRoutes() resolves plugin display names from metadata
  • MethodBrush resolved from theme resources at load time
  • Empty state shown when no plugins register API endpoints
  • Shell endpoints (status, routes) remain static
patch Desktop Shell

Add API documentation dialog and View Documentation link

Details

New ApiDocsWindow dialog accessible from Settings > Developer via

"View Documentation" link. Shows a comprehensive guide with:

  • Overview of the local API and its purpose
  • Authentication instructions (X-API-Key and Bearer token)
  • Step-by-step getting started guide with curl examples
  • Full endpoint listing (shell, tasks, projects) with color-coded

HTTP methods (GET/POST/PATCH/DELETE)

  • Create and search task examples with complete curl commands
  • Security note about localhost-only binding and key management
patch Tasks

Fix task list items not respecting pane width

Details

The split grid uses a * column for the left pane, but the grid's

own Bounds.Width gets inflated by content desired size, preventing

the left pane from shrinking properly. Fixed by reading available

width from the parent Panel (which truly fills available space)

instead of from the grid itself. Both ApplyDetailPanelRatio and

drag resize now use parent width for calculations.

Also added left margin on the left pane so items don't touch the

edge.

← Prev Page 43 of 212 Next →

Get notified about new releases