zed: Fix session ID mismatching for workspace and telemetry (#43659)
I don't think this caused any problems for us but you never know ... Release Notes: - N/A *or* Added/Fixed/Improved ...
This commit is contained in:
@@ -3,7 +3,6 @@ use std::time::Duration;
|
|||||||
use db::kvp::KEY_VALUE_STORE;
|
use db::kvp::KEY_VALUE_STORE;
|
||||||
use gpui::{App, AppContext as _, Context, Subscription, Task, WindowId};
|
use gpui::{App, AppContext as _, Context, Subscription, Task, WindowId};
|
||||||
use util::ResultExt;
|
use util::ResultExt;
|
||||||
use uuid::Uuid;
|
|
||||||
|
|
||||||
pub struct Session {
|
pub struct Session {
|
||||||
session_id: String,
|
session_id: String,
|
||||||
@@ -15,11 +14,9 @@ const SESSION_ID_KEY: &str = "session_id";
|
|||||||
const SESSION_WINDOW_STACK_KEY: &str = "session_window_stack";
|
const SESSION_WINDOW_STACK_KEY: &str = "session_window_stack";
|
||||||
|
|
||||||
impl Session {
|
impl Session {
|
||||||
pub async fn new() -> Self {
|
pub async fn new(session_id: String) -> Self {
|
||||||
let old_session_id = KEY_VALUE_STORE.read_kvp(SESSION_ID_KEY).ok().flatten();
|
let old_session_id = KEY_VALUE_STORE.read_kvp(SESSION_ID_KEY).ok().flatten();
|
||||||
|
|
||||||
let session_id = Uuid::new_v4().to_string();
|
|
||||||
|
|
||||||
KEY_VALUE_STORE
|
KEY_VALUE_STORE
|
||||||
.write_kvp(SESSION_ID_KEY.to_string(), session_id.clone())
|
.write_kvp(SESSION_ID_KEY.to_string(), session_id.clone())
|
||||||
.await
|
.await
|
||||||
@@ -43,10 +40,10 @@ impl Session {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// #[cfg(any(test, feature = "test-support"))]
|
#[cfg(any(test, feature = "test-support"))]
|
||||||
pub fn test() -> Self {
|
pub fn test() -> Self {
|
||||||
Self {
|
Self {
|
||||||
session_id: Uuid::new_v4().to_string(),
|
session_id: uuid::Uuid::new_v4().to_string(),
|
||||||
old_session_id: None,
|
old_session_id: None,
|
||||||
old_window_ids: None,
|
old_window_ids: None,
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-5
@@ -287,14 +287,16 @@ pub fn main() {
|
|||||||
|
|
||||||
let app = Application::new().with_assets(Assets);
|
let app = Application::new().with_assets(Assets);
|
||||||
|
|
||||||
let system_id = app.background_executor().block(system_id()).ok();
|
let system_id = app.background_executor().spawn(system_id());
|
||||||
let installation_id = app.background_executor().block(installation_id()).ok();
|
let installation_id = app.background_executor().spawn(installation_id());
|
||||||
let session_id = Uuid::new_v4().to_string();
|
let session_id = Uuid::new_v4().to_string();
|
||||||
let session = app.background_executor().block(Session::new());
|
let session = app
|
||||||
|
.background_executor()
|
||||||
|
.spawn(Session::new(session_id.clone()));
|
||||||
|
|
||||||
app.background_executor()
|
app.background_executor()
|
||||||
.spawn(crashes::init(InitCrashHandler {
|
.spawn(crashes::init(InitCrashHandler {
|
||||||
session_id: session_id.clone(),
|
session_id,
|
||||||
zed_version: app_version.to_string(),
|
zed_version: app_version.to_string(),
|
||||||
binary: "zed".to_string(),
|
binary: "zed".to_string(),
|
||||||
release_channel: release_channel::RELEASE_CHANNEL_NAME.clone(),
|
release_channel: release_channel::RELEASE_CHANNEL_NAME.clone(),
|
||||||
@@ -505,11 +507,16 @@ pub fn main() {
|
|||||||
debugger_ui::init(cx);
|
debugger_ui::init(cx);
|
||||||
debugger_tools::init(cx);
|
debugger_tools::init(cx);
|
||||||
client::init(&client, cx);
|
client::init(&client, cx);
|
||||||
|
|
||||||
|
let system_id = cx.background_executor().block(system_id).ok();
|
||||||
|
let installation_id = cx.background_executor().block(installation_id).ok();
|
||||||
|
let session = cx.background_executor().block(session);
|
||||||
|
|
||||||
let telemetry = client.telemetry();
|
let telemetry = client.telemetry();
|
||||||
telemetry.start(
|
telemetry.start(
|
||||||
system_id.as_ref().map(|id| id.to_string()),
|
system_id.as_ref().map(|id| id.to_string()),
|
||||||
installation_id.as_ref().map(|id| id.to_string()),
|
installation_id.as_ref().map(|id| id.to_string()),
|
||||||
session_id.clone(),
|
session.id().to_owned(),
|
||||||
cx,
|
cx,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user