Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

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

Fix RSS feed fetch hanging due to IPv6 connect failure

Rss 1.9.6 | b729a061
Details

Root cause: .NET's HttpClient resolves DNS and tries connecting to the

first address returned (typically IPv6 AAAA record). When the network

cannot route to the IPv6 address, the connect attempt blocks for the

full request timeout (30-60s) before giving up — unlike curl which uses

Happy Eyeballs (RFC 8305) to try both protocols in parallel.

Confirmed by testing: IPv6 connect to privstack.io hangs indefinitely

while IPv4 connects in ~45ms. This affects any host that publishes

AAAA records not routable on the user's network.

Fix: replace the default SocketsHttpHandler with a custom ConnectCallback

that implements Happy Eyeballs — resolves all addresses (IPv4 + IPv6),

initiates connections to all in parallel, uses whichever succeeds first,

and cancels the rest. This brings feed fetch from timeout (30-60s) down

to ~350ms for affected hosts.

Also adds gzip/deflate decompression support to the handler.

patch Rss

Fix RSS feed fetch timeout and add progressive streaming

Rss 1.9.6 | 2e04611a
Details
  • Use HttpCompletionOption.ResponseHeadersRead in FetchFeedAsync and

RefreshFeedAsync so the response streams immediately after headers

arrive, enabling progressive XML parsing instead of buffering the

entire body first

  • Add OperationCanceledException catch clauses that distinguish between

HttpClient timeout (user-friendly "server may be slow or unreachable"

message) and explicit user cancellation

  • Increase default HttpClient timeout from 30s to 60s since RSS feeds

from smaller servers can be slow, and streaming now provides visual

feedback during the wait

  • Add CancellationTokenSource to AddFeedAsync in RssViewModel so users

can cancel a slow feed fetch via CancelAddFeedCommand

patch Desktop Shell

Add context-aware RAG query augmentation from active entity

Details

When the user asks a question while viewing an entity, the RAG query is

now augmented with semantic keywords extracted from the entity's JSON

(job_title, company_name, department, tags, contexts, etc.). This causes

the embedding search to surface semantically related items across plugins

without any changes to the RAG service or Rust embedding layer.

patch Tasks

Add tasks.search_tasks intent for AI task discovery

Details

Adds a new search intent that allows the AI to actively search tasks by

title, description, tags, or status. Uses SDK search with fuzzy fallback

(Contains matching) to catch partial matches. Supports optional status

filter and configurable max results. Also updates PLUGIN_CONTEXT.md to

document all five task intents.

patch Desktop Shell

Update 2026-02-28

← Prev Page 17 of 212 Next →

Get notified about new releases