Read voice presence from the bot's own LiveKit room

The panel still claimed it could not see anyone in voice while the bot
and the user were sitting in the same channel: Stoat's gateway does not
send voice states to bots, so the SDK's participant list stays empty no
matter what.

While the bot is connected its LiveKit room knows exactly who is there,
so that is now consulted alongside the SDK — presence is reported as
known, the panel names the channel the user is in, and the listener rule
has real data to work with instead of falling back to trust.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Leonid PershinandClaude Opus 5 committed 2026-09-09 02:51:24 +03:00
1 parent c7f2080604
commit ec50e4c4df
4 files changed
+37 -6

No files matched your search

+1
View File
@@ -195,6 +195,7 @@ export function App() {
onAction={(action, payload) => void runAction(action, payload)}
onSeek={(seconds) => void runAction("seek", { position: seconds })}
onJoin={(channelId) => {
setError(null);
void api
.join(serverId, channelId)
.then(() => refresh(serverId))