Commit Graph

  • 2c6fe6c31a chore(migration): use 'current' as the name for live-imported providers\n\n- Rename live-imported provider name from 'default' to 'current' for Claude/Codex\n- Keeps current selection logic intact when setting manager.current Jason 2025-09-04 21:35:51 +08:00
  • ab71b11532 feat(migration-live): import current live settings on first run and set as current if empty\n\n- Read Claude ~/.claude/settings.json and Codex ~/.codex/auth.json + config.toml\n- Merge with priority: live > copies > existing\n- Set manager.current to the live-imported provider when empty Jason 2025-09-04 21:33:19 +08:00
  • a858596fa2 feat(edit-current): allow editing current provider and sync to live on save\n\n- Enable Edit button for current provider in UI\n- On update_provider, if updating current provider, write changes to live config (Claude/Codex)\n- Maintain SSOT in cc-switch/config.json with atomic writes Jason 2025-09-04 16:34:47 +08:00
  • 5176134c28 feat(migration): import provider copy files into cc-switch config on first run\n\n- Scan Claude settings-*.json and Codex auth-*.json/config-*.toml\n- Merge into ~/.cc-switch/config.json, de-dupe by provider name (override with copies)\n- Backup old config.json and archive all scanned copy files\n- Add migration marker to avoid re-importing\n- Stop writing provider copy files in ProviderManager::add_provider Jason 2025-09-04 16:16:51 +08:00
  • 79370dd8a1 feat(backup): archive current live config before switching\n\n- Archive Claude settings.json and Codex auth.json/config.toml to ~/.cc-switch/archive/<ts>\n- Preserve user edits while centralizing SSOT in cc-switch config.json\n- Uses atomic writes for all subsequent updates Jason 2025-09-04 16:07:38 +08:00
  • 3c32f12152 refactor(ssot): stop writing per-provider backup files on add/update/import\n\n- Add/update no longer write vendor copy files for Claude and Codex\n- Keep all state in memory (persisted via app config) to enforce SSOT\n- Import default provider now only reads from live config Jason 2025-09-04 16:00:45 +08:00
  • 64f7e47b20 feat(fs): atomic writes for JSON and TOML saves\n\n- Introduce atomic_write utility and use it in write_json_file\n- Add write_text_file for TOML/strings and use in Codex paths\n- Reduce risk of partial writes and ensure directory creation Jason 2025-09-04 16:00:19 +08:00
  • 25c112856d feat(ssot): backfill live config and write from in-memory settings during switch\n\n- Stop relying on provider backup files for switching (Claude/Codex)\n- Backfill current live config into the active provider before switching\n- Write target provider settings directly to app main config\n- Avoid writing provider copies when importing default provider Jason 2025-09-04 15:59:28 +08:00
  • 3665a79e50 chore: bump version to v3.1.1 v3.1.1 farion1231 2025-09-03 16:43:29 +08:00
  • 4dce31aff7 Fix the default codex config.toml to match the latest modifications. farion1231 2025-09-03 16:33:12 +08:00
  • 451ca949ec feat(ui): improve provider configuration UX with custom option Jason 2025-09-03 15:58:02 +08:00
  • a9ff8ce01c update readme Jason 2025-09-01 15:33:24 +08:00
  • 7848248df7 Merge pull request #3 from farion1231/codex-adaptation v3.1.0 Jason Young 2025-09-01 11:41:31 +08:00
  • b00e8de26f feat(config): backup v1 file before v2 migration codex-adaptation Jason 2025-09-01 10:49:31 +08:00
  • 47b06b7773 feat(ui): elevate title above controls for better visual hierarchy Jason 2025-08-31 23:13:27 +08:00
  • 4e66f0c105 feat(ui): center title and balance header layout Jason 2025-08-31 21:49:28 +08:00
  • 84c7726940 feat(ui): implement pills-style AppSwitcher with consistent button widths Jason 2025-08-31 21:27:58 +08:00
  • b8f59a4740 chore: silence non_snake_case warnings in commands.rs for legacy app/appType compatibility Jason 2025-08-31 19:00:09 +08:00
  • 06a19519c5 revert: restore app/appType param compatibility and revert segmented-thumb pointer-events change Jason 2025-08-31 18:14:31 +08:00
  • b4ebb7c9e5 docs(codex): document Codex config directory, fields (OPENAI_API_KEY), empty config.toml behavior, and switching strategy in README Jason 2025-08-31 17:17:22 +08:00
  • 5edc3e07a4 feat(codex): validate non-empty config.toml with toml crate (syntax check in save/import) Jason 2025-08-31 17:13:25 +08:00
  • 417dcc1d37 feat(codex): require OPENAI_API_KEY when non-official preset selected; keep config.toml optional Jason 2025-08-31 17:07:35 +08:00
  • 72f6068e86 Revert "feat(ui): enhance Codex provider list display by extracting base_url/model_provider from config.toml; plumb appType into ProviderList" Jason 2025-08-31 17:02:15 +08:00
  • 97e7f34260 feat(ui): enhance Codex provider list display by extracting base_url/model_provider from config.toml; plumb appType into ProviderList Jason 2025-08-31 16:55:55 +08:00
  • 74babf9730 refactor(api): unify Tauri command app param as app_type with backward-compatible app/appType; update front-end invocations accordingly Jason 2025-08-31 16:43:33 +08:00
  • 30fe800ebe fix(codex): correct config path reporting and folder opening; allow empty config.toml; unify API key field as OPENAI_API_KEY; front-end invoke uses app_type/app fallback for Tauri commands Jason 2025-08-31 16:39:38 +08:00
  • c98a724935 feat(ui): 优化首页切换为分段控件;精简 Banner 间距;标题在上切换在下 Jason 2025-08-31 00:03:22 +08:00
  • 0cb89c8f67 chore(codex): 调整 Codex 预设模板与占位符(auth.json/config.toml 与表单占位) Jason 2025-08-30 23:02:49 +08:00
  • 7b5d5c6ce1 refactor(codex): 选择 Codex 预设时清空 API Key 输入,避免误保存占位符 Jason 2025-08-30 22:09:19 +08:00
  • eea5e4123b feat(codex): 增加 Codex 预设供应商(官方、PackyCode);在添加供应商时支持一键预设与 API Key 自动写入 auth.json;UI 同步 Codex 预设按钮与字段 Jason 2025-08-30 22:08:41 +08:00
  • c10ace7a84 - feat(codex): 引入 Codex 应用与供应商切换(管理 auth.json/config.toml,支持备份与恢复) - feat(core): 多应用配置 v2(claude/codex)与 ProviderManager;支持 v1→v2 自动迁移 - feat(ui): 新增 Codex 页签与双编辑器表单;统一 window.api 支持 app 参数 - feat(tauri): 新增 get_config_status/open_config_folder/open_external 命令并适配 Codex - fix(codex): 主配置缺失时不执行默认导入(对齐 Claude 行为) - chore: 配置目录展示与重启提示等细节优化 Jason 2025-08-30 21:54:11 +08:00
  • 0e803b53d8 update readme farion1231 2025-08-29 15:37:26 +08:00
  • 49d8787ab9 ci(release): generate macOS zip, Windows installer + portable, Linux deb; split per-OS build and asset steps v3.0.1 Jason 2025-08-29 14:57:33 +08:00
  • a05fefb54c feat: optimize release workflow for better distribution Jason 2025-08-29 14:40:40 +08:00
  • 3574fa07cb ci(workflows): restore tag-only release; keep Linux deps Jason 2025-08-29 12:11:16 +08:00
  • b64b86f3ca Merge pull request #2 from farion1231/tauri-migration v3.0.0 Jason Young 2025-08-29 11:56:31 +08:00
  • 2cf116280f feat: add prettier formatter and MIT license tauri-migration Jason 2025-08-29 11:35:17 +08:00
  • 73cf337c42 fix(config): create settings.json on first run; keep legacy claude.json read compatibility Jason 2025-08-29 10:50:10 +08:00
  • fa2d64b692 feat: add official preset orange theme and disabled API input Jason 2025-08-29 09:03:11 +08:00
  • 9c17be1b59 security(tauri): remove unused shell plugin and capability Jason 2025-08-28 22:26:02 +08:00
  • fe1574a026 docs: update README for v3.0.0 Tauri release Jason 2025-08-27 22:26:07 +08:00
  • 9254c5d291 feat: add development scripts and CHANGELOG for v3.0.0 Jason 2025-08-27 11:15:29 +08:00
  • 642e7a3817 chore: format code and fix bundle identifier for v3.0.0 release Jason 2025-08-27 11:00:53 +08:00
  • 5e2e80b00d fix: prevent modal header jumping when toggling API key field Jason 2025-08-27 10:39:39 +08:00
  • 2a43f1f54d update: regenerate all platform icons Jason 2025-08-27 10:30:29 +08:00
  • 7e6ce83158 update: regenerate all platform icons Jason 2025-08-27 09:01:36 +08:00
  • 6932e89ea8 update: regenerate all platform icons from unified source Jason 2025-08-27 08:43:41 +08:00
  • d144d5c2fc ci(workflow): fix pnpm cache path context by using step outputs Jason 2025-08-26 23:32:13 +08:00
  • adee37ab66 feat(icons): update application icon with new colorful radial design Jason 2025-08-26 22:57:57 +08:00
  • dcf49cc094 fix(tauri): correct bundle.targets schema to array Jason 2025-08-26 22:51:22 +08:00
  • f8e39594fa chore: prepare v3.0.0 release Jason 2025-08-26 15:45:42 +08:00
  • 374649750b feat(ui): update preset template description for clarity Jason 2025-08-26 15:12:27 +08:00
  • 6d26115368 update gitignore Jason 2025-08-26 12:39:01 +08:00
  • 606ee67778 fix(ui): Pin modal action bar; prevent bottom content overflow\n\n- Move action buttons to fixed .modal-footer at the bottom\n- Make modal a column flex container; scroll only body\n- Ensure buttons remain visible on small viewports\n- Remove sticky edge cases causing leaked content Jason 2025-08-26 12:34:47 +08:00
  • 57d21fabcf feat(providers): add Kimi K2 support and optimize provider configurations Jason 2025-08-26 11:28:10 +08:00
  • 001664c67d - feat(form): Support API Key ⇄ JSON two-way binding in edit modal - feat(utils): Add helpers to read/write/detect API Key in config - refactor(form): Reuse unified linking logic for preset and edit flows - chore: Preserve website URL extraction and signature-disable behaviors - build: Verify renderer build locally Jason 2025-08-26 10:37:44 +08:00
  • 616e230218 style: remove window title and adjust header padding for cleaner UI Jason 2025-08-25 23:30:25 +08:00
  • 70f9a68e5c feat(macos): implement transparent titlebar with custom background color Jason 2025-08-25 23:06:54 +08:00
  • 78bc0a1a31 chore(tauri): remove dead code warnings and drop unused uuid dep Jason 2025-08-25 21:41:35 +08:00
  • dac8ebe03b feat: upgrade Rust code to full Tauri 2.0 compatibility Jason 2025-08-25 20:16:29 +08:00
  • 9f370bf429 fix: remove @tauri-apps/api/os import and use local UA/platform detection for mac class Jason 2025-08-25 10:37:19 +08:00
  • bac2c3db36 refactor: remove window.platform shim; platform detection handled via @tauri-apps/api/os Jason 2025-08-25 10:33:54 +08:00
  • 326e975748 feat: use @tauri-apps/api/os for reliable platform detection (mac body class) Jason 2025-08-25 10:33:19 +08:00
  • b5696b4511 security: add restrictive default CSP for Tauri app Jason 2025-08-25 10:32:47 +08:00
  • ef7e9d2f73 style: remove Electron-specific drag region styles for bordered Tauri window Jason 2025-08-25 10:31:09 +08:00
  • d78013562c refactor: rename global API from electronAPI to api and update references Jason 2025-08-25 10:30:45 +08:00
  • d3adfc480d ci: migrate release workflow to Tauri action and correct bundle handling Jason 2025-08-25 10:29:58 +08:00
  • 731cfc47be chore(deps): remove unused @tauri-apps/plugin-shell dependency Jason 2025-08-24 23:40:32 +08:00
  • 95b3746e49 chore(version): align package.json version to 3.0.0-beta.1 to match Tauri app version Jason 2025-08-24 23:39:41 +08:00
  • c8670aede6 feat(ui): drive config path UI from getClaudeConfigStatus (show path + existence hint) and remove direct getClaudeCodeConfigPath usage Jason 2025-08-24 23:36:09 +08:00
  • 95549473bd fix(tauri): ensure ~/.claude directory exists before copying provider settings into main settings file Jason 2025-08-24 23:35:44 +08:00
  • f3f484a04b fix(tauri): normalize external URLs by auto-prepending https:// when protocol is missing Jason 2025-08-24 23:35:07 +08:00
  • 1458f1e45d fix(ui): use browser-safe timeout ref type (ReturnType<typeof setTimeout>) to avoid NodeJS.Timeout mismatch Jason 2025-08-24 23:31:56 +08:00
  • 0301d1aee7 fix(tauri): avoid duplicate import of default provider in import_default_config by early-exit when default exists Jason 2025-08-24 23:30:35 +08:00
  • 224d7a8be0 fix: 修复 Tauri 重构导致的配置读取与渲染问题 Jason 2025-08-24 23:04:55 +08:00
  • c4791ff523 - chore: 添加 Tauri CLI 开发依赖 - 在 package.json 新增 @tauri-apps/cli - 更新 pnpm-lock.yaml 锁定文件 - 仅依赖变更,无业务代码改动 Jason 2025-08-24 22:29:32 +08:00
  • 55c62a3753 - fix(types): 统一导入到 src/types.ts,移除 shared/types 残留路径 - chore(tsconfig): 将 include 扩展为 src/**/* 覆盖迁移后的源文件 - feat(build): Vite 设置 root 为 src,并将 build.outDir 设为 ../dist 以匹配 Tauri frontendDist - refactor(api): 去除未使用的 plugin-shell import;统一 electronAPI 类型定义至 vite-env.d.ts - build: 验证 renderer 构建通过,产物输出至 dist/ Jason 2025-08-23 23:11:39 +08:00
  • 12fa80e002 refactor: 清理 Electron 遗留代码并优化项目结构 farion1231 2025-08-23 21:13:25 +08:00
  • 29581b85d9 fix: 修复 Rust 编译错误并成功启动 Tauri 应用 farion1231 2025-08-23 21:00:50 +08:00
  • 88e69e844a docs: 更新迁移计划 - 标记 Phase 4 已完成 farion1231 2025-08-23 20:52:01 +08:00
  • 2a658af5b9 feat: 完成前端窗口控制和配置适配 farion1231 2025-08-23 20:41:14 +08:00
  • 1402fd0cc5 feat: 创建 Tauri API 层替换 Electron IPC 调用 farion1231 2025-08-23 20:38:57 +08:00
  • 8a3133be43 feat: 实现 Tauri Commands - 完成所有供应商和配置管理命令 farion1231 2025-08-23 20:15:10 +08:00
  • f64320fbd6 feat: 实现 Rust 后端核心模块 - 配置管理、供应商管理和数据存储 farion1231 2025-08-23 20:12:35 +08:00
  • 3479780639 feat: configure Tauri build system and app metadata farion1231 2025-08-23 20:05:50 +08:00
  • 1b0ab269fb feat: initialize Tauri project structure farion1231 2025-08-23 19:57:42 +08:00
  • 6706889387 删除多余文件 electron-legacy farion1231 2025-08-22 20:54:45 +08:00
  • 093e54f23c 更新文档 farion1231 2025-08-22 15:50:25 +08:00
  • afb20f298a 更新文档 v2.0.3 farion1231 2025-08-21 23:23:08 +08:00
  • 654a4745d5 feat: 添加 API Key 快速输入功能 farion1231 2025-08-21 22:20:57 +08:00
  • 0c7043154a feat: 添加快速选择模板按钮的选中状态 farion1231 2025-08-21 21:46:48 +08:00
  • 3097894d30 增加对 DeepSeek v3.1 的支持 farion1231 2025-08-21 20:05:42 +08:00
  • 23ab04af7c docs: 改进 README 文档 farion1231 2025-08-14 14:43:27 +08:00
  • a0c09bfcca Update README.md Jason Young 2025-08-14 12:18:17 +08:00
  • e6399e46b9 Update README.md Jason Young 2025-08-14 12:16:56 +08:00
  • 6355796a42 fix(mac): round app icon and regenerate .icns\n\n- Replace square icon with rounded squircle PNG\n- Regenerate build/icon.icns for mac packaging\n- Bump version to 2.0.1 Jason 2025-08-10 23:21:04 +08:00
  • 9dac53b754 fix: 修复关键逻辑错误 Jason 2025-08-10 20:36:17 +08:00
  • 5f0ef8a441 fix(mac): 修复隐藏标题栏拖拽;标题与内容左对齐;增加 banner 高度以避让交通灯 Jason 2025-08-10 19:13:45 +08:00
  • 65a660fcdc chore: 升级 Electron 到 ^32.3.3 并修复 macOS 开发环境二进制缺失问题(使用镜像完成下载验证) Jason 2025-08-10 16:58:47 +08:00
  • 9b4968fdfc 实施最终发布策略:Intel-only 配置 Jason 2025-08-10 15:07:26 +08:00