| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
chore(i18n): Separate check-i18n and sync-i18n; add auto sort i18n (#8206) * feat(i18n): 优化i18n check脚本 * fix: 移除重复的代码行和错误信息 * fix: 重新排序 * fix: i18n sort * test * test * test * test * test * test * feat(i18n): 添加同步翻译脚本并重构检查脚本 重构 check-i18n 脚本为纯检查功能,不再自动修改翻译文件 新增 sync-i18n 脚本用于自动同步翻译文件结构 更新 package.json 添加 sync:i18n 命令 移除不再需要的 husky pre-commit.js 钩子 * docs(i18n): 移除未使用的测试翻译文本 * feat(scripts): 添加对象键名排序功能及测试 添加 lexicalSort 函数和 sortedObjectByKeys 函数用于按字典序排序对象键名 新增测试用例验证排序功能 * feat(i18n): 添加翻译文件键值排序检查功能 添加对i18n翻译文件键值字典序的检查功能,确保翻译文件保持一致的排序结构 * refactor(i18n): 优化同步逻辑并添加键排序功能 移除syncRecursively的返回值检查,简化同步流程 添加对翻译文件的键排序功能,使用sortedObjectByKeys工具 确保主模板和翻译文件在同步后都保持有序 * fix(i18n): 重新排序翻译文件 * style(scripts): 格式化sort.js * chore: 将 test:sort 重命名为 test:scripts | 1 年前 | |
refactor: fix asar integration (#9753) * refactor: replace afterPack script with beforePack and remove after-pack.js file - Updated electron-builder configuration to use beforePack instead of afterPack. - Removed the after-pack.js script as its functionality is no longer needed. * refactor: streamline filter logic for architecture-specific packages in before-pack script - Consolidated platform-specific filter conditions for arm64 and x64 architectures. - Improved readability and maintainability by using arrays to manage filters for different architectures. - Ensured that the correct filters are applied based on the architecture during the packaging process. * chore: remove npm build commands from CI workflows - Eliminated unnecessary yarn build:npm commands from the nightly build and release workflows for Linux, macOS, and Windows. - Streamlined the build process by focusing on platform-specific build commands. * delete build npm * refactor: enhance architecture-specific package management in before-pack script - Updated the before-pack script to include additional architecture-specific packages for arm64 and x64. - Improved the organization of package filters and streamlined the logic for handling different architectures during the packaging process. - Ensured that the correct filters are applied based on the architecture, enhancing the build process for various platforms. * docs: clarify comment on prebuild binaries in before-pack script * format code * chore: add afterPack script to electron-builder configuration - Included afterPack script in electron-builder.yml to enhance the packaging process. - This addition allows for post-packaging tasks to be executed, improving build automation. * chore: update macOS entitlements to disable library validation - Added the key com.apple.security.cs.disable-library-validation to the entitlements file to enhance security settings for macOS builds. * chore: remove unused package for win32 arm64 architecture - Deleted the @strongtz/win32-arm64-msvc package from package.json and yarn.lock as it is no longer needed. - Updated the before-pack.js script to improve architecture-specific package management by refining filter logic and ensuring correct package downloads based on architecture. - Enhanced the downloadNpmPackage function to use Node.js streams for downloading and extracting packages, improving efficiency and error handling. | 1 年前 | |
chore(dependencies): update electron-builder to 26.0.15 (#5651) * chore(dependencies): update electron-builder and related dependencies to version 26.0.15 * chore(electron-builder): update portable build configuration and clean up artifact build script - Set buildUniversalInstaller to false for portable builds in electron-builder configuration. - Removed obsolete condition for deleting portable files in artifact build completion script. | 1 年前 | |
refactor: switch yarn to pnpm (#12260) * refactor: switch workflows from yarn to pnpm Replace Yarn usage with pnpm in CI workflows to standardize package management and leverage pnpm's store/cache behavior. - Use pnpm/action-setup to install pnpm (v) instead of enabling corepack and preparing Yarn. - Retrieve pnpm store path and update cache actions to cache the pnpm store and use pnpm-lock.yaml for cache keys and restores. - Replace yarn commands with pnpm equivalents across workflows: install, i18n:sync/translate, format, build:* and tsx invocation. - Avoid committing lockfile changes by resetting pnpm-lock.yaml instead of yarn.lock when checking for changes. - Update install flags: use pnpm install --frozen-lockfile / --install semantics where appropriate. These changes unify dependency tooling, improve caching correctness, and ensure CI uses pnpm-specific lockfile and cache paths. * build: switch pre-commit hook to pnpm lint-staged Update .husky/pre-commit to run pnpm lint-staged instead of yarn. This aligns the pre-commit hook with the project's package manager and ensures lint-staged runs using pnpm's environment and caching. * chore(ci): remove pinned pnpm version from GH Action steps Remove the explicit with: version: 9 lines from multiple GitHub Actions workflows (auto-i18n.yml, nightly-build.yml, pr-ci.yml, update-app-upgrade-config.yml, sync-to-gitcode.yml, release.yml). The workflows still call pnpm/action-setup@v4 but no longer hardcode a pnpm version. This simplifies maintenance and allows the action to resolve an appropriate pnpm version (or use its default) without needing updates whenever the pinned version becomes outdated. It reduces churn when bumping pnpm across CI configs and prevents accidental pin drift between workflow files. * build: Update pnpm to 10.27.0 and add onlyBuiltDependencies config * Update @cherrystudio/openai to 6.15.0 and consolidate overrides * Add @langchain/core to overrides * Add override for openai-compatible 1.0.27 * build: optimize pnpm config and add missing dependencies - Comment out shamefully-hoist in .npmrc for better pnpm compatibility - Add React-related packages to optimizeDeps in electron.vite.config.ts - Add missing peer dependencies and packages that were previously hoisted 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * build: refine pnpm configuration and dependency management - Simplify .npmrc to only essential electron mirror config - Move platform-specific dependencies to devDependencies - Pin sharp version to 0.34.3 for consistency - Update sharp-libvips versions to 1.2.4 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * reduce app size * format * build: remove unnecessary disableOxcRecommendation option from react plugin configuration * docs: Replace yarn commands with pnpm in documentation and scripts * Revert "build: optimize pnpm config and add missing dependencies" This reverts commit acffad31f8c6122085d2e6cde46731378e001322. * build: import dependencies from yarn.lock * build: Add some phantom dependencies and reorganize dependencies * build: Keep consistent by removing types of semver It's not in the previous package.json * build: Add some phantom dependencies Keep same version with yarn.lock * build: Add form-data dependency version 4.0.4 * Add chalk dependency * build: downgrade some dependencies Reference: .yarn-state-copy.yml. These phantom dependencies should use top-level package of that version in node_modules * build: Add phantom dependencies * build: pin tiptap dependencies to exact versions Ensure consistent dependency resolution by removing caret ranges and pinning all @tiptap packages to exact version 3.2.0 * chore: pin embedjs dependencies to exact versions * build: pin @modelcontextprotocol/sdk to exact version 1.23.0 Remove caret from version specifier to prevent automatic upgrades and ensure consistent dependencies * chore: update @types/node dependency to 22.17.2 Update package.json and pnpm-lock.yaml to use @types/node version 22.17.2 instead of 22.19.3 to maintain consistency across dependencies * build: move some dependencies to dev deps and pin dependency versions to exact numbers Remove caret (^) from version ranges to ensure consistent dependency resolution across environments * chore: move dependencies from prod to dev and update lockfile Move @ant-design/icons, chalk, form-data, and open from dependencies to devDependencies Update pnpm-lock.yaml to reflect dependency changes * build: update package dependencies - Add new dependencies: md5, @libsql/win32-x64-msvc, @strongtz/win32-arm64-msvc, bonjour-service, emoji-picker-element-data, gray-matter, js-yaml - Remove redundant dependencies from devDependencies * build: add cors, katex and pako dependencies add new dependencies to support cross-origin requests, mathematical notation rendering and data compression * move some js deps to dev deps * test: update snapshot tests for Spinner and InputEmbeddingDimension * chore: exclude .zed directory from biome formatting * Update @ai-sdk/openai-compatible patch hash * chore: update @kangfenmao/keyv-storage to version 0.1.3 in package.json and pnpm-lock.yaml --------- Co-authored-by: icarus <eurfelux@gmail.com> Co-authored-by: beyondkmp <beyondkmp@gmail.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: kangfenmao <kangfenmao@qq.com> | 7 个月前 | |
refactor: use pnpm install instead of manual download for prebuild packages (#12358) * refactor: use pnpm install instead of manual download for prebuild packages Replace manual tgz download with pnpm install for architecture-specific prebuild binaries, simplifying the build process. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * delete utils * update after pack * udpate before pack * use optional deps * refactor: use js-yaml to modify pnpm-workspace.yaml for cross-platform builds - Add all prebuild packages to optionalDependencies in package.json - Use js-yaml to parse and modify pnpm-workspace.yaml - Add target platform to supportedArchitectures.os and cpu - Restore original config after pnpm install Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * fix version * refactor: streamline package management and filtering logic in before… (#12370) refactor: streamline package management and filtering logic in before-pack.js - Consolidated architecture-specific package definitions into a single array for better maintainability. - Simplified the logic for determining target platform and architecture. - Enhanced the filtering process for excluding and including packages based on architecture and platform. - Improved console logging for clarity during package installation. This refactor aims to improve the readability and efficiency of the prebuild package handling process. * refactor: update package filtering logic in before-pack.js to read from electron-builder.yml - Modified the package filtering process to load configuration directly from electron-builder.yml, reducing potential errors from multiple overrides. - Enhanced maintainability by centralizing the file configuration management. This change aims to streamline the prebuild package handling and improve configuration clarity. --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: 亢奋猫 <kangfenmao@qq.com> | 7 个月前 | |
chore(languages): update languages with a script (#8445) * chore(languages): update languages with a script * refactor: update languages and merge it into constants * refactor: add usf and ush | 1 年前 | |
refactor: switch yarn to pnpm (#12260) * refactor: switch workflows from yarn to pnpm Replace Yarn usage with pnpm in CI workflows to standardize package management and leverage pnpm's store/cache behavior. - Use pnpm/action-setup to install pnpm (v) instead of enabling corepack and preparing Yarn. - Retrieve pnpm store path and update cache actions to cache the pnpm store and use pnpm-lock.yaml for cache keys and restores. - Replace yarn commands with pnpm equivalents across workflows: install, i18n:sync/translate, format, build:* and tsx invocation. - Avoid committing lockfile changes by resetting pnpm-lock.yaml instead of yarn.lock when checking for changes. - Update install flags: use pnpm install --frozen-lockfile / --install semantics where appropriate. These changes unify dependency tooling, improve caching correctness, and ensure CI uses pnpm-specific lockfile and cache paths. * build: switch pre-commit hook to pnpm lint-staged Update .husky/pre-commit to run pnpm lint-staged instead of yarn. This aligns the pre-commit hook with the project's package manager and ensures lint-staged runs using pnpm's environment and caching. * chore(ci): remove pinned pnpm version from GH Action steps Remove the explicit with: version: 9 lines from multiple GitHub Actions workflows (auto-i18n.yml, nightly-build.yml, pr-ci.yml, update-app-upgrade-config.yml, sync-to-gitcode.yml, release.yml). The workflows still call pnpm/action-setup@v4 but no longer hardcode a pnpm version. This simplifies maintenance and allows the action to resolve an appropriate pnpm version (or use its default) without needing updates whenever the pinned version becomes outdated. It reduces churn when bumping pnpm across CI configs and prevents accidental pin drift between workflow files. * build: Update pnpm to 10.27.0 and add onlyBuiltDependencies config * Update @cherrystudio/openai to 6.15.0 and consolidate overrides * Add @langchain/core to overrides * Add override for openai-compatible 1.0.27 * build: optimize pnpm config and add missing dependencies - Comment out shamefully-hoist in .npmrc for better pnpm compatibility - Add React-related packages to optimizeDeps in electron.vite.config.ts - Add missing peer dependencies and packages that were previously hoisted 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * build: refine pnpm configuration and dependency management - Simplify .npmrc to only essential electron mirror config - Move platform-specific dependencies to devDependencies - Pin sharp version to 0.34.3 for consistency - Update sharp-libvips versions to 1.2.4 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * reduce app size * format * build: remove unnecessary disableOxcRecommendation option from react plugin configuration * docs: Replace yarn commands with pnpm in documentation and scripts * Revert "build: optimize pnpm config and add missing dependencies" This reverts commit acffad31f8c6122085d2e6cde46731378e001322. * build: import dependencies from yarn.lock * build: Add some phantom dependencies and reorganize dependencies * build: Keep consistent by removing types of semver It's not in the previous package.json * build: Add some phantom dependencies Keep same version with yarn.lock * build: Add form-data dependency version 4.0.4 * Add chalk dependency * build: downgrade some dependencies Reference: .yarn-state-copy.yml. These phantom dependencies should use top-level package of that version in node_modules * build: Add phantom dependencies * build: pin tiptap dependencies to exact versions Ensure consistent dependency resolution by removing caret ranges and pinning all @tiptap packages to exact version 3.2.0 * chore: pin embedjs dependencies to exact versions * build: pin @modelcontextprotocol/sdk to exact version 1.23.0 Remove caret from version specifier to prevent automatic upgrades and ensure consistent dependencies * chore: update @types/node dependency to 22.17.2 Update package.json and pnpm-lock.yaml to use @types/node version 22.17.2 instead of 22.19.3 to maintain consistency across dependencies * build: move some dependencies to dev deps and pin dependency versions to exact numbers Remove caret (^) from version ranges to ensure consistent dependency resolution across environments * chore: move dependencies from prod to dev and update lockfile Move @ant-design/icons, chalk, form-data, and open from dependencies to devDependencies Update pnpm-lock.yaml to reflect dependency changes * build: update package dependencies - Add new dependencies: md5, @libsql/win32-x64-msvc, @strongtz/win32-arm64-msvc, bonjour-service, emoji-picker-element-data, gray-matter, js-yaml - Remove redundant dependencies from devDependencies * build: add cors, katex and pako dependencies add new dependencies to support cross-origin requests, mathematical notation rendering and data compression * move some js deps to dev deps * test: update snapshot tests for Spinner and InputEmbeddingDimension * chore: exclude .zed directory from biome formatting * Update @ai-sdk/openai-compatible patch hash * chore: update @kangfenmao/keyv-storage to version 0.1.3 in package.json and pnpm-lock.yaml --------- Co-authored-by: icarus <eurfelux@gmail.com> Co-authored-by: beyondkmp <beyondkmp@gmail.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: kangfenmao <kangfenmao@qq.com> | 7 个月前 | |
revert: cloudflare-worker.js | 1 年前 | |
feat(scripts): migrate feishu-notify to TypeScript CLI tool with subcommands (#12371) * build: add commander package as dependency * refactor(scripts): migrate feishu-notify to TypeScript with CLI interface - Convert JavaScript implementation to TypeScript with proper type definitions - Add CLI interface using commander for better usability - Improve error handling and input validation - Add version management and subcommand support * ci(workflows): update feishu notification command and add pnpm install step Update the feishu notification command to use CLI tool with proper arguments instead of direct node script execution Add pnpm install step to ensure dependencies are available before running the workflow * docs: add feishu notification script documentation Add Chinese and English documentation for the feishu-notify.ts CLI tool * feat(notify): add generic send command to feishu-notify Add a new 'send' subcommand to send simple notifications to Feishu with customizable title, description and header color. This provides a more flexible way to send notifications without being tied to specific business logic like the existing 'issue' command. The implementation includes: - New send command handler and options interface - Simple card creation function - Zod schema for header color validation - Documentation updates in both Chinese and English | 7 个月前 | |
fix: clean up code (#5851) | 1 年前 | |
chore(i18n): Separate check-i18n and sync-i18n; add auto sort i18n (#8206) * feat(i18n): 优化i18n check脚本 * fix: 移除重复的代码行和错误信息 * fix: 重新排序 * fix: i18n sort * test * test * test * test * test * test * feat(i18n): 添加同步翻译脚本并重构检查脚本 重构 check-i18n 脚本为纯检查功能,不再自动修改翻译文件 新增 sync-i18n 脚本用于自动同步翻译文件结构 更新 package.json 添加 sync:i18n 命令 移除不再需要的 husky pre-commit.js 钩子 * docs(i18n): 移除未使用的测试翻译文本 * feat(scripts): 添加对象键名排序功能及测试 添加 lexicalSort 函数和 sortedObjectByKeys 函数用于按字典序排序对象键名 新增测试用例验证排序功能 * feat(i18n): 添加翻译文件键值排序检查功能 添加对i18n翻译文件键值字典序的检查功能,确保翻译文件保持一致的排序结构 * refactor(i18n): 优化同步逻辑并添加键排序功能 移除syncRecursively的返回值检查,简化同步流程 添加对翻译文件的键排序功能,使用sortedObjectByKeys工具 确保主模板和翻译文件在同步后都保持有序 * fix(i18n): 重新排序翻译文件 * style(scripts): 格式化sort.js * chore: 将 test:sort 重命名为 test:scripts | 1 年前 | |
ci(i18n): update translation config to use TRANSLATION_BASE_LOCALE (#10965) Change BASE_LOCALE to TRANSLATION_BASE_LOCALE across scripts and workflows for consistency Add console log for base locale in auto-translate script | 10 个月前 | |
♻️ refactor: implement config-based update system with version compatibility control (#11147) * ♻️ refactor: implement config-based update system with version compatibility control Replace GitHub API-based update discovery with JSON config file system. Support version gating (users below v1.7 must upgrade to v1.7.0 before v2.0). Auto-select GitHub/GitCode config source based on IP location. Simplify fallback logic. Changes: - Add update-config.json with version compatibility rules - Implement _fetchUpdateConfig() and _findCompatibleChannel() - Remove legacy _getReleaseVersionFromGithub() and GitHub API dependency - Refactor _setFeedUrl() with simplified fallback to default feed URLs - Add design documentation in docs/UPDATE_CONFIG_DESIGN.md 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(i18n): Auto update translations for PR #11147 * format code * 🔧 chore: update config for v1.7.5 → v2.0.0 → v2.1.6 upgrade path Update version configuration to support multi-step upgrade path: - v1.6.x users → v1.7.5 (last v1.x release) - v1.7.x users → v2.0.0 (v2.x intermediate version) - v2.0.0+ users → v2.1.6 (current latest) Changes: - Update 1.7.0 → 1.7.5 with fixed feedUrl - Set 2.0.0 as intermediate version with fixed feedUrl - Add 2.1.6 as current latest pointing to releases/latest This ensures users upgrade through required intermediate versions before jumping to major releases. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * 🔧 chore: refactor update config with constants and adjust versions Refactor update configuration system and adjust to actual versions: - Add UpdateConfigUrl enum in constant.ts for centralized config URLs - Point to test server (birdcat.top) for development testing - Update AppUpdater.ts to use UpdateConfigUrl constants - Adjust update-config.json to actual v1.6.7 with rc/beta channels - Remove v2.1.6 entry (not yet released) - Set package version to 1.6.5 for testing upgrade path - Add update-config.example.json for reference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * update version * ✅ test: add comprehensive unit tests for AppUpdater config system Add extensive test coverage for new config-based update system including: - Config fetching with IP-based source selection (GitHub/GitCode) - Channel compatibility matching with version constraints - Smart fallback from rc/beta to latest when appropriate - Multi-step upgrade path validation (1.6.3 → 1.6.7 → 2.0.0) - Error handling for network and HTTP failures Test Coverage: - _fetchUpdateConfig: 4 tests (GitHub/GitCode selection, error handling) - _findCompatibleChannel: 9 tests (channel matching, version comparison) - Upgrade Path: 3 tests (version gating scenarios) - Total: 30 tests, 100% passing Also optimize _findCompatibleChannel logic with better variable naming and log messages. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * ✅ test: add complete multi-step upgrade path tests (1.6.3 → 1.7.5 → 2.0.0 → 2.1.6) Add comprehensive test suite for complete upgrade journey including: - Individual step validation (1.6.3→1.7.5, 1.7.5→2.0.0, 2.0.0→2.1.6) - Full multi-step upgrade simulation with version progression - Version gating enforcement (block skipping intermediate versions) - Verification that 1.6.3 cannot directly upgrade to 2.0.0 or 2.1.6 - Verification that 1.7.5 cannot skip 2.0.0 to reach 2.1.6 Test Coverage: - 6 new tests for complete upgrade path scenarios - Total: 36 tests, 100% passing This ensures the version compatibility system correctly enforces intermediate version upgrades for major releases. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * 📝 docs: reorganize update config documentation with English translation Move update configuration design document to docs/technical/ directory and add English translation for international contributors. Changes: - Move docs/UPDATE_CONFIG_DESIGN.md → docs/technical/app-update-config-zh.md - Add docs/technical/app-update-config-en.md (English translation) - Organize technical documentation in dedicated directory Documentation covers: - Config-based update system design and rationale - JSON schema with version compatibility control - Multi-step upgrade path examples (1.6.3 → 1.7.5 → 2.0.0 → 2.1.6) - TypeScript type definitions and matching algorithms - GitHub/GitCode source selection for different regions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * format code * ✅ test: add tests for latest channel self-comparison prevention Add tests to verify the optimization that prevents comparing latest channel with itself when latest is requested, and ensures rc/beta channels are returned when they are newer than latest. New tests: - should not compare latest with itself when requesting latest channel - should return rc when rc version > latest version - should return beta when beta version > latest version These tests ensure the requestedChannel !== UpgradeChannel.LATEST check works correctly and users get the right channel based on version comparisons. Test Coverage: 39 tests, 100% passing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * update github/gitcode * format code * update rc version * ♻️ refactor: merge update configs into single multi-mirror file - Merge app-upgrade-config-github.json and app-upgrade-config-gitcode.json into single app-upgrade-config.json - Add UpdateMirror enum for type-safe mirror selection - Optimize _fetchUpdateConfig to receive mirror parameter, eliminating duplicate IP country checks - Update ChannelConfig interface to use Record<UpdateMirror, string> for feedUrls - Rename documentation files from app-update-config-* to app-upgrade-config-* - Update docs with new multi-mirror configuration structure 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * ✅ test: update AppUpdater tests for multi-mirror configuration - Add UpdateMirror enum import - Update _fetchUpdateConfig tests to accept mirror parameter - Convert all feedUrl to feedUrls structure in test mocks - Update test expectations to match new ChannelConfig interface - All 39 tests passing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * format code * delete files * 📝 docs: add UpdateMirror enum to type definitions - Add UpdateMirror enum definition in both EN and ZH docs - Update ChannelConfig to use Record<UpdateMirror, string> - Add comments showing equivalent structure for clarity 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * 🐛 fix: return actual channel from _findCompatibleChannel Fix channel mismatch issue where requesting rc/beta but getting latest: - Change _findCompatibleChannel return type to include actual channel - Return { config, channel } instead of just config - Update _setFeedUrl to use actualChannel instead of requestedChannel - Update all test expectations to match new return structure - Add channel assertions to key tests This ensures autoUpdater.channel matches the actual feed URL being used. Fixes issue where: - User requests 'rc' channel - latest >= rc, so latest config is returned - But channel was set to 'rc' with latest URL ❌ - Now channel is correctly set to 'latest' ✅ All 39 tests passing ✅ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * update version * udpate version * update config * add no cache header * update files * 🤖 chore: automate app upgrade config updates * format code * update workflow * update get method * docs: document upgrade workflow automation --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: GitHub Action <action@github.com> | 9 个月前 | |
chore: migrate from openai to @cherrystudio/openai package (#10802) * build: replace openai package with @cherrystudio/openai Update all imports from 'openai' to '@cherrystudio/openai' and remove the yarn patch * refactor(OpenAIResponseAPIClient): simplify token estimation logic for function call output Consolidate token estimation by first concatenating all output parts into a single string before counting tokens. This improves maintainability and handles additional output types consistently. | 10 个月前 | |
refactor: switch yarn to pnpm (#12260) * refactor: switch workflows from yarn to pnpm Replace Yarn usage with pnpm in CI workflows to standardize package management and leverage pnpm's store/cache behavior. - Use pnpm/action-setup to install pnpm (v) instead of enabling corepack and preparing Yarn. - Retrieve pnpm store path and update cache actions to cache the pnpm store and use pnpm-lock.yaml for cache keys and restores. - Replace yarn commands with pnpm equivalents across workflows: install, i18n:sync/translate, format, build:* and tsx invocation. - Avoid committing lockfile changes by resetting pnpm-lock.yaml instead of yarn.lock when checking for changes. - Update install flags: use pnpm install --frozen-lockfile / --install semantics where appropriate. These changes unify dependency tooling, improve caching correctness, and ensure CI uses pnpm-specific lockfile and cache paths. * build: switch pre-commit hook to pnpm lint-staged Update .husky/pre-commit to run pnpm lint-staged instead of yarn. This aligns the pre-commit hook with the project's package manager and ensures lint-staged runs using pnpm's environment and caching. * chore(ci): remove pinned pnpm version from GH Action steps Remove the explicit with: version: 9 lines from multiple GitHub Actions workflows (auto-i18n.yml, nightly-build.yml, pr-ci.yml, update-app-upgrade-config.yml, sync-to-gitcode.yml, release.yml). The workflows still call pnpm/action-setup@v4 but no longer hardcode a pnpm version. This simplifies maintenance and allows the action to resolve an appropriate pnpm version (or use its default) without needing updates whenever the pinned version becomes outdated. It reduces churn when bumping pnpm across CI configs and prevents accidental pin drift between workflow files. * build: Update pnpm to 10.27.0 and add onlyBuiltDependencies config * Update @cherrystudio/openai to 6.15.0 and consolidate overrides * Add @langchain/core to overrides * Add override for openai-compatible 1.0.27 * build: optimize pnpm config and add missing dependencies - Comment out shamefully-hoist in .npmrc for better pnpm compatibility - Add React-related packages to optimizeDeps in electron.vite.config.ts - Add missing peer dependencies and packages that were previously hoisted 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * build: refine pnpm configuration and dependency management - Simplify .npmrc to only essential electron mirror config - Move platform-specific dependencies to devDependencies - Pin sharp version to 0.34.3 for consistency - Update sharp-libvips versions to 1.2.4 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * reduce app size * format * build: remove unnecessary disableOxcRecommendation option from react plugin configuration * docs: Replace yarn commands with pnpm in documentation and scripts * Revert "build: optimize pnpm config and add missing dependencies" This reverts commit acffad31f8c6122085d2e6cde46731378e001322. * build: import dependencies from yarn.lock * build: Add some phantom dependencies and reorganize dependencies * build: Keep consistent by removing types of semver It's not in the previous package.json * build: Add some phantom dependencies Keep same version with yarn.lock * build: Add form-data dependency version 4.0.4 * Add chalk dependency * build: downgrade some dependencies Reference: .yarn-state-copy.yml. These phantom dependencies should use top-level package of that version in node_modules * build: Add phantom dependencies * build: pin tiptap dependencies to exact versions Ensure consistent dependency resolution by removing caret ranges and pinning all @tiptap packages to exact version 3.2.0 * chore: pin embedjs dependencies to exact versions * build: pin @modelcontextprotocol/sdk to exact version 1.23.0 Remove caret from version specifier to prevent automatic upgrades and ensure consistent dependencies * chore: update @types/node dependency to 22.17.2 Update package.json and pnpm-lock.yaml to use @types/node version 22.17.2 instead of 22.19.3 to maintain consistency across dependencies * build: move some dependencies to dev deps and pin dependency versions to exact numbers Remove caret (^) from version ranges to ensure consistent dependency resolution across environments * chore: move dependencies from prod to dev and update lockfile Move @ant-design/icons, chalk, form-data, and open from dependencies to devDependencies Update pnpm-lock.yaml to reflect dependency changes * build: update package dependencies - Add new dependencies: md5, @libsql/win32-x64-msvc, @strongtz/win32-arm64-msvc, bonjour-service, emoji-picker-element-data, gray-matter, js-yaml - Remove redundant dependencies from devDependencies * build: add cors, katex and pako dependencies add new dependencies to support cross-origin requests, mathematical notation rendering and data compression * move some js deps to dev deps * test: update snapshot tests for Spinner and InputEmbeddingDimension * chore: exclude .zed directory from biome formatting * Update @ai-sdk/openai-compatible patch hash * chore: update @kangfenmao/keyv-storage to version 0.1.3 in package.json and pnpm-lock.yaml --------- Co-authored-by: icarus <eurfelux@gmail.com> Co-authored-by: beyondkmp <beyondkmp@gmail.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: kangfenmao <kangfenmao@qq.com> | 7 个月前 | |
refactor: switch yarn to pnpm (#12260) * refactor: switch workflows from yarn to pnpm Replace Yarn usage with pnpm in CI workflows to standardize package management and leverage pnpm's store/cache behavior. - Use pnpm/action-setup to install pnpm (v) instead of enabling corepack and preparing Yarn. - Retrieve pnpm store path and update cache actions to cache the pnpm store and use pnpm-lock.yaml for cache keys and restores. - Replace yarn commands with pnpm equivalents across workflows: install, i18n:sync/translate, format, build:* and tsx invocation. - Avoid committing lockfile changes by resetting pnpm-lock.yaml instead of yarn.lock when checking for changes. - Update install flags: use pnpm install --frozen-lockfile / --install semantics where appropriate. These changes unify dependency tooling, improve caching correctness, and ensure CI uses pnpm-specific lockfile and cache paths. * build: switch pre-commit hook to pnpm lint-staged Update .husky/pre-commit to run pnpm lint-staged instead of yarn. This aligns the pre-commit hook with the project's package manager and ensures lint-staged runs using pnpm's environment and caching. * chore(ci): remove pinned pnpm version from GH Action steps Remove the explicit with: version: 9 lines from multiple GitHub Actions workflows (auto-i18n.yml, nightly-build.yml, pr-ci.yml, update-app-upgrade-config.yml, sync-to-gitcode.yml, release.yml). The workflows still call pnpm/action-setup@v4 but no longer hardcode a pnpm version. This simplifies maintenance and allows the action to resolve an appropriate pnpm version (or use its default) without needing updates whenever the pinned version becomes outdated. It reduces churn when bumping pnpm across CI configs and prevents accidental pin drift between workflow files. * build: Update pnpm to 10.27.0 and add onlyBuiltDependencies config * Update @cherrystudio/openai to 6.15.0 and consolidate overrides * Add @langchain/core to overrides * Add override for openai-compatible 1.0.27 * build: optimize pnpm config and add missing dependencies - Comment out shamefully-hoist in .npmrc for better pnpm compatibility - Add React-related packages to optimizeDeps in electron.vite.config.ts - Add missing peer dependencies and packages that were previously hoisted 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * build: refine pnpm configuration and dependency management - Simplify .npmrc to only essential electron mirror config - Move platform-specific dependencies to devDependencies - Pin sharp version to 0.34.3 for consistency - Update sharp-libvips versions to 1.2.4 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * reduce app size * format * build: remove unnecessary disableOxcRecommendation option from react plugin configuration * docs: Replace yarn commands with pnpm in documentation and scripts * Revert "build: optimize pnpm config and add missing dependencies" This reverts commit acffad31f8c6122085d2e6cde46731378e001322. * build: import dependencies from yarn.lock * build: Add some phantom dependencies and reorganize dependencies * build: Keep consistent by removing types of semver It's not in the previous package.json * build: Add some phantom dependencies Keep same version with yarn.lock * build: Add form-data dependency version 4.0.4 * Add chalk dependency * build: downgrade some dependencies Reference: .yarn-state-copy.yml. These phantom dependencies should use top-level package of that version in node_modules * build: Add phantom dependencies * build: pin tiptap dependencies to exact versions Ensure consistent dependency resolution by removing caret ranges and pinning all @tiptap packages to exact version 3.2.0 * chore: pin embedjs dependencies to exact versions * build: pin @modelcontextprotocol/sdk to exact version 1.23.0 Remove caret from version specifier to prevent automatic upgrades and ensure consistent dependencies * chore: update @types/node dependency to 22.17.2 Update package.json and pnpm-lock.yaml to use @types/node version 22.17.2 instead of 22.19.3 to maintain consistency across dependencies * build: move some dependencies to dev deps and pin dependency versions to exact numbers Remove caret (^) from version ranges to ensure consistent dependency resolution across environments * chore: move dependencies from prod to dev and update lockfile Move @ant-design/icons, chalk, form-data, and open from dependencies to devDependencies Update pnpm-lock.yaml to reflect dependency changes * build: update package dependencies - Add new dependencies: md5, @libsql/win32-x64-msvc, @strongtz/win32-arm64-msvc, bonjour-service, emoji-picker-element-data, gray-matter, js-yaml - Remove redundant dependencies from devDependencies * build: add cors, katex and pako dependencies add new dependencies to support cross-origin requests, mathematical notation rendering and data compression * move some js deps to dev deps * test: update snapshot tests for Spinner and InputEmbeddingDimension * chore: exclude .zed directory from biome formatting * Update @ai-sdk/openai-compatible patch hash * chore: update @kangfenmao/keyv-storage to version 0.1.3 in package.json and pnpm-lock.yaml --------- Co-authored-by: icarus <eurfelux@gmail.com> Co-authored-by: beyondkmp <beyondkmp@gmail.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: kangfenmao <kangfenmao@qq.com> | 7 个月前 | |
chore: add gitcode release sync workflow (#11807) * chore: add gitcode release sync workflow * fix(ci): address review feedback for gitcode sync workflow - Use Authorization header instead of token in URL query parameter - Add file existence check before copying signed Windows artifacts - Remove inappropriate || true from artifact listing - Use heredoc for safe GITHUB_OUTPUT writing - Add error context logging in upload_file function - Add curl timeout for API requests (connect: 30s, max: 60s) - Add cleanup step for temp files with if: always() - Add env var validation for GitCode credentials 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 1 年前 | ||
| 7 个月前 | ||
| 1 年前 | ||
| 7 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 9 个月前 | ||
| 10 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 8 个月前 |