Add Tauri desktop application support#1
Conversation
3fee5cb to
820060b
Compare
Integrate Tauri 2.0 to enable building TouchTask as a native desktop application for Windows, macOS, and Linux while maintaining full compatibility with existing web deployment. Key additions: - Tauri CLI and API dependencies (@tauri-apps/cli, @tauri-apps/api) - Rust backend in frontend/src-tauri/ with full Tauri configuration - Conditional Vite base path (/ for Tauri, /touchtask/ for web) - Build script configured to exclude AppImage for reliable builds - New npm scripts: tauri, tauri:dev, tauri:build - Justfile commands with automatic nvm and cargo PATH setup - Comprehensive Tauri setup documentation (docs/TAURI_SETUP.md) Build configuration: - Bundle identifier: com.touchtask - Build outputs: .deb/.rpm (Linux), .msi (Windows), .dmg/.app (macOS) - AppImage excluded via --bundles deb,rpm flag Documentation updates: - Added desktop app section to README.md - Created detailed TAURI_SETUP.md guide - Updated troubleshooting with Tauri-specific issues - Documented platform-specific prerequisites - Added Ubuntu 24.04 package name differences Fixes: - Resolved CI environment variable conflicts in tauri init - Fixed npm/cargo PATH issues in justfile commands - Configured reliable platform-independent builds This enables users to run TouchTask as a native desktop application with better performance and system integration while preserving the existing web-based deployment option.
Comprehensive PR Review: #1 "Add Tauri Desktop Application Support"Repository: florianbuetow/touchtask Executive SummaryThis PR adds Tauri 2.0 desktop application support to TouchTask. While technically interesting, the review identified critical security issues, significant maintenance concerns, and a lack of clear value proposition for the project. Recommendation: Decline Strategic Concerns (Maintainer Perspective)🔴 Missing Value PropositionThe PR doesn't articulate why a desktop app is beneficial. The PR description lists what was added, but not why:
The reality:
🔴 Significant Maintenance BurdenThis PR introduces substantial ongoing costs:
Breaking changes already bundled in this PR:
These upgrades should be separate PRs with their own testing. 🔴 Build Artifacts CommittedThe PR modifies files in
Build artifacts should never be in version control. This indicates the PR author may have misunderstood the build/deploy workflow. Critical Security Issues1. Content Security Policy DisabledFile: "security": {
"csp": null
}CSP is completely disabled, removing a fundamental XSS protection layer. For a desktop app with native system access, this is dangerous. 2. No Logging in Production BuildsFile: if cfg!(debug_assertions) {
// Logging only enabled in debug builds
}Production users will have zero diagnostic information when issues occur. 3. Unhelpful Panic on Startup FailureFile: .run(tauri::generate_context!())
.expect("error while running tauri application");All startup failures produce the same generic panic with no actionable information. Important Technical Issues4. Platform-Specific Build ScriptFile: "tauri:build": "tauri build --bundles deb,rpm"This only builds Linux packages. Windows ( 5. Silent Environment DetectionFile: base: process.env.TAURI_ENV_PLATFORM ? '/' : '/touchtask/',If 6. Version Number Chaos
7. Cargo.toml Metadata Incompleteauthors = ["you"]
license = ""
repository = ""Placeholder values shouldn't be in a PR ready for merge. Documentation Issues8. Inconsistent Window Size Documentation
9. Hardcoded Paths in Examplescd ~/touchtask # Assumes specific install location10. Redundant CI Environment Variable DocumentationThe same workaround is documented 4+ times across files. Issue Summary Table
No Functional ImprovementsA desktop app could justify maintenance cost if it provided native benefits. This PR implements none:
The current PR provides zero functional improvements over the web app. Positive ObservationsDespite the issues, the PR shows effort:
Decision: Declining This PRThis is a cool technical demo of what is possible to wrap the web app inside an application, but because there are no functional improvement in the desktop version that would make users prefer it over a browser bookmark. The maintenance burden is not justified. |
feat: Add Tauri desktop application support
Integrate Tauri 2.0 to enable native desktop builds for Windows,
macOS, and Linux while maintaining web deployment compatibility.
Build outputs: .deb/.rpm (Linux), .msi (Windows), .dmg/.app (macOS)
Bundle identifier: com.touchtask