Benson
2a79b833fb
feat(electron): add official icons and release workflow ( #154 )
...
* feat(electron): add app icons for Windows, macOS, and Linux releases
- icon.ico: Windows application icon (256x256 with multiple resolutions)
- icon.icns: macOS application icon bundle (16px to 1024px)
- icon.png: Linux/general purpose icon (512x512)
- tray-icon.png: System tray icon (32x32)
Icons generated from images/omniroute.png source logo.
Enables branded Electron desktop app builds for all platforms.
* chore: sync package-lock.json
* feat(electron): use official SVG logo and add release workflow
- Regenerated app icons from public/icon-192.svg (official OmniRoute logo)
- Added .github/workflows/electron-release.yml for automated builds
- Icons: icon.icns (macOS), icon.ico (Windows), icon.png (Linux), tray-icon.png
- Build workflow creates DMG (mac), EXE (win), AppImage (linux) on release
* ci: add npm cache to electron-release workflow
2026-02-28 10:26:46 -03:00
Diego Rodrigues de Sa e Souza
52e3d4b37b
Merge pull request #153 from diegosouzapw/dependabot/npm_and_yarn/electron/npm_and_yarn-c9b74b4f42
...
chore(deps-dev): bump electron from 33.4.11 to 40.6.1 in /electron in the npm_and_yarn group across 1 directory
2026-02-28 10:21:25 -03:00
diegosouzapw
9a3d72c6a2
docs: update electron/README.md, USER_GUIDE.md, FEATURES.md with desktop app docs
2026-02-28 08:33:55 -03:00
dependabot[bot]
5b9b1cdd44
chore(deps-dev): bump electron
...
Bumps the npm_and_yarn group with 1 update in the /electron directory: [electron](https://github.com/electron/electron ).
Updates `electron` from 33.4.11 to 40.6.1
- [Release notes](https://github.com/electron/electron/releases )
- [Commits](https://github.com/electron/electron/compare/v33.4.11...v40.6.1 )
---
updated-dependencies:
- dependency-name: electron
dependency-version: 40.6.1
dependency-type: direct:development
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-28 11:16:30 +00:00
diegosouzapw
d624ddde03
fix(electron): code review hardening — 16 fixes for security, performance, robustness
...
## Critical Fixes
- #1 : Server readiness — waitForServer() polls before loading window
- #2 : Restart timeout — 5s + SIGKILL prevents IPC handler from hanging
- #3 : changePort — now stops/restarts server on new port
## Important Fixes
- #4 : Tray cleanup — destroy old Tray before recreating
- #5 : IPC emission — server-status & port-changed events
- #6 : Disposer pattern — replaces removeAllListeners
- #7 : useSyncExternalStore — eliminates 5x re-renders
## Minor: #8-#16 (dead code, CSP, platform titlebar, types, errors, version)
Tests: 76 / 15 suites (was 64/9)
2026-02-28 08:15:04 -03:00
diegosouzapw
d3ace8d611
fix: security hardening, tests, docs for Electron desktop & memory optimization
...
## Security Fixes
- Sanitize OMNIROUTE_MEMORY_MB with parseInt + range validation (64-16384)
to prevent command injection via spawn() args
- Validate URL protocol in shell.openExternal (http/https only)
to prevent RCE in Electron renderer compromise
- Bump default memory from 256MB to 512MB
## Electron package-lock.json
- Added to .gitignore (5278 lines removed from tracking)
## Test Suite (64 tests, 9 suites)
- electron-main.test.mjs: URL validation, IPC channels, window handler
- electron-preload.test.mjs: channel whitelist, API surface, open-external
- cli-memory.test.mjs: injection prevention, boundary values, .env parsing
## Documentation
- Desktop App section added to all 30 READMEs (9 fully translated)
- USER_GUIDE.md updated with 512MB default
- .env.example reflects new defaults
2026-02-28 07:59:38 -03:00
benzntech
a3d15cf971
fix: address PR review comments
...
- Fix server restart logic to use event-based termination
- Use app.getPath('userData') for cross-platform data directory
- Implement VALID_CHANNELS validation in preload script
- Fix incorrect copy command in user guide
- Fix broken markdown table formatting
Refs: #150
2026-02-28 11:54:41 +05:30
benzntech
5e72cd34f0
fix: improve Electron security and functionality
...
- Add window control IPC handlers (minimize, maximize, close)
- Add URL validation for open-external to prevent security issues
- Add single instance lock to prevent multiple app instances
- Add deep link protocol support (omniroute://)
Refs: #149
2026-02-28 11:23:27 +05:30
benzntech
b004d0472b
feat: add Electron desktop application support
...
- Add electron/ directory with main process, preload script, and types
- Add system tray integration and window management
- Add IPC communication for app info, external links, server controls
- Add useElectron React hooks for Next.js integration
- Add build scripts for Windows, macOS, and Linux
- Add development scripts for running Electron with Next.js
Ref: #149
2026-02-28 10:40:25 +05:30