* fix nanobanana
* add types
* 完成 fetch sse 和 google ai 侧转换
* thinking
* ui for part render
* support image in thinking
* fix issue
* support convert content part
* support nano banana pro image generation
* fix tests
* fix tests
Added comprehensive unit tests for convertAlphaToSolid function covering:
- Fully opaque and transparent colors
- Various opacity levels (25%, 50%, 75%, 99%)
- Different color formats (hex, rgba, named colors)
- Complex color blending scenarios
- Edge cases with very low/high alpha values
- Complementary colors blending
- Grayscale blending
- Input format consistency
Total: 21 test cases, all passing
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Added comprehensive unit tests for the validateRedirectHost security function covering:
- Invalid input validation
- Exact host matching
- Localhost environment handling
- Subdomain validation
- Open redirect attack prevention
- Port handling with standard and custom ports
- Edge cases (IPv4, case sensitivity, malformed inputs)
- Real-world deployment scenarios
All 52 test cases pass successfully.
- Added comprehensive unit tests for packages/utils/src/trace.ts
- Tests cover getTracePayload, getTraceId, and createTraceHeader functions
- Includes edge cases, Unicode handling, and round-trip encoding/decoding
- All 23 test cases pass successfully
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
* feat: change discord page to spa
* fix: change locals
* feat: update router change
* fix: revert some files
* feat: add model provider detail page use link
* fix: add trpc back
* feat: update e2e timeout time
* feat: change discord page to spa
* fix: change locals
* feat: update router change
* fix: revert some files
* feat: add model provider detail page use link
* fix: add trpc back
* feat: update e2e timeout time
* fix: use reactrouter-dom link replace next link
* ♻️ refactor: rename isLocalUrl to isDesktopLocalStaticServerUrl
Rename the function to better reflect its specific purpose of checking
desktop local static server URLs (127.0.0.1 only). Update all usages
across the codebase including imports, function calls, and test cases.
* ✨ feat(model-bank): add Vertex AI image generation models
- Add Nano Banana (Gemini 2.5 Flash Image) models
- Add Imagen 4 series (Standard, Ultra, Fast, Preview variants)
- Export shared parameters for reuse across providers
* ✅ test(context-engine): fix mock after function rename
Update test mock from isLocalUrl to isDesktopLocalStaticServerUrl
* ♻️ refactor: use submodule imports for @lobechat/utils
- Change from barrel imports to direct submodule imports
- Update test to mock only necessary functions (imageUrlToBase64)
- Fix test URL from localhost to 127.0.0.1 for isDesktopLocalStaticServerUrl
- Update package.json exports for utils submodules
* ✅ test: update mocks after function rename
Update test mocks from isLocalUrl to isDesktopLocalStaticServerUrl
* ✅ test(chat): fix mocks to use submodule imports
* ✨ feat: add frontend random API key selection support
- Implement ClientApiKeyManager for random selection from comma-separated keys
- Update getProviderAuthPayload to use random key picking for all providers
- Add comprehensive tests for the new functionality
- Mirror existing server-side implementation for consistency
Closes#9255🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: LobeHub Bot <lobehubbot@users.noreply.github.com>
* fix tests
* fix implement
* fix test
* fix test
* update
fix tools
Update route.ts
Update next dependency version to ^15.5.0
更新 package.json
test prebuild type-check
try
* Change 'next' dependency version in package.json
Updated 'next' dependency version from ^15.5.3 to ~15.3.5.
* move
* refactor with model banks
* refactor with model banks
* refactor @/config/aiModels to model-bank
* refactor @/config/aiModels to model-bank
* fix model bank exports
* clean
* add test workflow
* try again
* fix
* add exports tests
* fix model bank alias
* Update tsconfig.json
* fix import issue
* clean unused code
* fix tests