Wutime
Well-known member
I'm not able to reproduce this issue. Is there anything specific you're doing or is it just any edit on: admin.php?users/username.#/edit ?Also when editing a user, the Adblock history tab throws the following error:
I'm not able to reproduce this issue. Is there anything specific you're doing or is it just any edit on: admin.php?users/username.#/edit ?Also when editing a user, the Adblock history tab throws the following error:
I get that too. It seems to happen to sone users not allI'm not able to reproduce this issue. Is there anything specific you're doing or is it just any edit on: admin.php?users/username.#/edit ?
- Added user-edit "AdBlock history" buttons:
- Reset: Clears AdBlock Status, decrements swap counter, sets current nondetects and current detects to 0
- Delete: Removes user and deletes all device history (essentially a hard reset)
- Ignore: Resets user and removes the from tracking and log list
- When hidden or deleted by an admin, the user will ALWAYS have their AdBlocking usergroup removed
- When "ignored and hidden", their status will be cleared
- When "deleted" or "reset"...
@Wutime are you certain that the Ignore these usergroups option works 100%? I have some moderators who are in the adblock usergroup.
Also when editing a user, the Adblock history tab throws the following error:
Btw able to add recebt tracking history block on user account even if user is all clear and not blocking please
Still getting the error with 2.2.4.I can't reproduce, but did find something that might resolve it.
Whereas a user with a name with no space has a URL ofOops! We ran into some problems.
The requested page could not be found. (Code: invalid_action, controller: Wutime\AdBlockTrackeretected, action: ViewChrisChapman1)
There's a flood check setting. The default is 8 seconds. You can increase that. So any page views below 8 seconds that are "Clear" won't count towards their "Clear" page views. If you know the average usage between page loads is more like 30 or 60 seconds under normal usage, you could increase to 25 seconds for instance.Do you have any information on how you mitigate rapid clear page loads to remove the adblock flag?
Perfect, fixed. I'll send out an update.Whereas a user with a name with no space has a URL
- FIX: Route definition for :int<user_id,username> on user_edit
- Resolves all issues with usernames passed through url
Thanks for clarifying that. Enabled. It probably should be enabled by default?Note, there's also an admin option that's OFF by default: "Any AdBlock detection resets current non-detects back to zero". If enabled, it'll immediately set their "Clear" page views back to 0.
Example: The user has 5 of 9 clear page views required to remove their AdBlock status. If, on their 6th page view they re-enable their AdBlocker, or visit from a different device that has an AdBlocker enabled, they're "Clear" page views will immediately be reset to 0 of 9 required.
If the option is NOT enabled, their clear page views will remain at 5 of 9 required to clear.
Before I read this, I set it to 60.After writing this out, I'm thinking the default for the flood check should be something more appropriate for typical community usage, like 30 or 60 seconds. Note, all page visits count towards tracking (except routes excluded), so while some are navigational (forum list, thread list), others are functional, thread create, thread post.
XF\Db\InvalidQueryException: MySQL statement prepare error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(PARTITION BY user_id, os_type ORDER BY created DESC) AS row_num ' at line 7 src/XF/Db/AbstractStatement.php:228
Generated by: Unknown account
Stack trace
DELETE d
FROM xf_wutime_adblock_tracker_device d
LEFT JOIN (
SELECT entity_id
FROM (
SELECT entity_id,
ROW_NUMBER() OVER (PARTITION BY user_id, os_type ORDER BY created DESC) AS row_num
FROM xf_wutime_adblock_tracker_device
WHERE created < (UNIX_TIMESTAMP() - (365 * 86400))
) AS ranked
WHERE ranked.row_num <= 300
) AS preserve ON d.entity_id = preserve.entity_id
WHERE d.created < (UNIX_TIMESTAMP() - (365 * 86400))
AND preserve.entity_id IS NULL;
------------
#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL statement...', 1064, '42000')
#1 src/XF/Db/Mysqli/Statement.php(39): XF\Db\Mysqli\Statement->getException('MySQL statement...', 1064, '42000')
#2 src/XF/Db/Mysqli/Statement.php(54): XF\Db\Mysqli\Statement->prepare()
#3 src/XF/Db/AbstractAdapter.php(94): XF\Db\Mysqli\Statement->execute()
#4 src/addons/Wutime/AdBlockTracker/Cron/Cron.php(80): XF\Db\AbstractAdapter->query('
DE...')
#5 src/addons/Wutime/AdBlockTracker/Cron/Cron.php(13): Wutime\AdBlockTracker\Cron\Cron::deleteDeviceDetailsCron()
#6 [internal function]: Wutime\AdBlockTracker\Cron\Cron::run(Object(XF\Entity\CronEntry))
#7 src/XF/Job/Cron.php(34): call_user_func(Array, Object(XF\Entity\CronEntry))
#8 src/XF/Job/Manager.php(253): XF\Job\Cron->run(G)
#9 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#10 src/XF/Job/Manager.php(79): XF\Job\Manager->runJobEntry(Array, G)
#11 job.php(42): XF\Job\Manager->runQueue(false, 8)
#12 {main}
Ah, that's the cron that runs to clear out old records.Hi @Wutime
We're seeing errors like this:
Ah, that's the cron that runs to clear out old records.
Do you know what version of MySQL you're running? And whether it's MariaDB or MySQL? I suspect you're on some version of MySQL < 8.0 but want to confirm.
Curious to know. I can rewrite the SQL to be more version friendly.
- FIX: Update cron SQL to be friendly with MySQL 5.7x
There will inevitably be members who have been detected blocking ads but insist that they are not using an ad blocker.
I have had an instance of this already.
What are the chances of getting a false positive?
There will inevitably be members who have been detected blocking ads but insist that they are not using an ad blocker.
I have had an instance of this already.
What are the chances of getting a false positive?
I want to be able to write specific advice on how we and they can double check what is happening in order to come to a resolution.
I would look at their adblocking history, of course.
Do you have any suggestions?
I've never come across a false positive and can't think of a way it's even possible, so I'd like to say 100% not possible. But what's 100% in life. To be certain I'd need to know what browser and version they're using to test. But otherwise, yeah, not possible. The system assumes they're not AdBlocking unless/until they are.What are the chances of getting a false positive?
We use essential cookies to make this site work, and optional cookies to enhance your experience.