diff --git a/src-tauri/src/launcher.rs b/src-tauri/src/launcher.rs index 310ecaf..0399158 100644 --- a/src-tauri/src/launcher.rs +++ b/src-tauri/src/launcher.rs @@ -2164,7 +2164,23 @@ impl Launcher { // comes up on the DHP's data instead of switching a moment later. let live_mode = config.upstream_url.is_some(); if live_mode { - let token = self.site_access_token(app).await.ok(); + let token = match self.site_access_token(app).await { + Ok(token) => Some(token), + Err(why) => { + // Said out loud: the operator named in launcher.json travels with a drive, the + // sign-in (Credential Manager) does not. A drive moved to another PC launches + // there as its operator and quietly shows that PC's data - the API's log was the + // only place that said "no DHP sign-in yet". + self.log( + app, + "warn", + format!( + "No DHP sign-in on this PC ({why}): ODIAN shows this PC's own data - no live aircraft, no tiles from the site. Stop ODIAN and sign in; a sign-in is kept per PC, so a drive moved to another one needs it there too." + ), + ); + None + } + }; self.write_upstream_token(&config.layout, token.as_deref()); } else { // No upstream means none: a token left behind by a run that ended without clearing