Hacker Newsnew | past | comments | ask | show | jobs | submit | elithrar's commentslogin

IPs as identifiers aren’t great: in a world of both CGNAT (more shared IPs) and a ton of sketchy residential proxies, they’ve become poor proxies for identity of a “thing”.


IPs are slowly getting worse as identifiers over time, but IP and IP range bans are like port-shifting SSH: you can often get a lot of defense against low-effort attacks for similarly low amounts of effort.


There's ~four of us trying to reproduce this right now, using Astro and Remix, and cannot at all.

An important note: React-based frameworks tend to use camelCase attributes vs. hyphen-case (which is the output) in components: including the icon library being used here. Something during the build process is not converting them to hyphen-case.

* I've pasted a decently complex SVG exported from Figma into a Remix component verbatim (hyphen-attributes) and it renders fine: https://9b14a265.test-broken-svgs-remix.pages.dev/ (scroll down)

* I've rewritten those attributes to camelCase: and again, renders fine - https://1af766a8.test-broken-svgs-remix.pages.dev/

* This is all deployed via the Pages Build system; no local builds at all.

* Someone else on the team has an Astro example stood up with the specific unplugin-icons library: https://astro-svg.pages.dev/ - cannot reproduce the invalid SVG attributes.

We're going to continue investigating but don't see this as widespread and don't yet have any other reports. That there is a _difference_ between the direct deploy vs. using Pages Builds is a problem, though. We've also asked the Astro folks to understand if there's something up here as well.

(If not clear: I work at Cloudflare)


Might this happen if the author did not have the Mime type set correctly when serving his .svg assets?


Based on the article, it's happening before anything gets served, it's specifically happening during the Astro build phase, but only on the Cloudflare build machines. So by the time it comes to serve the assets, stuff is already broken.

My guess would be that there is some specific bit of information set during the build that triggers this incorrect build in Astro, and this information is set only by the Cloudflare build process. But here the people from Cloudflare are struggling to reproduce that effect, so it looks very specific to this person's setup.


Did you get a reply from the author? I've been nerd-sniped so I'm very keen to know what the problem actually was.


Can you share the ticket ID here and/or email me the details? silverlock@cloudflare


Thank you so much for reaching out. I've emailed you the case info.


This should not be the normal experience. Want to drop me an email - silverlock@cloudflare - and I will have the team look into it ASAP.

(I lead our storage & DB product teams here at CF)


sorry but this wasn't my issue it was somebody elses and i dont know their email

all in all we see a bunch of these long tail anecdotes outside YC and we decided against using Cloudflare apart from the generous firewall


> The fact that D1 still doesn't support replication is an indication to me that it has been deprioritized, likely with other newer and less used products, while the infrastructure updates are dealt with.

D1 is definitely not deprioritized. We're heads down on replication, and it's important for us to get it right. Takes time!


> What a nightmare! Now your application code spills into your database and our initial goal of simplifying application development is nothing but a long-forgotten dream. All of that for what? To save a few milliseconds to display a web page.

I think "a few milliseconds" vastly understates this: if you want to run your application closer to users, even just across the US, each query is (at least) 70ms just to get over the network and back again.

"Application code spills into your database" was a bad thing when you wrote one language (say, Java, or PHP) and another language (PSQL/TSQL/etc) for your "stored procedures", but that's not what most modern databases are advocating for.

Instead, and not unlike something like React Server Components (RSC), you can choose whether to run code close to the user or closer to the DB (for transactions) in the same language as your application, because it's still part of your application code. This is the model that Durable Objects[1], our coordinated storage service, uses.

Disclaimer: I work on D1 & Durable Objects at Cloudflare, so I'm likely to be called biased here, but it's not like we haven't a) thought about this deeply and b) actually use D1 and Durable Objects to build distributed systems at Cloudflare.

[1]: https://blog.cloudflare.com/durable-objects-easy-fast-correc...


(I work at CF)

The dashboard team had a bug that caused too-large cookies to be returned to some users.

They’ve rolled out a fix but you can also clear cookies to remedy.


Unrelated - that’s a planned infra maintenance event.


This should be resolved. We’re still investigating the underlying root cause, and intend to share a write-up once we have that in hand.

This is not the way we wanted anyone to start their week.

(I am the PM lead for Cloudflare Workers: Databases & Storage)



Not related.

(I am the PM lead for Workers databases & storage)


I really appreciate how you've showed up quickly and given direct answers. It's an admirable level of comms for a company so large.


Is there a postmortem coming ? Would you be able to tell us what happened at a high level ?


See my comment here: https://news.ycombinator.com/item?id=38075877

(We’ll share more when we can)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: