vms: call and room actions for batch 2, rtp_stats() #16
Loading…
Reference in a new issue
No description provided.
Delete branch "vms/h2-h3-calls-rooms"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Harness packages H2 (calls) and H3 (rooms) for run batch 2.
decline_call,cancel_call, Dinostart_call, Dinostart_group_call(Muji) / aimjoin_group_call, Kaidan decline vianotify_action().rtp_stats(): counts RTP/RTCP per direction, SSRC and payload type from the guests' NIC capture (TURN unwrapped), for every client; aim's libwebrtc "Log WebRTC internals" lines added to its log.create_room(Gajim, Dino),invite/accept_invite, roles/affiliations, kick, ban, subject,destroy_room, Gajimmoderateandset_room_avatar; NotImplementedError where a client has no UI.tools/repl.py: boot signed-in VMs once and run snippets against them to find click positions..dunst-wrapped).🤖 Generated with Claude Code
Batch 2 of PLAN.md needs rooms administered and calls declined, cancelled and joined as groups, none of which the harness could do. Rooms: create_room (Gajim's Ctrl+G, private; Dino's Join Channel, then made private in its form, as Dino offers group calls only there), invite / accept_invite (aim's picker and its "Room invitations" card, Gajim's person+ and Activity Feed, Dino's participants popover and its notification), set_role, set_affiliation, kick, ban, set_subject, destroy_room (aim's members pane and Room details, Gajim's /commands and Manage page), moderate and set_room_avatar (Gajim). aim has no UI to moderate others or to set a room avatar: NotImplementedError says so. Calls: decline_call, cancel_call (aim, web, Dino; Kaidan's decline through its notification, not run yet), start_call for Dino, start_group_call (Dino's Muji call) and join_group_call (aim's XEP-0482 card). rtp_stats() counts RTP per direction, SSRC and payload type in a QEMU filter-dump of the guest's netdev. SRTP leaves the RTP header in clear, so it works for aim's native libwebrtc engine, which reports no stats of its own; the client's own counters are appended (web getStats, Dino's rtp lines, and aim's libwebrtc log once "Log WebRTC internals" is on). notify_action() picks a notification's non-default action through dunst's context menu with a grep as its dmenu. The dunst check looked for a process named dunst, but nixpkgs' runs as .dunst-wrapped, so every client start launched another dunst that could not take the bus name. fake_av() now feeds the camera YUY2. Left to itself videoconvert gave the loopback 4:2:2 planar, which libwebrtc's V4L2 capture rejects ("no supporting video formats found", in aim's WebRTC log): aim never sent video in any run so far, which AGENTS.md listed as an open question. Examples: xep0353.py, xep0272.py, xep0045admin.py, xep0425.py; xep0167.py records rtp_stats. Positions and pitfalls are in AGENTS.md. Assisted-by: Claude:opus-5-5