Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 26 of 95 Next →
February 26, 2026
patch Notes

Remove group block and fix definition list Enter key + focus

Details

Group block removal:

  • Remove group from the block type picker, command routing, and

CreateBlockFromTypeId factory

  • Remove AddGroupBlock command and GroupSelectedBlocks multi-select action
  • Remove "Group Selected" context menu item from BlockWrapper
  • Keep GroupBlock model, deserializer, and renderer for backwards

compatibility with existing pages that contain group blocks

Definition list Enter key + auto-focus:

  • Add Enter key handler to DefinitionListEditor — pressing Enter in a

term TextBox inserts a new definition under that term; pressing Enter

in a definition TextBox inserts a new definition after it

  • Tag each TextBox with (ItemIndex, DefIndex) tuple to identify its

position in the definition list model

  • Add _pendingFocusIndex mechanism: set before RebuildItems(), applied

after rebuild via Dispatcher.Post at Loaded priority

  • "Add term" and "Add definition" buttons now auto-focus the newly

created TextBox after rebuild

patch Notes

Fix block insertion position and auto-focus reliability

Details

Slash command ("/"):

  • Capture the source block index at "/" time into _slashBlockIndex,

independent of _savedBlockIndex which can become stale during debounce

  • Pass the captured index to the VM via SetSlashInsertIndex() before

opening the block picker

  • InsertBlockAtSelection now checks _slashInsertIndex first (highest

priority), then _savedBlockIndex, then SelectedBlockIndex

  • Reduce slash debounce from 500ms to 250ms for snappier response

"+" Add block button:

  • ToggleBlockPicker now calls ClearBlockSelection() before opening,

ensuring _savedBlockIndex = -1 and SelectedBlockIndex = -1

  • This makes InsertBlockAtSelection fall through to the append-at-end

branch, which is the expected behavior for the bottom-of-page button

Auto-focus after insertion:

  • ScrollToBlock now retries up to 2 times instead of 1 — first at

Loaded priority, then at Background priority

  • The lower Background priority gives the visual tree more time to

materialize inner controls in virtualized ItemsControl containers

patch Notes

Fix nested child blocks rendering as ToString() instead of proper editors

Details

The ChildBlocksHost ItemsControl in BlockWrapper.axaml had a bare

ContentControl with no DataTemplates registered, so any block nested

as a child (via tree indentation or GroupBlock) would fall through to

ToString() rendering — showing raw type names like

"DefinitionListBlock { Type = definition_list, Items = ... }".

Replace the inline template-less AXAML DataTemplate with

BlockTemplateFactory.CreateBlockTemplate() set in code-behind,

which provides the full set of block content DataTemplates for all

block types including proper editor controls, Loaded/Unloaded wiring,

and drag handle support.

patch WebClips

Add ISeedDataProvider to WebClips plugin for data wipe support

Details

WebClips was the last plugin missing ISeedDataProvider, so its

web_clip, browsing_history, and transcription_job entities were

never deleted during a data wipe. Adds wipe-only implementation

(no seed data) that declares all three entity types as WipeTargets.

All plugins now implement ISeedDataProvider.

patch Canvas

Add ISeedDataProvider to Canvas plugin for data wipe support

Details

Canvas was missing ISeedDataProvider, so its whiteboard entities were

never deleted during a data wipe. This caused leftover canvas items

to persist after "wipe all data". Adds wipe-only implementation

(no seed data) that declares the whiteboard entity type as a

WipeTarget.

← Prev Page 26 of 95 Next →

Get notified about new releases