{"record":{"id":"9f3e68c7d2f65fa2","repo":"cjpais/Handy","slug":"failed-to-create-quit-item","errorCode":null,"errorMessage":"failed to create quit item","messagePattern":"failed to create quit item","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-tauri/src/tray.rs","lineNumber":241,"sourceCode":"    let check_updates_i = MenuItem::with_id(\n        app,\n        \"check_updates\",\n        &strings.check_updates,\n        settings.update_checks_enabled,\n        None::<&str>,\n    )\n    .expect(\"failed to create check updates item\");\n    let copy_last_transcript_i = MenuItem::with_id(\n        app,\n        \"copy_last_transcript\",\n        &strings.copy_last_transcript,\n        true,\n        None::<&str>,\n    )\n    .expect(\"failed to create copy last transcript item\");\n    let model_loaded = app.state::<Arc<TranscriptionManager>>().is_model_loaded();\n    let quit_i = MenuItem::with_id(app, \"quit\", &strings.quit, true, quit_accelerator)\n        .expect(\"failed to create quit item\");\n    let separator = || PredefinedMenuItem::separator(app).expect(\"failed to create separator\");\n\n    // Build model submenu — label is the active model name\n    let model_manager = app.state::<Arc<ModelManager>>();\n    let models = model_manager.get_available_models();\n    let current_model_id = &settings.selected_model;\n\n    let mut downloaded: Vec<_> = models.into_iter().filter(|m| m.is_downloaded).collect();\n    downloaded.sort_by(|a, b| a.name.cmp(&b.name));\n\n    let submenu_label = downloaded\n        .iter()\n        .find(|m| m.id == *current_model_id)\n        .map(|m| m.name.clone())\n        .unwrap_or_else(|| strings.model.clone());\n\n    let model_submenu = {\n        let submenu = Submenu::with_id(app, \"model_submenu\", &submenu_label, true)","sourceCodeStart":223,"sourceCodeEnd":259,"githubUrl":"https://github.com/cjpais/Handy/blob/98a4d80cce8ad41efec2a419b59d9e81229a35d7/src-tauri/src/tray.rs#L223-L259","documentation":"Error \"failed to create quit item\" thrown in cjpais/Handy.","triggerScenarios":"Thrown at src-tauri/src/tray.rs:241 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"98a4d80cce8ad41efec2a419b59d9e81229a35d7","analyzedAt":"2026-08-16T20:58:09.966Z","schemaVersion":2},"datasetVersion":"2026-08-16T23:17:17.608Z"}