@@ -156,40 +156,43 @@ async function openDiscussChannel(channelId, { action, joinCall = false, source
156156    } 
157157} 
158158
159- self . addEventListener ( "notificationclick" ,  ( event )  =>  { 
160-     event . notification . close ( ) ; 
161-     if  ( event . notification . data )  { 
162-         const  {  action,  model,  res_id }  =  event . notification . data ; 
163-         if  ( model  ===  "discuss.channel" )  { 
164-             if  ( event . action  ===  PUSH_NOTIFICATION_ACTION . DECLINE )  { 
165-                 event . waitUntil ( 
166-                     fetch ( "/mail/rtc/channel/leave_call" ,  { 
167-                         headers : {  "Content-type" : "application/json"  } , 
168-                         body : JSON . stringify ( { 
169-                             id : 1 , 
170-                             jsonrpc : "2.0" , 
171-                             method : "call" , 
172-                             params : {  channel_id : res_id  } , 
173-                         } ) , 
174-                         method : "POST" , 
175-                         mode : "cors" , 
176-                         credentials : "include" , 
177-                     } ) 
178-                 ) ; 
179-                 return ; 
180-             } 
159+ async  function  handleNotificationClick ( event )  { 
160+     const  {  action,  model,  res_id }  =  event . notification . data ; 
161+     if  ( model  ===  "discuss.channel" )  { 
162+         if  ( event . action  ===  PUSH_NOTIFICATION_ACTION . DECLINE )  { 
181163            event . waitUntil ( 
182-                 openDiscussChannel ( res_id ,  { 
183-                     action, 
184-                     joinCall : event . action  ===  PUSH_NOTIFICATION_ACTION . ACCEPT , 
164+                 fetch ( "/mail/rtc/channel/leave_call" ,  { 
165+                     headers : {  "Content-type" : "application/json"  } , 
166+                     body : JSON . stringify ( { 
167+                         id : 1 , 
168+                         jsonrpc : "2.0" , 
169+                         method : "call" , 
170+                         params : {  channel_id : res_id  } , 
171+                     } ) , 
172+                     method : "POST" , 
173+                     mode : "cors" , 
174+                     credentials : "include" , 
185175                } ) 
186176            ) ; 
187-         }  else  { 
188-             const  modelPath  =  model . includes ( "." )  ? model  : `m-${ model }  ; 
189-             event . waitUntil ( clients . openWindow ( `/odoo/${ modelPath } ${ res_id }  ) ) ; 
177+             return ; 
190178        } 
179+         return  openDiscussChannel ( res_id ,  { 
180+             action, 
181+             joinCall : event . action  ===  PUSH_NOTIFICATION_ACTION . ACCEPT , 
182+         } ) ; 
183+     }  else  { 
184+         const  modelPath  =  model . includes ( "." )  ? model  : `m-${ model }  ; 
185+         return  clients . openWindow ( `/odoo/${ modelPath } ${ res_id }  ) ; 
186+     } 
187+ } 
188+ 
189+ self . addEventListener ( "notificationclick" ,  async  ( event )  =>  { 
190+     event . notification . close ( ) ; 
191+     if  ( event . notification . data )  { 
192+         event . waitUntil ( handleNotificationClick ( event ) ) ; 
191193    } 
192194} ) ; 
195+ 
193196self . addEventListener ( "push" ,  async  ( event )  =>  { 
194197    const  notification  =  event . data . json ( ) ; 
195198    switch  ( notification . options ?. data ?. type )  { 
0 commit comments