* feat(windows): add background service, system tray manager, and desktop shortcuts
Implements native Windows background service and system tray management:
- Zero-flicker VBScript runner (scripts/windows/launch-tray.vbs) with SW_HIDE
- Native PowerShell tray manager (scripts/windows/omp-web-tray.ps1) with single-instance mutex, health monitoring, crash auto-restart, and interactive context menu
- Multi-resolution icon generation (public/omp-web.ico) and shortcut installers (scripts/windows/install-tray.ps1, uninstall-tray.ps1)
- Library module lib/windows-service.ts and standalone CLI bin/omp-web-tray.js
- CLI flags in ompweb (--install-tray, --uninstall-tray, --tray)
- REST API app/api/windows-service/route.ts and Settings UI card in components/SettingsConfig.tsx with i18n
- Unit tests and npm scripts for tray installation and lifecycle
* ci: add PR verification workflow with rules and matrix validation
- Trigger on pull_request and main branch push with fast cancellation
- Matrix verification across ubuntu-latest and windows-latest
- Strict gates: typecheck (tsc), lint (eslint), unit & integration test suite, and production build check
- Windows-specific System Tray CLI and shortcut installation/removal validation
- PR rules checking for forbidden secrets/temporary files and Conventional Commits title format
* test: stabilize cross-platform path assertions and async timer event loop
- Keep active timer reference in rpc-process-runtime timeout test to prevent event loop premature drainage
- Use samePath helper for cross-platform projectRoot and worktree path assertions on Windows short 8.3 paths
* fix(worktree): canonicalize git rev-parse paths with realPathOrSelf
Resolves 8.3 short paths from git rev-parse on Windows temp directories so samePath comparison succeeds during project resolution
* test: configure safe.directory in git test helpers
Adds safe.directory=* to git test fixtures so temp-directory git repos execute without dubious ownership errors in CI
* fix(paths): support Windows 8.3 short paths and realpath comparison in samePath
* test(project-registry): use canonical resolved projectRoot in mergeProjects test
* fix(windows-service): exclude probe PID and use taskkill process tree kill
- Exclude probe process PID () when querying and stopping tray processes
- Terminate entire process tree using taskkill.exe /PID ... /T /F in stopTrayService and uninstall-tray.ps1
- Support OneDrive Desktop folder redirection in getWindowsShortcutPaths
---------
Co-authored-by: Khaled Ahmed <[email protected]>
- Add build:dist scripts for creating platform-specific executables (macOS, Linux, Windows)
- Configure Next.js standalone output mode with external packages
- Downgrade Next.js from 16.2.1 to 14.2.35 for pkg compatibility
- Add @yao-pkg/pkg for executable bundling
- Create build-dist.mjs script with multi-step build process:
- Patch server.js to remove process.chdir and set default port to 3030
- Patch webpack route files to replace