Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 66 of 139 Next →
February 21, 2026
minor Desktop ShellSDK

Convert AI tray from flat card list to conversation chat interface

SDK 1.49.2 → 1.50.0 | Desktop 1.49.6 → 1.50.0 | e1dd9542
Details

Redesign the AI suggestion tray as a chat-style conversation UI with user/assistant

message bubbles. User actions (Summarize, Rewrite) appear as right-aligned user bubbles

with clickable source entity links, followed by left-aligned assistant response bubbles

with loading states, content, and action buttons.

Key changes:

  • Add UserPromptLabel to ContentSuggestionCard SDK model for user bubble text
  • New AiChatMessageViewModel with User/Assistant roles, state management, and actions
  • Refactor AiSuggestionTrayViewModel to use Messages collection instead of Cards
  • Add free-form chat input with AiSuggestionTrayViewModel.Chat.cs partial class
  • Rewrite AiSuggestionTray.axaml with chat bubble layout, auto-scroll, Enter-to-send
  • Wire NavigateToLinkedItemFunc for clickable source links in bubbles
  • Fix text overflow: all content uses TextWrapping="Wrap" instead of TextTrimming
  • Rename tray header from "AI Suggestions" to "PrivStack AI"
  • Mark old IAiTrayCardViewModel and ContentSuggestionCardViewModel as [Obsolete]
  • Bump SDK to 1.50.0, Desktop to 1.50.0
patch Desktop Shell

Widen theme editor dialog to prevent truncation

Details

The 900px width was too narrow — display names like "Surface Elevated"

and "Input Background" were truncated, hex inputs were squeezed, and

the header action buttons were cramped. Widened to 1100x780 and bumped

hex input width from 80 to 95px for full #AARRGGBB visibility.

patch Desktop Shell

Add InputBackground and SurfaceRecessed to theme editor

Details

The ThemeColorKeys registry was missing the new ThemeInputBackground

token and the existing ThemeSurfaceRecessed token, so neither appeared

in the theme customizer dialog. Both are now listed under the Background

group so users can adjust them per custom theme.

patch Desktop Shell

Add dedicated ThemeInputBackgroundBrush token for TextBox contrast

Desktop 1.49.5 → 1.49.6 | 84420ab9
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

patch Desktop Shell

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.

← Prev Page 66 of 139 Next →

Get notified about new releases