- Updated all namespaces from MoltbotTray to OpenClawTray
- Updated all window titles, dialog text, and UI strings
- Updated assembly metadata and comments
- Updated pipe names and window class names
- Fixed using statements and type references
- All 88 tests passing
Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
- Updated CommandPalette namespace from Moltbot to OpenClaw
- Updated OpenClaw class name (was Moltbot)
- Updated all user-facing UI strings to use OpenClaw
- Updated XAML window titles and x:Class references
- All 88 tests passing
Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
- Renamed all project directories and files
- Updated all namespaces and class names
- Updated deep link scheme from moltbot:// to openclaw://
- Updated AppData directories to OpenClawTray
- Updated README with OpenClaw references and added history note
- Updated all configuration and build files
- Kept mascot name "Molty" unchanged
Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
- Ensure tray icon click handlers dispatch to UI thread
- After system idle, callback context may be on wrong thread
- Add null check for DispatcherQueue
- Log crashes from ShowTrayMenuPopup to crash.log
- Add UnhandledException, DomainUnhandledException, UnobservedTaskException handlers
- Log crashes to %LOCALAPPDATA%\MoltbotTray\crash.log
- Remove DesktopAcrylicBackdrop from TrayMenuWindow (suspected cause of idle crash)
- Use AcrylicBackgroundFillColorDefaultBrush instead (static brush, no compositor)
Crash is in Microsoft.UI.Windowing.Core.dll after idle - may be GC collecting
something the native layer still references.
- Build Moltbot.Tray.WinUI instead of WinForms
- Update installer to include all WinUI dependencies (not single-file)
- Test job builds both WinForms and WinUI to verify
- Use WinUI icon path for installer
- GlobalHotkeyService: Properly create message-only window with message loop
- App.xaml.cs: Unsubscribe gateway events before disposal to prevent leaks
- App.xaml.cs: Add CancellationToken to deep link server for clean shutdown
- App.xaml.cs: Proper cleanup order in ExitApplication
- WebChatWindow: Store and cleanup WebView2 event handlers on close
- Sessions now show detailed info (type, model, channel)
- Sessions are indented under clickable header
- Channel status colors match WinForms logic (ON/READY/IDLE/ERROR)
- Pre-fetch sessions/usage before showing menu
- Capitalize channel names
- Complete port of Moltbot.Tray to WinUI 3
- Custom TrayMenuWindow for proper multi-monitor positioning
- DPI-aware with PerMonitorV2 manifest
- All services ported: Logger, SettingsManager, AutoStartManager, etc.
- All windows: Settings, WebChat, StatusDetail, NotificationHistory
- Gateway connection and health monitoring working
- Fixed XAML compiler crash bug (documented in XAML_COMPILER_BUG.md)
- Each installer includes matching architecture tray app + Command Palette extension
- installer.iss accepts /DMyAppArch and /Dpublish parameters
- Release now includes both MoltbotTray-Setup-x64.exe and MoltbotTray-Setup-arm64.exe
- Fix exe name mismatch: Moltbot.exe -> Moltbot.CommandPalette.exe in manifest
- Add AppListEntry=none to hide from Start Menu (only show in Command Palette)
- Use OpenUrlCommand from toolkit instead of custom DeepLinkCommand
- Add cmdpal-dev.ps1 script for local iteration (auto-detects arm64/x64)
- Update installer to optionally install Command Palette extension
- Add molty2.png to README
- Update CI to bundle Command Palette in installer
- Create multi-resolution ICO (16, 32, 48, 256px) with pixel art lobster
- Update installer to include icon file for shortcuts
- Add Output/ to gitignore
Compare against magimetal/moltbot-menubar (the real macOS app).
Mac app is simpler - focused on gateway management.
Windows app has many additional features not in Mac version.
- New ModernTrayMenu: Windows 11-style flyout replacing ContextMenuStrip
- Dark/light mode auto-detection
- Lobster branding header with accent colors
- Clickable channel toggles (start/stop Telegram/WhatsApp)
- Sessions link to /sessions, Cron Jobs to /cron
- Status badges with color coding (READY/IDLE/ON/OFF)
- New ModernForm base class for all dialogs
- Rounded corners via DWM APIs
- Consistent theming across Settings, QuickSend, WebChat, etc.
- Accent color support
- New WelcomeDialog for first-run experience
- Guides users to get API token
- Links to docs.molt.bot documentation
- Opens Settings after onboarding
- Channel status parity: unified READY status for linked channels
- Service Health menu item (replaces Run Health Check)
- Test Notification button in Settings
- Various DPI and spacing fixes
- Updated README with screenshot and expanded feature list
- Fix WebSocket Origin header to use actual gateway URL (not hardcoded localhost)
- Update settings dialog hotkey label to Ctrl+Alt+Shift+C
- Now properly supports ws:// and wss:// to remote servers
- Replace all 'Clawdbot' references with 'Moltbot' in UI strings
- Change global hotkey from Ctrl+Shift+Space to Ctrl+Alt+Shift+C
- Update user-agent to moltbot-windows-tray/1.0.0
- Remove stale build.bat, workflows/, ISSUE_TEMPLATE/ from old repo
- Upgrade all projects from .NET 9 to .NET 10
- Add .github/workflows/ci.yml with:
- Test job: runs 88 unit tests
- Build job: builds Tray for win-x64 and win-arm64
- Build-extension job: builds Command Palette extension
- Release job: creates GitHub release on version tags
- All tests passing on .NET 10