()
| 244 | * user can drag it onto the issue; nothing is uploaded automatically. |
| 245 | */ |
| 246 | export const reportAProblem = async () => { |
| 247 | await exportDiagnosticsInteractive(); |
| 248 | const body = [ |
| 249 | "<!-- Describe what happened and what you expected. -->", |
| 250 | "", |
| 251 | "", |
| 252 | "---", |
| 253 | "", |
| 254 | "| | |", |
| 255 | "|---|---|", |
| 256 | `| Version | ${app.getVersion()} |`, |
| 257 | `| OS | ${process.platform} ${process.arch} |`, |
| 258 | `| Run ID | ${runId} |`, |
| 259 | "", |
| 260 | "_A diagnostics zip was saved to your Downloads folder — please drag it into this issue._", |
| 261 | ].join("\n"); |
| 262 | const url = new URL("https://github.com/UsefulSoftwareCo/executor/issues/new"); |
| 263 | url.searchParams.set("title", "[desktop] "); |
| 264 | url.searchParams.set("body", body); |
| 265 | await shell.openExternal(url.toString()); |
| 266 | }; |
| 267 | |
| 268 | /** Menu-item wrapper: surface failures in a dialog instead of dying silently. */ |
| 269 | export const exportDiagnosticsInteractive = async () => { |
no test coverage detected