docs: sync markdown docs with actual codebase state
- README.md: update Phase 4 status to reflect Android preliminaries done (file-watcher gating, tauri-plugin-credentials, safe area insets, Android targets configured) but init/build not yet run; add tauri-plugin-credentials to project structure; expand docs/ tree; add newer GUI features (workspace rename, safe area insets, accessibility); add setup screen screenshot; update What's Next to note Phase 4 is in progress - PLAN.md: fix Phase 4 checkboxes — android init and build-succeeds were marked [x] but gen/android/ does not exist; correct cfg gate annotation from #[cfg(not(mobile))] to #[cfg(not(target_os = "android"))]; update dependency snippet to reflect actual keyring/zeroize/sha2/quick-xml usage; bump Last Updated to 2026-04-17 - docs/DEVELOPMENT.md: add WEBKIT_DISABLE_DMABUF_RENDERER=1 Wayland note to tauri dev command https://claude.ai/code/session_01MypN7wPNqeSgw8b5DYpMc1
This commit is contained in:
parent
0c2a218260
commit
9036ac360a
15
PLAN.md
15
PLAN.md
|
|
@ -532,8 +532,11 @@ pub fn delete_credentials(domain: &str) -> Result<()>;
|
||||||
Add to `onyx-core/Cargo.toml`:
|
Add to `onyx-core/Cargo.toml`:
|
||||||
```toml
|
```toml
|
||||||
reqwest = { version = "0.12", features = ["json", "rustls-tls"] }
|
reqwest = { version = "0.12", features = ["json", "rustls-tls"] }
|
||||||
keyring = "3.0"
|
keyring = { version = "3", features = ["apple-native", "windows-native", "sync-secret-service"], optional = true }
|
||||||
# TODO: Evaluate dav-client or implement custom WebDAV
|
zeroize = "1"
|
||||||
|
sha2 = "0.10"
|
||||||
|
quick-xml = "0.36"
|
||||||
|
# WebDAV implemented as custom client using reqwest + quick-xml for PROPFIND parsing
|
||||||
```
|
```
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
@ -844,11 +847,11 @@ npm run tauri ios build
|
||||||
|
|
||||||
#### Features
|
#### Features
|
||||||
|
|
||||||
- [x] Gate file-watcher initialization behind `#[cfg(not(mobile))]`
|
- [x] Gate file-watcher initialization behind `#[cfg(not(target_os = "android"))]`
|
||||||
- [x] Install Android Studio + NDK, configure env vars
|
- [x] Install Android Studio + NDK, configure env vars
|
||||||
- [x] Add Android Rust targets
|
- [x] Add Android Rust targets
|
||||||
- [x] `npm run tauri android init` (generates `gen/android/`)
|
- [ ] `npm run tauri android init` (generates `gen/android/`)
|
||||||
- [x] Confirm `npm run tauri android build` succeeds
|
- [ ] Confirm `npm run tauri android build` succeeds
|
||||||
- [ ] Basic smoke test: app launches, workspace setup, create a task
|
- [ ] Basic smoke test: app launches, workspace setup, create a task
|
||||||
- [ ] Set up macOS CI for iOS builds
|
- [ ] Set up macOS CI for iOS builds
|
||||||
- [ ] `npm run tauri ios init` (generates `gen/ios/`)
|
- [ ] `npm run tauri ios init` (generates `gen/ios/`)
|
||||||
|
|
@ -1056,6 +1059,6 @@ This project is free and open-source software licensed under GPL v3.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Last Updated**: 2026-04-15
|
**Last Updated**: 2026-04-17
|
||||||
**Document Version**: 4.3
|
**Document Version**: 4.3
|
||||||
**Status**: Ready to Implement - Milestone-Driven Plan
|
**Status**: Ready to Implement - Milestone-Driven Plan
|
||||||
|
|
|
||||||
15
README.md
15
README.md
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
A **local-first, cross-platform tasks application** built with Rust. Inspired by Google Tasks, designed for speed and flexibility.
|
A **local-first, cross-platform tasks application** built with Rust. Inspired by Google Tasks, designed for speed and flexibility.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Core Principles
|
## Core Principles
|
||||||
|
|
||||||
- **Local-First**: Your data, your folder, your control
|
- **Local-First**: Your data, your folder, your control
|
||||||
|
|
@ -21,7 +23,10 @@ onyx/
|
||||||
│ └── onyx-cli/ # CLI frontend
|
│ └── onyx-cli/ # CLI frontend
|
||||||
├── apps/
|
├── apps/
|
||||||
│ └── tauri/ # Tauri v2 GUI (Svelte 5 + Tailwind CSS 4)
|
│ └── tauri/ # Tauri v2 GUI (Svelte 5 + Tailwind CSS 4)
|
||||||
|
│ └── tauri-plugin-credentials/ # Cross-platform credential storage plugin
|
||||||
└── docs/
|
└── docs/
|
||||||
|
├── API.md # Core library API reference
|
||||||
|
└── DEVELOPMENT.md # Development guide
|
||||||
```
|
```
|
||||||
|
|
||||||
## Project Status
|
## Project Status
|
||||||
|
|
@ -29,7 +34,7 @@ onyx/
|
||||||
- **Phase 1** (Core + CLI): Complete
|
- **Phase 1** (Core + CLI): Complete
|
||||||
- **Phase 2** (WebDAV Sync): Complete — backend, CLI, and GUI all wired
|
- **Phase 2** (WebDAV Sync): Complete — backend, CLI, and GUI all wired
|
||||||
- **Phase 3** (GUI MVP): Complete
|
- **Phase 3** (GUI MVP): Complete
|
||||||
- **Phase 4** (Mobile): In progress — Android preliminaries done (file-watcher gating, tauri-plugin-credentials, safe area insets, Android targets configured); needs build verification and iOS setup
|
- **Phase 4** (Mobile): In progress — Android preliminaries done (file-watcher gating, `tauri-plugin-credentials`, safe area insets, Android targets configured); needs `tauri android init`, build verification, and iOS setup
|
||||||
|
|
||||||
### Core Library (`onyx-core`)
|
### Core Library (`onyx-core`)
|
||||||
- Data models (Task, TaskList, AppConfig, WorkspaceConfig)
|
- Data models (Task, TaskList, AppConfig, WorkspaceConfig)
|
||||||
|
|
@ -59,13 +64,15 @@ onyx/
|
||||||
- Due date picker/editor with optional time
|
- Due date picker/editor with optional time
|
||||||
- Subtask hierarchy with three-panel slide navigation
|
- Subtask hierarchy with three-panel slide navigation
|
||||||
- Move tasks between lists
|
- Move tasks between lists
|
||||||
- List rename, group-by-date toggle, delete completed tasks
|
- List rename, workspace rename, group-by-date toggle, delete completed tasks
|
||||||
- Keyboard shortcuts (Escape priority chain)
|
- Keyboard shortcuts (Escape priority chain)
|
||||||
- WebDAV setup flow with credential auto-population
|
- WebDAV setup flow with credential auto-population
|
||||||
- File watcher (auto-reloads on external changes)
|
- File watcher (auto-reloads on external changes)
|
||||||
- Auto-sync with configurable interval, status indicators
|
- Auto-sync with configurable interval, status indicators
|
||||||
- Swipe gestures on mobile (swipe to toggle completion)
|
- Swipe gestures on mobile (swipe to toggle completion)
|
||||||
- Custom confirmation dialogs
|
- Custom confirmation dialogs
|
||||||
|
- Safe area insets for mobile (viewport-fit=cover)
|
||||||
|
- Accessibility: ARIA labels/roles, keyboard handlers, `prefers-reduced-motion` support
|
||||||
- Desktop packaging (Linux: AppImage + .deb; Windows: MSI)
|
- Desktop packaging (Linux: AppImage + .deb; Windows: MSI)
|
||||||
|
|
||||||
## Development Setup
|
## Development Setup
|
||||||
|
|
@ -213,8 +220,8 @@ cargo test -- --nocapture
|
||||||
|
|
||||||
## What's Next?
|
## What's Next?
|
||||||
|
|
||||||
- **Phase 4**: Mobile support (iOS & Android via Tauri v2 mobile)
|
- **Phase 4** (in progress): Complete Android build (`tauri android init` + verification), iOS setup on macOS CI
|
||||||
- **Phase 5**: GUI advanced features (rich markdown editor, search/filter)
|
- **Phase 5**: GUI advanced features (rich markdown editor, search/filter, change storage folder)
|
||||||
- **Phase 6**: Mobile polish and platform-specific integrations
|
- **Phase 6**: Mobile polish and platform-specific integrations
|
||||||
- **Phase 7**: Google Tasks importer and unique features
|
- **Phase 7**: Google Tasks importer and unique features
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ cargo run -p onyx-cli -- --help
|
||||||
|
|
||||||
# Run the Tauri GUI
|
# Run the Tauri GUI
|
||||||
cd apps/tauri && npm install
|
cd apps/tauri && npm install
|
||||||
npm run tauri dev
|
npm run tauri dev # (Wayland: WEBKIT_DISABLE_DMABUF_RENDERER=1 npm run tauri dev)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Project Structure
|
## Project Structure
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue