Add chart query error recovery and granular insight progress updates
Details
Add ChartQueryErrorMessage to SDK for cross-boundary error recovery
communication. When a chart's dataset query fails (e.g., missing
aggregation on GROUP BY), the orchestrator receives the error context,
sends it to the AI for a corrected chart config, and retries once.
Add intermediate progress updates to the insight generation pipeline
so users see status at each stage: sending to AI, processing response,
generating chart datasets, and saving to Notes.
SDK version bump to 1.59.0 for new message type.
Remove table border/radius and make drag handles hover-only
Details
Removed CornerRadius, BoxShadow, BorderThickness, and background
binding from the grid container border for a flat, borderless look.
Drag handles now start at opacity 0 and fade to 0.6 on pointer enter,
disappearing again on exit. Handle opacity resets after drag release.
Fix TableGrid to use base theme, fill width, and remove borders
Details
Header cells now use ThemeTableHeaderBrush (falls back to
ThemeSurfaceElevatedBrush) for proper theme-aware coloring. Removed all
cell border lines from both read-only and editable cells. The last
column now uses Star sizing with MinWidth to fill available width
instead of leaving empty space on the right.
Embed OAuth client IDs as compiled-in defaults
Details
OAuth client IDs for native desktop apps are public by design (PKCE and
device flow don't rely on client secret confidentiality). Previously the
app required env vars to be set at runtime, causing
TypeInitializationException when they weren't present. Now the client IDs
are compiled-in constants with optional env var override for development
or custom deployments.
This fixes the build pipeline gap where Windows CI (and future Linux/Mac
CI) didn't pass OAuth env vars, producing binaries that couldn't connect
to Google, Microsoft, or GitHub. No GitHub secrets needed for these since
native-app client IDs are inherently public.
Fix TypeInitializationException for OAuth env vars not set
Details
OAuthProviderConfig and GitHubDeviceFlowService used static readonly fields
that threw InvalidOperationException during class initialization if env vars
(PRIVSTACK_GOOGLE_CLIENT_ID, PRIVSTACK_MICROSOFT_CLIENT_ID,
PRIVSTACK_GITHUB_CLIENT_ID) were not set. This caused
TypeInitializationException even when connections were not being used.
Changed to Lazy<T> initialization so the error only occurs when the user
actually tries to connect, not when the class is first referenced.
Get notified about new releases