Implementation plans for the softphone line window

Docskamo-internal
Shipped
August 26, 2026 at 1:00 AM UTC
Author
kamo
Commit
c9edcd2

Two plans, because the spec covers two subsystems and the first ships working software on its own. The guardrails plan is seven tasks that need no new browsing context: a beforeunload confirm, a tool:requestClose veto, a live call counting as session activity, a pagehide BYE and drop beacon, the two-tab phantom ring, AV settings crossing a window boundary — and stripping one-shot action props from the tool snapshot, which is why a refresh mid-call currently re-dials the customer. It also produces the only telemetry that exists on how often calls actually die, which is the number the second plan should be judged against. The line window plan opens with a verification gate rather than a task: the FreePBX AOR's max_contacts is set nowhere in any repo, and the whole dual-registration risk turns on it. Then Web Locks ownership with a rule that never yanks a live call, a /phone route on its own AuthedChrome branch that can never reach /logout, a versioned BroadcastChannel bridge, and a rollout gated on a new per-member column that has to reach KamoInitializer first.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing