Add universal search bar API to PluginToolbar
Details
PluginToolbar now exposes SearchGotFocus, SearchLostFocus, SearchKeyDown
events and ActiveSearchPill/FocusSearchBox() for shell-level search
integration. Adds a platform-aware keyboard shortcut badge (⌘K / Ctrl+K)
to the search pill that hides on focus. Default watermark changed to
"Search..." for consistency across plugins. SDK version bumped to 1.47.0.
Consolidate Dashboard plugin cards into unified grid
Details
Merge three separate Dashboard sections (Workspace Plugins toggle grid,
Storage Details collapsible list, Plugin Marketplace cards) into a single
unified plugin card grid. Each card now shows name, icon, badges,
description, workspace toggle switch (for disableable plugins), disk size,
version, and action buttons (install/update/uninstall/reload).
- Add IsActivated and CanToggle properties to DashboardPluginItem
- Populate activation state from plugin registry during RefreshAsync
- Replace ToggleWorkspacePlugin command with TogglePluginActivation on
DashboardPluginItem directly
- Remove WorkspacePlugins/PluginSizes collections and related commands
- Delete WorkspacePluginEntry model (no longer needed)
- Move Open Folder button to category filter toolbar area
- Add disk size display line to each plugin card
- Bump Dashboard plugin version to 1.3.0
Move OAuth/GitHub secrets to environment variables
Details
Replace hardcoded Google, Microsoft, and GitHub OAuth client IDs and
secrets with Environment.GetEnvironmentVariable() reads. Add .env.example
documenting the required variables. Update .gitignore to allow .env.example
while keeping .env ignored. This eliminates secret exposure in source control
and unblocks GitHub push protection.
Bump version: 1.46.2 → 1.46.3
Fix connection cards: full-width, correct connected state, remove redundant action
Details
- Added HorizontalAlignment=Stretch to all card buttons for full-width rows
- Removed redundant "Connect" action text from GitHub card (clicking the
card itself triggers the connection)
- Fixed Google/Microsoft always showing "Connected" — ObjectConverters.Equal
compared int Count to string "0" which never matched. Added IsGoogleConnected
and IsMicrosoftConnected bool properties set from LoadXxxConnections() instead
- Removed unused "Connect" action text from Google/Microsoft cards (kept
only the connecting spinner)
Redesign connections cards to horizontal row layout
Details
- Changed provider cards from 3-column grid to vertical stacked rows
with horizontal layout (icon left, text center, action right)
- Added themed rounded background to GitHub logo (dark bg in light
mode, light bg in dark mode using ThemeGitHubBrandBrush/SurfaceBrush)
- Added TextWrapping=Wrap to settings-section-subtitle style to
prevent text from escaping bounding boxes
- All card text now wraps properly within bounds
Get notified about new releases