aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src-tauri
Commit message (Collapse)AuthorAgeFilesLines
* chore(deps): bump the infrastructure group with 32 updatesdependabot/infrastructure-e738c2e35bdependabot[bot]2026-03-261-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps the infrastructure group with 32 updates: | Package | From | To | | --- | --- | --- | | [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.3.11` | `2.4.9` | | [@j178/prek](https://github.com/j178/prek) | `0.2.29` | `0.3.8` | | [@tauri-apps/cli](https://github.com/tauri-apps/tauri) | `2.9.6` | `2.10.1` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.10.9` | `25.5.0` | | [@react-router/node](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node) | `7.12.0` | `7.13.2` | | [@react-router/serve](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-serve) | `7.12.0` | `7.13.2` | | [fumadocs-core](https://github.com/fuma-nama/fumadocs) | `16.4.7` | `16.7.6` | | [fumadocs-mdx](https://github.com/fuma-nama/fumadocs) | `14.2.6` | `14.2.11` | | [fumadocs-ui](https://github.com/fuma-nama/fumadocs) | `16.4.7` | `16.7.6` | | [isbot](https://github.com/omrilotan/isbot) | `5.1.33` | `5.1.36` | | [mermaid](https://github.com/mermaid-js/mermaid) | `11.12.3` | `11.13.0` | | [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.3` | `19.2.4` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.8` | `19.2.14` | | [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.3` | `19.2.4` | | [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.12.0` | `7.13.2` | | [@react-router/dev](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev) | `7.12.0` | `7.13.2` | | [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.1.18` | `4.2.2` | | [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.1.18` | `4.2.2` | | [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.2` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.3.1` | `8.0.3` | | [vite-tsconfig-paths](https://github.com/aleclarson/vite-tsconfig-paths) | `6.0.4` | `6.1.1` | | [@base-ui/react](https://github.com/mui/base-ui/tree/HEAD/packages/react) | `1.2.0` | `1.3.0` | | [@tauri-apps/api](https://github.com/tauri-apps/tauri) | `2.9.1` | `2.10.1` | | [@tauri-apps/plugin-shell](https://github.com/tauri-apps/plugins-workspace) | `2.3.4` | `2.3.5` | | [es-toolkit](https://github.com/toss/es-toolkit) | `1.44.0` | `1.45.1` | | [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.562.0` | `1.7.0` | | [marked](https://github.com/markedjs/marked) | `17.0.1` | `17.0.5` | | [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.71.2` | `7.72.0` | | [zustand](https://github.com/pmndrs/zustand) | `5.0.11` | `5.0.12` | | [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `5.1.4` | `6.0.1` | | [globals](https://github.com/sindresorhus/globals) | `16.5.0` | `17.4.0` | | [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn) | `3.8.5` | `4.1.0` | Updates `@biomejs/biome` from 2.3.11 to 2.4.9 - [Release notes](https://github.com/biomejs/biome/releases) - [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md) - [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.9/packages/@biomejs/biome) Updates `@j178/prek` from 0.2.29 to 0.3.8 - [Release notes](https://github.com/j178/prek/releases) - [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md) - [Commits](https://github.com/j178/prek/compare/v0.2.29...v0.3.8) Updates `@tauri-apps/cli` from 2.9.6 to 2.10.1 - [Release notes](https://github.com/tauri-apps/tauri/releases) - [Commits](https://github.com/tauri-apps/tauri/compare/@tauri-apps/cli-v2.9.6...@tauri-apps/cli-v2.10.1) Updates `@types/node` from 24.10.9 to 25.5.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@react-router/node` from 7.12.0 to 7.13.2 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-node/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/@react-router/node@7.13.2/packages/react-router-node) Updates `@react-router/serve` from 7.12.0 to 7.13.2 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-serve/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/@react-router/serve@7.13.2/packages/react-router-serve) Updates `fumadocs-core` from 16.4.7 to 16.7.6 - [Release notes](https://github.com/fuma-nama/fumadocs/releases) - [Commits](https://github.com/fuma-nama/fumadocs/commits/fumadocs-core@16.7.6) Updates `fumadocs-mdx` from 14.2.6 to 14.2.11 - [Release notes](https://github.com/fuma-nama/fumadocs/releases) - [Commits](https://github.com/fuma-nama/fumadocs/commits/fumadocs-mdx@14.2.11) Updates `fumadocs-ui` from 16.4.7 to 16.7.6 - [Release notes](https://github.com/fuma-nama/fumadocs/releases) - [Commits](https://github.com/fuma-nama/fumadocs/commits/fumadocs-ui@16.7.6) Updates `isbot` from 5.1.33 to 5.1.36 - [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md) - [Commits](https://github.com/omrilotan/isbot/compare/v5.1.33...v5.1.36) Updates `mermaid` from 11.12.3 to 11.13.0 - [Release notes](https://github.com/mermaid-js/mermaid/releases) - [Commits](https://github.com/mermaid-js/mermaid/compare/mermaid@11.12.3...mermaid@11.13.0) Updates `react` from 19.2.3 to 19.2.4 - [Release notes](https://github.com/facebook/react/releases) - [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/react/commits/v19.2.4/packages/react) Updates `@types/react` from 19.2.8 to 19.2.14 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `react-dom` from 19.2.3 to 19.2.4 - [Release notes](https://github.com/facebook/react/releases) - [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/react/commits/v19.2.4/packages/react-dom) Updates `react-router` from 7.12.0 to 7.13.2 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router@7.13.2/packages/react-router) Updates `@react-router/dev` from 7.12.0 to 7.13.2 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dev/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/@react-router/dev@7.13.2/packages/react-router-dev) Updates `@tailwindcss/vite` from 4.1.18 to 4.2.2 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/@tailwindcss-vite) Updates `@types/react` from 19.2.8 to 19.2.14 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `tailwindcss` from 4.1.18 to 4.2.2 - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/tailwindcss) Updates `typescript` from 5.9.3 to 6.0.2 - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.2) Updates `vite` from 7.3.1 to 8.0.3 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/create-vite@8.0.3/packages/vite) Updates `vite-tsconfig-paths` from 6.0.4 to 6.1.1 - [Release notes](https://github.com/aleclarson/vite-tsconfig-paths/releases) - [Commits](https://github.com/aleclarson/vite-tsconfig-paths/compare/v6.0.4...v6.1.1) Updates `@base-ui/react` from 1.2.0 to 1.3.0 - [Release notes](https://github.com/mui/base-ui/releases) - [Changelog](https://github.com/mui/base-ui/blob/master/CHANGELOG.md) - [Commits](https://github.com/mui/base-ui/commits/v1.3.0/packages/react) Updates `@tauri-apps/api` from 2.9.1 to 2.10.1 - [Release notes](https://github.com/tauri-apps/tauri/releases) - [Commits](https://github.com/tauri-apps/tauri/compare/@tauri-apps/api-v2.9.1...@tauri-apps/api-v2.10.1) Updates `@tauri-apps/plugin-shell` from 2.3.4 to 2.3.5 - [Release notes](https://github.com/tauri-apps/plugins-workspace/releases) - [Commits](https://github.com/tauri-apps/plugins-workspace/compare/nfc-v2.3.4...shell-v2.3.5) Updates `es-toolkit` from 1.44.0 to 1.45.1 - [Release notes](https://github.com/toss/es-toolkit/releases) - [Changelog](https://github.com/toss/es-toolkit/blob/main/CHANGELOG.md) - [Commits](https://github.com/toss/es-toolkit/compare/v1.44.0...v1.45.1) Updates `lucide-react` from 0.562.0 to 1.7.0 - [Release notes](https://github.com/lucide-icons/lucide/releases) - [Commits](https://github.com/lucide-icons/lucide/commits/1.7.0/packages/lucide-react) Updates `marked` from 17.0.1 to 17.0.5 - [Release notes](https://github.com/markedjs/marked/releases) - [Commits](https://github.com/markedjs/marked/compare/v17.0.1...v17.0.5) Updates `react-hook-form` from 7.71.2 to 7.72.0 - [Release notes](https://github.com/react-hook-form/react-hook-form/releases) - [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md) - [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.71.2...v7.72.0) Updates `zustand` from 5.0.11 to 5.0.12 - [Release notes](https://github.com/pmndrs/zustand/releases) - [Commits](https://github.com/pmndrs/zustand/compare/v5.0.11...v5.0.12) Updates `@vitejs/plugin-react` from 5.1.4 to 6.0.1 - [Release notes](https://github.com/vitejs/vite-plugin-react/releases) - [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.1/packages/plugin-react) Updates `globals` from 16.5.0 to 17.4.0 - [Release notes](https://github.com/sindresorhus/globals/releases) - [Commits](https://github.com/sindresorhus/globals/compare/v16.5.0...v17.4.0) Updates `shadcn` from 3.8.5 to 4.1.0 - [Release notes](https://github.com/shadcn-ui/ui/releases) - [Changelog](https://github.com/shadcn-ui/ui/blob/main/packages/shadcn/CHANGELOG.md) - [Commits](https://github.com/shadcn-ui/ui/commits/shadcn@4.1.0/packages/shadcn) chore(deps): bump the infrastructure group in /src-tauri with 8 updates Updates the requirements on [dirs](https://github.com/soc/dirs-rs), [env_logger](https://github.com/rust-cli/env_logger), [reqwest](https://github.com/seanmonstar/reqwest), [sha2](https://github.com/RustCrypto/hashes), [toml](https://github.com/toml-rs/toml), [ts-rs](https://github.com/Aleph-Alpha/ts-rs), [zip](https://github.com/zip-rs/zip2) and [embed-resource](https://github.com/nabijaczleweli/rust-embed-resource) to permit the latest version. Updates `dirs` to 6.0.0 - [Commits](https://github.com/soc/dirs-rs/commits) Updates `env_logger` to 0.11.10 - [Release notes](https://github.com/rust-cli/env_logger/releases) - [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-cli/env_logger/compare/v0.9.0...v0.11.10) Updates `reqwest` to 0.13.2 - [Release notes](https://github.com/seanmonstar/reqwest/releases) - [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md) - [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.0...v0.13.2) Updates `sha2` to 0.11.0 - [Commits](https://github.com/RustCrypto/hashes/compare/groestl-v0.10.0...sha2-v0.11.0) Updates `toml` to 1.1.0+spec-1.1.0 - [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.5.0...toml-v1.1.0) Updates `ts-rs` to 12.0.1 - [Release notes](https://github.com/Aleph-Alpha/ts-rs/releases) - [Changelog](https://github.com/Aleph-Alpha/ts-rs/blob/main/CHANGELOG.md) - [Commits](https://github.com/Aleph-Alpha/ts-rs/commits) Updates `zip` to 8.4.0 - [Release notes](https://github.com/zip-rs/zip2/releases) - [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md) - [Commits](https://github.com/zip-rs/zip2/compare/v2.2.2...v8.4.0) Updates `embed-resource` to 3.0.8 - [Release notes](https://github.com/nabijaczleweli/rust-embed-resource/releases) - [Commits](https://github.com/nabijaczleweli/rust-embed-resource/compare/v2.4.0...v3.0.8) --- updated-dependencies: - dependency-name: "@biomejs/biome" dependency-version: 2.4.9 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: "@j178/prek" dependency-version: 0.3.8 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: "@tauri-apps/cli" dependency-version: 2.10.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: "@types/node" dependency-version: 25.5.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: infrastructure - dependency-name: "@react-router/node" dependency-version: 7.13.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: "@react-router/serve" dependency-version: 7.13.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: fumadocs-core dependency-version: 16.7.6 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: fumadocs-mdx dependency-version: 14.2.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: infrastructure - dependency-name: fumadocs-ui dependency-version: 16.7.6 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: isbot dependency-version: 5.1.36 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: infrastructure - dependency-name: mermaid dependency-version: 11.13.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: react dependency-version: 19.2.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: infrastructure - dependency-name: "@types/react" dependency-version: 19.2.14 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: infrastructure - dependency-name: react-dom dependency-version: 19.2.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: infrastructure - dependency-name: react-router dependency-version: 7.13.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: "@react-router/dev" dependency-version: 7.13.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: "@tailwindcss/vite" dependency-version: 4.2.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: "@types/react" dependency-version: 19.2.14 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: infrastructure - dependency-name: tailwindcss dependency-version: 4.2.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: typescript dependency-version: 6.0.2 dependency-type: direct:development update-type: version-update:semver-major dependency-group: infrastructure - dependency-name: vite dependency-version: 8.0.3 dependency-type: direct:development update-type: version-update:semver-major dependency-group: infrastructure - dependency-name: vite-tsconfig-paths dependency-version: 6.1.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: "@base-ui/react" dependency-version: 1.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: "@tauri-apps/api" dependency-version: 2.10.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: "@tauri-apps/plugin-shell" dependency-version: 2.3.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: infrastructure - dependency-name: es-toolkit dependency-version: 1.45.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: lucide-react dependency-version: 1.7.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: infrastructure - dependency-name: marked dependency-version: 17.0.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: infrastructure - dependency-name: react-hook-form dependency-version: 7.72.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: infrastructure - dependency-name: zustand dependency-version: 5.0.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: infrastructure - dependency-name: "@vitejs/plugin-react" dependency-version: 6.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: infrastructure - dependency-name: globals dependency-version: 17.4.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: infrastructure - dependency-name: shadcn dependency-version: 4.1.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: infrastructure - dependency-name: dirs dependency-version: 6.0.0 dependency-type: direct:production dependency-group: infrastructure - dependency-name: env_logger dependency-version: 0.11.10 dependency-type: direct:production dependency-group: infrastructure - dependency-name: reqwest dependency-version: 0.13.2 dependency-type: direct:production dependency-group: infrastructure - dependency-name: sha2 dependency-version: 0.11.0 dependency-type: direct:production dependency-group: infrastructure - dependency-name: toml dependency-version: 1.1.0+spec-1.1.0 dependency-type: direct:production dependency-group: infrastructure - dependency-name: ts-rs dependency-version: 12.0.1 dependency-type: direct:production dependency-group: infrastructure - dependency-name: zip dependency-version: 8.4.0 dependency-type: direct:production dependency-group: infrastructure - dependency-name: embed-resource dependency-version: 3.0.8 dependency-type: direct:production dependency-group: infrastructure ... Signed-off-by: dependabot[bot] <support@github.com>
* Merge branch 'main' into feature/multi-instances简律纯2026-03-261-4/+4
|\
| * chore(pnpm): fix pnpm lock file苏向夜2026-03-261-4/+4
| |
* | fix(instance): InstanceManager -> InstanceStateHsiangNianian2026-03-182-7/+4
| |
* | fix(macro): update ts export macroHsiangNianian2026-03-181-1/+2
| | | | | | | | https://github.com/HydroRoll-Team/DropOut/pull/117#discussion_r2922886584
* | fix(modpack): 将 CurseForge API Key 改为编译期可选常量 (#118)Begonia, HE2026-03-183-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # fix(modpack): 将 CurseForge API Key 改为编译期可选常量 修复 `env!()` 宏在开发者本地无 `CURSEFORGE_API_KEY` 时导致编译失败的问题,改用 `option_env!()` + build.rs 中的 `dotenvy` 读取 .env 文件,实现编译期嵌入、缺失时优雅降级。 ## 更改类型 - [x] Bug 修复(修复问题的非破坏性更改) - [ ] 新功能(添加功能的非破坏性更改) - [ ] 破坏性更改(会导致现有功能无法正常工作的修复或功能) - [ ] 文档更新 - [ ] UI/UX 改进 - [ ] 性能优化 - [ ] 代码重构(无功能性更改) - [x] 配置更改 - [ ] 测试添加或更新 ## LLM 生成代码声明 - [x] 此 PR 不包含 LLM 生成的代码,我**提供**质量担保 ## 相关 Issue 相关 #110 #117 ## 更改内容 ### 后端 (Rust) - modpack.rs:将 `env!("CURSEFORGE_API_KEY")` 替换为 `const CURSEFORGE_API_KEY: Option<&str> = option_env!("CURSEFORGE_API_KEY")`,key 不存在时编译为 `None`,调用 CurseForge 功能时返回友好错误而非 panic - build.rs:添加 `dotenvy::dotenv()` 调用,允许通过 .env 文件在编译期注入 key,并注册 `cargo:rerun-if-changed` / `cargo:rerun-if-env-changed` 确保增量构建正确 ### 前端 (Svelte) - 无 ### 配置 - Cargo.toml:在 `[build-dependencies]` 中添加 `dotenvy = { version = "0.15", default-features = false }` - .gitignore:添加 .env / `.env.local` 忽略规则,防止 key 被意外提交 - .env.example:新增示例文件,说明可选配置项及获取方式 ## 测试 ### 测试环境 - **操作系统**:Fedora Linux 6.19.6-300.fc44.x86_64 x86_64 - **DropOut 版本**:0.2.0-alpha.5 - **测试的 Minecraft 版本**:N/A - **Mod 加载器**:N/A ### 测试用例 - [ ] 已在 Windows 上测试 - [ ] 已在 macOS 上测试 - [x] 已在 Linux 上测试 - [ ] 已测试原版 Minecraft - [ ] 已测试 Fabric - [ ] 已测试 Forge - [ ] 已测试游戏启动 - [ ] 已测试登录流程 - [ ] 已测试 Java 检测/下载 ### 测试步骤 1. 不设置 `CURSEFORGE_API_KEY`,不创建 .env 文件,直接执行 `cargo check` → 应编译通过(无报错) 2. 创建 .env 文件并写入 `CURSEFORGE_API_KEY=test_key`,执行 `cargo check` → 应编译通过,key 被嵌入二进制 3. 不含 key 的构建中触发 CurseForge modpack 导入 → 应返回友好错误提示而非 panic ## 检查清单 ### 代码质量 - [x] 我的代码遵循项目的代码风格指南 - [x] 我已对自己的代码进行了自审 - [ ] 我已对难以理解的区域添加了注释 - [x] 我的更改没有产生新的警告或错误 ### 测试验证 - [x] 我已在本地测试了我的更改 - [ ] 我已添加测试来证明我的修复有效或功能正常工作 - [x] 新的和现有的单元测试在本地通过 - [x] 我至少在一个目标平台上进行了测试 ### 文档更新 - [ ] 我已相应地更新了文档 - [ ] 如有需要,我已更新 README - [ ] 我已在必要处添加/更新代码注释 ### 依赖项 - [x] 我已检查没有添加不必要的依赖项 - [x] 所有新依赖项都已正确记录 - [x] Cargo.lock 已更新 ## 附加说明 `dotenvy` 仅作为 **build-dependency**,不会进入最终二进制。官方发布构建通过 CI 环境变量注入 key,普通开发者无需任何操作即可正常编译和运行。 Co-authored-by: 简律纯 <i@jyunko.cn>
* | Potential fix for pull request finding简律纯2026-03-181-1/+18
| | | | | | Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* | Potential fix for pull request finding简律纯2026-03-181-6/+11
| | | | | | Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* | feat(instance): finish multi instances systemHsiangNianian2026-03-122-479/+1141
| |
* | fix(modpack): make CURSEFORGE_API_KEY optional for devHsiangNianian2026-03-121-3/+7
| |
* | fix(devUrl): update remote urlsHsiangNianian2026-03-121-0/+8
| |
* | fix(devUrl): fix localhost resolved ipv4/ipv6 bug with linux proxyHsiangNianian2026-03-121-1/+2
|/
* chore(release): bump versionsgithub-actions[bot]2026-03-023-2/+24
|
* feat: improve toast and logo苏向夜2026-03-0253-50/+9
|
* chore(release): bump versionsgithub-actions[bot]2026-02-263-2/+8
|
* Update src-tauri/tauri.conf.json苏向夜2026-02-251-1/+1
|
* chore(release): bump versionsgithub-actions[bot]2026-02-253-2/+12
|
* Revert "chore(release): bump versions"苏向夜2026-02-253-12/+2
|
* chore(release): bump versionsgithub-actions[bot]2026-02-253-2/+12
|
* revert: revert release manually苏向夜2026-02-253-8/+2
|
* feat(tauri): update tauri product name苏向夜2026-02-251-1/+1
|
* chore(release): bump versionsgithub-actions[bot]2026-02-243-2/+8
|
* Revert "chore(release): bump versions"苏向夜2026-02-253-8/+2
|
* chore(release): bump versionsgithub-actions[bot]2026-02-243-2/+8
|
* chore: use semifold to release aur苏向夜2026-02-251-1/+0
|
* chore(release): bump versionsgithub-actions[bot]2026-02-243-3/+9
|
* chore(workspace): replace legacy codes苏向夜2026-02-251-3/+3
|
* feat: prepare for nightly alpha苏向夜2026-02-252-1/+13
|
* refactor: rewrite login and settings pages苏向夜2026-02-242-3/+5
|
* feat(macros): sort client api苏向夜2026-02-241-1/+6
|
* Clean up Cargo.toml by removing unused sections简律纯2026-02-231-7/+0
| | | Removed Debian package metadata and dependencies.
* Merge branch 'main' into refactor/migrate-to-react简律纯2026-02-235-0/+507
|\
| * Add modpack parsing and extraction for Modrinth, CurseForge, MultiMC (#100)SuperCCC2026-02-222-0/+490
| |
* | refactor(client): rewrite macros to generate client苏向夜2026-02-1818-249/+247
| |
| * chore: apply prek auto-fixes [skip ci]HsiangNianian2026-02-151-1/+1
| |
| * Fix Windows MinGW linker error with COFF resource compilation (#96)Copilot2026-02-153-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Description MinGW linker fails on `resource.lib` because `tauri-build` generates MSVC-format resources. MinGW requires COFF format. This PR adds conditional resource compilation using `embed-resource` for GNU targets. ## Type of Change - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Documentation update - [ ] UI/UX improvement - [ ] Performance improvement - [ ] Code refactoring (no functional changes) - [ ] Configuration change - [ ] Test addition or update ## LLM-Generated Code Disclosure - [x] This PR contains LLM-generated code, and I **provide** quality assurance - [ ] This PR contains LLM-generated code, and I **do not provide** quality assurance - [ ] This PR does not contain LLM-generated code ## Related Issues Fixes the Windows x86_64-pc-windows-gnu build failure in CI (Job ID: 63620685213) ## Changes Made ### Backend (Rust) - N/A ### Frontend (Svelte) - N/A ### Configuration - **src-tauri/Cargo.toml**: Added `embed-resource = "2.4"` as target-specific build dependency for `cfg(all(windows, target_env = "gnu"))` - **src-tauri/build.rs**: Added conditional resource compilation - calls `embed_resource::compile()` for MinGW, preserves `tauri_build::build()` for all targets - **src-tauri/icon.rc**: Created Windows resource file referencing `icons/icon.ico` **Key implementation**: ```rust fn main() { #[cfg(all(windows, target_env = "gnu"))] { embed_resource::compile("icon.rc", embed_resource::NONE); } tauri_build::build() } ``` **Impact**: MSVC builds unchanged, Linux/macOS unaffected (dependency not loaded), MinGW builds now generate COFF-compatible resources. ## Testing ### Test Environment - **OS**: Ubuntu 22.04 (Linux validation) - **DropOut Version**: 0.2.0-alpha.1 - **Minecraft Version Tested**: N/A (build-only fix) - **Mod Loader**: N/A ### Test Cases - [ ] Tested on Windows - [ ] Tested on macOS - [x] Tested on Linux - [ ] Tested with vanilla Minecraft - [ ] Tested with Fabric - [ ] Tested with Forge - [ ] Tested game launch - [ ] Tested authentication flow - [ ] Tested Java detection/download ### Steps to Test 1. Run `cargo check` on Linux (verified - passes) 2. CI validation pending: `semifold-ci.yaml` "Windows x86_64 (GNU)" job should complete without linker errors 3. Manual Windows MinGW build verification recommended ## Checklist ### Code Quality - [x] My code follows the project's style guidelines - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] My changes generate no new warnings or errors ### Testing Verification - [x] I have tested my changes locally - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [x] I have tested on at least one target platform ### Documentation - [x] I have updated the documentation accordingly - [ ] I have updated the README if needed - [x] I have added/updated code comments where necessary ### Dependencies - [x] I have checked that no unnecessary dependencies were added - [x] All new dependencies are properly documented - [x] `Cargo.lock` and/or `pnpm-lock.yaml` are updated (if dependencies changed) ## Screenshots / Videos N/A - build configuration change only ## Additional Notes - Target-specific dependency prevents unnecessary bloat on non-Windows platforms - `embed-resource` generates COFF format compatible with `x86_64-w64-mingw32-gcc` - No runtime code changes - purely build-time fix ## Breaking Changes None. Fully backward compatible. --- **For Maintainers:** - [ ] Code review completed - [ ] CI checks passing - [ ] Ready to merge <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > ## Problem > > The Windows x86_64-pc-windows-gnu build is failing in the CI/CD pipeline with a linker error: > > ``` > error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1 > note: D:\a\DropOut\DropOut\target\x86_64-pc-windows-gnu\release\build\dropout-d2b2a5095bbadd51\out\resource.lib: file not recognized: file format not recognized > ``` > > This occurs because `tauri-build` generates `resource.lib` in a format incompatible with the MinGW (GNU) toolchain. The file is likely being created in MSVC format instead of the COFF format required by MinGW. > > **Failing Job:** https://github.com/HydroRoll-Team/DropOut/actions (Job ID: 63620685213) > **Commit:** e6eb1bd0111d40b3b1fd39fafd583ce5dbf30f03 > **Target:** x86_64-pc-windows-gnu > > ## Solution > > Update the `build.rs` file to conditionally use `embed-resource` crate when building for the GNU toolchain, which properly generates MinGW-compatible resource files. > > ### Changes Required > > 1. **Update `src-tauri/Cargo.toml`**: Add `embed-resource` as a build dependency for Windows GNU targets > 2. **Update `src-tauri/build.rs`**: Implement conditional resource compilation: > - Use `embed-resource` for `x86_64-pc-windows-gnu` target > - Continue using default `tauri-build` for MSVC targets > > ### Implementation Details > > **src-tauri/Cargo.toml** - Add to `[build-dependencies]`: > ```toml > [build-dependencies] > tauri-build = { version = "2.0", features = [] } > embed-resource = "2.4" > ``` > > **src-tauri/build.rs** - Replace current content: > ```rust > fn main() { > // For MinGW targets, use embed-resource to generate proper COFF format > #[cfg(all(windows, target_env = "gnu"))] > { > embed_resource::compile("icon.rc", embed_resource::NONE); > } > > tauri_build::build() > } > ``` > > If `icon.rc` doesn't exist, create **src-tauri/icon.rc**: > ```rc > 1 ICON "icons/icon.ico" > ``` > > ### Testing > > After this fix: > - Windows MSVC builds should continue working as before > - Windows GNU (MinGW) builds should successfully link without the "file format not recognized" error > - The generated resource.lib will be in COFF format compatible with `x86_64-w64-mingw32-gcc` > > ### References > > - Tauri issue tracker (similar issues): https://github.com/tauri-apps/tauri/issues > - embed-resource crate: https://crates.io/crates/embed-resource > - MinGW resource compilation: https://sourceforge.net/p/mingw-w64/wiki2/windres/ > </details> <!-- START COPILOT CODING AGENT SUFFIX --> *This pull request was created from Copilot chat.* > <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/HydroRoll-Team/DropOut/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: HsiangNianian <44714368+HsiangNianian@users.noreply.github.com>
* | merge: dev苏向夜2026-02-152-27/+34
| |
* | feat(java): add mise version manager support and refactor detection logicBegonia, HE2026-01-304-12/+76
| | | | | | | | | | | | | | | | | | | | - Add scan_java_dir() helper to filter symlinks and scan directories - Implement find_mise_java() for ~/.local/share/mise/installs/java/ - Refactor find_sdkman_java() to scan candidates dir instead of 'current' - Fix import paths to use absolute crate::core::java:: paths - Add mise detection to Linux and macOS candidates Reviewed-by: Claude Sonnet 4.5
* | refactor: add TypeScript support to account storage structuresHsiangNianian2026-01-301-3/+21
| |
* | refactor: add TypeScript support to JavaConfig structHsiangNianian2026-01-301-3/+7
| |
* | refactor(java): add TypeScript support to Java data structuresHsiangNianian2026-01-301-4/+21
| |
* | refactor(java): enhance Adoptium structs with TypeScript supportHsiangNianian2026-01-301-5/+26
| |
* | fix: resolve rebase conflicts and compilation errorsBegonia, HE2026-01-295-138/+152
| | | | | | | | | | | | | | | | | | | | | | | | - Export JavaError from java module - Fix type mismatches in Adoptium provider methods - Add type annotations for reqwest json() calls - Remove non-existent cache_version field from JavaCatalog - Fix resolve_java_for_launch call signature (remove extra window param) - Add error conversion to String for Tauri commands - Fix import for save_catalog_cache in adoptium.rs Reviewed-by: Claude Sonnet 4.5
* | refactor(java): improve error handling and loggingBegonia, HE2026-01-295-20/+140
| | | | | | | | | | | | | | | | | | | | - Extract JavaError to dedicated error.rs module - Add serde defaults for JavaInstallation optional fields - Replace unwrap() with proper error propagation - Add detailed logging for Java resolution priority chain - Improve error mapping in validation (NotFound vs VerificationFailed) Reviewed-by: Claude Sonnet 4.5
* | feat(java): implement cache versioning, size limits, and automatic cleanupBegonia, HE2026-01-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add CACHE_VERSION constant for cache format compatibility tracking - Add MAX_CACHE_SIZE_BYTES limit (10 MB) to prevent unbounded cache growth - Add cache_version field to JavaCatalog struct with default value - Implement cache version validation in load_cached_catalog() - Implement cache size enforcement in save_catalog_cache() - Add cleanup_expired_caches() for background cache cleanup - Add enforce_cache_size_limit() to validate cache file sizes - Add is_cache_version_compatible() helper function - Automatically clean up expired caches on load and clear operations - Validate cache version before using cached data Fixes: - Cache expiration without automatic cleanup (now cleaned on load) - Missing cache version control (now validates format compatibility) - Unbounded cache size growth (now limited to 10 MB) Reviewed-by: Claude 3.5 Sonnet
* | feat(java): Enhance Java detection and error handlingBegonia, HE2026-01-294-33/+121
| | | | | | | | | | | | | | | | | | | | | | | | - Added support for detecting Java installations from SDKMAN! in `find_sdkman_java`. - Improved `run_which_command_with_timeout` to handle command timeouts gracefully. - Introduced a unified `JavaError` enum for consistent error handling across Java operations. - Updated functions to return `Result` types instead of `Option` for better error reporting. - Enhanced `load_cached_catalog` and `save_catalog_cache` to use `JavaError`. - Refactored `fetch_java_catalog`, `fetch_java_release`, and `fetch_available_versions` to return `JavaError`. - Improved validation functions to return detailed errors when checking Java installations. - Added tests for version parsing and compatibility checks. - Updated `resolve_java_for_launch` to handle instance-specific and global Java paths.
* | refactor(java): simplify version compatibility logic and improve error handlingBegonia, HE2026-01-296-182/+133
| | | | | | | | | | | | | | | | | | | | | | - Extract version compatibility check into shared validation function - Remove duplicated version checking code across multiple modules - Simplify Java detection timeout logic in detection.rs - Expand vendor detection to support more JDK distributions (Dragonwell, Kona, Semeru, BiSheng, etc.) - Refactor start_game to use priority-based Java resolution - Improve error handling in Adoptium provider task collection Reviewed-by: Claude Sonnet 4.5
* | refactor(java): replace unwrap with expect for better error handlingBegonia, HE2026-01-291-1/+6
| | | | | | | | | | | | Replace potentially panicking unwrap() call with expect() that includes a descriptive error message to aid debugging if the edge case occurs. Reviewed-by: Claude Sonnet 4.5
* | refactor(java): suppress dead code warnings and improve detectionBegonia, HE2026-01-294-16/+19
| | | | | | | | | | | | | | | | | | - Add #[allow(dead_code)] attributes to utility functions - Improve 64-bit detection with case-insensitive check - Support aarch64 architecture in bitness detection - Add TODO for future vendor expansion Reviewed-by: Claude Sonnet 4.5
* | refactor(java): address Sourcery AI code review feedbackBegonia, HE2026-01-294-84/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Centralize strip_unc_prefix into java/mod.rs to eliminate duplication across detection.rs and validation.rs - Remove unused JAVA_CHECK_TIMEOUT constant from validation.rs - Implement actual timeout mechanism in run_which_command_with_timeout() using try_wait() loop - Parallelize Adoptium API requests for better catalog fetch performance Fixes: - Multiple strip_unc_prefix implementations consolidated - Timeout constant now properly enforced in which/where command execution - Catalog fetching now uses concurrent tokio::spawn tasks instead of sequential await Reviewed-by: Claude Sonnet 4.5