ChatGPT-Next-Web/app
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
..
api Merge branch 'main' of https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web 2025-02-16 10:50:07 +08:00
client Merge pull request #6292 from Little-LittleProgrammer/feature/alibaba-omni-support 2025-03-01 10:25:16 +08:00
components feat(tauri): Migrate from Tauri v1 to v2 2025-03-16 02:14:47 +03:00
config feat(tauri): Migrate from Tauri v1 to v2 2025-03-16 02:14:47 +03:00
icons Fix: Set consistent fill color for OpenAI/MoonShot/Grok SVG to prevent color inversion in dark mode 2025-02-07 11:13:22 +08:00
lib
locales danish rewording / improved button label 2025-02-15 13:08:58 +01:00
masks
mcp fix: missing files required for building 2025-01-22 21:28:29 +08:00
store feat(tauri): Migrate from Tauri v1 to v2 2025-03-16 02:14:47 +03:00
styles
utils feat(tauri): Migrate from Tauri v1 to v2 2025-03-16 02:14:47 +03:00
command.ts
constant.ts Merge pull request #6292 from Little-LittleProgrammer/feature/alibaba-omni-support 2025-03-01 10:25:16 +08:00
global.d.ts
layout.tsx feat: add ENABLE_MCP env var to toggle MCP feature globally and in Docker 2025-01-18 21:19:01 +08:00
page.tsx feat: add ENABLE_MCP env var to toggle MCP feature globally and in Docker 2025-01-18 21:19:01 +08:00
polyfill.ts
typing.ts
utils.ts feat(tauri): Migrate from Tauri v1 to v2 2025-03-16 02:14:47 +03:00