Commit Graph

11 Commits

  • refactor(types): rename AppType to AppId for semantic clarity
    Rename `AppType` to `AppId` across the entire frontend codebase to better
    reflect its purpose as an application identifier rather than a type category.
    This aligns frontend naming with backend command parameter conventions.
    
    Changes:
    - Rename type `AppType` to `AppId` in src/lib/api/types.ts
    - Remove `AppType` export from src/lib/api/index.ts
    - Update all component props from `appType` to `appId` (43 files)
    - Update all variable names from `appType` to `appId`
    - Synchronize documentation (CHANGELOG, refactoring plans)
    - Update test files and MSW mocks
    
    BREAKING CHANGE: `AppType` type is no longer exported. Use `AppId` instead.
    All component props have been renamed from `appType` to `appId`.
  • refactor(api): unify AppType parsing with FromStr trait
    BREAKING CHANGE: Remove support for legacy app_type/appType parameters.
    All Tauri commands now accept only the 'app' parameter (values: "claude" or "codex").
    Invalid app values will return localized error messages with allowed values.
    
    This commit addresses code duplication and improves error handling:
    
    - Consolidate AppType parsing into FromStr trait implementation
      * Eliminates duplicate parse_app() functions across 3 command modules
      * Provides single source of truth for app type validation
      * Enables idiomatic Rust .parse::<AppType>() syntax
    
    - Enhance error messages with localization
      * Return bilingual error messages (Chinese + English)
      * Include list of allowed values in error responses
      * Use structured AppError::localized for better categorization
    
    - Add input normalization
      * Case-insensitive matching ("CLAUDE" → AppType::Claude)
      * Automatic whitespace trimming (" codex \n" → AppType::Codex)
      * Improves API robustness against user input variations
    
    - Introduce comprehensive unit tests
      * Test valid inputs with case variations
      * Test whitespace handling
      * Verify error message content and localization
      * 100% coverage of from_str logic
    
    - Update documentation
      * Add CHANGELOG entry marking breaking change
      * Update README with accurate architecture description
      * Revise REFACTORING_MASTER_PLAN with migration examples
      * Remove all legacy app_type/appType references
    
    Code Quality Metrics:
    - Lines removed: 27 (duplicate code)
    - Lines added: 52 (including tests and docs)
    - Code duplication: 3 → 0 instances
    - Test coverage: 0% → 100% for AppType parsing
  • chore: standardize release artifact naming with version tags
    - Update GitHub Actions to generate version-tagged filenames
    - macOS: CC-Switch-v{version}-macOS.tar.gz / .zip
    - Windows: CC-Switch-v{version}-Windows.msi / -Portable.zip
    - Linux: CC-Switch-v{version}-Linux.AppImage / .deb
    - Update README installation instructions with new filename format
    - Add naming standardization note to CHANGELOG v3.5.0
  • chore: bump version to v3.5.0 and update roadmap
    Version Changes:
    - Update version to 3.5.0 in package.json, Cargo.toml, and tauri.conf.json
    
    Changelog Updates:
    - Add v3.5.0 release notes with comprehensive feature list
    - Document MCP management system implementation
    - Document configuration import/export functionality
    - Document endpoint speed testing feature
    - List all improvements, bug fixes, and technical enhancements
    
    Roadmap Updates:
    - Mark MCP manager as completed 
    - Mark i18n (internationalization) as completed 
    - Add new planned features: memory management, cloud sync
    - Reorganize feature priorities
  • chore: bump version to 3.4.0
    - Add i18next internationalization with Chinese/English support
    - Add Claude plugin sync alongside VS Code integration
    - Extend provider presets with new models (DeepSeek-V3.2-Exp, Qwen3-Max, GLM-4.6)
    - Support portable mode and single instance enforcement
    - Add tray minimize and macOS Dock visibility management
    - Improve Settings UI with scrollable layout and save icon
    - Fix layout shifts and provider toggle consistency
    - Remove unnecessary OpenAI auth requirement
    - Update Windows MSI installer to target per-user LocalAppData
  • release: bump version to 3.3.0
    Update version across all package files and add comprehensive changelog for v3.3.0 release featuring VS Code integration, shared config snippets, enhanced Codex wizard, and cross-platform improvements.
  • chore: bump version to v3.1.1
    - Update version in package.json, Cargo.toml, and tauri.conf.json
    - Add CHANGELOG entries for v3.1.0 and v3.1.1
  • feat(config): backup v1 file before v2 migration
    - Add timestamped backup at `~/.cc-switch/config.v1.backup.<ts>.json`
    - Keep provider files untouched; only cc-switch metadata is backed up
    - Remove UI notification plan; backup only as requested
    - Update CHANGELOG with migration backup notes
  • feat: add development scripts and CHANGELOG for v3.0.0
    - Add typecheck script for TypeScript validation
    - Add format and format:check scripts for code formatting
    - Create comprehensive CHANGELOG documenting migration from Electron to Tauri
    - Document all major changes, improvements, and migration notes for v3.0.0