@@ -340,7 +340,7 @@ defmodule NervesHubWeb.DeviceChannel do
340340 end
341341
342342 def handle_in ( "fwup_progress" , % { "value" => percent } , % { assigns: % { device: device } } = socket ) do
343- device_internal_broadcast! ( device , "fwup_progress" , % { percent: percent } )
343+ device_internal_broadcast! ( socket , device , "fwup_progress" , % { percent: percent } )
344344
345345 # if this is the first fwup we see, then mark it as an update attempt
346346 if socket . assigns [ :update_started? ] do
@@ -370,9 +370,11 @@ defmodule NervesHubWeb.DeviceChannel do
370370
371371 { :ok , device } = Devices . update_device ( device , % { connection_metadata: metadata } )
372372
373- device_internal_broadcast! ( device , "location:updated" , location )
373+ socket = assign ( socket , :device , device )
374374
375- { :reply , :ok , assign ( socket , :device , device ) }
375+ device_internal_broadcast! ( socket , device , "location:updated" , location )
376+
377+ { :reply , :ok , socket }
376378 end
377379
378380 def handle_in ( "connection_types" , % { "values" => types } , % { assigns: % { device: device } } = socket ) do
@@ -434,7 +436,7 @@ defmodule NervesHubWeb.DeviceChannel do
434436 { :health_report , Devices . save_device_health ( device_health ) } ,
435437 { :metrics_report , { _ , _ } } <-
436438 { :metrics_report , Metrics . save_metrics ( socket . assigns . device . id , metrics ) } do
437- device_internal_broadcast! ( socket . assigns . device , "health_check_report" , % { } )
439+ device_internal_broadcast! ( socket , socket . assigns . device , "health_check_report" , % { } )
438440 else
439441 { :health_report , { :error , err } } ->
440442 Logger . warning ( "Failed to save health check data: #{ inspect ( err ) } " )
@@ -513,9 +515,9 @@ defmodule NervesHubWeb.DeviceChannel do
513515 Phoenix.PubSub . unsubscribe ( NervesHub.PubSub , topic )
514516 end
515517
516- defp device_internal_broadcast! ( device , event , payload ) do
518+ defp device_internal_broadcast! ( socket , device , event , payload ) do
517519 topic = "device:#{ device . identifier } :internal"
518- NervesHubWeb.DeviceEndpoint . broadcast_from! ( self ( ) , topic , event , payload )
520+ socket . endpoint . broadcast_from! ( self ( ) , topic , event , payload )
519521 end
520522
521523 defp maybe_send_public_keys ( device , socket , params ) do
0 commit comments