You can't reachCode:https://yourdomain.com/admin.php?add-ons/DigitalPoint-Cloudflare/options
?
Yes, exactly
You can't reachCode:https://yourdomain.com/admin.php?add-ons/DigitalPoint-Cloudflare/options
?
What does you browser console say?
Can you post a screenshot of your API token from the Cloudflare dashboard? Would like to prevent whatever is happening for you, but I'm not able to replicate it, no matter how jacked up I give permissions to a test token.
Exception: Slow query: 20.2705 seconds, /***/job.php src/addons/SV/SlowQueryLogger/Db/Mysqli/SlowQueryLogAdapter.php:372
Generated by: Unknown account Sep 29, 2025 at 7:17 PM
Stack trace
#0 src/addons/SV/SlowQueryLogger/Db/Mysqli/SlowQueryLogAdapter.php(159): SV\SlowQueryLogger\Db\Mysqli\SlowQueryLogAdapter->SV\SlowQueryLogger\Db\Mysqli\{closure}()
#1 src/addons/SV/SlowQueryLogger/Db/Mysqli/SlowQueryLogAdapter.php(371): SV\SlowQueryLogger\Db\Mysqli\SlowQueryLogAdapter->withOriginalDbAdapter(Object(Closure))
#2 src/XF/Db/Mysqli/Statement.php(110): SV\SlowQueryLogger\Db\Mysqli\SlowQueryLogAdapter->logQueryCompletion()
#3 src/XF/Db/AbstractAdapter.php(96): XF\Db\Mysqli\Statement->execute()
#4 src/XF/Mvc/Entity/Finder.php(1428): XF\Db\AbstractAdapter->query('
SELECT `xf_...')
#5 src/addons/DigitalPoint/Cloudflare/Repository/Geo.php(14): XF\Mvc\Entity\Finder->fetch(1000)
#6 src/addons/DigitalPoint/Cloudflare/Cron/CleanUp.php(15): DigitalPoint\Cloudflare\Repository\Geo->deleteUnusedGeoData()
#7 src/XF/Job/Cron.php(37): DigitalPoint\Cloudflare\Cron\CleanUp::runHourlyCleanUp(Object(XF\Entity\CronEntry))
#8 src/XF/Job/Manager.php(260): XF\Job\Cron->run(9.9802)
#9 src/addons/SV/SlowQueryLogger/XF/Job/Manager.php(34): XF\Job\Manager->runJobInternal(Array, 9.9802)
#10 src/XF/Job/Manager.php(202): SV\SlowQueryLogger\XF\Job\Manager->runJobInternal(Array, 9.9802)
#11 src/XF/Job/Manager.php(86): XF\Job\Manager->runJobEntry(Array, 9.9802)
#12 job.php(43): XF\Job\Manager->runQueue(false, 10)
#13 {main}
Request state
array(4) {
["url"] => string(15) "/***/job.php"
["referrer"] => string(81) "https://www.***.net/***/konu/toplam-5-bin-tlye-ekipman-oenerisi.3930172/"
["_GET"] => array(0) {
}
["_POST"] => array(0) {
}
}
Unfortunately, there isn't a realistic way to make that query faster. It's one of the reasons it's decoupled from the user interface (doesn't slow down users, runs in a cron task only).I solved it thanks.
@digitalpoint can you check this? Xon said maybe you can resolve this slow query:
Code:Exception: Slow query: 20.2705 seconds, /***/job.php src/addons/SV/SlowQueryLogger/Db/Mysqli/SlowQueryLogAdapter.php:372 Generated by: Unknown account Sep 29, 2025 at 7:17 PM Stack trace #0 src/addons/SV/SlowQueryLogger/Db/Mysqli/SlowQueryLogAdapter.php(159): SV\SlowQueryLogger\Db\Mysqli\SlowQueryLogAdapter->SV\SlowQueryLogger\Db\Mysqli\{closure}() #1 src/addons/SV/SlowQueryLogger/Db/Mysqli/SlowQueryLogAdapter.php(371): SV\SlowQueryLogger\Db\Mysqli\SlowQueryLogAdapter->withOriginalDbAdapter(Object(Closure)) #2 src/XF/Db/Mysqli/Statement.php(110): SV\SlowQueryLogger\Db\Mysqli\SlowQueryLogAdapter->logQueryCompletion() #3 src/XF/Db/AbstractAdapter.php(96): XF\Db\Mysqli\Statement->execute() #4 src/XF/Mvc/Entity/Finder.php(1428): XF\Db\AbstractAdapter->query(' SELECT `xf_...') #5 src/addons/DigitalPoint/Cloudflare/Repository/Geo.php(14): XF\Mvc\Entity\Finder->fetch(1000) #6 src/addons/DigitalPoint/Cloudflare/Cron/CleanUp.php(15): DigitalPoint\Cloudflare\Repository\Geo->deleteUnusedGeoData() #7 src/XF/Job/Cron.php(37): DigitalPoint\Cloudflare\Cron\CleanUp::runHourlyCleanUp(Object(XF\Entity\CronEntry)) #8 src/XF/Job/Manager.php(260): XF\Job\Cron->run(9.9802) #9 src/addons/SV/SlowQueryLogger/XF/Job/Manager.php(34): XF\Job\Manager->runJobInternal(Array, 9.9802) #10 src/XF/Job/Manager.php(202): SV\SlowQueryLogger\XF\Job\Manager->runJobInternal(Array, 9.9802) #11 src/XF/Job/Manager.php(86): XF\Job\Manager->runJobEntry(Array, 9.9802) #12 job.php(43): XF\Job\Manager->runQueue(false, 10) #13 {main} Request state array(4) { ["url"] => string(15) "/***/job.php" ["referrer"] => string(81) "https://www.***.net/***/konu/toplam-5-bin-tlye-ekipman-oenerisi.3930172/" ["_GET"] => array(0) { } ["_POST"] => array(0) { } }
Options -> External service providers -> Log IP address locations
Hourly clean up
cron task for this addon. You could also run it less often than hourly... like monthly or something if you'd rather use it, but not end up with a slow query every hour.
- Don't use the Cloudflare geotargetting feature (can be disabled under
Options -> External service providers -> Log IP address locations
Did you go to XenForo options?Can you send a link to this? I can't find it...
Did you go to XenForo options?
Ya, I’d like it more if it didn’t cost per email sent though.Owww. This looks nice! I've signed up for early access.![]()
Announcing Cloudflare Email Service’s private beta
Today, we’re launching Cloudflare Email Service. Send and receive email directly from your Workers with native bindings—no API keys needed. We're unifying email sending and routing into a single service built for developers. Sign up for the private beta.blog.cloudflare.com
Most definitely. Where did you find the costs?Ya, I’d like it more if it didn’t cost per email sent though.
They haven’t posted it yet, but it mentions there will be a per email cost in the blog post you linked.Most definitely. Where did you find the costs?
Hopefully they will have similar but cheaper packages like Amazon SES. i.e. cents per 1000 emails.Email Sending will require a paid Workers subscription, and we'll be charging based on messages sent.
I didn’t get the email, but I assume you would just use Workers with their R2 API. If that’s the case, doesn’t seem like much upside (can already do that with XenForo being the API client without per request Worker costs).Hopefully they will have similar but cheaper packages like Amazon SES. i.e. cents per 1000 emails.
When you sign up for the private beta they ask you what you are currently paying and where. Most likely they will want to offer a competitive package deal.
BTW: this week I received an email from CF advertising the use of their new Workers to serve CDN/R2 content to logged in users following permissions. While it was not clear to me how that would work, it sounded like something that could be useful as an alternative to presigned URLs for R2. Did you get the same email and do you think this is useful for XF or WP?
It would be awesome if a worker could be used for this, so that we no longer need presigned URL's (slow due to HTTP/1)The issue here is we need to do server-side permission checking for users for the attachments. So you can’t just make all attachments blindly public like we do with avatars. And that’s the problem… can’t avoid it unless you wanted to do away with user group permissions for attachments.
internal_data
directory still gets served out of your server(s) in order to apply all relevant permissions for things like full size attachments. The server(s) are just using R2 as a data storage device.data
directory, or do those assets actually get served directly to the client from R2?We use essential cookies to make this site work, and optional cookies to enhance your experience.