Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 49 of 212 Next →
February 27, 2026
patch Tasks

Handle AI truncation in Tasks plugin, increase title token limit

Details

Tasks AI features now check AiResponse.WasTruncated to provide clear

user feedback instead of displaying garbled or partial AI output.

Changes:

  • Title generation: reject truncated responses with clear status message,

increase MaxTokens from 48 to 128 (48 was too tight for titles)

  • Description rewrite: accept content but warn "(may be truncated)"
  • Q&A questions: reject truncated responses (JSON would be malformed)
  • Q&A description: accept content but show truncation warning
patch Desktop Shell

Fix info panel hover zone blocking plugin content clicks

Details

The info-tab-hover-zone Border used a 36px-wide transparent background

with IsHitTestVisible=True at ZIndex=10, creating an invisible click

barrier across the entire right edge of the content area. This blocked

clicks on plugin UI elements positioned near the right edge (e.g., the

settings cog in Tasks).

Fix: Remove the wide transparent hit area. The tab button is now always

slightly visible (opacity 0.15) and becomes fully visible on hover of

the button itself. The parent border no longer has a background or

forced hit-test, so pointer events pass through to the plugin content

below.

patch Desktop Shell

Catch NotSupportedException in SDK deserialization and fix PluginLoadContext

Details

SdkHost only caught JsonException but .NET 9's System.Text.Json throws

NotSupportedException for polymorphic type errors (missing discriminator,

unsupported interface types). Added catch for NotSupportedException so

these errors return graceful SdkResponse.Fail instead of crashing callers.

PluginLoadContext: changed from Default.LoadFromAssemblyPath (which could

conflict with runtime-managed assemblies) to returning null to let the

runtime's standard probing handle host-provided assemblies.

patch Desktop Shell

Fix PluginLoadContext: delegate to runtime probing instead of Default.LoadFromAssemblyPath

Details

The previous approach used Default.LoadFromAssemblyPath() to explicitly

load host-provided assemblies into the Default context. This could

conflict with runtime-managed assemblies and cause JSON polymorphic

deserialization failures (NotSupportedException for types with

JsonPolymorphic attributes).

Changed to return null when the host resolver can provide the assembly,

letting the runtime's standard default-context probing handle it. The

runtime finds the DLL in the app's output directory and loads it into

Default naturally, avoiding conflicts with already-loaded assemblies.

patch Desktop Shell

Fix MissingMethodException for shared assemblies in plugin load context

Details

PluginLoadContext only checked Default.Assemblies (already-loaded) when

deciding whether to delegate to the host. Assemblies the host ships but

hasn't loaded yet (e.g. LiveCharts via UI.Adaptive) were resolved from

the plugin's publish directory instead, creating a type identity split

that caused MissingMethodException on AdaptiveCartesianChart.set_Series.

Added a host-side AssemblyDependencyResolver that checks the host's deps

graph. If the host CAN provide an assembly, it's loaded into the default

context to maintain type identity — even if it hasn't been loaded yet.

← Prev Page 49 of 212 Next →

Get notified about new releases