# Decky Decky is a focused cross-platform desktop client for viewing and editing boards from a Nextcloud Deck instance. ## Current application The active application lives in `app/` and uses: - Tauri 2 for the small native desktop shell; - Svelte 5 and TypeScript for the interface; - the operating system webview on Windows, macOS, and Linux; - the native credential store on each platform (Windows Credential Manager, macOS Keychain, or Linux Secret Service); - Tauri's Rust HTTP client so Nextcloud requests are not blocked by browser CORS. Implemented functionality includes: - app-password authentication and automatic API-path discovery; - active-board filtering and saved board selection; - board creation, renaming, recoloring, and deletion; - stack creation, renaming, reordering, and deletion; - idle-aware background synchronization of boards, stacks, and cards; - horizontal and vertical layouts saved independently per board; - card creation, editing, deletion, due date, description, and color controls; - a directly visible completion checkmark that synchronizes Deck's `done` value and applies the configured active/completed color; - preserved full-card update payloads and the tested Deck cross-stack movement compatibility fallback; - responsive/collapsible navigation and card search. The earlier .NET/WinUI projects remain in `src/` and `tests/` temporarily as a reference for the compatibility probe and original API test cases. They are no longer the primary application. ## Development Install Node.js, Rust stable, the platform-specific Tauri prerequisites, and then run: ```powershell cd app npm install npm run check npm test npm run tauri dev ``` Build a release executable with: ```powershell powershell -ExecutionPolicy Bypass -File .\scripts\Prepare-Release.ps1 -Version 0.3.0 -Notes "Release notes" ``` This produces a normal per-user Windows setup executable plus the cryptographic signature and metadata used by Decky's in-app updater. Cross-platform artifacts must be compiled on their target operating system. Use macOS for `.app`/DMG builds, Windows for MSI/NSIS builds, and Linux for the desired Linux packages. ## Security Decky only accepts HTTPS servers, except for `localhost` during development. The app password is never stored in local storage or the JSON/settings model. When “Save securely on this device” is selected it is saved through the native OS credential service. ## Updates Installed copies update from signed Forgejo Release artifacts, never with `git pull`. The updater is available from Settings and reads stable metadata from the Forgejo repository. The Unraid Forgejo runner validates source changes; this Windows machine builds and signs the installer. See `app/UPDATES.md` for the complete release procedure and signing-key backup.