Closed confuciussayuhm closed 9 months ago
Thanks for reporting, I am a little short on time to debug. Can you please try http://app.jimmi.party/beta to test the hotfix?
Gave http://app.jimmi.party/beta a go now. Get the following:
Bot-85252d40.js:4 Uncaught (in promise) TypeError: Cannot set properties of undefined (setting 'getUserMedia')
at y (Bot-85252d40.js:4:19453)
at Bn (index-72b0b780.js:1:2200)
at Array.map (<anonymous>)
at index-72b0b780.js:4:3767
at Vn (index-72b0b780.js:4:1569)
A different error! Promising!
Suspicious. What browser are you using? Does navigator.mediaDevices.getUserMedia
result in the same error if you paste it directly into the browser console?
sorry, I didn't notice you actually sent your browser details. Is this because because you denied access to the microphone or something? Could you try a different browser? The PR above fixes the connectivity issue for me, tested with Chromium Version 121.0.6167.85 (Official Build) (64-bit)
Super I get the DJ Jim
bot in Jitsi now.
I can't seem to figure out how to actually play music though. If I look through the code I see references to googlevideo.com. Is the idea to manually update the rules.json and manifest.json files and then reimport the browser extension?
Feel like I am missing something obvious.
Do I understand correctly that your question is how to control the bot? The bot is controlled via the jitsi chat, there are the !play
and !queue
commands to play music from youtube. The the !help
command to get a list of all possible commands
Knew it was something obvious! Perhaps this should be added to the readme?
Next problem: seems the bot doesn't get unmuted. When I check the console of app.jimmi.party
I see these errors for audio:
Bot-de0f2f7c.js:4 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.
y @ Bot-de0f2f7c.js:4
Logger.js:155 2024-02-01T11:26:18.869Z [modules/statistics/LocalStatsCollector.js] <fi.connectAudioContext>: Connecting audio context
LocalStatsCollector.js:169 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.
fi.connectAudioContext @ LocalStatsCollector.js:169
Logger.js:155 2024-02-01T11:26:18.900Z [JitsiMeetJS.ts] <Object.init>: Analytics disabled, disposing.
r @ Logger.js:155
Show 1 more frame
Show less
Bot-de0f2f7c.js:4 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.
navigator.mediaDevices.getUserMedia @ Bot-de0f2f7c.js:4
Bot-de0f2f7c.js:4 Connection established successfully
Bot-de0f2f7c.js:4 Successfully joined conference!
BridgeChannel.js:393 2024-02-01T11:27:11.340Z [modules/RTC/BridgeChannel.js] <e.onclose>: Channel closed: 1006
r @ Logger.js:155
e.onclose @ BridgeChannel.js:393
Show 1 more frame
Show less
AudioOutputProblemDetector.js:123 2024-02-01T11:27:12.121Z [modules/statistics/AudioOutputProblemDetector.js] A potential problem is detected with the audio output for participant 2c5a1fd1, local audio levels: [null,null], remote audio levels: undefined
r @ Logger.js:155
(anonymous) @ AudioOutputProblemDetector.js:123
_onLocalAudioLevelsReport @ AudioOutputProblemDetector.js:112
o.emit @ events.js:158
Pi._processAndEmitReport @ RTPStatsCollector.js:407
Pi.processStatsReport @ RTPStatsCollector.js:695
(anonymous) @ RTPStatsCollector.js:225
Promise.then (async)
t @ RTPStatsCollector.js:219
setInterval (async)
Pi.start @ RTPStatsCollector.js:235
Ni.startRemoteStats @ statistics.js:119
Gh._acceptJvbIncomingCall @ JitsiConference.js:2243
Gh.onIncomingCall @ JitsiConference.js:2160
o.emit @ events.js:153
onJingle @ strophe.jingle.js:214
run @ strophe.umd.js:2507
(anonymous) @ strophe.umd.js:3843
(anonymous) @ strophe.umd.js:3840
forEachChild @ strophe.umd.js:1502
_dataRecv @ strophe.umd.js:3838
_onMessage @ strophe.umd.js:6187
socket.onmessage @ strophe.umd.js:5920
Show 10 more frames
Show less
AudioOutputProblemDetector.js:123 2024-02-01T11:27:12.121Z [modules/statistics/AudioOutputProblemDetector.js] A potential problem is detected with the audio output for participant 263e0ef6, local audio levels: [null,null], remote audio levels: undefined
good point, I didn't notice it was missing in the readme.
This is a privacy feature of modern webbrowsers, essentially stating that you have to interact with the website (move the mouse and click somewhere) before the media devices (microphone) can be accessed. The bot is likely also muted inside your meeting room. Try to move to mouse in the app.jimmi.party
interface to interact with the website and execute the play command again. This should cause the bot the bot to unmute and hopefully play something
Hmm ok. So I've reloaded app.jimmi.party
and clicked all the things (apart from typing my play command in the jitsi meeting windows) and nothing happens 😢
pushed some changes to /beta again. Unmuting should now be triggered properly. Please note that during playback two issues might occur:
Just tried /beta
and all the gestures/clcks/drags/etc. The video doesn't play and DJ Jim
doesn't unmute in Jitsi 😢
seems like some caching issues with GitHub pages? I also removed https://invidious.tiekoetter.com
from the list of invidious instances but I still experience CORS issues on the /beta
branch (even though the domain is not included in the deployed website). I'll deploy to the main page and see if this changes anything. Otherwise we will have to wait until the cache expires. Very strange
Seems the cached version is gone now. I don't see any references to https://invidious.tiekoetter.com. I do, however, get this new error in https://app.jimmi.party/:
Bot-703e75e4.js:4 Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD
is this an error or a warning? I think the warning can be ignored and the play command can be retried.
Also, are you using the form on the main page to connect to the jitsi instance or are you just reloading the page at https://app.jimmi.party/#/bot/my.jitsi.instance/my-conference
? You should use the form to connect to the conference as this should circumvent such errors (maybe we should also add this to the usage guide :smile:)
You legend. That was it. Working like a boss now.
Thank you very much for your patience! I've added some usage instructions and common issues to the README to make Jimmi easier to understand for new users. Feel free to open further issues if any problems occur or contribute code/documentation yourself if have the required time and motivation ;)
Summary
Tried on multiple different Chromium based browsers (Brave, Chromium, Edge) and get the same error. The Jitsi SDK docs mention that
bosh
is deprecated: https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-ljm-api/#jitsiconnectionLogs
Reproduction