diff --git a/lib/nerves_hub/audit_logs/templates.ex b/lib/nerves_hub/audit_logs/templates.ex index a89515089..29918e0bb 100644 --- a/lib/nerves_hub/audit_logs/templates.ex +++ b/lib/nerves_hub/audit_logs/templates.ex @@ -1,6 +1,8 @@ defmodule NervesHub.AuditLogs.Templates do alias NervesHub.AuditLogs + require Logger + def audit_resolve_changed_deployment(device, reference_id) do description = if device.deployment_id do @@ -28,4 +30,12 @@ defmodule NervesHub.AuditLogs.Templates do AuditLogs.audit_with_ref!(device, device, description, reference_id) end + + def audit_unsupported_api_version(device) do + description = + "device #{device.identifier} could not get extensions: Unsupported API version." + + AuditLogs.audit!(device, device, description) + Logger.info("[DeviceChannel] #{description}") + end end diff --git a/lib/nerves_hub_web/channels/device_channel.ex b/lib/nerves_hub_web/channels/device_channel.ex index cc5c430b8..162c1a25b 100644 --- a/lib/nerves_hub_web/channels/device_channel.ex +++ b/lib/nerves_hub_web/channels/device_channel.ex @@ -63,7 +63,8 @@ defmodule NervesHubWeb.DeviceChannel do # Earlier versions of nerves_hub_link don't have a fallback for unknown messages, # so check version before requesting extensions if is_safe_to_request_extensions?(socket.assigns.device_api_version), - do: push(socket, "extensions:get", %{}) + do: push(socket, "extensions:get", %{}), + else: Templates.audit_unsupported_api_version(device) {:noreply, socket} end