Repository navigation
Tauri desktop app with persistent library folder and project file - #98
Merged
Merged
Conversation
Replace File with a lazy ReplayFileSource as the unit of import, add a desktop build (src-tauri) that scans and watches a library folder, and persist notes, comments, identity, video links and perspective overrides to rmgr-viewer-project.json in that folder (atomic writes, rotating backups, newer-schema and corrupt-file handling). Add release and CI workflows that build the installers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
~/Documents/Replays, changeable), scans it on launch and watches it live, so replays never need re-importing.Fileis replaced by a lazyReplayFileSourcethroughout the import path. Unchanged files attach from stat data with zero reads. Web behavior is unchanged.rmgr-viewer-project.jsonin the library folder: atomic writes, debounced save plus flush on close, 3 rotating backups, newer-schema and corrupt-file handling, one-time migration from webview storage, and a separate file per library folder. The stats cache stays in IndexedDB.tauri-check(cargo check) andtauri-build(installers as workflow artifacts) on master and PRs. Newrelease.ymlbuilds a draft GitHub Release onv*tags (unsigned).Spec:
docs/superpowers/specs/2026-10-05-tauri-desktop-app-design.md. Plan:docs/superpowers/plans/2026-10-05-tauri-desktop-app-implementation.md.Notes for review
fswrite/rename/remove are scoped tormgr-viewer-project.json*for the default folder. For a folder picked via the dialog, Tauri adds the whole directory to the scope at runtime; the app only ever writes the project file.identifiermust never change; the note is inmain.rs, and the WiXupgradeCodeis pinned.Test plan
npm run typecheck,lint,format:check,test(950 pass),buildcargo check --manifest-path src-tauri/Cargo.tomlnpm run tauri:devlaunches on macOStauri-buildCI run uploads installers (artifact globs are unverified)