feat: 跨实例同步移植第5轮(orchestration 及循环依赖解耦)
Sync source to CNB / Sync Git ref (push) Has been cancelled

- orchestration.rs:同步子系统编排核心(能力判定/全局与实例开关/重协调)

- command_history.rs + hotbars.rs:命令历史与创造模式快捷栏同步

- synced_packs_axolotl.rs:资源包/数据包共享投影(单文件实现)

- resource_pack_options.rs:resourcesPacks 列表读写与合并(synced_packs 依赖)

- 解决循环依赖:synced_options_path 归入 files.rs;SyncedOptionJoinResolution 归入 pending.rs

- instance_rows 补 set_instance_sync_preference;api/instance/mod.rs 补 synced_packs 内联模块与三块 pub use

- 6 处 sqlx::query! 宏改写为非宏

已知:未编译验证;local_settings_editor 尚未搬入。
This commit is contained in:
AxTps committed 2026-10-04 07:38:10 +08:00
1 parent ed61a5942c
commit 6e9485c2f5
9 files changed
+3739 -1

No files matched your search

+37
View File
@@ -17,6 +17,13 @@ mod screenshot_groups;
mod screenshots;
mod upgrade;
pub(crate) mod synced_options;
pub(crate) mod synced_packs {
pub(crate) use super::synced_packs_axolotl::{
capture_resource_pack_selection_change, detach,
prepare_instance_update, reconcile, seed_from_instance,
};
}
mod synced_packs_axolotl;
pub(crate) mod synced_servers;
pub use self::backup::{
@@ -116,6 +123,36 @@ pub use self::screenshots::{
list_all_screenshots, list_screenshots, list_synced_screenshots,
move_screenshots, save_edited_screenshot,
};
pub(crate) use self::synced_options::game_options::{
apply_launcher_overrides as apply_game_options_launcher_overrides,
sync_before_launch as sync_game_options_before_launch,
};
pub use self::synced_options::{
GlobalSyncedOptions, SyncedOptionCapability, SyncedOptionJoinAction,
SyncedOptionJoinPreview, SyncedOptionJoinResolution, SyncedOptionsOverview,
get_capabilities as get_synced_option_capabilities,
get_command_history as get_synced_command_history,
get_global_options as get_global_synced_options,
get_initialized_options as get_initialized_synced_options,
get_instance_option_join_preview as get_synced_option_join_preview,
get_overview as get_synced_options_overview,
set_command_history as set_synced_command_history,
set_global_option as set_global_synced_option,
set_instance_option as set_instance_synced_option,
};
pub(crate) use self::synced_options::{
reconcile_changed_file as reconcile_synced_option_file,
remove_generated_instance_files,
};
pub use self::synced_packs_axolotl::{
PackSyncPreview, PackSyncTarget, desync_pack, get_pack_sync_preview,
list_synced_packs, remove_synced_pack, set_synced_pack_enabled, sync_pack,
upload_synced_pack,
};
pub use self::synced_servers::{
DesyncServerMode, ServerSource, SyncedServer, desync_server,
list_synced_servers, remove_synced_server, update_synced_server,
};
pub use self::upgrade::{
dismiss_instance_post_upgrade_notice, execute_instance_upgrade,
get_instance_post_upgrade_notice, get_instance_upgrade_plan,