Skip to content

Commit

Permalink
Improve GitHub Issue template for Environment (#22147)
Browse files Browse the repository at this point in the history
Add support for pre-filling feature request template from zed::RequestFeature action.

Co-authored-by: Agus <[email protected]>
  • Loading branch information
notpeter and agu-z authored Dec 17, 2024
1 parent ba44db7 commit 5b2653a
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 8 deletions.
7 changes: 5 additions & 2 deletions .github/ISSUE_TEMPLATE/0_feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,11 @@ body:
- type: textarea
id: environment
attributes:
label: Environment
description: Run the `copy system specs into clipboard` command palette action and paste the output in the field below. If you are unable to run the command, please include your Zed version and release channel, operating system and version, RAM amount, and architecture.
label: Zed Version and System Specs
description: Zed version, release channel, architecture (x86_64 or aarch64), OS (macOS version / Linux distro and version) and RAM amount.
placeholder: |
<!-- In Zed run `copy system specs into clipboard` from the Zed command palette and paste here. -->
<!-- Alternatively spawn `request feature` and this field will be autopopulated -->
validations:
required: true
- type: textarea
Expand Down
9 changes: 7 additions & 2 deletions .github/ISSUE_TEMPLATE/1_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,13 @@ body:
- type: textarea
id: environment
attributes:
label: Environment
description: Run the `copy system specs into clipboard` command palette action and paste the output in the field below. If you are unable to run the command, please include your Zed version and release channel, operating system and version, RAM amount, and architecture.
label: Zed Version and System Specs
description: Zed version, release channel, architecture (x86_64 or aarch64), OS (macOS version / Linux distro and version) and RAM amount.
placeholder: |
<!-- In Zed run `copy system specs into clipboard` from the Zed command palette and paste here. -->
<!-- Alternatively spawn `file bug report` and this field will be autopopulated -->
<!-- If Zed won't launch, include the equivalent with other relevant details (e.g. video card driver version for display bugs, etc) -->
<!-- Zed Version: 0.xxx.x; Channel: Stable, OS: macOS xx.xx, RAM: XXGB, Architecture: x86_64"
validations:
required: true
- type: textarea
Expand Down
29 changes: 25 additions & 4 deletions crates/feedback/src/feedback.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,26 @@ const fn zed_repo_url() -> &'static str {
"https://github.com/zed-industries/zed"
}

const fn request_feature_url() -> &'static str {
"https://github.com/zed-industries/zed/issues/new?assignees=&labels=admin+read%2Ctriage%2Cenhancement&projects=&template=0_feature_request.yml"
fn request_feature_url(specs: &SystemSpecs) -> String {
format!(
concat!(
"https://github.com/zed-industries/zed/issues/new",
"?labels=admin+read%2Ctriage%2Cenhancement",
"&template=0_feature_request.yml",
"&environment={}"
),
urlencoding::encode(&specs.to_string())
)
}

fn file_bug_report_url(specs: &SystemSpecs) -> String {
format!(
"https://github.com/zed-industries/zed/issues/new?assignees=&labels=admin+read%2Ctriage%2Cbug&projects=&template=1_bug_report.yml&environment={}",
concat!(
"https://github.com/zed-industries/zed/issues/new",
"?labels=admin+read%2Ctriage%2Cbug",
"&template=1_bug_report.yml",
"&environment={}"
),
urlencoding::encode(&specs.to_string())
)
}
Expand Down Expand Up @@ -57,7 +70,15 @@ pub fn init(cx: &mut AppContext) {
.detach();
})
.register_action(|_, _: &RequestFeature, cx| {
cx.open_url(request_feature_url());
let specs = SystemSpecs::new(cx);
cx.spawn(|_, mut cx| async move {
let specs = specs.await;
cx.update(|cx| {
cx.open_url(&request_feature_url(&specs));
})
.log_err();
})
.detach();
})
.register_action(move |_, _: &FileBugReport, cx| {
let specs = SystemSpecs::new(cx);
Expand Down

0 comments on commit 5b2653a

Please sign in to comment.