XF2 [8WR] XenRio 2 (Streams) PRO

XF2 [8WR] XenRio 2 (Streams) PRO [Paid] 2.1.1.9

No permission to buy ($40.00)
Are you running the most recent version? I can not reproduce the error on my live site. I too get a white page if the service does not exist (which is working as intended)... but it does not produce a server error in the admin CP.
 
I'm running 2.1.1.6..... I'm confused as to why this is happening tbh.
I have had exactly the same one since the beginning of the addon.

I would even add that it also does this when watching a stream. For example, the ID of the first added stream will be 1 but the 2nd will be 8.
 
Can you post the full stack trace?
I have two, one for chat and one for video:

Code:
Server error log
[LIST]
[*]ErrorException: Template error: [E_WARNING] Attempt to read property "service_chat" on null
[*]src/addons/EWR/Rio/Entity/Stream.php:31
[*]Generated by: Unknown account
[*]Oct 18, 2023 at 9:34 PM
[/LIST]
[HEADING=2]Stack trace[/HEADING]
#0 src/addons/EWR/Rio/Entity/Stream.php(31): XF\Template\Templater->handleTemplateError(2, '[E_WARNING] Att...', '/home/revillu2/...', 31)
#1 src/XF/Mvc/Entity/Entity.php(167): EWR\Rio\Entity\Stream->getStreamEmbed()
#2 src/XF/Mvc/Entity/Entity.php(125): XF\Mvc\Entity\Entity->get('stream_embed')
#3 internal_data/code_cache/templates/l1/s6/public/EWRrio_stream_popout.php(14): XF\Mvc\Entity\Entity->offsetGet('stream_embed')
#4 src/XF/Template/Templater.php(1654): XF\Template\Templater->{closure}(Object(XP\VB\XF\Template\Templater), Array, NULL)
#5 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('EWRrio_stream_p...', Array)
#6 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#7 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Html->renderView('EWR\\Rio:Stream\\...', 'public:EWRrio_s...', Array)
#8 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#9 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#11 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
#12 src/XF.php(524): XF\App->run()
#13 index.php(20): XF::runApp('XF\\Pub\\App')
#14 {main}
[HEADING=2]Request state[/HEADING]
array(4) {
  ["url"] => string(38) "/streams/1/untoldmight/10638050/popout"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}

For Video:
Code:
[LIST]
[*]ErrorException: Template error: [E_WARNING] Attempt to read property "service_video" on null
[*]src/addons/EWR/Rio/Entity/Stream.php:30
[*]Generated by: Unknown account
[*]Oct 18, 2023 at 9:34 PM
[/LIST]
[HEADING=2]Stack trace[/HEADING]
#0 src/addons/EWR/Rio/Entity/Stream.php(30): XF\Template\Templater->handleTemplateError(2, '[E_WARNING] Att...', '/home/revillu2/...', 30)
#1 src/XF/Mvc/Entity/Entity.php(167): EWR\Rio\Entity\Stream->getStreamEmbed()
#2 src/XF/Mvc/Entity/Entity.php(125): XF\Mvc\Entity\Entity->get('stream_embed')
#3 internal_data/code_cache/templates/l1/s6/public/EWRrio_stream_popout.php(14): XF\Mvc\Entity\Entity->offsetGet('stream_embed')
#4 src/XF/Template/Templater.php(1654): XF\Template\Templater->{closure}(Object(XP\VB\XF\Template\Templater), Array, NULL)
#5 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('EWRrio_stream_p...', Array)
#6 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#7 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Html->renderView('EWR\\Rio:Stream\\...', 'public:EWRrio_s...', Array)
#8 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#9 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#11 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
#12 src/XF.php(524): XF\App->run()
#13 index.php(20): XF::runApp('XF\\Pub\\App')
#14 {main}
[HEADING=2]Request state[/HEADING]
array(4) {
  ["url"] => string(38) "/streams/1/untoldmight/10638050/popout"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}

Sorry for the late response. Hopefully I can get a fix for this cuz it's honestly driving me nuts having to clear my server logs every couple days.
 
Would it be possible to add category override, so when adding a channel we could give it a category manually? thanks
 
I have two, one for chat and one for video:

Code:
Server error log
[LIST]
[*]ErrorException: Template error: [E_WARNING] Attempt to read property "service_chat" on null
[*]src/addons/EWR/Rio/Entity/Stream.php:31
[*]Generated by: Unknown account
[*]Oct 18, 2023 at 9:34 PM
[/LIST]
[HEADING=2]Stack trace[/HEADING]
#0 src/addons/EWR/Rio/Entity/Stream.php(31): XF\Template\Templater->handleTemplateError(2, '[E_WARNING] Att...', '/home/revillu2/...', 31)
#1 src/XF/Mvc/Entity/Entity.php(167): EWR\Rio\Entity\Stream->getStreamEmbed()
#2 src/XF/Mvc/Entity/Entity.php(125): XF\Mvc\Entity\Entity->get('stream_embed')
#3 internal_data/code_cache/templates/l1/s6/public/EWRrio_stream_popout.php(14): XF\Mvc\Entity\Entity->offsetGet('stream_embed')
#4 src/XF/Template/Templater.php(1654): XF\Template\Templater->{closure}(Object(XP\VB\XF\Template\Templater), Array, NULL)
#5 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('EWRrio_stream_p...', Array)
#6 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#7 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Html->renderView('EWR\\Rio:Stream\\...', 'public:EWRrio_s...', Array)
#8 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#9 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#11 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
#12 src/XF.php(524): XF\App->run()
#13 index.php(20): XF::runApp('XF\\Pub\\App')
#14 {main}
[HEADING=2]Request state[/HEADING]
array(4) {
  ["url"] => string(38) "/streams/1/untoldmight/10638050/popout"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}

For Video:
Code:
[LIST]
[*]ErrorException: Template error: [E_WARNING] Attempt to read property "service_video" on null
[*]src/addons/EWR/Rio/Entity/Stream.php:30
[*]Generated by: Unknown account
[*]Oct 18, 2023 at 9:34 PM
[/LIST]
[HEADING=2]Stack trace[/HEADING]
#0 src/addons/EWR/Rio/Entity/Stream.php(30): XF\Template\Templater->handleTemplateError(2, '[E_WARNING] Att...', '/home/revillu2/...', 30)
#1 src/XF/Mvc/Entity/Entity.php(167): EWR\Rio\Entity\Stream->getStreamEmbed()
#2 src/XF/Mvc/Entity/Entity.php(125): XF\Mvc\Entity\Entity->get('stream_embed')
#3 internal_data/code_cache/templates/l1/s6/public/EWRrio_stream_popout.php(14): XF\Mvc\Entity\Entity->offsetGet('stream_embed')
#4 src/XF/Template/Templater.php(1654): XF\Template\Templater->{closure}(Object(XP\VB\XF\Template\Templater), Array, NULL)
#5 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('EWRrio_stream_p...', Array)
#6 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#7 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Html->renderView('EWR\\Rio:Stream\\...', 'public:EWRrio_s...', Array)
#8 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#9 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#10 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#11 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
#12 src/XF.php(524): XF\App->run()
#13 index.php(20): XF::runApp('XF\\Pub\\App')
#14 {main}
[HEADING=2]Request state[/HEADING]
array(4) {
  ["url"] => string(38) "/streams/1/untoldmight/10638050/popout"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}

Sorry for the late response. Hopefully I can get a fix for this cuz it's honestly driving me nuts having to clear my server logs every couple days.
I have added an assertion for service checks to the https://www.revillution.net/streams/1/untoldmight/10638050/popout page, so if the service doesn't exist, it will return a full 404 page, like at https://www.revillution.net/streams/1/untoldmight/10638050/. Will release it whenever the Kick API update happens.
 
I have added an assertion for service checks to the https://www.revillution.net/streams/1/untoldmight/10638050/popout page, so if the service doesn't exist, it will return a full 404 page, like at https://www.revillution.net/streams/1/untoldmight/10638050/. Will release it whenever the Kick API update happens.
Awesome man! Thanks!

Also have you seen the autoplay/embed changes Twitch is making?


Not sure how that's gonna affect the showcase, but thought you'd wanna see that.
 
Last edited:
Any update on the API Kick situation? Haven't been keeping up with it just recently, Did they release the API yet?
 
Any thoughts on this @Jaxel - for our site this would be a game changer!
I have an issue with the latest version, if a channel is streaming more than once, the multiview will only show replicas of one of them, you can only switch between different channels, yet it shows up as individual streams in the main page - We promote Live Streaming Cuesports and some Channels stream more than 1 table to youtube, using multiview to view 2 or 3 tables at once would be awesome!

Hence the ask whether or not we could have manual category override option for channels.. At the moment all Snooker, Pool, Billiards etc only ever come up as "Uncategorized"

Thanks in Advance
 
Last edited:
Started getting server error logs and Live streams not updating.

#0 src/addons/EWR/Rio/Api/YouTube.php(132): XF::handlePhpError(2, '[E_WARNING] Und...', '/homepages/42/d...', 132)
#1 src/addons/EWR/Rio/Api/YouTube.php(99): EWR\Rio\Api\YouTube::dumpChannels(Object(EWR\Rio\Entity\Service), '100', Array, Array)
#2 [internal function]: EWR\Rio\Api\YouTube::dumpStreams(Object(EWR\Rio\Entity\Service), '100', Array, Array)
#3 src/addons/EWR/Rio/Repository/Stream.php(78): call_user_func_array(Array, Array)
#4 src/addons/EWR/Rio/Cron/Scrape.php(14): EWR\Rio\Repository\Stream->scrapeStreams()
#5 src/XF/Job/Cron.php(37): EWR\Rio\Cron\Scrape::scrapeStreams(Object(XF\Entity\CronEntry))
#6 src/XF/Job/Manager.php(260): XF\Job\Cron->run(8)
#7 src/XF/Job/Manager.php(202): XF\Job\Manager->runJobInternal(Array, 8)
#8 src/XF/Job/Manager.php(86): XF\Job\Manager->runJobEntry(Array, 8)
#9 job.php(43): XF\Job\Manager->runQueue(false, 8)
#10 {main}

If I go to Channel List and press the Refresh button some work just fine, others show this message.

Oops! We ran into some problems.​

An error occurred while connecting with YouTube. Please try again later.
 
YouTube changed all their **** again... and since they don't have an API anymore, it makes it very hard to hit that moving target.
 
Jaxel updated XF2 [8WR] XenRio 2 (Streams) PRO with a new update entry:

2.1.1.7 - CHANGELOG

  • YouTube support has been COMPLETELY re-written. With the change to @custom_urls for channels, YouTube finally got their API working somewhat more consistently. So we've gone back to API scraping, instead of hitting the moving target of HTML scraping. As such, an API key is now required to continue using YouTube.
  • Glimesh support has been removed. #RIP
  • Support for VKPlay has been added. Chat embed is...

Read the rest of this update entry...
 
Thanks for working on the update quickly @Jaxel !

I upgraded.. uninstalled.. re-installed but i'm getting the same error any ideas.. cheers

ErrorException: [E_WARNING] Undefined variable $streams in src/addons/EWR/Rio/Api/YouTube.php at line 79
  1. XF::handlePhpError() in src/addons/EWR/Rio/Api/YouTube.php at line 79
  2. EWR\Rio\Api\YouTube::dumpChannel()
  3. call_user_func_array() in src/addons/EWR/Rio/Repository/Channel.php at line 93
  4. EWR\Rio\Repository\Channel->scrapeChannel() in src/addons/EWR/Rio/Admin/Controller/Channel.php at line 32
  5. EWR\Rio\Admin\Controller\Channel->actionScrape() in src/XF/Mvc/Dispatcher.php at line 352
  6. XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 259
  7. XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 115
  8. XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 57
  9. XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2487
  10. XF\App->run() in src/XF.php at line 524
  11. XF::runApp() in admin.php at line 13
 
Top Bottom