<feed xmlns='http://www.w3.org/2005/Atom'>
<title>DropOut/src-tauri/Cargo.toml, branch dev</title>
<subtitle>This is a new Minecraft launcher that is currently in development. It is designed to be a modern, fast and efficient launcher. It is written in Rust. Aims to be a Reproducible Minecraft Workspace Manager.</subtitle>
<id>https://git.hydroroll.team/DropOut/atom?h=dev</id>
<link rel='self' href='https://git.hydroroll.team/DropOut/atom?h=dev'/>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/'/>
<updated>2026-02-15T08:34:35Z</updated>
<entry>
<title>Fix Windows MinGW linker error with COFF resource compilation (#96)</title>
<updated>2026-02-15T08:34:35Z</updated>
<author>
<name>Copilot</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2026-02-15T08:34:35Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=9c1dda2652f7abc2a562d6c1b513d5b6915167ad'/>
<id>urn:sha1:9c1dda2652f7abc2a562d6c1b513d5b6915167ad</id>
<content type='text'>
# 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

&lt;!-- START COPILOT ORIGINAL PROMPT --&gt;



&lt;details&gt;

&lt;summary&gt;Original prompt&lt;/summary&gt;

&gt; ## Problem
&gt; 
&gt; The Windows x86_64-pc-windows-gnu build is failing in the CI/CD
pipeline with a linker error:
&gt; 
&gt; ```
&gt; error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1
&gt; 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
&gt; ```
&gt; 
&gt; 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.
&gt; 
&gt; **Failing Job:** https://github.com/HydroRoll-Team/DropOut/actions
(Job ID: 63620685213)
&gt; **Commit:** e6eb1bd0111d40b3b1fd39fafd583ce5dbf30f03
&gt; **Target:** x86_64-pc-windows-gnu
&gt; 
&gt; ## Solution
&gt; 
&gt; Update the `build.rs` file to conditionally use `embed-resource` crate
when building for the GNU toolchain, which properly generates
MinGW-compatible resource files.
&gt; 
&gt; ### Changes Required
&gt; 
&gt; 1. **Update `src-tauri/Cargo.toml`**: Add `embed-resource` as a build
dependency for Windows GNU targets
&gt; 2. **Update `src-tauri/build.rs`**: Implement conditional resource
compilation:
&gt;    - Use `embed-resource` for `x86_64-pc-windows-gnu` target
&gt;    - Continue using default `tauri-build` for MSVC targets
&gt; 
&gt; ### Implementation Details
&gt; 
&gt; **src-tauri/Cargo.toml** - Add to `[build-dependencies]`:
&gt; ```toml
&gt; [build-dependencies]
&gt; tauri-build = { version = "2.0", features = [] }
&gt; embed-resource = "2.4"
&gt; ```
&gt; 
&gt; **src-tauri/build.rs** - Replace current content:
&gt; ```rust
&gt; fn main() {
&gt; // For MinGW targets, use embed-resource to generate proper COFF
format
&gt;     #[cfg(all(windows, target_env = "gnu"))]
&gt;     {
&gt;         embed_resource::compile("icon.rc", embed_resource::NONE);
&gt;     }
&gt;     
&gt;     tauri_build::build()
&gt; }
&gt; ```
&gt; 
&gt; If `icon.rc` doesn't exist, create **src-tauri/icon.rc**:
&gt; ```rc
&gt; 1 ICON "icons/icon.ico"
&gt; ```
&gt; 
&gt; ### Testing
&gt; 
&gt; After this fix:
&gt; - Windows MSVC builds should continue working as before
&gt; - Windows GNU (MinGW) builds should successfully link without the
"file format not recognized" error
&gt; - The generated resource.lib will be in COFF format compatible with
`x86_64-w64-mingw32-gcc`
&gt; 
&gt; ### References
&gt; 
&gt; - Tauri issue tracker (similar issues):
https://github.com/tauri-apps/tauri/issues
&gt; - embed-resource crate: https://crates.io/crates/embed-resource
&gt; - MinGW resource compilation:
https://sourceforge.net/p/mingw-w64/wiki2/windres/
&gt; 


&lt;/details&gt;



&lt;!-- START COPILOT CODING AGENT SUFFIX --&gt;

*This pull request was created from Copilot chat.*
&gt;

&lt;!-- START COPILOT CODING AGENT TIPS --&gt;
---

✨ Let Copilot coding agent [set things up for
you](https://github.com/HydroRoll-Team/DropOut/issues/new?title=✨+Set+up+Copilot+instructions&amp;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&amp;assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

Co-authored-by: copilot-swe-agent[bot] &lt;198982749+Copilot@users.noreply.github.com&gt;
Co-authored-by: HsiangNianian &lt;44714368+HsiangNianian@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Merge branch 'main' into chore/migrate-repository</title>
<updated>2026-01-19T03:06:38Z</updated>
<author>
<name>苏向夜</name>
<email>46275354+fu050409@users.noreply.github.com</email>
</author>
<published>2026-01-19T03:06:38Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=f5560d7e8abe4a41c5f959cb6eb888f6aef6ca65'/>
<id>urn:sha1:f5560d7e8abe4a41c5f959cb6eb888f6aef6ca65</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(release): bump versions</title>
<updated>2026-01-19T02:50:40Z</updated>
<author>
<name>github-actions[bot]</name>
<email>github-actions[bot]@users.noreply.github.com</email>
</author>
<published>2026-01-18T16:41:01Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=549b4b443f12c5dd22c020dcec1e0e88c2202d13'/>
<id>urn:sha1:549b4b443f12c5dd22c020dcec1e0e88c2202d13</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: migrate repository from HsiangNianian to HydroRoll-Team</title>
<updated>2026-01-18T19:22:40Z</updated>
<author>
<name>Begonia, HE</name>
<email>163421589+BegoniaHe@users.noreply.github.com</email>
</author>
<published>2026-01-18T19:22:40Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=ee767338d6db510ef15d6b8cc11f6fb9a6215a43'/>
<id>urn:sha1:ee767338d6db510ef15d6b8cc11f6fb9a6215a43</id>
<content type='text'>
- Updated repository URL in Cargo.toml

- Updated GitHub API endpoint in main.rs

- Updated commit links in HomeView.svelte

- Updated issue template links in config.yml

Reviewed-by: Claude Sonnet 4.5
</content>
</entry>
<entry>
<title>chore(tauri): mark tauri crate as private</title>
<updated>2026-01-18T16:34:03Z</updated>
<author>
<name>苏向夜</name>
<email>fu050409@163.com</email>
</author>
<published>2026-01-18T16:34:03Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=f57b6639424eb0258292870512e78c0670d3b94d'/>
<id>urn:sha1:f57b6639424eb0258292870512e78c0670d3b94d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ci(semifold): prepare for alpha release</title>
<updated>2026-01-18T10:24:09Z</updated>
<author>
<name>苏向夜</name>
<email>fu050409@163.com</email>
</author>
<published>2026-01-18T10:24:09Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=e7ac28c6b8467a8fca0a3b61ba498e4742d3a718'/>
<id>urn:sha1:e7ac28c6b8467a8fca0a3b61ba498e4742d3a718</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: add regex dependency version 1.12.2 to Cargo.toml</title>
<updated>2026-01-18T04:06:24Z</updated>
<author>
<name>HsiangNianian</name>
<email>i@jyunko.cn</email>
</author>
<published>2026-01-18T04:06:24Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=6d82ab2275130f3bafdb7ec664297eb700321526'/>
<id>urn:sha1:6d82ab2275130f3bafdb7ec664297eb700321526</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: bump version to 0.1.26 in Cargo.toml and tauri.conf.json</title>
<updated>2026-01-16T13:03:36Z</updated>
<author>
<name>HsiangNianian</name>
<email>i@jyunko.cn</email>
</author>
<published>2026-01-16T13:03:36Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=ef59aae63b171353d22aa0c7a684cbf335694b58'/>
<id>urn:sha1:ef59aae63b171353d22aa0c7a684cbf335694b58</id>
<content type='text'>
Updated the version number in both Cargo.toml and tauri.conf.json to reflect the new release version 0.1.26. This change ensures consistency across project configuration files.
</content>
</entry>
<entry>
<title>feat: implement instance management features and enhance game launch process</title>
<updated>2026-01-16T12:24:53Z</updated>
<author>
<name>HsiangNianian</name>
<email>i@jyunko.cn</email>
</author>
<published>2026-01-16T12:24:53Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=853f40dc13e6463bedf30e2471a71bd011be425b'/>
<id>urn:sha1:853f40dc13e6463bedf30e2471a71bd011be425b</id>
<content type='text'>
Added functionality for managing game instances, including creating, deleting, updating, and duplicating instances. Integrated instance selection into the game launch process, allowing users to specify the instance when starting a game. Updated the main application logic to handle instance states and paths, ensuring proper directory management for each instance. Introduced a new module for instance management and updated relevant commands to support instance-specific operations.
</content>
</entry>
<entry>
<title>feat: enhance Java version management for Minecraft versions</title>
<updated>2026-01-16T10:42:12Z</updated>
<author>
<name>HsiangNianian</name>
<email>i@jyunko.cn</email>
</author>
<published>2026-01-16T10:38:47Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=1119f6c3cf421da2f2db92873efae8135c76b678'/>
<id>urn:sha1:1119f6c3cf421da2f2db92873efae8135c76b678</id>
<content type='text'>
Added functionality to determine and validate the required Java version for Minecraft versions, including checks for compatibility with older versions. Implemented event emissions for version installation and deletion, and updated the UI to reflect Java version requirements and installation status. Improved version metadata handling and added support for deleting versions.
</content>
</entry>
</feed>
