No, only NixFifty Calendar and Tickets are supported as 3rd party addons.does your addon support @Bob 's popular addons like AMS, UBS and RMS?
That's definitely not working correctly, then. As above, over more than a 45-minute period where there was consistently over 100 guests constantly viewing the thread from completely different IPs, an ever changing list of different guests, the addon reported a number ranging from 3-6 guests. This could be easily confirmed as an admin looking at the guest list, counting the number of guests listed as viewing that specific thread, and seeing all unique IPs on them.The add-on tracks if a guest views a thread by adding them to a 15 minute bucket grouped by user-id&ip while the members online tracks sessions.
So if the same IP with a guest has multiple sessions it will show up as multiple XF sessions but only count as 1 "user activity" record. This is something of a design limitation that works well enough.
With it being that simple, it is strange that it is failing, but it is. Inconvenient, but true. A cursory look through our guest list linked above even now can demonstrate that. As an admin I can see the IPs in the guest list as well and confirm they're unique; as a guest or regular user viewing the guest list, you can at least count the guests viewing that thread and quickly reach a much higher number than the addon is indicating viewing the thread.This add-on is relatively simple in how it logs and then displays guest users. For guests, per-ip record is added every view (redis ensures this is unique) and then on display it fetches the records an counts the number without a user-id associated with them.
Now available on atelieraphelion.com
- Require php 7.2+
- Require StandardLib v1.18.0+
- Require Redis Cache v2.14.0 if redis is used
- Rename some addon options to read better, not functional changes
- Improve performance when pruning view-data for large numbers of threads by using batching when writing to redis
Neither of those was the case. Our "Current visitors" list does have guests and robots separated. And as I've mentioned more than once, practically all of the guests listed had different IPs. This addon was not properly counting all of the non-robot guests with unique IPs. Not by a very very large margin.The default behavior doesn't track sessions marked as robots (configurable with the "User activity tracks robots" global addon option), and it groups by guest requests by ip. These two factors can vastly reduce how much read traffic the add-on reports, especially if using are using an add-on which adds more robot detection (ie @Sim'sKnown bots)
- Add "View user activity counters" permission. Control if the 'x viewing now' counter displays for a given user-group
- Add "View user names/avatars in activity block" permissions. If false, the phrase
svUserActivity_viewing_users_are_empty
is displayed if it is not empty.
This can be styled using the css selector#uaThreadViewContainer .empty-list
- Add "Report View" and "Reports List" as options for displaying viewer counts
- Split "Reports viewing...
- Remove empty addon options
TypeError: substr(): Argument #1 ($string) must be of type string, array given
src/XF/Repository/SessionActivity.php:216
Generated by: Unknown account
August 30, 2023 at 4:10 PM
Stack trace
#0 src/XF/Repository/SessionActivity.php(216): substr(Array, 0, 25)
#1 src/addons/SV/LimitBots/XF/Repository/SessionActivity.php(30): XF\Repository\SessionActivity->updateSessionActivity(0, '34.168.205.215', 'XFMG\\Pub\\Contro...', 'View', Array, 'valid', Array)
#2 src/XF/Pub/Controller/AbstractController.php(85): SV\LimitBots\XF\Repository\SessionActivity->updateSessionActivity(0, '34.168.205.215', 'XFMG\\Pub\\Contro...', 'View', Array, 'valid', Array)
#3 src/XF/Pub/Controller/AbstractController.php(45): XF\Pub\Controller\AbstractController->updateSessionActivity('View', Object(XF\Mvc\ParameterBag), Object(XF\Mvc\Reply\View))
#4 src/XF/Mvc/Controller.php(360): XF\Pub\Controller\AbstractController->postDispatchType('View', Object(XF\Mvc\ParameterBag), Object(XF\Mvc\Reply\View))
#5 src/XF/Mvc/Dispatcher.php(385): XF\Mvc\Controller->postDispatch('View', Object(XF\Mvc\ParameterBag), Object(XF\Mvc\Reply\View))
#6 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('XFMG\\Pub\\Contro...', 'View', Object(XF\Mvc\RouteMatch), Object(Truonglv\Groups\XFMG\Pub\Controller\Media), Object(XF\Mvc\Reply\Reroute))
#7 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(Truonglv\Groups\XFMG\Pub\Controller\Media), Object(XF\Mvc\Reply\Reroute))
#8 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#9 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
#10 src/XF.php(524): XF\App->run()
#11 index.php(20): XF::runApp('XF\\Pub\\App')
#12 {main}
Request state
array(4) {
["url"] => string(67) "/media/aiimage78_clone_clone-denoise-low-light-3026-x-2191-jpg.141/"
["referrer"] => bool(false)
["_GET"] => array(1) {
["/media/aiimage78_clone_clone-denoise-low-light-3026-x-2191-jpg_141/"] => string(0) ""
}
["_POST"] => array(0) {
}
}
TypeError: SV\UserActivity\Repository\UserActivity::flushTrackViewerUsageBuffer(): Argument #2 ($robotKey) must be of type ?string, array given, called in /home/nginx/domains/astrowhat.com/public/src/addons/SV/UserActivity/XF/Repository/SessionActivity.php on line 36
src/addons/SV/UserActivity/Repository/UserActivity.php:758
Generated by: Unknown account
August 30, 2023 at 4:10 PM
Stack trace
#0 src/addons/SV/UserActivity/XF/Repository/SessionActivity.php(36): SV\UserActivity\Repository\UserActivity->flushTrackViewerUsageBuffer('35.199.167.158', Array, Object(SV\ElasticSearchEssentials\XF\Entity\User))
#1 src/addons/SV/LimitBots/XF/Repository/SessionActivity.php(30): SV\UserActivity\XF\Repository\SessionActivity->updateSessionActivity(0, '35.199.167.158', 'XFMG\\Pub\\Contro...', 'View', Array, 'valid', Array)
#2 src/XF/Pub/Controller/AbstractController.php(85): SV\LimitBots\XF\Repository\SessionActivity->updateSessionActivity(0, '35.199.167.158', 'XFMG\\Pub\\Contro...', 'View', Array, 'valid', Array)
#3 src/XF/Pub/Controller/AbstractController.php(45): XF\Pub\Controller\AbstractController->updateSessionActivity('View', Object(XF\Mvc\ParameterBag), Object(XF\Mvc\Reply\View))
#4 src/XF/Mvc/Controller.php(360): XF\Pub\Controller\AbstractController->postDispatchType('View', Object(XF\Mvc\ParameterBag), Object(XF\Mvc\Reply\View))
#5 src/XF/Mvc/Dispatcher.php(385): XF\Mvc\Controller->postDispatch('View', Object(XF\Mvc\ParameterBag), Object(XF\Mvc\Reply\View))
#6 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('XFMG\\Pub\\Contro...', 'View', Object(XF\Mvc\RouteMatch), Object(Truonglv\Groups\XFMG\Pub\Controller\Media), Object(XF\Mvc\Reply\Reroute))
#7 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(Truonglv\Groups\XFMG\Pub\Controller\Media), Object(XF\Mvc\Reply\Reroute))
#8 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#9 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
#10 src/XF.php(524): XF\App->run()
#11 index.php(20): XF::runApp('XF\\Pub\\App')
#12 {main}
Request state
array(4) {
["url"] => string(53) "/media/7200718a-31f9-456c-b0e0-74579eb97bf8-jpeg.136/"
["referrer"] => bool(false)
["_GET"] => array(1) {
["/media/7200718a-31f9-456c-b0e0-74579eb97bf8-jpeg_136/"] => string(0) ""
}
["_POST"] => array(0) {
}
}
Limit Bots
then it was the ES essentials
... about to reboot the server after applying some updates to see if that resolves anything. ErrorException: Template error: [E_USER_WARNING] Macro public:UA_ViewContainer_macros:viewerCounts is unknown src/XF/Template/Templater.php:660
Stack-Trace
#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', '/homepages/...', 660)
#1 src/XF/Template/Templater.php(660): trigger_error('Macro public:UA...', 512)
#2 src/XF/Template/Templater.php(773): XF\Template\Templater->getTemplateMacro('public', 'UA_ViewContaine...', 'viewerCounts')
#3 internal_data/code_cache/templates/l2/s4/public/thread_list_macros.php(329): XF\Template\Templater->callMacro('UA_ViewContaine...', 'viewerCounts', Array, Array)
#4 src/XF/Template/Templater.php(990): XF\Template\Templater->{closure}(Object(SV\LazyImageLoader\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#5 src/XF/Template/Templater.php(926): XF\Template\Templater->renderExtensionInternal('main_cell', Array, Array, Object(XF\Template\ExtensionSet))
#6 internal_data/code_cache/templates/l2/s4/public/thread_list_macros.php(662): XF\Template\Templater->renderExtension('main_cell', Array, Object(XF\Template\ExtensionSet))
#7 src/XF/Template/Templater.php(827): XF\Template\Templater->{closure}(Object(SV\LazyImageLoader\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#8 internal_data/code_cache/templates/l2/s4/public/whats_new_posts.php(249): XF\Template\Templater->callMacro('thread_list_mac...', 'item', Array, Array)
#9 src/XF/Template/Templater.php(827): XF\Template\Templater->{closure}(Object(SV\LazyImageLoader\XF\Template\Templater), Array, NULL)
#10 internal_data/code_cache/templates/l2/s4/public/whats_new_posts.php(348): XF\Template\Templater->callMacro('whats_new_posts', 'results', Array, Array)
#11 src/XF/Template/Templater.php(1654): XF\Template\Templater->{closure}(Object(SV\LazyImageLoader\XF\Template\Templater), Array, NULL)
#12 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('whats_new_posts', Array)
#13 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#14 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Html->renderView('XF:WhatsNew\\Pos...', 'public:whats_ne...', Array)
#15 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#16 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#17 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#18 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
#19 src/XF.php(524): XF\App->run()
#20 index.php(20): XF::runApp('XF\\Pub\\App')
#21 {main}
We use essential cookies to make this site work, and optional cookies to enhance your experience.