Commit graph

22 commits

Author SHA1 Message Date
Tristan Michael 9ed84690ac Rename due_date to date across codebase
The kebab menu and docs referred to a task "due date" but the field was
just a date; this change renames due_date/group_by_due_date and related
identifiers to date/group_by_date across Rust, TypeScript, Svelte, CLI,
docs and tests to keep terminology consistent. Updates include
API/command names, storage/models, repository methods, UI text, JS
variables and builder/parse functions so code, tests and documentation
all use "date" semantics.
Preserve old "group_by_due_date" field name

Add serde alias to ListMetadata.group_by_date so older .listdata.json
files that used the previous field name (group_by_due_date) can still be
deserialized correctly. This fixes serialization/deserialization issues
encountered at /home/trztn/Documents/Onyx and
/var/home/trztn/Nextcloud/Onyx.
the frontmatter due should be date... I don't want due anywhere

- Renamed `TaskFrontmatter.due` → `TaskFrontmatter.date`; YAML key on disk is now `date:` instead of `due:`
- Added `#[serde(alias = "due")]` so existing task files with `due:` frontmatter still deserialize correctly
- Updated google_tasks.rs to write `date:` instead of `due:` in generated YAML
- Renamed CLI `--due` flag to `--date`; updated function signature and display string "Due:" → "Date:"
Remove serde aliases and rename due→date

Drop backwards-compat aliases and update frontmatter/metadata to use the
canonical "date"/"group_by_date" fields. The aliases for
group_by_due_date and due were removed to avoid maintaining
backward-compatibility and to reflect the current schema. Updated
storage types to rename the fields and adjusted serialization attributes
so YAML/JSON frontmatter and .listdata.json files now use group_by_date
and date consistently.
2026-04-14 07:36:10 -07:00
Claude 7c6001291c
Fix documentation and code inconsistencies found during audit
- CLAUDE.md: Fix drawer width unit (80vw -> 80cqi), clarify group-by-due-date
  is toggle-only (sorting not yet implemented), clarify Phase 4 status
- PLAN.md: Fix conflict resolution label (last-write-wins -> remote wins),
  add username to keyring key format, mark fallback credential storage as
  not yet implemented
- sync.rs: Fix comment table to say "conflict" instead of "last-write-wins"
  for both-modified and both-added cases (matches actual Conflict action)
- config.rs: Add temp file cleanup on atomic write rename failure to match
  the pattern already used in storage.rs

https://claude.ai/code/session_01YWvxpzeT3hEUxD9aNvfNuL
2026-04-06 12:08:22 +00:00
Claude 7e9d35d6d6
Update documentation to reflect audit fixes
- CLAUDE.md: Document sync lock, temp cleanup on failure, metadata-first
  deletes, YAML 64KB limit, mtime dedup tiebreaker, saturating version,
  watcher-error event, and accessibility features
- docs/API.md: Add YAML frontmatter row to size limits table, document
  sync lock and delete ordering in sync strategy, update path traversal
  and atomic write descriptions
- PLAN.md: Update version field comment to note saturating behavior

https://claude.ai/code/session_01AJoK28N4vqLqzskq6ybGri
2026-04-06 11:07:29 +00:00
Claude e471534b58
Docs: update for new safety features and fix SyncMode enum names
- CLAUDE.md: document atomic writes, input size limits, path validation,
  file download size cap, workspace path validation, taskStack auto-cleanup
- API.md: add Input Validation & Safety section with size limits table,
  atomic writes list, and path safety documentation
- API.md: fix SyncMode enum names (PushOnly/PullOnly -> Push/Pull)
- API.md: add missing on_progress parameter to sync_workspace examples
- Update current state date to 2026-04-06

https://claude.ai/code/session_01F67yfLLmSaBtT7aKKNus1M
2026-04-06 10:20:39 +00:00
Tristan Michael aac43d77d2 Docs: update frontmatter examples and Task struct for version counter
Remove created/updated timestamps from Task struct docs and frontmatter
examples in PLAN.md, README.md, docs/API.md. Add version field. Update
CLAUDE.md on-disk format section to document version counter, default
behavior for legacy files, and self-healing dedup in list_tasks.
2026-04-05 19:23:52 -07:00
Tristan Michael eaab66609c Docs: update all markdown files to reflect workspace-settings-overhaul changes
Update CLAUDE.md, PLAN.md, README.md, docs/API.md, and docs/DEVELOPMENT.md
to reflect UUID-keyed workspaces, checksum-based conflict resolution,
auto-sync lifecycle, tauri-plugin-credentials, .onyx-workspace.json rename,
and new GUI features (remote folder browsing, workspace rename, sync
interval, loading screen, safe area insets, task dedup).
2026-04-05 19:21:54 -07:00
Tristan Michael 753cb1cad5 Rename workspace metadata and add WebDAV folder browsing
Rework WebDAV workspace setup to use .onyx-workspace.json instead of
.metadata.json and to let users pick a remote folder instead of forcing
an Onyx/ subfolder. This updates storage, sync, config types, tests, and
CLI/Tauri commands to store a webdav_path in WorkspaceConfig and to
combine webdav_url + webdav_path for sync.

Changes include:
- Rename .metadata.json → .onyx-workspace.json across storage, sync, and tests so workspace detection and root metadata use the new filename.
- Remove hardcoded automatic "Onyx/" subfolder in sync and use the user-selected remote path directly.
- Add webdav_path field to WorkspaceConfig (Rust and TypeScript types) and thread it through add_webdav_workspace and frontend addWebdavWorkspace.
- Add three Tauri commands (list_remote_folder, inspect_remote_workspace, create_remote_workspace) to support remote folder browsing, workspace preview, and remote workspace creation.
- Rewrite SetupScreen WebDAV flow to Connect → Browse (lazy folder explorer) → Preview or Create, and wire UI state/handlers to the new commands.
- Update CLAUDE.md to document the new on-disk filename and note development phase allowing breaking changes.
2026-04-05 14:30:22 -07:00
Tristan Michael 8df0edf163 setup gitbutler 2026-04-05 14:30:22 -07:00
Tristan Michael 513acc5606 Document WebDAV sync, workspace theming, and credential hardening
Update CLAUDE.md to reflect completed WebDAV sync and expanded config/sync features. The docs now describe AppConfig fields (mode, theme, WebDAV URL), WorkspaceMode enum, WebDAV client details and credential handling (scoped keyring keys `com.onyx.webdav.<domain>::<username>` with auto-migration from legacy dot-separated format on load), three-way sync with a 60s timeout and auto-creation of the Onyx/ remote subfolder, a 10MB PROPFIND response cap, plus UI changes (setup flow, per-workspace theme options) and other sync/setup UI improvements.
2026-04-03 11:26:12 -07:00
Tristan Michael 52de450a0f docs: audit and update all markdown files to reflect current progress
Phase 2 (WebDAV sync) and Phase 3 (GUI MVP) are complete but docs still
showed them as in-progress. Phase 4 Android steps 1-4 are done. Windows
MSI packaging was added. Multiple doc inaccuracies fixed: missing Error
variants, stale struct definitions, wrong filenames in directory trees.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 03:52:58 -07:00
Tristan Michael ab71de9110 docs: update stale documentation after audit fixes
Fix outdated thread safety note in API.md — Storage trait now requires
Send + Sync and Tauri uses Mutex<AppState>. Mark completed Phase 5
features in PLAN.md (subtasks, due dates, move tasks, keyboard shortcuts).
Fix CLAUDE.md formatting.
2026-04-02 09:37:43 -07:00
Tristan Michael ddf3829cda remove flutter 2026-04-02 08:10:30 -07:00
Tristan Michael b2765a3242 docs: update CLAUDE.md with subtask UX and main panel header changes 2026-04-02 07:22:46 -07:00
Claude f7691e2d80
docs: mark subtask hierarchy as done in PLAN.md and CLAUDE.md
https://claude.ai/code/session_01XWcSekaCAJ7qnr4hN3tgL8
2026-04-02 12:15:24 +00:00
Tristan Michael 2c16ee04b5 docs: update CLAUDE.md for Tauri Android gating 2026-04-01 17:48:41 -07:00
Tristan Michael 12b500ef6f docs: update CLAUDE.md and PLAN.md to reflect Phase 3 completion
Mark all Phase 3 features complete: has_time, sync status indicators,
push/pull mode, desktop packaging (Linux), and Flutter GUI parity.
Update current state date and feature lists.
2026-04-01 01:38:18 -07:00
Tristan Michael 471f181564 docs: update CLAUDE.md and PLAN.md for Phase 3 progress
Mark completed features: move task, rename list, due date picker,
group-by-due-date toggle, keyboard shortcuts, WebDAV credentials
flow, file watcher. Update current state date, add Flutter GUI to
architecture section, revise remaining TODO list.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 13:37:37 -07:00
Tristan Michael 13da81fae6 update project docs, workspace config, and lockfile for onyx rename 2026-03-31 09:47:19 -07:00
Tristan Michael 9333ac7825 docs: update documentation, add LICENSE, fix outdated info
- Add GPL-3.0 LICENSE file
- Update README with current project status (all 3 phases), fix structure
- Update PLAN.md Phase 2 API signatures to match actual implementation
- Add WebDAV & Sync section to docs/API.md
- Update docs/DEVELOPMENT.md with Tauri app structure and setup
- Add metadata (description, license, repository) to all Cargo.toml files
- Update .gitignore with node_modules, .env, dist, build entries
- Remove stale Cargo.lock from .gitignore (apps should track it)
- Update example dates from 2025 to 2026 across all docs
- Update CLAUDE.md date to 2026-03-30
2026-03-30 16:24:46 -07:00
Tristan Michael 0f0ec33408 Animated completed section, updated PLAN.md and CLAUDE.md with current status 2026-03-29 15:56:15 -07:00
Tristan Michael f810cfa2a3 Commit to Tauri GUI: remove Flutter/egui, redesign task UI
- Remove Flutter app and egui placeholder crate, commit to Tauri as sole GUI
- Update PLAN.md to replace egui with Tauri across all phases (v4.0)
- Redesign task screen: sliding drawer for list picker, floating FAB for new tasks,
  bottom sheet toast for task creation with title + description fields
- Add description support to create_task Tauri command
- Lighten dark theme to GNOME-style neutral grays, shift primary to cyan-blue
- Fix Wayland compatibility (dev port change)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 09:49:30 -07:00
Tristan Michael c85e192eb8 progress 2026-03-17 06:22:16 -07:00