Conversation
### [Version 1.137.7](v1.137.6...v1.137.7) <sup>Released on **2025-10-15**</sup> #### 💄 Styles - **misc**: Use different favicon.ico in dev mode. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### Styles * **misc**: Use different favicon.ico in dev mode, closes [#9723](#9723) ([2f7317b](2f7317b)) </details> <div align="right"> [](#readme-top) </div>
* add * baseline * ✅ test(store): add tests for discover store plugin and mcp slices - Add comprehensive tests for discover/slices/plugin/action.ts (15 tests) - Add comprehensive tests for discover/slices/mcp/action.ts (11 tests) - Update test-coverage.md with new metrics and completed work - Coverage: 74.24% overall (+26 tests, 2 new test files) - Action files coverage: 29/40 tested (72.5%, +2 files) Features tested: - Plugin/MCP categories, detail, identifiers, and list fetching - SWR key generation with locale and parameters - SWR configuration verification - Service integration with discoverService 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * 📝 docs(testing): add SWR hooks testing guide and subagent workflow Testing Guide Updates: - Add comprehensive SWR hooks testing section with examples - Document key differences from regular action tests - Add examples for testing SWR key generation and configuration - Add examples for testing conditional fetching - Update references to include SWR hook test examples Test Coverage Guide Updates: - Add detailed subagent workflow for parallel testing - Document when and how to use subagents for testing - Add complete workflow example using subagents - Add benefits and best practices for subagent usage - Clarify that subagents should NOT commit or update docs - Add step-by-step guide for launching parallel subagents Key improvements: - Better documentation for testing SWR-based store actions - Clear workflow for efficient parallel testing using subagents - Single atomic commit strategy after all subagents complete - Improved testing efficiency and organization 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * ♻️ refactor(test): fix SWR mock strategy to properly test fetcher Previously, tests were hardcoding return values instead of calling the fetcher function. This bypassed the actual service call logic. Changes: - Fix useSWR mock to call fetcher and return its Promise - Update assertions to await Promise results - Update testing guide with correct mock pattern - Add explanation of why this approach is correct Before (incorrect): ```typescript useSWRMock.mockImplementation(((key, fetcher) => { fetcher?.(); // Call but ignore result return { data: mockData }; // Hardcoded }) as any); expect(result.current.data).toEqual(mockData); ``` After (correct): ```typescript useSWRMock.mockImplementation(((key, fetcher) => { const data = fetcher?.(); // Get Promise from fetcher return { data }; // Return Promise }) as any); const resolvedData = await result.current.data; expect(resolvedData).toEqual(mockData); ``` Benefits: - ✅ Actually tests the fetcher function - ✅ Mirrors real SWR behavior (data is Promise) - ✅ Service calls are properly verified - ✅ Tests are more accurate and maintainable Updated files: - .cursor/rules/testing-guide/zustand-store-action-test.mdc - src/store/discover/slices/plugin/action.test.ts - src/store/discover/slices/mcp/action.test.ts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * 🐛 fix(test): correct SWR mock strategy to match project standards - Remove useSWR mocking, use real SWR implementation instead - Only mock service methods (fetchers) with vi.spyOn - Use waitFor for async assertions - Update testing guide with correct SWR pattern - Add reference to src/store/chat/slices/message/action.test.ts This fixes the incorrect mocking approach from previous commits. All 13 tests pass with the corrected strategy. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * ✅ test(store): add comprehensive tests for high priority action files - Add mcpStore action tests (41 tests, 624 LOC covered) - MCP plugin installation flow (normal, resume, dependencies, config) - Connection testing (HTTP and STDIO) - Plugin lifecycle management - Error handling and cancellation flows - Add fileManager action tests (35 tests, 205 LOC covered) - File upload and processing workflows - Chunk embedding and parsing - File list management and refresh - SWR data fetching Testing approach: - Used parallel subagents for efficient development - Followed zustand testing patterns from guide - Proper test layering and per-test mocking - All tests pass type-check and lint Coverage improvement: 74.24% → ~76% (+76 tests, 2 files) Action files: 29/40 → 31/40 tested (77.5%) 🏆 Milestone: All high priority files (>200 LOC) now have tests! 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * ✅ test(store): complete 100% action file coverage with 160 new tests Added comprehensive tests for all remaining 9 medium-priority action files: Discovery Store (33 tests): - assistant/action.ts: 10 tests (SWR hooks, categories, detail, identifiers, list) - provider/action.ts: 11 tests (SWR hooks, detail with readme, identifiers, list with filters) - model/action.ts: 12 tests (SWR hooks, categories, detail, identifiers, list with params) Knowledge Base Store (29 tests): - crud/action.ts: 19 tests (create, update, remove, refresh, loading states, SWR hooks) - content/action.ts: 10 tests (add files, remove files, error handling) File Store (36 tests): - upload/action.ts: 18 tests (base64 upload, file upload with progress, type detection, KB integration) - chunk/action.ts: 18 tests (drawer management, highlight, semantic search) AI Infrastructure Store (23 tests): - aiModel/action.ts: 23 tests (CRUD, batch operations, remote sync, toggle enabled, SWR hooks) Chat Store (39 tests): - thread/action.ts: 39 tests (CRUD, messaging, AI title generation, validation, loading states) Testing approach: - Used 9 parallel subagents for efficient development - Followed zustand testing patterns from guide - SWR hook testing for discovery slices - Complex async flows with proper error handling - File operations with progress callbacks - Semantic search and RAG integration Coverage improvement: ~76% → ~80% (+160 tests, 9 files) Action files: 31/40 → 40/40 tested (100%) 🎉 MILESTONE: All 40 action files now have comprehensive test coverage! 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix test * fix test * fix context-engine * add tests * remove * remove tools bar * pin bun version * fix --------- Co-authored-by: Claude <noreply@anthropic.com>
✨ feat: add region support for Vertex AI provider - Add VertexAIKeyVault interface with region support - Update UI to include region selector with 35+ regions - Add vertexAIRegion field to ClientSecretPayload - Update backend to use user-selected region with fallback - Add i18n support for English and Chinese - Fix issue with Gemini 2.5 models requiring global region
### [Version 1.137.8](v1.137.7...v1.137.8) <sup>Released on **2025-10-15**</sup> #### 🐛 Bug Fixes - **misc**: Fix duplicate tools id issue and fix link dialog issue. #### 💄 Styles - **misc**: Add region support for Vertex AI provider. <br/> <details> <summary><kbd>Improvements and Fixes</kbd></summary> #### What's fixed * **misc**: Fix duplicate tools id issue and fix link dialog issue, closes [#9731](#9731) ([0a8c80d](0a8c80d)) #### Styles * **misc**: Add region support for Vertex AI provider, closes [#9720](#9720) ([d17b50c](d17b50c)) </details> <div align="right"> [](#readme-top) </div>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )