Releases: zed24software/pilot-client-bridge
Releases · zed24software/pilot-client-bridge
24Client Bridge v1.0.5-beta
[1.0.5] - 2026-05-29
Added
- Local OAuth flow: New local auth server (
127.0.0.1:57331) handles Discord OAuth2 callback directly, eliminating dependency on the externalauth_serverconfig field - Voice credentials persistence: New
voice-creds.tsstores voice channel credentials to%APPDATA%/pilot-client-bridge/voice-creds.json, surviving restarts - Per-scope token caching: Token cache now keyed by scope (
token-activity.json,token-voice.json, etc.) so activity and voice tokens no longer overwrite each other - Callsign tray display: System tray now shows current callsign via
updateCallsign() - Systray binary bundling: Systray executable embedded at build time via
scripts/embed-tray-bin.mjsand bundled in the NSIS installer
Fixed
- Voice channel switching broken when Discord's RPC
AUTHENTICATEcommand returned errors under certain account configurations, now works around the limitation with a local OAuth exchange - Token refresh would silently fail after expiry due to stale cached token file being shared between scopes
- Installer created shortcut pointing to wrong path
- CJS import error on startup in certain environments
- Update checker failed to compare versions correctly in some cases
- Systray icon not loading when binary path differed between dev and production builds
Changed
auth_serverfield removed fromrpc-config.json— auth is now handled locally- Token cache file renamed from
token.jsontotoken-<key>.jsonto support multiple scopes (manual deletion of oldtoken.jsonmay be needed on upgrade) - Contributing guidelines added to README
Dependencies
- Added axios (^1.16.1) for OAuth token exchange HTTP requests
- Added node-notifier (^10.0.1) and open (^11.0.0)
Full Changelog: v1.0.0-beta...v1.0.5-beta
24Client Bridge v1.0.0-beta
[1.0.0-beta.1] - 2026-05-24
Added - Initial Beta Release
Core Features
- Discord RPC Integration: Full integration with Discord Rich Presence API for seamless status updates
- Dynamic Flight Status Display: Real-time Discord activity updates showing:
- Current altitude
- Heading information
- Aircraft callsign and type
- Automatic status clearing when not in flight
- Voice Channel Switching: Programmatic Discord voice channel switching based on radio frequencies
- REST API: Full-featured REST API for interacting with Discord RPC functionality
- System Tray Integration: Background service with system tray icon for quick status monitoring and control
- Multi-platform Support: Windows with pre-compiled installer and Linux with self-compile option
API Endpoints
GET /- Health check endpointPOST /rpc/select-voice-channel- Switch voice channels by frequencyGET /rpc/voice-connection-status- Get current voice connection statusPOST /rpc/set-activity- Manually set Discord activity statusGET /rpc/get-channels- Retrieve available voice channelsPOST /rpc/set-user-voice-settings- Configure voice settings
Configuration
rpc-config.json- Discord RPC client configurationchannels.json- Radio frequency to Discord channel mappings for Italian airspace (20+ airports supported)
Development Features
- TypeScript support with strict type checking
- Development mode with hot-reload (
pnpm run dev) - Production build system using Bun
- Windows installer generation with NSIS
- Comprehensive error handling and logging
Platform Support
- Windows: Pre-compiled executable installer with automatic installation to Program Files
- Linux: Full source compilation support with clear build instructions
Installation
Windows
- Pre-compiled installer available below
- One-click installation with automatic shortcuts and system tray integration
Linux
- Self-compile from source using
pnpm run build - Requires Node.js 18+ or Bun runtime
Known Limitations (Beta)
- Discord connection is required for all functionality
- Voice channel switching limited to pre-configured frequency mappings
- Activity updates occur every 10 seconds (not real-time)
- System tray integration Windows-only in this release
- OAuth token caching may require manual refresh in certain scenarios
Technical Details
- Runtime: Bun/Node.js
- Framework: Express.js for REST API
- IPC Protocol: Custom Discord RPC handshake implementation
- API Port: 127.0.0.1:57330 (localhost only for security)
- CORS Origins: https://zedruc.net, http://localhost:5174
Testing Notes
This is a beta release intended for testing and feedback. Please report any issues or unexpected behavior through the project's issue tracker.
System Requirements
Windows
- Windows 10 or later
- Discord running with RPC enabled
- ~50 MB disk space
Linux
- Node.js 18+ or Bun runtime
- pnpm or npm package manager
- ~100 MB for dependencies and build output
- Discord with RPC support
Breaking Changes
None - initial release.
Deprecations
None - initial release.
Security Notes
- API server binds to 127.0.0.1 only (no external network access)
- Discord IPC authentication required for all operations
- Discord token cached locally for session persistence
- CORS restricted to specific origins
Dependencies
- express (^5.2.1) - REST API framework
- cors (^2.8.6) - Cross-Origin Resource Sharing
- node-ipc (^12.0.0) - Discord RPC communication
- systray2 (^2.1.4) - System tray integration
For more information, see README.md.