Add ImportConnectionAsync to IConnectionService for token migration
Details
Add ImportConnectionAsync method to the SDK IConnectionService interface,
allowing plugins to migrate existing refresh tokens to shell-level
connections during the transition from plugin-managed to shell-managed OAuth.
Add Google and Microsoft connection UI to Settings panel
Details
Expand ConnectionsViewModel with Google/Microsoft connection management:
ObservableCollection of OAuthConnectionItem for each provider, connect/disconnect
commands, scope summarization (Gmail, Calendar, Outlook). Add Google and Microsoft
sections to SettingsPanel.axaml with connected accounts list showing email, scope
summary, connected date, and disconnect button per account. Both sections support
multiple accounts with connecting state indicators.
Add shell-level OAuth services for Google and Microsoft connections
Details
Create OAuthProviderConfig with combined scopes (Gmail + Calendar + identity
for Google, Outlook IMAP/SMTP + identity for Microsoft). Create
OAuthBrowserFlowService consolidating the PKCE loopback flow from the Email
plugin into a reusable shell service. Expand ConnectionService with multi-account
support: ConnectOAuthAsync orchestrates the full flow, ImportConnectionAsync
enables migration from plugin-level tokens, GetAccessTokenByIdAsync auto-refreshes
expired tokens with per-connection SemaphoreSlim concurrency control,
GetConnectionsWithScopesAsync filters by required scopes. Register
OAuthBrowserFlowService in DI. Desktop version bumped to 1.46.0.
Expand IConnectionService for multi-account OAuth connections
Details
Add ConnectionId field to ConnectionInfo record and new multi-account
methods to IConnectionService: GetConnectionsAsync, GetConnectionByIdAsync,
GetAccessTokenByIdAsync, and GetConnectionsWithScopesAsync. Existing
single-connection methods remain unchanged for backward compatibility.
This enables Google/Microsoft OAuth connections to support multiple
accounts per provider. SDK version bumped to 1.46.0.
Match MiniCalendarPicker popup width to trigger button
Details
The calendar popup now inherits the width of the trigger button so
the dropdown looks uniform and aligned with the field it belongs to.
Get notified about new releases