Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 17 of 139 Next →
February 28, 2026
patch Desktop Shell

Fix AXAML xmlns references after Services extraction

Details

8 AXAML files still referenced `using:PrivStack.Desktop.Models` which

is now an empty namespace — all model types moved to

`PrivStack.Services.Models` during the architecture split.

Updated xmlns declarations:

  • models → PrivStack.Services.Models (8 files)
  • BacklinkEntry → PrivStack.Services via new svc: prefix (InfoPanel)
patch Server

Register entity schemas with Rust core in headless plugin registry

Details

HeadlessPluginRegistry was loading and initializing plugins but never

registering their entity schemas with the Rust core via FFI. This caused

the API to return "No schema registered for entity type: task" errors

because the Rust engine didn't know about the entity types.

Mirrors the desktop PluginRegistry behavior:

  • RegisterEntitySchemas() called per-plugin BEFORE InitializeAsync()
  • RegisterSystemEntitySchemas() for system types (entity_metadata,

property_definition, property_group, property_template)

  • Uses NativeLib alias for PrivStack.Services.Native.NativeLibrary

(InternalsVisibleTo already grants access to privstack-server)

patch SDKServer

Add HeadlessPluginBase and update plugin scanning for headless split

Details

Add HeadlessPluginBase to PrivStack.Sdk — an abstract IAppPlugin

implementation with no-op defaults for UI methods (CreateViewModel,

navigation, etc.). Headless plugin assemblies extend this to provide

services, capabilities, and API routes without Avalonia dependencies.

Update HeadlessPluginRegistry to prioritize .Headless.dll assemblies

(sorted first in scan order) so they load before their full Avalonia

counterparts. Plugin ID deduplication prevents double-loading.

Update run-server.sh to build .Headless plugin projects in a first

pass, then skip full plugins that have a headless variant.

patch IO

Add run-server.sh dev launcher for headless server

Details

Points at test-data/ by default (same DB as build.sh --run --with-plugins).

Use --live for the system data directory, --workspace to skip the picker.

patch Server

Add interactive workspace picker to headless server

Details

When starting without --workspace, the server now:

  • Single workspace: auto-selects it
  • Multiple workspaces: shows an interactive numbered menu
  • No workspaces: offers to create one
  • Non-interactive (piped stdin): uses active workspace or errors

Also lists available workspace names when --workspace doesn't match.

← Prev Page 17 of 139 Next →

Get notified about new releases