fix: 修复实例分组无法保存的问题

direct-link(外部 .minecraft 关联)同步逻辑会把来源路径当作分组名
写入 instance_groups 表,每次同步都覆盖用户手动设置的分组,导致
分组当场生效、重启丢失。

移除三处 direct-link 相关的来源分组写入,使 instance_groups 表
专属于用户分组:
- sync_direct_link_instances: 同步时不再覆盖 groups
- create_direct_link_instance: 建实例时不再写来源分组
- launcher::promote_external_instance_link: 提升外部实例时不再写分组
This commit is contained in:
AxTps committed 2026-10-06 09:50:01 +08:00
1 parent 748d24b264
commit 20d5d2baab
3 files changed
+3 -27

No files matched your search

-9
View File
@@ -1,5 +1,4 @@
//! Logic for launching Minecraft
use crate::api::pack::import::direct_link::direct_link_group;
use crate::data::ModLoader;
use crate::event::emit::{emit_instance, emit_loading, init_loading};
use crate::event::{InstancePayloadType, LoadingBarType};
@@ -717,14 +716,6 @@ async fn promote_external_instance_link(
&mut tx,
)
.await?;
if let Some(group) = direct_link_group(&direct.dot_minecraft) {
crate::state::instances::adapters::sqlite::instance_rows::replace_instance_groups(
&instance.id,
&[group],
&mut tx,
)
.await?;
}
tx.commit().await?;
emit_instance(&instance.id, InstancePayloadType::Edited).await?;
Ok(())