-
Notifications
You must be signed in to change notification settings - Fork 95
Description
Environment
Second Life Test 7.2.3.19307764689 (64bit)
Release Notes
You are at 128.8, 123.6, 23.0 in webRTC1 located at simhost-07fe521507cacae37.aditi
SLURL: secondlife://Aditi/secondlife/webRTC1/129/124/23
(global coordinates 259969.0, 245372.0, 23.0)
WebRTC-Voice 2025-11-10.19248958927
Release Notes
CPU: Apple M1 Pro (2400 MHz)
Memory: 16384 MB
OS Version: macOS 26.0.1 Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:41:45 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T6000 arm64
Graphics Card Vendor: Apple
Graphics Card: Apple M1 Pro
OpenGL Version: 4.1 Metal - 90.5
Window size: 964x687
Font Size Adjustment: 96pt
UI Scaling: 0.75
Draw distance: 88m
Bandwidth: 10000kbit/s
LOD factor: 1.125
Render quality: 1
Texture memory: 12124MB
Disk cache: Max size 2150.4 MB (87.5% used)
HiDPI display mode:
J2C Decoder Version: KDU v8.4.1
Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.24.2 / OpenAL Community / OpenAL Soft: OpenAL Soft
Dullahan: 1.24.0.202510081737
CEF: 139.0.40+g465474a+chromium-139.0.7258.139
Chromium: 139.0.7258.139
LibVLC Version: 3.0.21
Voice Server Version: Secondlife WebRTC Gateway
Packets Lost: 1/8966 (0.0%)
November 12 2025 14:32:40
Description
When a user performs a nearby voice moderation action on a webRTC region, the viewer includes an extra moderator_id field in its SpatialVoiceModerationRequest POST request, with a value that matches the agent_id of the agent the user is logged in as. The moderator_id field is ignored by the simulator and should not be included, because the simulator can already infer which agent_id is performing the action via the capability mapping.
In practice, the simulator ignores the tag, so this is a relatively minor issue.
Reproduction steps
- Configure the viewer to use Hippolyzer, so that you can view the conversation with the simulator (or find some appropriate debug logging tags to set - though I don't know what those would be).
- Login to a region with SpatialVoiceModerationRequest (such as WebRTC-Voice 2025-11-10.19248958927), at a location that allows your agent to moderate.
- In general, moderation permission is granted if the agent is an estate manager or parcel owner
- Open the Conversations floater, and right click on any user's name (including your own), and select 'Moderator Options' -> 'Mute everyone'
Actual results:
The viewer makes a well-formed SpatialVoiceModerationRequest request, except that it includes an extra/unnecessary moderator_id key. The simulator ignores the extra key and accepts the operation anyway:
POST [[SpatialVoiceModerationRequest]] HTTP/1.1
# https://simhost-07fe521507cacae37.aditi.secondlife.io:12043/cap/ebea8c68-0ddb-92de-e9fd-75e0b98edbed
Host: simhost-07fe521507cacae37.aditi.secondlife.io:12043
Accept-Encoding: deflate, gzip
Connection: keep-alive
Keep-alive: 300
Accept: application/llsd+xml
Content-Type: application/llsd+xml
X-SecondLife-UDP-Listen-Port: 54347
Content-Length: 140
<?xml version="1.0" ?>
<llsd>
<map>
<key>moderator_id</key>
<uuid>e1a51880-d7b5-4c00-800d-91664f5b84c0</uuid>
<key>operand</key>
<string>mute_all</string>
</map>
</llsd>
Response:
HTTP/1.1 200 OK
Date: Wed, 12 Nov 2025 22:40:41 GMT
Server: Apache
X-LL-Request-Id: aRUM6VNARr55C9rlhxSegAAAAAA
Content-Length: 107
Content-Type: application/llsd+xml
Access-Control-Allow-Origin: *
Keep-Alive: timeout=10, max=99
Connection: Keep-Alive
<?xml version="1.0" ?>
<llsd>
<map>
<key>operand</key>
<string>mute_all</string>
<key>status</key>
<integer>200</integer>
</map>
</llsd>
Expected results:
The same as 'actual results', except that the moderator_id key should be omitted.
This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting
/reward 100 (replace 100 with the amount).🕵️♂️ If someone starts working on this issue to earn the rewards, they can comment
/try to let everyone know!🙌 And when they open the PR, they can comment
/claim #4994 either in the PR description or in a PR's comment.🪙 Also, everyone can tip any user commenting
/tip 20 @maestrolinden (replace 20 with the amount, and @maestrolinden with the user to tip).📖 If you want to learn more, check out our documentation.