71befdf9f885f0f1c29529589458b0d4231d01c6
- ApiClient with manual OAuth2 Device Flow (no yup-oauth2 dependency) - Devide auth: POST device/code -> show URL+code -> poll token endpoint - Token persistence in ~/.config/task_app/token.json - CRUD: create_task, update_task, delete_task, move_task via Google Tasks API - fetch_lists and fetch_tasks for initial sync import - Db wraps Connection in std::sync::Mutex for thread-safe sharing via Arc - Sync engine: background thread with tokio runtime, processes queue every 30s - process_sync_queue drains sync_queue and calls API methods - trigger_sync() called after every local mutation (create/update/delete/reorder) - Network status propagated to UI (Online/Offline/Syncing) - Initial sync skeleton ready for full import flow
Description
task_app_rust to learn rust and training opencode
Languages
Rust
100%