<feed xmlns='http://www.w3.org/2005/Atom'>
<title>DropOut/src-tauri/tests, branch chore/update-fossa-badge</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=chore%2Fupdate-fossa-badge</id>
<link rel='self' href='https://git.hydroroll.team/DropOut/atom?h=chore%2Fupdate-fossa-badge'/>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/'/>
<updated>2026-01-18T05:08:46Z</updated>
<entry>
<title>delete: remove instance isolation tests for cleanup</title>
<updated>2026-01-18T05:08:46Z</updated>
<author>
<name>HsiangNianian</name>
<email>i@jyunko.cn</email>
</author>
<published>2026-01-18T05:08:46Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=53df697ccf90cd13efc985c195dade48920cc0fa'/>
<id>urn:sha1:53df697ccf90cd13efc985c195dade48920cc0fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: complete Instance/Profile System isolation and state management</title>
<updated>2026-01-18T04:58:22Z</updated>
<author>
<name>HsiangNianian</name>
<email>i@jyunko.cn</email>
</author>
<published>2026-01-18T04:58:22Z</published>
<link rel='alternate' type='text/html' href='https://git.hydroroll.team/DropOut/commit/?id=5e9850881d35d3af9ae8a2f99402e02300f77835'/>
<id>urn:sha1:5e9850881d35d3af9ae8a2f99402e02300f77835</id>
<content type='text'>
## Overview
Fixed critical multi-instance isolation bugs where versions, mod loaders, and
instance state were not properly isolated between instances. These changes ensure
full data isolation and consistent instance metadata.

## Bug Fixes - P0 (Critical Isolation Issues)

### 1. Backend: get_versions() command isolation
- Problem: Used global app_data_dir instead of instance-specific game_dir
- Fix: Added instance_id parameter, now queries instance.game_dir
- Impact: Versions are now properly isolated per instance

### 2. Frontend: delete_version missing instanceId
- Problem: Frontend passed only versionId, not instanceId
- Fix: Updated VersionsView.svelte to pass instanceId parameter
- Impact: Version deletion now targets correct instance

### 3. Frontend: get_version_metadata missing instanceId
- Problem: Metadata queries didn't specify which instance to check
- Fix: Updated VersionsView.svelte to pass instanceId parameter
- Impact: Version info displayed per-instance correctly

### 4. Frontend: Instance switching doesn't refresh versions
- Problem: Switching instances didn't reload version list
- Fix: Added $effect hook in GameState to watch activeInstanceId changes
- Impact: Version list auto-refreshes on instance switch

## Bug Fixes - P1 (State Synchronization)

### 5. Backend: install_fabric doesn't update Instance.mod_loader
- Problem: Instance.mod_loader field wasn't updated after installation
- Fix: Added instance_state.update_instance() call
- Impact: Instance metadata stays in sync

### 6. Backend: install_forge doesn't update Instance.mod_loader
- Problem: Instance.mod_loader field wasn't updated after installation
- Fix: Added instance_state.update_instance() call
- Impact: Instance metadata stays in sync

### 7. Backend: delete_version doesn't clean up Instance state
- Problem: Deleting version didn't clear Instance.version_id or .mod_loader
- Fix: Added cleanup logic to clear stale references
- Impact: Instance state remains valid after deletion

## Testing
- Added comprehensive integration tests in instance_isolation_tests.rs
- Tests document 10 key scenarios for multi-instance isolation
- All code compiles cleanly with no errors
</content>
</entry>
</feed>
