TL;DR: iOS Safari is more than an inconvenience for developers, it’s the fundamental reason interoperability has been stymied in…
You must log in or register to comment.
Damn, that’s a long list. Looks like a lot of work to collect and prepare.
I was looking for more of an overview of it and selected them from the headlines:
- 2014: Completely broken IndexedDB implementation
- 2015: 100vh (100% viewport height) means a different thing in mobile Safari to everywhere else
- 2016: <body /> with overflow:hidden CSS is scrollable on iOS
- 2017: Safari incorrectly blocks localhost as mixed content when accessed from an HTTPS page
- 2018: OS 11.2.2 broke WebAssembly
- 2018: Safari 11.1 broke MessageChannels
- 2019: Audio stops playing when standalone web app is no longer in foreground
- 2019: PWA in iOS uses old assets after publishing new servicerWorker/assets
- 2020: Add Fullscreen API to iOS (& display fullscreen)
- 2021: Safari shipped blob.stream(), crashes with a NULL pointer exception
- 2021: Appending an element to the shadow DOM in many cases hard crashes the browser process
- 2021: LocalStorage is broken when a page is open in more than one tab
- 2021: IndexedDB APIs hangs indefinitely on initial page load
- 2021: Fetch request streaming is implemented just enough to pass feature detection, but it doesn’t actually work
- 2021: IndexedDB API information leaks
- 2023: Notifications API: support for the badge, icon, image and tag options
- 2024: On-screen keyboard does not show up for installed web apps (PWAs) when focusing a text input of any kind
- 2008: Focus events for non-input elements behave differently in Safari to every other browser
- 2012: Using border-image with border-style: none is rendered completely wrong
- 2014: WebKit doesn’t calculate padding-top/-bottom: n% correctly
- 2014: Pointer events should allow for device-pixel accuracy
- 2017: Support for 120Hz requestAnimationFrame
- 2018: Some Fetch requests incorrectly completely skip the service worker
- 2020: Safari 14 shipped a broken replaceChildren() method, which caused glitches in Construct.
- 2020: When leaving current scope of PWA, back button incorrectly reads “Untitled”
- 2020: Safe-area-inset-bottom still set when keyboard appears
- 2020: Support for background-attachment: local has suddenly completely disappeared
- 2021: IntersectionObserver and ResizeObserver fire in incorrect order
- 2021: Mousemove events fire when modifier keys are pressed, even if the mouse isn’t moved
- 2021: Scrolling in home screen apps incorrectly latches to document
- 2022: WebM Opus support is inconsistent in Safari
- 2022: Installed web app with viewport-fit cover causes overscroll issues, breaks position fixed and -webkit-fill-available
- 2023: iPadOS: Viewport doesn’t correctly restore after dismissing software keyboard for installed web apps
- 2023: iPadOS: window loses focus when dismissing the keyboard, breaks Page Lifecycle API
- 2024: Svh and lvh are incorrect on iOS in third party browsers
DOM query
let a = '' for (let x of document.querySelectorAll('h3 a[title]')) a += x.title + "\n" a
Malus just bring Malus. I bet this is done on purpose because PWAs mean circumvention of the app store and lost profits for Apple. Hopefully users in the EU will be free of that once the EU commission finally sues the hell out of Malus for breaching DMA rules.
Malus is not your friend.