fix: 完善整合包同步与启动器交互
Axolotl desktop CI / guardrails (push) Has been cancelled
Repository checks / typos (push) Has been cancelled
Repository checks / tombi (push) Has been cancelled
Rust checks / shear (push) Has been cancelled
Sync source to CNB / Sync Git ref (push) Has been cancelled
Axolotl desktop CI / desktop (macos-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (ubuntu-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (windows-latest) (push) Has been cancelled
Axolotl desktop CI / website (push) Has been cancelled
Sync LobeHub models / sync (push) Has been cancelled

This commit is contained in:
Disy committed 2026-09-16 17:01:22 +08:00
1 parent bd09fed0ed
commit 51fb0c30f7
45 files changed
+1804 -219

No files matched your search

+16 -3
View File
@@ -78,19 +78,32 @@ async fn run_with_extra_launch_args_inner(
let _hosted_guard =
crate::pack::hosted::prepare_launch(instance_id, offline_mode).await?;
let state = State::get().await?;
let launch_preparation_timeout =
let context =
crate::state::instances::commands::get_instance_launch_context(
instance_id,
&state.pool,
)
.await?
.await?;
let launch_preparation_timeout = context
.as_ref()
.and_then(|context| context.launch_overrides.launch_preparation_timeout)
.unwrap_or(DEFAULT_LAUNCH_PREPARATION_TIMEOUT)
.clamp(
MIN_LAUNCH_PREPARATION_TIMEOUT,
MAX_LAUNCH_PREPARATION_TIMEOUT,
);
let default_account = if offline_mode {
let saved_player = context
.as_ref()
.and_then(|context| context.launch_overrides.player.as_ref());
let default_account = if let Some(player) = saved_player {
if offline_mode
&& player.account_type
!= crate::state::MinecraftAccountType::Offline
{
return Err(crate::ErrorKind::InputError("当前实例绑定的是在线玩家,请恢复网络后启动,或在实例设置中手动切换玩家".into()).as_error());
}
Credentials::for_instance_player(player, &state.pool).await?
} else if offline_mode {
Credentials::get_offline_credential(&state.pool)
.await?
.ok_or_else(|| {