forked from 1b-agent/fieldcraft-upstream
ui: Help › Crash Reports lists the saved reports to report, copy or delete (#300)
diagnostics.crash_reports.delete deletes one report or all. The window lists each report (when, what, how many times) with Report…, Copy Path and Delete, and Delete All; ui.prompt answers it over the control channel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
1 parent
4711f9474a
commit
441f03d093
11 files changed
+231
-7
No files matched your search
@@ -256,6 +256,7 @@ pub fn handle(app: &mut ModelApp, ctx: &egui::Context, req: &ControlRequest) ->
|
||||
crate::files::Prompt::ReplaceMesh(r) => json!({"replace_mesh": r.question, "warnings": r.warnings}),
|
||||
crate::files::Prompt::Delete(d) => json!({"delete": d.question(), "kind": d.kind, "name": d.name, "users": d.users, "allowed": d.allowed()}),
|
||||
crate::files::Prompt::Crashed(r) => json!({"crashed": r}),
|
||||
crate::files::Prompt::CrashReports(r) => json!({"crash_reports": r}),
|
||||
crate::files::Prompt::ReportBug => json!({"report_bug": app.report.as_ref().and_then(|f| f.drafted_json())}),
|
||||
crate::files::Prompt::Consent => json!({"consent": crate::privacy::QUESTION}),
|
||||
crate::files::Prompt::Settings => json!("settings"),
|
||||
@@ -449,7 +450,19 @@ pub fn handle(app: &mut ModelApp, ctx: &egui::Context, req: &ControlRequest) ->
|
||||
app.report_bug(r.first().map(|c| c.id.clone()));
|
||||
ok(json!({"prompt": "report_bug"}))
|
||||
}
|
||||
(crate::files::Prompt::Crashed(_), Some("close" | "cancel")) => {
|
||||
(crate::files::Prompt::CrashReports(_), Some("report")) => match s("id") {
|
||||
Some(id) => {
|
||||
app.report_bug(Some(id.to_string()));
|
||||
ok(json!({"prompt": "report_bug"}))
|
||||
}
|
||||
None => err("missing `id` (a crash report)"),
|
||||
},
|
||||
(crate::files::Prompt::CrashReports(_), Some("delete")) => match s("id") {
|
||||
Some(id) => wrap(app.delete_crash_reports(Some(id))),
|
||||
None => err("missing `id` (a crash report)"),
|
||||
},
|
||||
(crate::files::Prompt::CrashReports(_), Some("delete_all")) => wrap(app.delete_crash_reports(None)),
|
||||
(crate::files::Prompt::Crashed(_) | crate::files::Prompt::CrashReports(_), Some("close" | "cancel")) => {
|
||||
app.prompt = None;
|
||||
ok(Value::Null)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user