13 Commits

Author SHA1 Message Date
self 3e288a7e95 feat: prefix Sender plugin slug
Rename Sender plugin identity to tribe-one-sender across manifest, runtime API routes, metrics, e2e fixtures, and tests.
2026-06-17 22:33:33 +02:00
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
self 5f33d8ee10 feat: expose plugin migration commands
Forward ash.codegen and ecto.migration through the Sender plugin wrapper and update agent guidance to prefer AshPostgres codegen for resource-driven migrations.
2026-05-23 15:58:01 +02:00
self 07eb4e01c4 fix: align sender startup with current node info
Use the current node_info node_pubkey field in the Docker e2e runner and refresh the Nix Mix dependency hash after the muontrap dependency update. Keep edge session reconciliation alive when it runs before the host repo is ready during startup.
2026-05-18 18:30:57 +02:00
self b4e806e90d feat: count sender viewers by request sessions
Use Tribes.RequestInfo for HLS and player event attribution so trusted proxy traffic is served without feeding Sender's internal viewer metric.

Append a stable vsid query parameter to browser HLS playlist URLs, count playlist reloads as viewer sessions in standalone mode, keep IP fallback for plain HLS clients, and update docs plus e2e coverage.
2026-05-15 13:40:46 +02:00
self bdaa292278 feat: add sender viewer metrics
Track active Sender viewers from browser heartbeats and HLS IP fallback, filtering localhost access and exporting a low-cardinality plugin metric for Tribes rollups.

Extend the Docker origin/edge E2E harness with VictoriaMetrics/vmagent scraping and assertions for live /metrics export plus compact rollup storage. Update docs for the host metrics path.
2026-05-14 19:00:12 +02:00
self 4f24560224 build: package sender with tribes release
Add flake outputs for the sender assets, packaged plugin, bundled Tribes release, and single-image Docker E2E target.

Update the Docker E2E runner to build that image through Nix with the local Tribes checkout override before running the origin/edge compose scenario.
2026-05-11 13:09:34 +02:00
self c2ea5ea290 feat: add edge HLS repeater flow
Add the edge-side pull-through startup path and make stream startup tolerant of sources that are not live yet. Keep ffmpeg managed through MuonTrap while adding the options needed by the multi-node flow.

Add a docker-oriented origin/edge E2E scenario that starts both nodes before RTMP ingest and verifies HLS playback from the edge node.
2026-05-11 13:09:25 +02:00
self c5f85f26a5 chore: Update plugin scaffolding 2026-05-07 16:50:14 +02:00
self 6c853786c8 build: Rename 2026-05-01 19:40:30 +02:00
self fddd616772 feat(template): adopt host-backed plugin workflow
Add the shared plugin helper, host-backed test config, and runtime validation entrypoint. Update the example plugin route/docs and replace the old standalone test suite with the host-backed contract and page tests.
2026-04-27 17:00:16 +02:00
self 54d9bdd99c template: make rename portable and add explicit otp_app dev flow 2026-04-04 19:45:32 +02:00
self 647d5537ff skeleton 2026-03-25 12:42:19 +01:00