Backend: - Use indexed has_weather boolean for weather queries instead of 6 OR conditions - Enable gzip compression for static assets - Re-enable security headers (CSP, X-Frame-Options, X-Content-Type-Options) - Supervise cleanup task via BroadcastTaskSupervisor instead of Task.start - Relax IsSupervisor restart limits (5/60s) to survive transient network issues - Remove dead code: empty cache invalidation block, commented-out logging Frontend: - Use callsignIndex for O(1) marker dedup instead of O(n) forEach scan - Consolidate triple packet loop into single pass in new_packets handler - Batch trail visualization updates via requestAnimationFrame - Replace DOM querySelectorAll z-index scan with simple counter - Only rebuild OMS markers when crossing clustering zoom threshold - Clean up trail manager on hook destroy - Remove dead commented-out localStorage code
18 lines
414 B
Elixir
18 lines
414 B
Elixir
defmodule Aprsme.Is.IsSupervisor do
|
|
@moduledoc false
|
|
use Supervisor
|
|
|
|
def start_link(opts) do
|
|
Supervisor.start_link(__MODULE__, :ok, opts)
|
|
end
|
|
|
|
@impl true
|
|
def init(:ok) do
|
|
children = [
|
|
{Aprsme.Is, []}
|
|
]
|
|
|
|
# Allow more restarts over a longer window to survive transient network issues
|
|
Supervisor.init(children, strategy: :one_for_one, max_restarts: 5, max_seconds: 60)
|
|
end
|
|
end
|