fix(desktop): allow public world before account login

This commit is contained in:
冰朔 2026-08-16 22:11:08 +08:00
commit 466542ac93
6 changed files with 89 additions and 6 deletions

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: AGPL-3.0-or-later
use crate::direct_local_broker::DirectLocalBrokerHandle;
use crate::direct_local_broker::DirectLocalBrokerState;
use crate::direct_local_session::{active_session_count_at, direct_session_root};
use crate::pncc_receipt_projection::{pncc_projection_root, projection_event_count_at};
use crate::pncc_repository_binding::{mounted_repository_count_at, pncc_repository_mount_root};
@ -26,8 +26,23 @@ pub struct HoloLakeHomeStatus {
#[tauri::command]
pub fn get_hololake_home_status(
app: AppHandle,
broker: State<'_, DirectLocalBrokerHandle>,
broker: State<'_, DirectLocalBrokerState>,
) -> Result<HoloLakeHomeStatus, String> {
let broker_ready = broker.ensure_started(&app)?;
if !broker_ready {
return Ok(HoloLakeHomeStatus {
schema: "hololake.home-status/v1",
direct_local_broker_state: "WAITING_FOR_LOGIN",
direct_connection_count: 0,
resumable_session_count: 0,
code_repository_mount_count: 0,
pncc_receipt_count: 0,
update_state: release_trust_state()?,
release_recovery_state: crate::release_update::release_recovery_state(&app)?,
automatic_upstream_updates: false,
mcp_role: "DISCOVERY_RECOVERY_COMPATIBILITY_ONLY",
});
}
let session_root = direct_session_root(&app)?;
let mount_root = pncc_repository_mount_root(&app)?;
let projection_root = pncc_projection_root(&app)?;