drelich 5de3cd3789 feat: switch from Notes API to WebDAV file access
- Replace API-based note operations with direct WebDAV file access
- Use filename-based IDs instead of numeric IDs for better reliability
- Implement safer merge strategy that doesn't clear local notes
- Add ETag-based conflict detection to prevent data loss
- Support string | number IDs throughout the codebase
- Notes are now stored as .txt files in /Notes/{category}/
- Eliminates race conditions and temporary ID conflicts
- More reliable sync with direct file system access
2026-03-25 19:47:00 +01:00
2026-03-18 16:45:48 +01:00

nextcloud-notes-tauri.png

Tauri + React + Typescript

Nextcloud Notes - Cross-Platform Desktop App

A modern, cross-platform desktop application for Nextcloud Notes built with Tauri + React + TypeScript.

Features

  • Cross-platform: macOS, Linux, Windows
  • Lightweight: ~600KB binary (vs 150MB+ Electron)
  • Modern UI: React + TailwindCSS
  • Full sync: Create, edit, delete, favorite notes
  • Search & filter: Find notes quickly, filter by favorites
  • Auto-save: Changes save automatically after 1.5s
  • Secure: Credentials stored in system keychain (localStorage for now)
  • Background sync: Auto-sync every 5 minutes

Prerequisites

  • Rust: Install from https://rustup.rs/
  • Node.js: v18+ recommended
  • Nextcloud instance with Notes app enabled

Development

# Install dependencies
npm install

# Run in development mode
npm run tauri dev

# Build for production
npm run tauri build

First Launch

  1. Enter your Nextcloud server URL (e.g., https://cloud.example.com)
  2. Enter your username
  3. Enter your password or App Password (recommended)
    • Generate at: Settings → Security → Devices & Sessions in Nextcloud
  4. Click Connect

Building for Distribution

macOS

npm run tauri build
# Output: src-tauri/target/release/bundle/macos/

Linux

npm run tauri build
# Output: src-tauri/target/release/bundle/appimage/ or .deb

Windows

npm run tauri build
# Output: src-tauri/target/release/bundle/msi/

Tech Stack

  • Tauri: Rust-based native wrapper (~600KB)
  • React 18: UI framework
  • TypeScript: Type safety
  • TailwindCSS: Utility-first styling
  • Vite: Fast build tool

Advantages over Native Swift App

  • Cross-platform: One codebase for macOS, Linux, Windows
  • No SwiftUI state issues: React's state management is mature
  • Smaller binary: Tauri is much lighter than Electron
  • Easier to maintain: Web technologies vs platform-specific code
  • No Xcode required: Build on any platform
Description
No description provided
Readme 12 MiB
Languages
TypeScript 93.5%
CSS 3.5%
JavaScript 2.3%
Rust 0.4%
HTML 0.3%