Add DetailedDescription to Finance plugin for AI context awareness
Details
Populates the new PluginMetadata.DetailedDescription property with a
comprehensive feature summary so the AI assistant (Duncan) can answer
questions about the Finance plugin's capabilities when the user asks.
Also includes previously unstaged Directory.Build.targets with the
auto-deploy plugin target for dev workflow.
Fix savings target calculation showing full remaining as monthly shortfall
Details
SavingsBalance goals no longer report the entire target-minus-balance as
a monthly contribution need, which caused CalculateUnderfunded to show
thousands of dollars as "underfunded this month." SavingsBalance has no
defined monthly cadence — users allocate freely each month toward their
target. The progress bar already correctly tracks balance/target.
Also updated AvailableTooltip for savings-type goals (SavingsBalance,
NeededByDate) to say "saved toward goal" instead of "left to spend,"
since savings categories aren't spending money.
Add PLUGIN_CONTEXT.md to all 14 plugins
Details
Each plugin now has a comprehensive PLUGIN_CONTEXT.md documenting its
features, data model (entity types and key fields), quick actions, AI
intents, and cross-plugin integration points. These files serve as
reference documentation for the AI model to understand plugin capabilities.
Add YNAB-style outflow/inflow transaction register UX
Details
Replace single Amount column with separate Outflow (red) and Inflow (green) columns in the account register. Add All/Outflow/Inflow filter toggle to the account selector row. Add Outflow/Inflow direction toggle button to the add transaction form (defaults to Outflow). When adding an inflow, splits use positive amount on the asset account and negative on an auto-resolved income account. The quick transaction form also gets an Outflow/Inflow toggle with visual feedback, replacing the old sign-convention watermark. Edit panel preserves original sign direction. Bump version to 3.19.0.
Migrate Finance and Notes charting to shared UI.Adaptive wrappers
Details
Remove direct LiveChartsCore.SkiaSharpView.Avalonia dependency from both
plugins. Charts now flow through AdaptiveCartesianChart and AdaptivePieChart
controls provided by PrivStack.UI.Adaptive, which owns the LiveCharts2
rc6.1 dependency.
This fixes the SourceGenChart TypeLoadException crash in Finance Reports
and makes charting available to any plugin via the existing UI.Adaptive
reference.
Finance: ReportsView.axaml uses adaptive: namespace wrappers instead of
lvc: LiveCharts controls. ViewModel series building unchanged (ISeries/Axis
types resolve transitively).
Notes: ChartBlockEditor creates AdaptiveCartesianChart/AdaptivePieChart
instead of CartesianChart/PieChart directly. ChartSeriesFactory and
ChartExportRenderer unchanged (C# types only, no XAML controls).
Finance version: 3.18.0 (unchanged)
Notes version: 1.61.0 → 1.62.0
Get notified about new releases