@@ -414,24 +414,35 @@ impl AppModel {
414414 Task :: none ( )
415415 }
416416
417- pub ( crate ) fn handle_generate_bug_report ( & self ) -> Task < cosmic:: Action < Message > > {
417+ pub ( crate ) fn handle_generate_bug_report ( & mut self ) -> Task < cosmic:: Action < Message > > {
418418 info ! ( "Generating bug report..." ) ;
419419
420+ // Ensure insights are up-to-date (normally only refreshed when the
421+ // Insights drawer is open, so they may be stale/empty here).
422+ let _ = self . handle_update_insights_metrics ( ) ;
423+
420424 let video_devices = self . available_cameras . clone ( ) ;
421425 let audio_devices = self . available_audio_devices . clone ( ) ;
422426 let video_encoders = self . available_video_encoders . clone ( ) ;
423- let selected_encoder_index = self . current_video_encoder_index ;
424427 let save_folder_name = self . config . save_folder_name . clone ( ) ;
428+ let insights = self . insights . clone ( ) ;
429+ let config = self . config . clone ( ) ;
430+ let snapshot = crate :: bug_report:: AppStateSnapshot {
431+ current_camera_index : self . current_camera_index ,
432+ current_audio_device_index : self . current_audio_device_index ,
433+ current_video_encoder_index : self . current_video_encoder_index ,
434+ } ;
425435
426436 Task :: perform (
427437 async move {
428438 crate :: bug_report:: BugReportGenerator :: generate (
429439 & video_devices,
430440 & audio_devices,
431441 & video_encoders,
432- selected_encoder_index,
433- None ,
434442 & save_folder_name,
443+ & insights,
444+ & config,
445+ & snapshot,
435446 )
436447 . await
437448 . map ( |p| p. display ( ) . to_string ( ) )
@@ -825,6 +836,7 @@ impl AppModel {
825836 self . insights . meta_lens_position = meta. lens_position ;
826837 self . insights . meta_lux = meta. lux ;
827838 self . insights . meta_focus_fom = meta. focus_fom ;
839+ self . insights . frame_metadata = Some ( meta. clone ( ) ) ;
828840 }
829841 }
830842 }
0 commit comments