Add dedicated ThemeInputBackgroundBrush token for TextBox contrast
Details
TextBox inputs were using ThemeSurfaceBrush which is nearly identical to
ThemeBackgroundBrush in dark themes (#16161E vs #0F0F14), making filter
fields and search inputs invisible against the panel background.
Introduces a new ThemeInputBackground/ThemeInputBackgroundBrush token
across all 7 themes with values tuned for clear input field visibility:
- Dark: #1E1E2A (lifted from surface #16161E)
- Slate: #1C2C3C (lifted from surface #142230)
- Ember: #26241A (lifted from surface #1C1A12)
- Light/Azure/Sage/Lavender: #FFFFFF (crisp white input fields)
The global TextBox style in PrivStackTheme.axaml now uses
ThemeInputBackgroundBrush instead of ThemeSurfaceBrush. No plugin
changes needed — all TextBoxes inherit from the centralized style.
Version: 1.49.5 → 1.49.6
Fix AI tray hit testing — remove inline IsHitTestVisible override
Details
The AiTrayDrawer StackPanel had IsHitTestVisible="False" set as an
inline attribute, which in Avalonia takes priority over style setters.
This prevented the .open class style from setting IsHitTestVisible to
True, meaning all clicks passed through the tray to the backdrop behind
it, immediately closing the tray.
The base style already sets IsHitTestVisible=False by default, and the
.open style correctly sets it to True. Removing the inline attribute
lets the style precedence work as intended, matching the pattern used
by InfoPanelDrawer which works correctly.
Add AI companion speech balloon and fix star icon rendering
Details
Replace the broken gold spin animation on the AI tray star icon with a
comic-book style speech balloon that pops up near the star with contextual
messages from "PrivStack AI Companion". The balloon shows when content
cards are pushed (loading state), when AI generation completes (ready
state), and when intent suggestions are detected. It auto-dismisses
after 6 seconds and can be clicked to dismiss immediately. Opening the
AI tray also clears the balloon since the user is already viewing cards.
Fixed the 4-point star PathIcon data to use comma-separated coordinate
format (M12,0 L14.5,9.5...) which renders correctly across all platforms.
Removed the RotateTransform and .notifying spin animation styles that
were previously driving the gold effect.
The balloon fades in with a slide-up transition and includes a triangular
tail pointing toward the star icon for visual anchoring.
Version: 1.49.4 → 1.49.5
Replace AI tray floating popup with right-side slide-in drawer
Details
Changed the AI suggestions status bar icon from a 5-point star to a
4-point sparkle shape with gold spin animation when notifications are
active. Converted the AI suggestion tray from a floating overlay popup
to a right-side slide-in drawer panel matching the InfoPanel pattern.
The drawer slides in from the right edge with a 0.25s cubic-ease-out
transition, includes a click-outside backdrop to close, and has a
header with Clear All and close buttons. Added HasActiveNotification
property to AiSuggestionTrayViewModel. Bumped desktop version to 1.49.4.
Fix graph sidebar expander hover: target correct Fluent template elements
Details
The previous fix targeted ContentPresenter#PART_ContentPresenter but the Fluent Expander ToggleButton template uses Border#ToggleButtonBackground for the header background and a separate Border#ExpandCollapseChevronBorder for the chevron area. The purple hover color only filled the content column, not the chevron column.
Now targets Border#ToggleButtonBackground for hover state (ThemeHoverBrush) and sets Border#ExpandCollapseChevronBorder to transparent so the hover effect spans the full header width uniformly.
Get notified about new releases