100% Agreed.That would be a deal breaker for me and I’d stop using the add-on unless it’s a feature that can be blocked.
100% Agreed.That would be a deal breaker for me and I’d stop using the add-on unless it’s a feature that can be blocked.
- Fix possible internal server error on approval queue when "Show date of birth in approval queue" option is set
What I’ve been doing lately is disabling dormant accounts with a flag that they must reset their password before they can access the account again. That’s cut down my dormant account spam by a lot.It would be useful to have a LLM watermark check on post texts. Especially for new members and dormant accounts becoming active again.
Dormant accounts coming back to life is where quite a bit of bot/spammer activity takes place now. Especially those with leaked credentials.
Agreed, I do see this a lot and have actually had Claude Code work up an addon that protects my private marketplace exchange from these accounts that abuse long-time member accounts with good standing to post fake listings and scam others.It would be useful to have a LLM watermark check on post texts. Especially for new members and dormant accounts becoming active again.
Dormant accounts coming back to life is where quite a bit of bot/spammer activity takes place now. Especially those with leaked credentials.
What I’ve been doing lately is disabling dormant accounts with a flag that they must reset their password before they can access the account again. That’s cut down my dormant account spam by a lot.
- Fix possible error when downloading updates to the maxmind database
- XF compatibility fix as container locking is implemented on more versions than expected
- Fix login/signup tables could grow without bound by adding. For upgrades; pruning is disabled. New installs have this set to ~2 years.
XF compatibility fix as container locking is implemented on more versions than expected
Yup. Previously it had a strict version check but with the vast amount of back-ported security releases it had to be switched to feature detection instead.@Xon is this version required for the patched XF 2.2 versions (e.g. 2.2.16 P4)?
Yup. Previously it had a strict version check but with the vast amount of back-ported security releases it had to be switched to feature detection instead.
We're preparing to upgrade Signup Abuse Detection and Blocking from 1.13.6 to 1.20.7 on a fairly large XenForo 2.2.19 Patch 2 forum running PHP 8.3. I tested the upgrade first on a recent clone of the live site. Everything completed successfully, but the MigrateLoginRecords portion took over 3.5 hours and created about 2.8 million rows in xf_sv_login_log.
I'm mainly trying to figure out the safest way to minimize how long the forum needs to be completely offline. I dug into the data a little further and about 96% of the rows being migrated are coming from historical xf_ip login records rather than signup records. From looking at the upgrade code, it appears XenForo promotes the new add-on version and then runs the Atomic job queued by postUpgrade(). I also don't see an obvious cutoff, preload check, or deduplication mechanism in MigrateLoginRecords, so I don't want to work around it myself and accidentally duplicate history.
A few questions:
1. Is it safe for MigrateLoginRecords to run while the forum is open? If so, is there anything that needs to be disabled while it runs, such as new registrations or user logins?
2. Is there a supported way for the add-on upgrade itself to finish and then let MigrateLoginRecords continue in the background through XenForo's normal job system?
3. Can MigrateLoginRecords safely be stopped and resumed, or would already completed batches be copied again?
4. Is there any way to pre-migrate most of the historical data while 1.13.6 is still running, then migrate only the small amount of new data during the final upgrade window?
5. Does the migration support any kind of date, user ID, row ID, or other starting/cutoff point?
6. If xf_sv_login_log were pre-populated, is there any supported way for the upgrade to recognize the existing rows and avoid migrating them again?
Would pruning old xf_ip history before the upgrade be a reasonable approach for a site this size? And is two years a reasonable retention period from Signup Abuse's point of view?
If there's a newer migration implementation or recommended procedure for large installations, I'd be happy to use that instead of trying to work around the normal upgrader.
Yes.1. Is it safe for MigrateLoginRecords to run while the forum is open? If so, is there anything that needs to be disabled while it runs, such as new registrations or user logins?
Sadly no, it would require patching the installer to push them onto a job queue for after the add-on update instead of during the add-on update2. Is there a supported way for the add-on upgrade itself to finish and then let MigrateLoginRecords continue in the background through XenForo's normal job system?
It is a standard XF job, so yes. The problem is it gets triggered as a manual job and blocks the installer.3. Can MigrateLoginRecords safely be stopped and resumed, or would already completed batches be copied again?
Not sanely.4. Is there any way to pre-migrate most of the historical data while 1.13.6 is still running, then migrate only the small amount of new data during the final upgrade window?
The most recent version has some options to prune these tables but that is ignored when this update is run.5. Does the migration support any kind of date, user ID, row ID, or other starting/cutoff point?
This isn't supported, the migration code isn't that complex.6. If xf_sv_login_log were pre-populated, is there any supported way for the upgrade to recognize the existing rows and avoid migrating them again?
Pruning the old xf_ip table would be the safest way to reduce how much data it needs to touch, but I also need to update so it applies the retention policy before migrating data.Would pruning old xf_ip history before the upgrade be a reasonable approach for a site this size? And is two years a reasonable retention period from Signup Abuse's point of view?
We use essential cookies to make this site work, and optional cookies to enhance your experience.