Send os_version and country to amplitude (#20936)

Conrad Irwin created

Release Notes:

- N/A

Change summary

crates/client/src/telemetry.rs  | 2 ++
crates/collab/src/api/events.rs | 8 ++++----
2 files changed, 6 insertions(+), 4 deletions(-)

Detailed changes

crates/client/src/telemetry.rs 🔗

@@ -224,6 +224,8 @@ impl Telemetry {
         cx.background_executor()
             .spawn({
                 let state = state.clone();
+                let os_version = os_version();
+                state.lock().os_version = Some(os_version.clone());
                 async move {
                     if let Some(tempfile) = File::create(Self::log_file_path()).log_err() {
                         state.lock().log_file = Some(tempfile);

crates/collab/src/api/events.rs 🔗

@@ -1555,15 +1555,15 @@ fn for_snowflake(
             );
             map.insert("signed_in".to_string(), event.signed_in.into());
             if let Some(country_code) = country_code.as_ref() {
-                map.insert("country_code".to_string(), country_code.clone().into());
+                map.insert("country".to_string(), country_code.clone().into());
             }
         }
 
+        // NOTE: most amplitude user properties are read out of our event_properties
+        // dictionary. See https://app.amplitude.com/data/zed/Zed/sources/detail/production/falcon%3A159998
+        // for how that is configured.
         let user_properties = Some(serde_json::json!({
             "is_staff": body.is_staff,
-            "Country": country_code.clone(),
-            "OS": format!("{} {}", body.os_name, body.os_version.clone().unwrap_or_default()),
-            "Version": body.app_version.clone(),
         }));
 
         Some(SnowflakeRow {