feat: Add Tauri desktop application support alongside Electron #2872
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR implements a complete Tauri-based desktop application for Altair GraphQL Client, providing a modern, lightweight alternative to the existing Electron version. The implementation maintains full API compatibility while offering significant performance and bundle size improvements.
Key Benefits
Implementation Details
Architecture Changes
The implementation uses a layered approach that allows both Electron and Tauri versions to coexist:
New Packages Added
packages/altair-tauri/
: Complete Tauri application with Rust backendpackages/altair-tauri-interop/
: TypeScript interop layerDesktopAppService
: Unified service abstractionFeature Parity
All major Electron features have been implemented in Tauri:
Build System Integration
Updated workspace configuration to support both desktop platforms:
Runtime Environment Detection
The application automatically detects the runtime environment and uses the appropriate APIs:
Backward Compatibility
Documentation
Added comprehensive documentation including:
Future Enhancements
The foundation is ready for additional features:
altair://
URLs)Testing
The service abstraction makes testing straightforward - existing tests work with both implementations, and new tests can be added to verify Tauri-specific functionality.
Resolves #2802
This implementation provides users with a choice between the traditional Electron version and a modern, efficient Tauri alternative while maintaining full feature parity and API compatibility.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
binaries.prisma.sh
downloads.sentry-cdn.com
If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.