Fix Finance plugin crash on navigation to Budget dashboard
Details
The BudgetDashboardView used a compiled binding with $parent[UserControl] type cast
inside a nested DataTemplate to access IsGoalColumnVisible on the root ViewModel.
Compiled bindings cannot resolve type casts (vm:BudgetDashboardViewModel) inside
nested DataTemplate contexts, causing an ArgumentException at runtime. Replaced
with a ReflectionBinding using RelativeSource AncestorType to avoid the compiled
binding type resolution issue.
Files plugin: batch trash with suppressed notifications
Details
FilesViewModel.TrashFilesAsync now calls the new FileService.TrashFilesAsync
batch method which sets SuppressChangeNotification on each SDK message and
sends a single summary EntitySyncedMessage after all files are trashed.
Combined with the RagIndexService batch-coalescing debounce in PrivStack-IO,
this reduces bulk trash of N files from N×14 provider sweeps to 1 sweep.
Version bump: 1.10.5 → 1.11.0
Journal: handle photo storage errors gracefully on drop/browse
Details
Wrapped OnFileDrop and BrowseAndAddPhotosAsync with per-file try/catch
so that IOException from cloud-mounted drives (Google Drive timeout) or
other storage failures skip the individual file instead of crashing.
Journal v1.15.4
Journal: fix invalid UTI strings in drag-drop formats (v1.15.3)
Details
macOS requires pasteboard type strings to be valid UTIs (reverse-DNS format). The drag formats "journal-row" and "journal-photo-reorder" were causing "'journal-row' is not a valid UTI string" errors which corrupted the pasteboard and could cascade into other pointer/drag operations failing (e.g. map interactions). Changed to "com.privstack.journal.row" and "com.privstack.journal.photo".
Journal: drag-and-drop images from Finder into photo section (v1.15.2)
Details
The photo section editor now accepts file drops from Finder (or any file manager). Dragging image files (.png, .jpg, .jpeg, .gif, .bmp, .webp) onto the drop zone or existing photo grid adds them as photos. The drop zone highlights with the primary accent color during drag-over and its text now reads "Click or drop photos here". Non-image files are silently filtered out. Files are stored via IStorageProvider when available.
Get notified about new releases