ChatGPT-Next-Web/app/components
Mihail Klimin 8fa7c14f18 feat(tauri): Migrate from Tauri v1 to v2
# Summary
This commit completes the migration from Tauri v1 to v2, resolves configuration issues, upgrades Next.js, and adds test coverage for critical components to ensure stability during the transition.

# Details
## Tauri v2 Migration
- Updated Tauri dependencies to v2.3.0 series in package.json
- Restructured build configuration in `/app/config/build.ts` to align with Tauri v2 requirements
- Fixed imports and API usage patterns across the codebase
- Added compatibility layer for window.__TAURI__ references to maintain backward compatibility

## Next.js Issues
- Upgraded Next.js from 14.1.1 to 14.2.24
- Resolved caching problems with Server Actions
- Updated eslint-config-next to match the new version
- Cleared Next.js cache and temporary files to address build issues

## Testing & Stability
- Added comprehensive tests for `stream.ts` to verify streaming functionality
- Created mocks for Tauri API to support test environment
- Verified that critical functionality continues to work correctly
- Translated all comments to English for consistency

## Infrastructure
- Fixed peer dependency warnings during installation
- Ensured proper integration with Tauri v2 plugins (clipboard-manager, dialog, fs, http, notification, shell, updater, window-state)

# Approach
Prioritized stability by:
1. Making minimal necessary changes to configuration files
2. Preserving most `window.__TAURI__` calls as they still function in v2
3. Planning gradual migration to new APIs with test coverage for critical components
4. Documenting areas that will require future attention

# Testing
- Created unit tests for critical streaming functionality
- Performed manual testing of key application features
- Verified successful build and launch with Tauri v2

# Future Work
- Future PRs will gradually replace deprecated Tauri v1 API calls with v2 equivalents
- Additional test coverage will be added for other critical components
2025-03-16 02:14:47 +03:00
..
realtime-chat chore: comment context history 2024-11-09 16:22:01 +08:00
sd style: improve classname by clsx 2024-11-06 16:58:26 +08:00
voice-print feat: voice print 2024-11-08 22:39:17 +08:00
artifacts.module.scss fix: iframe bg 2024-07-26 17:06:10 +08:00
artifacts.tsx chore: remove unused imports 2024-09-15 20:17:02 +08:00
auth.module.scss fex media 2024-09-23 15:12:45 +08:00
auth.tsx style: improve classname by clsx 2024-11-06 16:58:26 +08:00
button.module.scss fix style slect button 2024-09-24 22:25:36 +08:00
button.tsx style: improve classname by clsx 2024-11-06 16:58:26 +08:00
chat-list.tsx style: improve classname by clsx 2024-11-06 16:58:26 +08:00
chat.module.scss feat: realtime chat ui 2024-11-06 21:14:45 +08:00
chat.tsx Update chat.tsx 2025-01-20 10:10:52 +08:00
emoji.tsx Fix: Improve Mistral icon detection and remove redundant code. 2025-02-25 14:30:18 +08:00
error.tsx fix: safaLocalStorage 2024-09-08 13:23:40 +08:00
exporter.module.scss Revert "feat: improve components structure" 2024-07-22 22:18:51 +08:00
exporter.tsx feat(tauri): Migrate from Tauri v1 to v2 2025-03-16 02:14:47 +03:00
home.module.scss fix: sidebar style 2024-10-12 14:54:22 +08:00
home.tsx feat: add ENABLE_MCP env var to toggle MCP feature globally and in Docker 2025-01-18 21:19:01 +08:00
input-range.module.scss Revert "feat: improve components structure" 2024-07-22 22:18:51 +08:00
input-range.tsx style: improve classname by clsx 2024-11-06 16:58:26 +08:00
markdown.tsx fix: 代码块嵌入小代码块时渲染错误 2024-11-15 11:56:26 +08:00
mask.module.scss Revert "feat: improve components structure" 2024-07-22 22:18:51 +08:00
mask.tsx style: improve classname by clsx 2024-11-06 16:58:26 +08:00
mcp-market.module.scss fix: prevent MCP operations from blocking chat interface 2025-01-19 01:02:01 +08:00
mcp-market.tsx fix: prevent MCP operations from blocking chat interface 2025-01-19 01:02:01 +08:00
message-selector.module.scss Revert "feat: improve components structure" 2024-07-22 22:18:51 +08:00
message-selector.tsx style: improve classname by clsx 2024-11-06 16:58:26 +08:00
model-config.module.scss fix 2024-09-25 14:41:41 +08:00
model-config.tsx Refactor: Replace all provider split occurrences with getModelProvider utility method 2024-11-05 13:52:54 +00:00
new-chat.module.scss Revert "feat: improve components structure" 2024-07-22 22:18:51 +08:00
new-chat.tsx style: improve classname by clsx 2024-11-06 16:58:26 +08:00
plugin.module.scss chore: css 2024-09-23 14:18:32 +08:00
plugin.tsx style: improve classname by clsx 2024-11-06 16:58:26 +08:00
search-chat.tsx wrap doSearch with useCallback 2024-08-20 09:45:34 +08:00
settings.module.scss fix style 2024-09-25 11:15:00 +08:00
settings.tsx New provider SiliconFlow and Its Latest DeekSeek Models 2025-02-04 16:59:26 +08:00
sidebar.tsx Merge branch 'main' into feat-mcp 2025-01-19 23:28:12 +08:00
tts-config.tsx fix: transcription headers 2024-08-28 13:13:41 +08:00
tts.module.scss feat: add tts stt 2024-08-27 16:21:02 +08:00
ui-lib.module.scss fix 2024-09-25 14:35:09 +08:00
ui-lib.tsx feat: add more llm icons 2025-02-05 12:34:00 +08:00