Alex
banner
alexdln.com
Alex
@alexdln.com
Web Engineer, Author, Contributor, Photographer
Frontend/React/Next.js/UX/DX/Сapybara/Performance/Growth

🔨 Building slidebook.dev | atsky.app | robindoc.com | nimpl.dev
🏡 Living alexdln.medium.com | github.com/alexdln
It's funny that using the class instead of the data attribute works reliably. But I can't figure out why exactly, because the styles for the data attribute are even higher than the styles for the class
November 23, 2025 at 11:34 AM
Looks like nope 🥲

If there is a theme entry in localStorage, it does not flicker, if there is not - it flashing
November 23, 2025 at 11:30 AM
Nice try, Rowling, nice try...
November 23, 2025 at 7:05 AM
I currently have a rate limit configured on my firewall, disabled AI scanners, captchas for suspicious agents, and several specific rules for countries and IP addresses.

I use Vercel, but I think you can connect domain to CF and set up the same thing in free plan
November 22, 2025 at 11:20 PM
I assumed it should be cheap, but I implemented custom backend routes and metadata generation at the server level. Rendering is done only on the client. This offers little SEO potential, but it's better than nothing.

I think I could also try making some requests directly from the client to bsky API
November 22, 2025 at 11:17 PM
I've also been noticing abnormal activity in recent weeks and tweaking my firewall settings.

@zeu.dev have you analyzed your traffic?
November 22, 2025 at 11:12 PM
I can tell from Atsky that such clients, among other things, are very popular for bots and scanners. This means millions of additional requests, and implementing support and stability on a self-hosted system will also be painful (and probably expensive)
November 22, 2025 at 11:10 PM
I just noticed I left my vitamins in the sun again and got angry... A minute later, I started laughing
November 22, 2025 at 10:30 PM
* Yes, that's the sun outside the window in London. It's not Photoshop, just a bit archival *
November 22, 2025 at 6:49 PM
* Just don't tell them about the local matured Christmas pudding... *
November 22, 2025 at 5:58 PM
Working with the demo also revealed that the package didn't connect to Vite projects out of the box because the ESM wasn't fully configured. Now everything's ready

I'll look into ways to improve support even further
November 21, 2025 at 10:38 AM
You can try it at contection.dev. The video doesn't really convey how it works
November 21, 2025 at 10:38 AM
Yeah, I remember, that was fun. Thanks for the reminder - I'm also curious if the whole system is so reliable that the request will only come in once or twice.

Not client-side caching, not back-end checks, not rate limits – but the expectation that it will only be executed a couple of times.
November 19, 2025 at 10:25 AM
I can't find an answer, but it looks like this limit was only based on some agreement or basic block in the UI (I hope there was at least a check at the backend level)
Cloudflare outage on November 18, 2025
Cloudflare suffered a service outage on November 18, 2025. The outage was triggered by a bug in generation logic for a Bot Management feature file causing many Cloudflare services to be affected.
blog.cloudflare.com
November 19, 2025 at 10:08 AM
It's interesting that the Internet decided to crash when the parameter size was exceeded, rather than process the acceptable part
November 19, 2025 at 10:00 AM
I also worked around this by thinking up a variant of feature flags - where you have an intermediary between the client and the server, and it enriches the request with flags data via cookies
November 19, 2025 at 9:59 AM
I remembered one interesting problem: after updating next.js and React, our site completely crashed.

So... it turned out that the headers had exceeded the allowed size (there were too many link headers)
November 19, 2025 at 9:57 AM