Files
self f8e2bfaada refactor: use chat capability surfaces
Move Sender modules under TribeOne.TribesPlugin.Sender and replace the Aether-specific chat integration with the public chat@1 surface contract.
2026-05-26 01:13:38 +02:00

43 lines
1.4 KiB
Elixir

defmodule TribeOne.TribesPlugin.Sender.Application do
@moduledoc """
OTP Application for this plugin.
Uncomment the `mod:` entry in mix.exs to activate this supervision tree.
Add plugin-specific GenServers, workers, or supervisors as children here.
"""
use Application
@doc false
def children do
[
TribeOne.TribesPlugin.Sender.Stats,
TribeOne.TribesPlugin.Sender.SnapshotWorker,
TribeOne.TribesPlugin.Sender.HLSCleanup,
{Registry, keys: :unique, name: TribeOne.TribesPlugin.Sender.MediaSessionRegistry},
Supervisor.child_spec(
{DynamicSupervisor,
strategy: :one_for_one, name: TribeOne.TribesPlugin.Sender.MediaSessionSupervisor},
id: TribeOne.TribesPlugin.Sender.MediaSessionSupervisor
),
Supervisor.child_spec(
{DynamicSupervisor,
strategy: :one_for_one, name: TribeOne.TribesPlugin.Sender.MediaBackendSupervisor},
id: TribeOne.TribesPlugin.Sender.MediaBackendSupervisor
),
Supervisor.child_spec(
{DynamicSupervisor,
strategy: :one_for_one, name: TribeOne.TribesPlugin.Sender.HLSReadinessSupervisor},
id: TribeOne.TribesPlugin.Sender.HLSReadinessSupervisor
),
TribeOne.TribesPlugin.Sender.EdgeSessionReconciler
]
end
@impl true
def start(_type, _args) do
opts = [strategy: :one_for_one, name: TribeOne.TribesPlugin.Sender.Supervisor]
Supervisor.start_link(children(), opts)
end
end