Tauri Desktop
Markup includes an optional desktop client built with Tauri v2, allowing you to run the app as a native application with local filesystem integration and improved performance.Requirements
Before using Tauri, install:- Node.js 18+
- Rust (latest stable)
- Cargo (included with Rust)
- Tauri CLI v2
Project Setup
Install dependencies:Development Mode
Run the Tauri desktop app in development mode:- Start the Next.js dev server
- Launch the Tauri desktop shell
- Enable hot reload for UI changes
Production Build
Build the desktop application:Tauri Project Structure
Configuration
App Settings
Edit:- App name
- Window size
- Security policies
- Build targets
Allowlist / Permissions
Tauri v2 uses capability-based security. You may need to enable:- File system access
- Network access
- Clipboard access
Local File Sync
Markup desktop supports optional local syncing:.md→ Markdown notes.canvas→ Whiteboard data.mindmap→ Mind map structures
Common Commands
Start Desktop App
Build Desktop App
Clean Build
Troubleshooting
Rust not found
Ensure Rust is installed:Tauri build fails
Try cleaning and rebuilding:Blank window on launch
Check:- Next.js build completes successfully
- No runtime errors in terminal
- Correct dev server URL in
tauri.conf.json
File system access issues
Ensure permissions are enabled in Tauri capabilities configuration.Performance Notes
- Desktop mode uses native WebView rendering
- Local file access reduces latency compared to cloud-only mode
- Recommended for heavy note-taking and offline usage
Recommended Workflow
- Develop using
npm run dev - Test desktop mode with
npm run tauri:dev - Build production web app
- Build desktop binaries with
npm run tauri:build
Security Notes
- Do not expose sensitive environment variables to frontend
- Restrict filesystem permissions where possible
- Use Tauri capabilities instead of full access when possible
- Keep Rust and Tauri dependencies updated
Optional Enhancements
You can extend the desktop app with:- Auto-updater (check Github Repository for an example)
- System tray integration
- Global shortcuts
- Deep OS file integration
- Offline-first sync mode improvements