6 ms·
Safari Ruined My Tuesday
- baggy_trough 5y agoThe * in that css rule is pretty painful.
- merrywhether 5y agoI guess moving all your logic to the server means you can waste cycles in the CSSOM? /s I’m curious if more explicit selectors would’ve fixed this, since the * exposes you to anything weird about your layout.
- MisterSandman 5y agoI didn't even have to open the article to know it's a CSS bug.
- cdrini 5y agoYikes, that's an awful bug. I make heavy use of pointer-events none. And I've _already_ had to have a special case for Safari, because it didn't seem to support setting `pointer-events: all` on SVG tspan elements. Now I have to double check to see if/what is broken in Safari 15 :(
- blondin 5y agoi sympathize with the author. safari and browsers aside, there is something bigger going on. there is a massive disconnect between applications users and makers nowadays. i have started to think that they a) don't care b) have misaligned priorities c) have weird notions of "acceptable" errors. i have a long list of applications that break every time there is an update. even UX updates introduce bugs nowadays. i have started to dread updates and upgrades. we have lost all notion of stability.
- Mikeb85 5y agoWhy should any developer care about supporting Safari? Chrome and Firefox support most (all?) of the current web standards. Every site I use works on both. I don't hear any concerns about Brave, Edge or Opera either. How is it that Safari is the only broken browser these days? As for 'acceptable' errors, I find software to be pretty reliable these days. I remember way more things being messed up back in the day...
- merrywhether 5y agoThere are no web standards in the era of WHATWG. It’s just a living spec composed of whatever vendors build and convince other vendors to add to their own products. Chrome is constantly spitting out new proposals that are already half-baked-but-live in their browser and then people start using them and complain they aren’t yet in other browsers. Yet when Safari or Firefox add new features we don’t act like Chrome is slow? Chrome’s rapid pace is almost surely an effort by Google to overwhelm the competition so they can make more ad money through dark patterns via Chrome dominance.
- colinclerk 5y agoSafari - for better or worse - is setting the standard for many privacy updates, especially around 3rd party cookies and tracking. Those updates broke a lot of websites - you might have noticed SSO failing, iframes failing, or websites confusing unmodified Safari users for adblock users. Firefox adopted the changes a bit later. By the time they made the switch, I think most had resolved their sites because of Safari. Last I read, Chrome is slated to implement similar for 2022. Not intended to be a defense of Safari, especially for OP's bug. But at least some breaking changes were deliberate and in the name of privacy enhancements.
- yjftsjthsd-h 5y agoErm. So it works on Blink and Gecko... And Blink, and Blink, and Blink, but not WebKit? That's a symptom of a worse problem IMO.
- stjohnswarts 5y agoSimple: iPhones. If you aren't worried about iPhones then ignore safari all you like.
- taf2 5y agoMobile safari… since it’s the only engine on iOS … that ends up being a good chunk of users depending on your user base probably many try to use your website on an iPhone … if blink engine was allowed by apple on iOS - safari would die tomorrow
- FpUser 5y ago"...i have a long list of applications that break every time there is an update..." Updates to Wordpress / WooCommerce and accompanying plugins can make one go suicidal.
- fouc 5y agoMy general recommendation is to make Safari your main browser for development work. Check your work in Firefox later. By that point it should be good. If any weirdness shows up in Chrome, you'll just end up comparing it to IE6.
- RobertRoberts 5y agoA more reasonable approach is to code to standards then do these things: 1. Tell customers it will cost x more money to fix bugs on Safari (likely zero will pay this premium) 2. Put a notice or banner for Safari users that they are using a non standards compliant browser and they may see minor or major issues and maybe should use Firefox or Chrome. 3. Educate customers on standards and show them alternatives so they can do the same for their customers. 4. Record actual brower useage data and demonstrate the low count of actual Safari visitors and star back at #1 above with this newly applied info.
- fouc 5y agoCode to webkit's standards. Also you're forgetting iOS is largely Safari (or chrome/firefox wrapped in webkit).
- innocenat 5y agoTbh, personally, I only care about Safari because iOS. If iOS user are able to use other browsers, I wouldn't really hesitate to not support Safari.
- merrywhether 5y agoAre you saying you basically want a Chrome monoculture? It would be terrible to give that much power to Google.
- lern_too_spel 5y agoThey're saying that they won't put up with Apple's laziness. If Apple wants developers to target their browser, they should provide a working browser.
- ncake 5y agoIn my brief experience in front-end, I've encountered weird Safari bugs on every single project. In one case the code failed because the form object there doesn't implement the method to validate and submit. In another, it wasn't sending a form field if it was styled with "display: none;" (had to change to "left: -9999px;"). In another, playing a non-muted video would error out some of the time, if clicking an element wasn't recognized as a user event. In yet another, the mobile version refused to center text inside <button> no matter what. And so on.
- concinds 5y agoIt's quite interesting to read the history of how Blink came to be[0]. Seems like it started on what amounts to a misunderstanding. And now, because of it, Safari's fallen hopelessly behind in web standards support, security, and even resource use (see RAM use in Safari vs Chrome with many tabs open, Safari uses 1.5x-2x more RAM). Apple's big weakness is that it has laser focus on a few cash cows, and lets everything else linger; the quality of Chrome developer relations, carefulness to not break things in updates (see Safari & IndexDB), huge resources invested in Chrome security, and focus on features and power users (tab list in the menu bar! tab search that doesn't take seconds to load on x86! better UI! tabs on top! multiple profile support! ability to open local HTML files without going into the Develop menu!). Why can't Apple just care to make a good browser? Does anyone have any insights into how the Safari team functions at Apple, and why they're not catching up? [0]: https://news.ycombinator.com/item?id=5489641 https://news.ycombinator.com/item?id=5489641
- wffurr 5y agoPart of the problem is the very slow release cadence of Safari. Features are tied to annual OS releases, bug fixes seem to often not meet the bar for incremental updates, which have no discernable schedule.
- whywhywhywhy 5y agoHonestly just isn't in their interest to do so anymore, and that's messed up.
- philo23 5y agoI think Safari is now the only big non-evergreen browser remaining out there, and I think it's really holding it back. On both security fixes and features. I hope some point in the future Apple untie Safari from macOS and iOS so they can be updated independently without having to wait months to operating system updates to come out..
- easton 5y agoSafari actually does get backported to previous macOS releases, at least during betas. You can run the Safari "Technology Preview" on n-1 macOS. https://developer.apple.com/safari/technology-preview/ https://developer.apple.com/safari/technology-preview/ But they aren't backported on iOS, I assume purely for marketing (look at our new tab layout! you'll get it in the fall), which doesn't make sense considering the last time anyone cared about a browser feature was probably when tabs were added to IE7.
- philo23 5y agoYeah they've always updated Safari on the previous version of macOS, but that's pretty far from being evergreen, and the average user isn't going to be using the technology preview. Take Chrome for example, where there's roughly an update every 60 days and the option for them to push out security fixes quicker. Imagine having to wait for an operating system update (major or minor version) to just get the latest secure version of Chrome. That's pretty much where Safari is, especially on iOS. Don't get me wrong, I think Safari gets a lot of unwarranted hate and it can certainly be a bit quirky here and there, but if they didn't have to wait for the next major/minor release of macOS/iOS to update Safari I think it'd be in a much better place.
- michaelbuckbee 5y agoI had the weird experience of someone reporting that a SSL issue was occurring in Safari but not with Chrome. After a bunch of investigation and rabbit holes it turned out that it was an app issue where the "_" character wasn't being filtered from sub-domains. https://my_name.domain.com https://my_name.domain.com -> works in Chrome, not in Safari This is interesting to me as Safari is _correct_ in their implementation (that the underscore character isn't valid in domains), but again an instance of FF+Chrome working where Safari doesn't.
- rsynnott 5y ago> This is interesting to me as Safari is _correct_ in their implementation (that the underscore character isn't valid in domains), but again an instance of FF+Chrome working where Safari doesn't It's IE/Netscape all over again; a big driver of bugs back in the day was the one of them (usually but not always IE) was overly tolerant of some sort of bad behaviour).
- tgv 5y agoChrome fucked up one of my days, because it suddenly changed the way updating a video element's source worked. On Android 11, and not even all platforms, by the looks of the log files. So, you hack around it, deploy, shrug, and add a notch to your eternally flaming hatred for everything the internet has become.
- tofukid 5y agoHere’s my latest browser issue that drove me crazy: In Safari the TextMetrics.actualBoundingBoxRight returned from CanvasRenderingContext2D.measureText() includes dangling spaces, and Chrome does not. So you’ll get different text measurements if the text has a space on the end, which broke my app’s logic of rendering multiline rich text in Chrome. Ugh.
- deleted 5y ago[deleted]
- eyelidlessness 5y agoI’m not at my desk to try it right now, but I wonder if this can be worked around by forcing a repaint. Animating a custom property, for instance, can fix “stuck” styles for eg scroll shadows (see https://www.bram.us/2019/10/24/pure-css-scroll-shadows-vertical-horizontal/#note-mobilesafari https://www.bram.us/2019/10/24/pure-css-scroll-shadows-verti...).
- klodolph 5y ago> It's like living with IE6 again There is a CSS bug. CSS bugs are dirt common. It's a miracle that there are as few CSS bugs as there are. However, I remember IE6. IE6 was a total fucking mess. Everything was broken on IE6. It wasn't just a bug, it was a complete support nightmare. I routinely encounter problems with CSS that reveal maddening differences between Chrome, Firefox, and Safari. That's just for desktop. But it's still way better than dealing with IE6.
- Turing_Machine 5y ago> However, I remember IE6. IE6 was a total fucking mess. Everything was broken on IE6. It wasn't just a bug, it was a complete support nightmare. Indeed. While Safari does have its problems, it is a long, long way from being as bad as IE used to be. I recall one project where making it work on IE required that about 30% of the code be rewritten.
- simondotau 5y agoAnd that’s not even the worst part. The worst was all of the corporate sites that were built to run exclusively on IE6 and straight up couldn’t be used in alternative browsers. I’m talking scripts written in VBScript rather than JavaScript. ActiveX plug-ins rather than something cross-platform.
- matwood 5y agoThe browser landscape was very different when IE6 was new. In many cases the only way to write a performant, complex web app was to use ActiveX (or Flash). The problem is those apps were never updated as web technologies rapidly moved forward.
- protomyth 5y agoI bet a lot of corporations would have loved for Microsoft to launch a sandboxed version of IE6 that had enough "knobs" for the sysadmins to only allow it to work on an intranet or going to specific sites. Saves a lot of investment, but becomes the new COBOL.
- slivanes 5y agoI'm trying to figure out which browser is the biggest cancer for the WWW. On the one hand, you have Safari whom has a parent company that isn't interested in making it have useful feature parity with the others because it'll then allow escape from their gravy train app store (fully working PWA's, non-compete with rendering engines in iOS). Their lack of keeping up is starting to look a bit like IE6 days. And on the other, you have Chrome whom has a parent company that claims it wants to improve privacy (FLoC), but to me it is more of a "pulling the ladder up on everyone else" because they have so many other methods to track you (DNS, GA, Android, etc.) that limiting everyone would be disingenuous. Pushing AMP is another example of bullying behavior.
- reaperducer 5y agoI think Safari, flaws and all, is pretty much the only browser that has any weight against Chrome. Tell your manager that you want the web site to support Firefox or Brave or something else, and they'll tell you it's a waste of time. Tell them that the web site won't work on their MacBook, and it's a four-alarm fire. In a lot of ways, I wish Safari would deviate even more from Google's "standards" just so that maybe it would pull Big G back to the center some how.
- krono 5y agoMicrosoft Edge is gaining some serious ground and is closing in on Safari [0]. Their aggressive conversion tactics seem to be paying off. The problem with Safari is that they either simply haven't, and, in some cases, even flat out refuse to implement certain standards that they themselves have had a hand in establishing. And then most of what is available comes half-arsed, undocumented, and is not supported/iterated upon. [0] https://gs.statcounter.com/browser-market-share/desktop/worldwide https://gs.statcounter.com/browser-market-share/desktop/worl...
- vimy 5y agoiPad Safari should count as desktop Safari in those statistics. They are basically the same since last year.
- syspec 5y agoI encounter random CSS bugs all the time in Chrome, it's just trendy to say Safari is behind the times. Google wants everything to be done in the browser, their browser, so they can track everything without cookies to sell ads
- Benjamin_Dobell 5y agoIt's really not just "trendy". Safari is the bane of my existence. On Big Sur, our WebGL app was occassionally sporadically rendering floating objects and black primitives into infinity on our CEOs laptop. On the plus side, our competitor's product didn't work at all. So I guess it's not all bad. In this case, Catalina had worked fine, and upgrading to Monterey fixed the issue. So props to Apple for fixing the problem. However, at the same time, our app worked flawlessly in both Firefox and Chrome running on the same hardware. Granted, it's not as simple as pointing the finger at Safari. The issue was a combination of Safari's behaviour paired with less than perfect graphics drivers. Although, this is just one example. Mobile Safari not supporting full screen APIs on iPhone, but supporting them on iPad is just, well, weird. Is that a conscious effort to cripple the web on iPhone, or could they just not figure out the UX?
- merrywhether 5y agoI actually like that they do this and let me use the UI I know and that will definitely work. 99% your video playback UX is not as good and you mostly want to take over full-screen so you can prevent the user from doing things (you may fall in the 1%, but I’m generalizing so apologies if you’re one of the few exceptions). It’s annoying on the iPad when sites build half-cocked full-screen UIs with buggy custom controls.
- Benjamin_Dobell 5y agoAs mentioned, our app is WebGL i.e. interactive real-time rendering, not at all video playback. That said, I agree with you on custom video UIs being horrid.
- Vinnl 5y agoHeh, reading the title I thought this was going to be someone losing all their tabs because "clear history" on mobile Safari apparently does that: https://twitter.com/SaraSoueidan/status/1457307545815732233 https://twitter.com/SaraSoueidan/status/1457307545815732233 > Oh dear God.. Clearing history on Safari iOS closes all currently-opened tabs?! Why is there nothing that warns you of that?! Why does clearing history on mobile work differently from the way it does on mac? I had 60+ important tabs open and now they're gone!! > I had so many notes, bookmarks, and links I needed to use in my course + so many pages unrelated to work, all open for later reference. And no I don't have a backup to restore from. What the heck, Apple?!
- tediousdemise 5y agoIt boggles my mind that people use tabs like bookmarks. Not only does this usually destroy your available RAM, but its just not the right tool for the job. You are using a hammer like a screwdriver. To each their own, I guess. Just don't get mad when your browser crashes from overloading with tabs, or when you clear your history and it triggers the expected behavior of closing them. It would be a huge privacy concern if your open tabs didn't close when you clear the browser history.
- PeterisP 5y agoI fully disagree. IMHO other open tabs are part of the current app state (not its history) just as the currently active tab. Do you expect clearing history to close the window you are currently looking at? None of the multiple browsers I use would close any open tabs when you clear browser history, at least on computers - mobile UX might be different, though, but I don't use mobile browsing much perhaps this is a source of differing expectations? Regarding crashes, I fully expect that a browser which crashes or gets forcibly closed (e.g. the computer losing power) will restore all the open tabs afterwards, and modern browsers do succeed in doing that, if they did not, I would consider that as a bug to be fixed.
- tediousdemise 5y agoLeaving a million tabs open is analogous leaving all your silverware on your countertop instead of putting it in a drawer where it belongs. Regardless of how convenient it is, it's chaotic and incorrect user behavior. People need to take accountability for not using internet browsers correctly. Learn from your mistakes. PEBKAC. This actually gave me an idea: a web browser with a feature that automatically saves open tabs into a "tab list," which functions the same way as bookmarks. Oh wait, that's the browsing history.
- Ciantic 5y ago> CSS includes a handy pointer-events attribute that makes buttons and links flip to non-interactive Except that it doesn't, you can still focus those with keyboard and click them. You should always disable buttons with `disabled` property instead of that hack.
- chrismccord 5y agoIn this case, the rule is for all interactive elements. It's not just buttons, but anchor tags as well (or any other element a user decides to put a `phx-click` and friends on. Phoenix LiveView internally already noops if it's not connected, but we used the css rule so the cursor pointer would not reflect an interactive element while in a loading state.
- throwawayswede 5y ago> This is a post about a bug in Safari, but if you just want to ship a Phoenix app, the easiest way to learn more is to try it out; you can be up and running in just a couple minutes I'm sort of sick of this phenomena/trend of marketing/promotional material being masked as technically helpful content. This is exactly like the appalling methods of native advertising (aka sponsored content), but now used for self-promotion.
- ebiester 5y agoHowever, in this case it was technically helpful content and sharing a frustrating story. It was one paragraph that was easy to ignore. There was no popup or call to action past that simple paragraph. As far as native advertising, this is as benign as it gets.
- throwawayswede 5y agoThe concept is terrible, whether it was done "as benign as it gets" or not. The idea that this kind of bullshit content (that's obviously only written to be a marketing channel) is accepted as normal is exactly why it's a problem. Your comments only highlights it even more.
- Matthias1 5y agoWhen you're doing cross-platform development like this for the web, you're going to have a "least common denominator" that you have to design for. Safari is that least common denominator right now only because Microsoft switched to using Chromium. But if Apple switched Safari to use Chromium, then Firefox would be the least common denominator and supporting Firefox would suddenly seem like a burden. It's fine to criticize Safari and encourage Apple to do better in the space, since Apple isn't super incentivized to improve Safari. But this narrative that always targets the browser with the smallest feature-set at any given time will only stop when all browsers are Chromium based. (At which point they'll start complaining about other browsers using a Chromium version that's slightly behind Chrome.)
- jakub_g 5y agoFirefox releases every 4 weeks. Safari releases twice a year. That's a significant difference. We should all expect more from a $2.5T company (whose browser engine is the only allowed browser engine on iOS). To clarify: it's not an attack on developers of Safari. The point is that Apple is severely underinvesting while at the same time blocking competition.