2026-08-13 12:21:04 +08:00
|
|
|
mod direct_local_broker;
|
|
|
|
|
mod direct_local_session;
|
2026-08-13 12:45:35 +08:00
|
|
|
mod dynamic_capability_routing;
|
2026-08-13 13:52:59 +08:00
|
|
|
mod home_status;
|
2026-08-13 00:35:40 +08:00
|
|
|
mod local_development_bridge;
|
2026-08-13 13:17:30 +08:00
|
|
|
mod pncc_receipt_projection;
|
|
|
|
|
mod pncc_remote_git;
|
|
|
|
|
mod pncc_repository_binding;
|
2026-08-12 10:29:00 +08:00
|
|
|
mod release_trust;
|
2026-08-13 14:11:48 +08:00
|
|
|
mod release_update;
|
2026-08-12 10:29:00 +08:00
|
|
|
|
2026-08-13 12:21:04 +08:00
|
|
|
use tauri::Manager;
|
|
|
|
|
|
|
|
|
|
pub fn run_connector() -> Result<(), String> {
|
|
|
|
|
direct_local_broker::run_connector()
|
|
|
|
|
}
|
|
|
|
|
|
2026-08-12 10:29:00 +08:00
|
|
|
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
|
|
|
|
pub fn run() {
|
|
|
|
|
tauri::Builder::default()
|
2026-08-13 14:01:43 +08:00
|
|
|
.plugin(tauri_plugin_dialog::init())
|
2026-08-13 00:35:40 +08:00
|
|
|
.invoke_handler(tauri::generate_handler![
|
2026-08-13 13:52:59 +08:00
|
|
|
home_status::get_hololake_home_status,
|
2026-08-13 14:11:48 +08:00
|
|
|
release_update::check_hololake_update,
|
|
|
|
|
release_update::confirm_hololake_update_install,
|
2026-08-13 14:45:17 +08:00
|
|
|
release_update::get_hololake_release_recovery_status,
|
|
|
|
|
release_update::confirm_hololake_release_health,
|
|
|
|
|
release_update::rollback_hololake_update,
|
2026-08-13 12:21:04 +08:00
|
|
|
direct_local_session::issue_direct_local_discovery_ticket,
|
|
|
|
|
direct_local_session::open_direct_local_session,
|
|
|
|
|
direct_local_session::resume_direct_local_session,
|
|
|
|
|
direct_local_session::append_direct_local_session_event,
|
2026-08-13 00:35:40 +08:00
|
|
|
local_development_bridge::acquire_development_write_lane,
|
|
|
|
|
local_development_bridge::inspect_development_write_lane,
|
|
|
|
|
local_development_bridge::release_development_write_lane,
|
2026-08-13 13:17:30 +08:00
|
|
|
pncc_repository_binding::inspect_mounted_pncc_repository,
|
2026-08-13 14:01:43 +08:00
|
|
|
pncc_repository_binding::select_pncc_repository_candidate,
|
|
|
|
|
pncc_repository_binding::confirm_pncc_repository_mount,
|
2026-08-13 13:17:30 +08:00
|
|
|
pncc_receipt_projection::query_pncc_receipt_projection,
|
2026-08-13 00:35:40 +08:00
|
|
|
])
|
2026-08-12 10:29:00 +08:00
|
|
|
.setup(|app| {
|
2026-08-13 12:21:04 +08:00
|
|
|
let broker = direct_local_broker::start(app.handle())?;
|
|
|
|
|
app.manage(broker);
|
2026-08-12 10:29:00 +08:00
|
|
|
release_trust::install_updater_if_provisioned(app.handle())?;
|
2026-08-13 14:45:17 +08:00
|
|
|
if let Err(error) = release_update::observe_release_startup(app.handle()) {
|
|
|
|
|
eprintln!("HoloLake update recovery requires maintenance: {error}");
|
|
|
|
|
}
|
2026-08-12 10:29:00 +08:00
|
|
|
Ok(())
|
|
|
|
|
})
|
|
|
|
|
.run(tauri::generate_context!())
|
|
|
|
|
.expect("failed to run HoloLake native desktop");
|
|
|
|
|
}
|