Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 23 of 212 Next →
February 28, 2026
patch Email

Fix SafeHtmlLabel crash: cannot InvalidateVisual during render pass

Details

Remove InvalidateVisual() from the catch block — Avalonia throws

if a visual is invalidated during an active render pass. The

compositor will naturally re-render on the next frame without it.

patch EmailTasks

Unify Tasks toolbar sizing to match ThemedDropdown Compact variant

Details

All toolbar controls now use consistent Compact sizing:

  • Font: ThemeFontSizeXsSm (12px) everywhere (was ThemeFontSizeSm/13px

on project row, mixed elsewhere)

  • Padding: 8,6 on all ComboBoxes, buttons, toggles (was 12,6 / 10,6 /

missing on filter ComboBoxes)

  • CornerRadius: ThemeRadiusSm (6px) on all controls (was ThemeRadiusXs)
  • VerticalAlignment=Center on all elements for proper row alignment

Also changed right-side filter WrapPanel to a horizontal StackPanel

with consistent Spacing="8" to eliminate the per-item margin hacks

(Margin="0,0,12,4") that caused uneven spacing.

patch Desktop ShellServices

Stop firing update checks when API is unreachable

Details

After 2 consecutive network failures (timeout, HTTP error, DNS

failure), the auto-update timer skips further checks instead of

burning 15 seconds on a doomed request each cycle. The counter

resets automatically when the API responds successfully.

Manual "Check for updates" always resets the backoff and fires

regardless, so the user can always retry.

patch Tasks

Fix ComboBox bindings showing Avalonia.Controls.ComboBoxItem as text

Details

GitHub Sync: The project picker state was missing an error message

display, so GraphQL errors were silently swallowed. Added error

TextBlock and improved the auto-fetch catch to surface the error.

The SyncDirection ComboBox used ComboBoxItem wrappers with

SelectedItem bound to a string — replaced with x:String items.

Also normalize corrupted SyncDirection values on load.

Settings Overlay: Same ComboBoxItem binding bug on StatusCategory,

FieldType, and RuleTriggerType dropdowns. Replaced with ItemsSource

+ SelectedValueBinding + DisplayMemberBinding pattern using static

KeyValuePair arrays in the ViewModel.

patch Services

Downgrade update check network failures from ERROR to WARNING

Details

When the cloud is offline (or the API is unreachable), the auto-update

timer fires repeatedly and logs a full ERROR stack trace for each

15-second timeout. These are expected connectivity failures, not bugs.

Split the catch block: HttpRequestException, TaskCanceledException,

and TimeoutException now log a one-line WARNING without the stack

trace. Actual unexpected errors (e.g., JSON parse, null ref) still

log at ERROR level and fire the UpdateError event.

← Prev Page 23 of 212 Next →

Get notified about new releases