Cascade-delete orphaned vectors and sync ledger on entity deletion (v1.13.2)
Details
delete_entity() now also cleans entity_vectors and sync_ledger rows for
the deleted entity, preventing orphaned data from accumulating. Additionally,
run_maintenance() now purges any existing orphaned rows in entity_vectors,
sync_ledger, and entity_links whose parent entity no longer exists before
running CHECKPOINT and VACUUM. This addresses the issue where DuckDB files
remained large (124 MB) despite having 0 entities — the space was consumed
by orphaned auxiliary table rows that VACUUM alone couldn't reclaim.
Replace remaining hardcoded colors in SpeechRecordingOverlay (v1.44.1)
Details
Second pass of theme compliance audit. Replace Fill="White" on microphone icons in recording and transcribing states with ThemeTextOnAccentBrush.
Full theme compliance audit — replace all hardcoded colors (v1.44.0)
Details
Add 14 new theme tokens (badges, overlays, brand colors, highlights, calendar events) to all 7 built-in theme files and register them in ThemeColorKeys for the custom theme editor. Replace all hardcoded color values in desktop shell views (NavigationSidebar, SettingsPanel, ManagePluginsDialog, DashboardView, SetupWizardView) with DynamicResource theme brush references. This ensures every UI element respects the active theme, including custom user themes.
New tokens: ThemeAlphaBadgeBrush, ThemeBetaBadgeBrush, ThemeModalBackdropBrush, ThemeModalBackdropHeavyBrush, ThemeGoogleBrandBrush, ThemeICloudBrandBrush, ThemeHighlightYellow/Blue/Green/Pink/Purple/OrangeBrush, ThemeCalendarEventBrush, ThemeCalendarEventMutedBrush.
Force-recreate empty DuckDB files during maintenance (v1.43.2)
Details
DuckDB VACUUM doesn't always reclaim disk space after mass deletions.
When "Clean Database" detects 0 entities but the entity DB is >1 MB,
it now shuts down the Rust core, deletes the empty .duckdb files, and
re-initializes — causing the Rust core to recreate fresh schemas. This
drops a 124 MB empty database down to ~260 KB.
Show PrivStack Cloud as storage location for cloud workspaces (v1.43.1)
Details
Add PrivStackCloud to DataDirectoryType enum. When the active workspace
has sync_tier == PrivStackCloud, the storage location selector now shows
"PrivStack Cloud" with a checkmark instead of falling through to stale
Custom/Default values. The displayed path uses the actual local workspace
directory (DataPaths.WorkspaceDataDir) rather than an outdated custom_path.
The PrivStack Cloud button is read-only — cloud sync is managed from the
Cloud Sync settings section, not the storage location picker.
Get notified about new releases