Include is_staff
boolean in in-app feedback
This commit is contained in:
parent
582f5d0114
commit
37c052f53d
3 changed files with 14 additions and 0 deletions
|
@ -1324,6 +1324,10 @@ impl Client {
|
||||||
pub fn metrics_id(&self) -> Option<Arc<str>> {
|
pub fn metrics_id(&self) -> Option<Arc<str>> {
|
||||||
self.telemetry.metrics_id()
|
self.telemetry.metrics_id()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_staff(&self) -> Option<bool> {
|
||||||
|
self.telemetry.is_staff()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl WeakSubscriber {
|
impl WeakSubscriber {
|
||||||
|
|
|
@ -40,6 +40,7 @@ struct TelemetryState {
|
||||||
next_event_id: usize,
|
next_event_id: usize,
|
||||||
flush_task: Option<Task<()>>,
|
flush_task: Option<Task<()>>,
|
||||||
log_file: Option<NamedTempFile>,
|
log_file: Option<NamedTempFile>,
|
||||||
|
is_staff: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
const MIXPANEL_EVENTS_URL: &'static str = "https://api.mixpanel.com/track";
|
const MIXPANEL_EVENTS_URL: &'static str = "https://api.mixpanel.com/track";
|
||||||
|
@ -125,6 +126,7 @@ impl Telemetry {
|
||||||
flush_task: Default::default(),
|
flush_task: Default::default(),
|
||||||
next_event_id: 0,
|
next_event_id: 0,
|
||||||
log_file: None,
|
log_file: None,
|
||||||
|
is_staff: None,
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -202,6 +204,7 @@ impl Telemetry {
|
||||||
let device_id = state.device_id.clone();
|
let device_id = state.device_id.clone();
|
||||||
let metrics_id: Option<Arc<str>> = metrics_id.map(|id| id.into());
|
let metrics_id: Option<Arc<str>> = metrics_id.map(|id| id.into());
|
||||||
state.metrics_id = metrics_id.clone();
|
state.metrics_id = metrics_id.clone();
|
||||||
|
state.is_staff = Some(is_staff);
|
||||||
drop(state);
|
drop(state);
|
||||||
|
|
||||||
if let Some((token, device_id)) = MIXPANEL_TOKEN.as_ref().zip(device_id) {
|
if let Some((token, device_id)) = MIXPANEL_TOKEN.as_ref().zip(device_id) {
|
||||||
|
@ -282,6 +285,10 @@ impl Telemetry {
|
||||||
self.state.lock().metrics_id.clone()
|
self.state.lock().metrics_id.clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_staff(self: &Arc<Self>) -> Option<bool> {
|
||||||
|
self.state.lock().is_staff
|
||||||
|
}
|
||||||
|
|
||||||
fn flush(self: &Arc<Self>) {
|
fn flush(self: &Arc<Self>) {
|
||||||
let mut state = self.state.lock();
|
let mut state = self.state.lock();
|
||||||
let mut events = mem::take(&mut state.queue);
|
let mut events = mem::take(&mut state.queue);
|
||||||
|
|
|
@ -96,6 +96,7 @@ struct FeedbackRequestBody<'a> {
|
||||||
feedback_text: &'a str,
|
feedback_text: &'a str,
|
||||||
metrics_id: Option<Arc<str>>,
|
metrics_id: Option<Arc<str>>,
|
||||||
system_specs: SystemSpecs,
|
system_specs: SystemSpecs,
|
||||||
|
is_staff: bool,
|
||||||
token: &'a str,
|
token: &'a str,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,12 +206,14 @@ impl FeedbackEditor {
|
||||||
let feedback_endpoint = format!("{}/api/feedback", *ZED_SERVER_URL);
|
let feedback_endpoint = format!("{}/api/feedback", *ZED_SERVER_URL);
|
||||||
|
|
||||||
let metrics_id = zed_client.metrics_id();
|
let metrics_id = zed_client.metrics_id();
|
||||||
|
let is_staff = zed_client.is_staff();
|
||||||
let http_client = zed_client.http_client();
|
let http_client = zed_client.http_client();
|
||||||
|
|
||||||
let request = FeedbackRequestBody {
|
let request = FeedbackRequestBody {
|
||||||
feedback_text: &feedback_text,
|
feedback_text: &feedback_text,
|
||||||
metrics_id,
|
metrics_id,
|
||||||
system_specs,
|
system_specs,
|
||||||
|
is_staff: is_staff.unwrap_or(false),
|
||||||
token: ZED_SECRET_CLIENT_TOKEN,
|
token: ZED_SECRET_CLIENT_TOKEN,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue