How pjpv/zcode-switch works
Z·SWITCH is a Tauri desktop account manager for switching ZCode login identities while preserving shared project and session data. The main workflow runs from the account UI through Tauri commands to local account storage and live-login switching; separate branches cover OAuth account addition, quota and activity claims, encrypted bundles, settings, and CLI automation. The README documents tray and startup behavior, but their detailed wiring was not sampled; subsystem paths below use supported enclosing source files where implementation details are unavailable.
Main entry points: lib.rs Tauri commands · captcha.js Captcha window · main.js Account window · oauth.rs OAuth flows
Components 17
Desktop interface
- Account window
src/main.js - Settings window
src/settings.js - Captcha window
src/captcha.js - UI dialogs
src/ui.js
Application services
- Tauri commands
src-tauri/src/lib.rs - CLI automation
src-tauri/src/cli.rs - OAuth flows
src-tauri/src/oauth.rs - Quota queries
src-tauri/src/quota.rs - Activity claims
src-tauri/src/claim.rs - Process detection
src-tauri/src/probe.rs - Bundle encryption
src-tauri/src/cipher.rs
Local account data
- Account store
src-tauri/src/store.rs - App settings
src-tauri/src/store.rs
Provider services
- ZCode services
- Captcha provider
Other components
- User
- ZCode application
Connections 19
- User → Account window: manages accounts
- Account window → Tauri commands: invokes commands
- Settings window → Tauri commands: invokes commands
- Captcha window → Tauri commands: submits challenge
- UI dialogs → Tauri commands: finalizes bundles
- Tauri commands → Account store: reads and writes
- Tauri commands → App settings: loads settings
- Tauri commands → Process detection: checks process
- Tauri commands → ZCode application: switches identity
- Tauri commands → OAuth flows: starts login
- OAuth flows → ZCode services: authenticates
- Tauri commands → Quota queries: queries balances
- Quota queries → ZCode services: fetches quota
- Tauri commands → Activity claims: manages claims
- Activity claims → ZCode services: checks activities
- Tauri commands → Captcha window: opens challenge
- Captcha window → Captcha provider: loads verification
- Tauri commands → Bundle encryption: encrypts bundles
- CLI automation → Tauri commands: runs operations