There exists a subtle issue with Hedwig robot's because of how they are started.
The start_link function will start the robot under hedwig's supervisor. At the same time it's recommended to put the robot in the user's supervision tree. This causes the robot process to be supervised by two supervisors, which can lead to errors during code upgrade. There are no errors when the robot is restarted, only because it's running as a transient process under the hedwig supervisor.
The appropriate fix would be to not attach the process under the hedwig supervisor and leave the supervision to the user's application.
There exists a subtle issue with Hedwig robot's because of how they are started.
The
start_link
function will start the robot under hedwig's supervisor. At the same time it's recommended to put the robot in the user's supervision tree. This causes the robot process to be supervised by two supervisors, which can lead to errors during code upgrade. There are no errors when the robot is restarted, only because it's running as a transient process under the hedwig supervisor.The appropriate fix would be to not attach the process under the hedwig supervisor and leave the supervision to the user's application.