service_livekit.nu: forward-compat with hero_livekit configure RPC change #173

Closed
opened 2026-04-30 01:11:51 +00:00 by sameh-farouk · 1 comment
Member

Context

hero_livekit PR #34 extends the livekitservice.configure RPC with a new required rtc_tcp_port parameter (per-user TCP-RTC port for multi-user setups). The dispatcher rejects calls with "Missing required parameter: rtc_tcp_port".

service_livekit.nu is the only in-tree caller of that RPC. Without an update here, every service_livekit start will fail after operators upgrade their hero_livekit binary.

Change

One line in service_livekit.nu's cfg_params:

rtc_tcp_port: 0    # 0 = keep current value, same convention as livekit_port/backend_port

Forward- and backward-compatible: old wrappers ignore the extra field; new wrappers use it.

What this issue does NOT cover

Earlier discussion considered also modifying svx_lk_wipe_stale_configs to preserve runtime.json across wipes (so per-user values stay durable). That was the wrong layer to fix it. The clean architecture:

  • runtime.json is a derived cache; the wipe correctly forces a clean slate on inconsistency.
  • Durable per-user values live in hero_cfg.toml (alongside [mycelium]).
  • The next service_livekit start after a wipe re-reads hero_cfg.toml and re-derives runtime.json from there.

That re-derivation logic is the follow-up PR-2: service_livekit.nu reads [livekit] section from hero_cfg.toml and passes the values into cfg_params instead of the hardcoded 0. That preserves per-user values across wipes without touching the wipe behavior itself.

## Context [hero_livekit PR #34](https://forge.ourworld.tf/lhumina_code/hero_livekit/pulls/34) extends the `livekitservice.configure` RPC with a new required `rtc_tcp_port` parameter (per-user TCP-RTC port for multi-user setups). The dispatcher rejects calls with `"Missing required parameter: rtc_tcp_port"`. `service_livekit.nu` is the only in-tree caller of that RPC. Without an update here, every `service_livekit start` will fail after operators upgrade their hero_livekit binary. ## Change One line in `service_livekit.nu`'s `cfg_params`: ```nu rtc_tcp_port: 0 # 0 = keep current value, same convention as livekit_port/backend_port ``` Forward- and backward-compatible: old wrappers ignore the extra field; new wrappers use it. ## What this issue does NOT cover Earlier discussion considered also modifying `svx_lk_wipe_stale_configs` to preserve `runtime.json` across wipes (so per-user values stay durable). That was the wrong layer to fix it. The clean architecture: - `runtime.json` is a derived cache; the wipe correctly forces a clean slate on inconsistency. - Durable per-user values live in `hero_cfg.toml` (alongside `[mycelium]`). - The next `service_livekit start` after a wipe re-reads `hero_cfg.toml` and re-derives `runtime.json` from there. That re-derivation logic is the follow-up PR-2: `service_livekit.nu` reads `[livekit]` section from `hero_cfg.toml` and passes the values into `cfg_params` instead of the hardcoded 0. That preserves per-user values across wipes without touching the wipe behavior itself.
sameh-farouk changed title from service_livekit.nu: forward-compat with hero_livekit configure RPC change + preserve runtime.json on wipe to service_livekit.nu: forward-compat with hero_livekit configure RPC change 2026-04-30 01:59:46 +00:00
Author
Member

Superseded by #175 — the forward-compat 1-liner from this issue is folded into PR #176 alongside the cfg.toml [livekit] read.

Superseded by #175 — the forward-compat 1-liner from this issue is folded into PR #176 alongside the cfg.toml [livekit] read.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_skills#173
No description provided.