Pre-fill body of email with system specs (#27210)
I think we still want to be able to easily capture system spec info from users. They can decide if they want to include it or not. Release Notes: - N/A
This commit is contained in:
parent
27ebedf517
commit
7931b1d345
1 changed files with 22 additions and 4 deletions
|
@ -22,8 +22,6 @@ const ZED_REPO_URL: &str = "https://github.com/zed-industries/zed";
|
|||
|
||||
const REQUEST_FEATURE_URL: &str = "https://github.com/zed-industries/zed/discussions/new/choose";
|
||||
|
||||
const EMAIL_ZED_URL: &str = "mailto:hi@zed.dev";
|
||||
|
||||
fn file_bug_report_url(specs: &SystemSpecs) -> String {
|
||||
format!(
|
||||
concat!(
|
||||
|
@ -37,6 +35,18 @@ fn file_bug_report_url(specs: &SystemSpecs) -> String {
|
|||
)
|
||||
}
|
||||
|
||||
fn email_zed_url(specs: &SystemSpecs) -> String {
|
||||
format!(
|
||||
concat!("mailto:hi@zed.dev", "?", "body={}"),
|
||||
email_body(specs)
|
||||
)
|
||||
}
|
||||
|
||||
fn email_body(specs: &SystemSpecs) -> String {
|
||||
let body = format!("\n\nSystem Information:\n\n{}", specs);
|
||||
urlencoding::encode(&body).to_string()
|
||||
}
|
||||
|
||||
pub fn init(cx: &mut App) {
|
||||
cx.observe_new(|workspace: &mut Workspace, window, cx| {
|
||||
let Some(window) = window else {
|
||||
|
@ -79,8 +89,16 @@ pub fn init(cx: &mut App) {
|
|||
})
|
||||
.detach();
|
||||
})
|
||||
.register_action(move |_, _: &EmailZed, _, cx| {
|
||||
cx.open_url(EMAIL_ZED_URL);
|
||||
.register_action(move |_, _: &EmailZed, window, cx| {
|
||||
let specs = SystemSpecs::new(window, cx);
|
||||
cx.spawn_in(window, async move |_, cx| {
|
||||
let specs = specs.await;
|
||||
cx.update(|_, cx| {
|
||||
cx.open_url(&email_zed_url(&specs));
|
||||
})
|
||||
.log_err();
|
||||
})
|
||||
.detach();
|
||||
})
|
||||
.register_action(move |_, _: &OpenZedRepo, _, cx| {
|
||||
cx.open_url(ZED_REPO_URL);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue