Commit Graph

10 Commits

Author SHA1 Message Date
Scott Hanselman
c85d4e7571
feat: complete Chinese localization + contributor guide (#60)
Some checks failed
Build and Test / test (push) Has been cancelled
Build and Test / build (win-arm64) (push) Has been cancelled
Build and Test / build (win-x64) (push) Has been cancelled
Build and Test / build-msix (ARM64, win-arm64) (push) Has been cancelled
Build and Test / build-msix (x64, win-x64) (push) Has been cancelled
Build and Test / build-extension (arm64) (push) Has been cancelled
Build and Test / build-extension (x64) (push) Has been cancelled
Build and Test / release (push) Has been cancelled
Localize ~40 remaining hardcoded English strings (toasts, canvas, webchat, download dialog). Both en-US and zh-CN now have 163 resource keys, fully in sync.

- Add LocalizationHelper.SetLanguageOverride() for unpackaged app locale testing
- Add docs/LOCALIZATION.md contributor guide
- File issue #61 calling for community translations

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-17 21:12:45 -07:00
Scott Hanselman
882937299a docs: remove stale WinForms references, update test counts and capabilities
- README.md: Fix project table (OpenClaw.Tray → OpenClaw.Tray.WinUI),
  remove WinForms run command, add system.run.prepare and system.which
  to capability table and allowCommands JSON, remove '(investigating)'
  from canvas.a2ui commands
- DEVELOPMENT.md: Remove OpenClaw.Tray/ from structure, add
  OpenClaw.Tray.Tests/, update test counts (88 → 571), fix CI section
- build.ps1: Fix broken 'Tray' target to point at WinUI .csproj,
  remove WinForms from default build and run instructions
- docs/VERSIONING.md: Remove reference to deleted OpenClaw.Tray.csproj
- docs/TEST_COVERAGE.md: Full rewrite (88 → 571 tests, .NET 9 → 10)
- docs/CODE_REVIEW.md: Update project names, test counts, .NET version
- docs/WINDOWS_NODE_TESTING.md: Mark system.run as implemented, update
  capability descriptions
- docs/WINDOWS_NODE_ARCHITECTURE.md: Add historical planning note,
  update current state table (Node mode now implemented)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-17 20:38:13 -07:00
Copilot
0aebcc24f2
Fix auto-updater loop by removing hardcoded FileVersion and AssemblyVersion (#17) 2026-02-10 00:17:47 -08:00
Scott Hanselman
199f855729
feat: enhanced notification categorization pipeline (#12) (#15)
Replace keyword-only classification with a layered pipeline:
structured metadata (intent/channel) > user rules > keyword fallback.

- Add Channel, Agent, Intent, Tags fields to OpenClawNotification
- Extract NotificationCategorizer class with layered pipeline
- Add NotifyChatResponses toggle to suppress chat toasts
- Add UserNotificationRule model for custom regex/keyword rules
- Map error notifications to urgent setting
- Add 30+ unit tests for categorizer pipeline
- Document categorization system in docs/
2026-02-07 17:24:11 -08:00
Scott Hanselman
4003e58d8f feat: system.run + exec approval policy
Implement system.run command execution with swappable ICommandRunner
interface and glob-pattern-based exec approval policy for security.

ICommandRunner abstraction:
- ICommandRunner interface with CommandRequest/CommandResult models
- LocalCommandRunner: Process.Start with pwsh/cmd/powershell support
- Supports shell selection, cwd, timeout, env vars, args
- Designed for future DockerCommandRunner/WslCommandRunner swap-in

Exec approval policy:
- ExecApprovalPolicy engine with glob-pattern matching (*, ?)
- First-match-wins rule evaluation with Allow/Deny/Ask actions
- JSON persistence to exec-policy.json in data directory
- Default policy: allows read-only commands (echo, Get-*, hostname),
  denies destructive ops (rm, shutdown, Format-*, registry)
- system.execApprovals.get: retrieve current policy rules
- system.execApprovals.set: update policy remotely

Node integration:
- SystemCapability checks approval policy before executing commands
- Denied commands return error with policy rule explanation
- NodeService wires LocalCommandRunner + ExecApprovalPolicy

Tests (191 total, all passing):
- 30 exec approval tests: policy evaluation, persistence, patterns,
  SystemCapability integration, default rules validation
- system.run unit + integration tests
- Fixed: NodeCapabilityBase arg helpers guard default(JsonElement)

Docs updated:
- README: exec approvals commands, usage examples, gateway config
- Architecture doc: capability matrix, roadmap checkboxes updated
2026-02-07 14:16:15 -08:00
Scott Hanselman
b814a9eb65 docs: add Windows node roadmap 2026-02-03 21:25:46 -08:00
Scott Hanselman
e3eeef3367 feat: add Windows node mode capabilities
Implement node protocol, pairing, and invoke result handling.

Add canvas/screen/camera capabilities with WebView2, GDI capture, and MediaCapture frame reader fallback.

Expose node mode toggle/status in tray settings and update Windows node docs/testing guide.
2026-02-03 21:25:46 -08:00
Scott Hanselman
c658b1f517 Organize docs and add Windows Node architecture roadmap
- Move CODE_REVIEW.md, TEST_COVERAGE.md, XAML_COMPILER_BUG.md to docs/
- Add WINDOWS_NODE_ARCHITECTURE.md - comprehensive plan for evolving
  tray app into a first-class Windows node with canvas, camera, screen
  capture, and more
2026-02-01 21:26:10 -08:00
Scott Hanselman
83d61eb641 Fix Command Palette extension and bundle in installer
Some checks failed
Build and Test / test (push) Has been cancelled
Build and Test / build (win-arm64) (push) Has been cancelled
Build and Test / build (win-x64) (push) Has been cancelled
Build and Test / build-extension (arm64) (push) Has been cancelled
Build and Test / build-extension (x64) (push) Has been cancelled
Build and Test / release (push) Has been cancelled
- 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
2026-01-28 23:33:32 -08:00
Scott Hanselman
40a68ec100 Modern Windows 11 UI overhaul with Mac parity
Some checks failed
Build and Test / test (push) Has been cancelled
Build and Test / build-extension (x64) (push) Has been cancelled
Build and Test / build (win-arm64) (push) Has been cancelled
Build and Test / build (win-x64) (push) Has been cancelled
Build and Test / build-extension (arm64) (push) Has been cancelled
Build and Test / release (push) Has been cancelled
- 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
2026-01-28 22:15:59 -08:00