← Back to context

Comment by tehbeard

3 years ago

> ...is implemented but half-baked, doesn’t work...

We have to discuss that, because malicious compliance of "fine, we'll make a poor implementation so you can't rely on it" is something they may be doing to nudge developers to Apple's "preferred" app system.

IndexedDB... A pillar of the PWA set of APIs (You know, it's kinda handy to be able to save and search structured data locally in adverse network conditions). Their regression testing on this is non-existent. One could maybe forgive a poor initial implementation, but they keep. breaking it. every. other. release. On no other platform do we run into this issue.

Somewhat saved by them aggressively clearing PWA data if not used within a ~"week or two", so if we detect Safari, indexedDB is more used as a sketchy temp cache, and we aggressively try to sync as much as possible to remote to prevent data loss.

FormData is another API, it took them over 2 years to get past having just the append() function after everyone else implemented the full spec. Every other browser you can call set() and be done, Safari? Recreate the FormData object with the modified value.

Date inputs, iOS has incredibly gimped Date inputs to this day (cannot set min/max/step to improve UX by clamping users to relevant date ranges for say, booking an appointment), on desktop it was NON-EXISTANT till Q2 2021, and now it's a also gimped but in slightly different ways to iOS date input.