@@ -214,7 +214,7 @@ impl WidgetMachine {
214214 let request = match raw_request. deserialize ( ) {
215215 Ok ( r) => r,
216216 Err ( e) => {
217- return vec ! [ Self :: send_from_widget_error_response (
217+ return vec ! [ Self :: send_from_widget_response (
218218 raw_request,
219219 FromWidgetErrorResponse :: from_error( & crate :: Error :: SerdeJson ( e) ) ,
220220 ) ]
@@ -270,14 +270,14 @@ impl WidgetMachine {
270270 let CapabilitiesState :: Negotiated ( capabilities) = & self . capabilities else {
271271 let text =
272272 "Received send update delayed event request before capabilities were negotiated" ;
273- return vec ! [ Self :: send_from_widget_error_response (
273+ return vec ! [ Self :: send_from_widget_response (
274274 raw_request,
275275 FromWidgetErrorResponse :: from_string( text) ,
276276 ) ] ;
277277 } ;
278278
279279 if !capabilities. update_delayed_event {
280- return vec ! [ Self :: send_from_widget_error_response (
280+ return vec ! [ Self :: send_from_widget_response (
281281 raw_request,
282282 FromWidgetErrorResponse :: from_string( format!(
283283 "Not allowed: missing the {UPDATE_DELAYED_EVENT} capability."
@@ -291,7 +291,7 @@ impl WidgetMachine {
291291 delay_id : req. delay_id ,
292292 } ) ;
293293 request. then ( |result, _machine| {
294- vec ! [ Self :: send_from_widget_result_response (
294+ vec ! [ Self :: send_from_widget_response (
295295 raw_request,
296296 // This is mapped to another type because the update_delay_event::Response
297297 // does not impl Serialize
@@ -314,7 +314,7 @@ impl WidgetMachine {
314314 ) -> Option < Action > {
315315 let CapabilitiesState :: Negotiated ( capabilities) = & self . capabilities else {
316316 let text = "Received read event request before capabilities were negotiated" ;
317- return Some ( Self :: send_from_widget_error_response (
317+ return Some ( Self :: send_from_widget_response (
318318 raw_request,
319319 FromWidgetErrorResponse :: from_string ( text) ,
320320 ) ) ;
@@ -324,7 +324,7 @@ impl WidgetMachine {
324324 ReadEventRequest :: ReadMessageLikeEvent { event_type, limit } => {
325325 if !capabilities. read . iter ( ) . any ( |f| f. matches_message_like_event_type ( & event_type) )
326326 {
327- return Some ( Self :: send_from_widget_error_response (
327+ return Some ( Self :: send_from_widget_response (
328328 raw_request,
329329 FromWidgetErrorResponse :: from_string (
330330 "Not allowed to read message like event" ,
@@ -339,24 +339,24 @@ impl WidgetMachine {
339339 let ( request, action) = self . send_matrix_driver_request ( request) ;
340340
341341 request. then ( |result, machine| {
342- let response = match ( result, & machine. capabilities ) {
343- ( Ok ( mut events) , CapabilitiesState :: Negotiated ( capabilities) ) => {
344- events. retain ( |e| capabilities. raw_event_matches_read_filter ( e) ) ;
345- Ok ( ReadEventResponse { events } )
346- }
347- ( Ok ( _) , CapabilitiesState :: Unset ) => {
348- Err ( FromWidgetErrorResponse :: from_string (
349- "Received read event request before capabilities negotiation" ,
350- ) )
351- }
352- ( Ok ( _) , CapabilitiesState :: Negotiating ) => {
342+ let response = match & machine. capabilities {
343+ CapabilitiesState :: Unset => Err ( FromWidgetErrorResponse :: from_string (
344+ "Received read event request before capabilities negotiation" ,
345+ ) ) ,
346+ CapabilitiesState :: Negotiating => {
353347 Err ( FromWidgetErrorResponse :: from_string (
354348 "Received read event request while capabilities were negotiating" ,
355349 ) )
356350 }
357- ( Err ( e) , _) => Err ( FromWidgetErrorResponse :: from_error ( & e) ) ,
351+ CapabilitiesState :: Negotiated ( capabilities) => result
352+ . map ( |mut events| {
353+ events. retain ( |e| capabilities. raw_event_matches_read_filter ( e) ) ;
354+ ReadEventResponse { events }
355+ } )
356+ . map_err ( |e| FromWidgetErrorResponse :: from_error ( & e) ) ,
358357 } ;
359- vec ! [ Self :: send_from_widget_result_response( raw_request, response) ]
358+
359+ vec ! [ Self :: send_from_widget_response( raw_request, response) ]
360360 } ) ;
361361
362362 action
@@ -388,11 +388,11 @@ impl WidgetMachine {
388388 let response = result
389389 . map ( |events| ReadEventResponse { events } )
390390 . map_err ( |e| FromWidgetErrorResponse :: from_error ( & e) ) ;
391- vec ! [ Self :: send_from_widget_result_response ( raw_request, response) ]
391+ vec ! [ Self :: send_from_widget_response ( raw_request, response) ]
392392 } ) ;
393393 action
394394 } else {
395- Some ( Self :: send_from_widget_error_response (
395+ Some ( Self :: send_from_widget_response (
396396 raw_request,
397397 FromWidgetErrorResponse :: from_string ( "Not allowed to read state event" ) ,
398398 ) )
@@ -423,7 +423,7 @@ impl WidgetMachine {
423423 } ;
424424
425425 if !capabilities. send_delayed_event && request. delay . is_some ( ) {
426- return Some ( Self :: send_from_widget_error_response (
426+ return Some ( Self :: send_from_widget_response (
427427 raw_request,
428428 FromWidgetErrorResponse :: from_string ( format ! (
429429 "Not allowed: missing the {SEND_DELAYED_EVENT} capability."
@@ -432,7 +432,7 @@ impl WidgetMachine {
432432 }
433433
434434 if !capabilities. send . iter ( ) . any ( |filter| filter. matches ( & filter_in) ) {
435- return Some ( Self :: send_from_widget_error_response (
435+ return Some ( Self :: send_from_widget_response (
436436 raw_request,
437437 FromWidgetErrorResponse :: from_string ( "Not allowed to send event" ) ,
438438 ) ) ;
@@ -444,7 +444,7 @@ impl WidgetMachine {
444444 if let Ok ( r) = result. as_mut ( ) {
445445 r. set_room_id ( machine. room_id . clone ( ) ) ;
446446 }
447- vec ! [ Self :: send_from_widget_result_response (
447+ vec ! [ Self :: send_from_widget_response (
448448 raw_request,
449449 result. map_err( |e| FromWidgetErrorResponse :: from_error( & e) ) ,
450450 ) ]
@@ -523,23 +523,6 @@ impl WidgetMachine {
523523 Action :: SendToWidget ( serialized)
524524 }
525525
526- fn send_from_widget_error_response (
527- raw_request : Raw < FromWidgetRequest > ,
528- error : FromWidgetErrorResponse ,
529- ) -> Action {
530- Self :: send_from_widget_response ( raw_request, error)
531- }
532-
533- fn send_from_widget_result_response (
534- raw_request : Raw < FromWidgetRequest > ,
535- result : Result < impl Serialize , FromWidgetErrorResponse > ,
536- ) -> Action {
537- match result {
538- Ok ( res) => Self :: send_from_widget_response ( raw_request, res) ,
539- Err ( msg) => Self :: send_from_widget_error_response ( raw_request, msg) ,
540- }
541- }
542-
543526 #[ instrument( skip_all, fields( action = T :: ACTION ) ) ]
544527 fn send_to_widget_request < T : ToWidgetRequest > (
545528 & mut self ,
0 commit comments