9 ms·
This week we had a UTF-8 issue that only impacted Safari. One of my colleagues had bought a brand new Macbook Pro and our web-based software was fatally struggl
by a1371 5y ago
This week we had a UTF-8 issue that only impacted Safari. One of my colleagues had bought a brand new Macbook Pro and our web-based software was fatally struggling with its default browser. Chrome was working fine.
It took us days to get to the root cause. Turns out that the issue wasn't Safari, it was Mac OS. Chrome was working fine because presumably they do the UTF-8 handling on their own.
I always hear rosy thing about how polished the Apple ecosystem is, but you can imagine how unamusing it is for my small business to spend $3000 of staff time on such a basic thing. I guess I understand it better now when people rant about Safari being the new IE.
- hamburglar 5y agoApple has severely cut back on QA and simply cannot claim to publish quality software anymore. The number of very easy to find bugs I run into makes that obvious. As an example, the latest iOS update introduced a bug that causes the input box to disappear completely on an iMessage thread so I can’t send messages unless I close it and come back. Happens daily. Embarrassing. It doesn’t help that I have a friend who works at Apple and acts as though the continued bugginess is my fault unless I take the time to undergo the pain of submitting bugs, for which one never receives a response and which are ignored for literally years on end. We are all unappreciated beta testers.
- k_sze 5y ago> We are all unappreciated beta testers. What makes it worse is that you are PAYING to test their buggy software.
- mschuster91 5y agoUnlike Microsoft, Apple doesn't make anyone pay for the OS since... 2013 IIRC?
- herbst 5y agoDon't you just get a free license when you buy their expensive ~locked down~ hardware? Afaik you don't get free osx licenses for hackintosh or virtual build machines.
- mschuster91 5y ago> Don't you just get a free license when you buy their expensive locked down hardware? Apple hardware capable of running macOS may be expensive, but "locked down"? Definitely not. You can run Debian on anything from old PowerMacs to the new M1 model, although I admit that the driver situation on M1 isn't feature-complete.
- herbst 5y agoYou are right, locked down is definitely to strong. My assumption is based on driver issues you might face in the past.
- deleted 5y ago[deleted]
- ben-schaaf 5y agoOn the other hand iPhones and iPads are very locked down.
- ChuckNorris89 5y ago>Unlike Microsoft, Apple doesn't make anyone pay for the OS since... 2013 IIRC? Really? Please let me know where I can get the latest MacOS for free to replace Windows with it on my PC.
- colejohnson66 5y agoDon’t be like that. Providing it for free does not mean that it has to work on your device. By that definition, no software (including non-Apple) for macOS is ever free because it requires a more expensive computer to run. Besides, there’s guides-a-plenty all over the internet about making “Hackintoshes”.
- ChuckNorris89 5y agoThen the comparison on pricing between Windows and MacOS that grandparent made doesn't make sense if one cannot be bough without accompanying hardware, unlike the other, effectively making MacOS priced into the hardware itself, so the comparison falls flat from the start. By that logic iOS and Android are also free and you can alo get Windows for free with various OEM Laptops and system if we use that logic with the difference that you can choose to purchase Windows licenses to use on a machine you build yourself vs the inability to purchase an separate MacOS license without any Apple hardware. So any comparisons on the price of the OS are moot since the cost of MacOS is priced into the accompanying hardware, MacBook, iMAc, etc as you cannot buy it without.
- NoSorryCannot 5y agoCharacterizing macOS as something Apple intends to distribute as free is mostly false. They intend to charge for it with the purchase of a Mac. Microsoft also distributes Windows "for free" on their website and if you care not at all about license terms as we evidently don't when it comes to Mac OS, then it presents no moral quandary to disable its activation annoyances. Is Windows free?
- pram 5y agoThere is no license that can be purchased for MacOS. It literally has no cost in any circumstance. This is just tortured sophistry to arrive at the tremendous conclusion that Windows does, and sometimes doesn’t, cost money. Is windows free? "Sometimes!"
- hamburglar 5y agoWhen was the last time you heard of someone actually buying a copy of Windows, though? I've owned a lot of different versions of Windows in the past 30 years, but never paid for a single one.
- Sophira 5y agoI know someone who bought a copy of Windows 10 for their computer, because they asked me to help install it. It was definitely not an OEM thing, and the packaging had a USB drive in it.
- wmil 5y ago> We are all unappreciated beta testers. I've been trying to popularize "gamma testers" for years without much success.
- eesmith 5y agoSo have others! Here's InfoWorld from 1994 - https://books.google.com/books?id=gzgEAAAAMBAJ&pg=PA59&dq=%22gamma+testers%22&hl=en&sa=X&ved=2ahUKEwiCj8a3v-r0AhV9QvEDHfLaBoEQ6AF6BAgFEAI#v=onepage&q=%22gamma%20testers%22&f=false https://books.google.com/books?id=gzgEAAAAMBAJ&pg=PA59&dq=%2... > Several readers used the same term for what they think the industry has made them become: gamma testers. > "Gamma testing is just like beta testing in that you get a product that's too buggy for prime time and you help the vendor iron out the problems," explained one. "The only difference is that now we're bug testing what's supposed to be a shipping product that we paid for. And likely as not, these days they'll try to charge us for the privilege of reporting the bugs we find." Oldest use I could find was from 1983, at https://archive.org/details/sim_micro-marketworld_1983-03-07_6_5/page/n53/mode/2up?q=%22gamma+testers%22 https://archive.org/details/sim_micro-marketworld_1983-03-07... : > Plus, WORDVISION is designed to be "support-free" after the sale, and our unique Pioneer's Club of "gamma testers" is helping insure we live up to that goal. Here's a 2007 use describing a problem with the phrase, from https://archive.org/details/sdtimes184/page/n43/mode/2up?q=%22gamma+tester%22 https://archive.org/details/sdtimes184/page/n43/mode/2up?q=%... > ... at least a decade since I started calling myself an unpaid gamma tester, for example. But people thought that one meant I specialized in displays and monitors...
- RileyJames 5y agoYea, I’m feeling this. I submitted a bug report, and while there was a lot of “care”, the result was “not a bug, won’t fix”. On the one hand, I can understand that. But on the other, it’s a crappy user experience, and the apple I supported, I’d expect to fix it. It’s why I’d rather support opensource now. As, at least if no one cares to fix it, it can do it myself, or pay someone else to. The bug: the default iOS mail client chokes if you copy and paste an email link into the to, cc or bcc field. Ie: “mail to:test@test.com”. The response was “that’s how links work, that’s not a bug in the client”, and while technically that’s true. The best user experience would be parse out the “mailto:” when pasted into the to,cc,bcc field rather than failing to send the email. And yes, from safari you can select “open in mail” and it will work. But if you need to copy a second mail link to cc, you’re stuffed.
- fouc 5y agoCopy'n'pasting "mailto:test@test.com" into gmail's new mail "to:" field also doesn't magically remove the mailto: part either.
- RileyJames 5y agoOk. Well I’d consider them both subpar experiences. And I think it quite clearly could be better.
- smcl 5y agoChokes as in, it freezes up or something?
- RileyJames 5y agoAs in, it doesn’t send the email. And there’s no way to edit out the “mailto:” portion. So the solution is to copy and paste the link into a text editor/notepad, remove the “mailto:” portion and then copy and paste the remaining portion into the mail client to,cc,bcc field. And I think a better solution would be to either: A) automatically parse out the mailto: portion when pasting into the to,cc,bcc field. Or B) prompt the user before doing A. Ie “do you mean to send to test@test.com?”
- PostThisTooFast 5y ago"the latest iOS update introduced a bug that causes the input box to disappear completely on an iMessage thread" That defect has been around for years.
- herbst 5y agoI had a Macbook pro for about 6 months about 5 years ago. I filed afaik 5 bugs, 4 of them for screen related issues. (no external screen without powering the laptop, external screens don't come back after sleep, etc ..) all bugs that have been in the whole series (other colleagues got the same 2500$ beast, with the same issues) Not a single one was answered in the time I worked there. A few got some 'me toos' At the same time I filed several bug reports for the new Gnome desktop that was rolling out and they all got answered, fixed or at least closed with a short answer. It was only a short time I worked in that ecosystem. But as far as it worked out for me, I got zero support for several major bugs. Definitely not what I expected. Definitely not a OS I am willing to spend productive time on.
- sosborn 5y agoWhat was the root cause and what was the fix?
- a1371 5y agoWe had unicode characters in strings in our database. When those were being fetched by the front-end on Safari, the browser was making them a different character. This meant if the exact same string was going back to our server after being in Safari, any kind of string-matching was failing. So let's say you were looking up something based on the string, it was not there. We did some unicode testing on different platforms and this was never an issue. Also to note these weren't complicated emojis or anything like that (e.g. character & skin-tone). Just usual characters with accents that are not in English. The resolution for now has been using String.Prototype.normalize() with some tricks. It works for our case, but obviously it is not a silver bullet. This article helped: https://medium.com/@sthadewald/the-utf-8-hell-of-mac-osx-feef5ea42407 https://medium.com/@sthadewald/the-utf-8-hell-of-mac-osx-fee...
- microtonal 5y agoYou said I always hear rosy thing about how polished the Apple ecosystem is. But this more sounds like a bug in your software. Many accented characters have two representations in Unicode, so you always have to normalize strings before making comparisons or use a comparison function that takes different encodings into account.
- a1371 5y agoWe learned that the hard way. Still, the basic dev expectation is to get the same thing out that they have put in. It shouldn't sound outrageous that we expected to get the same representation. That's all.
- kccqzy 5y agoAn alternative basic dev expectation is that given two different ways to represent the same thing, the software only gives you one canonical way. Fix your expectations.
- qiqitori 5y agoFrom my perspective, the hours worked may add up to $3000 in salary, but the staff member who solved the problem may feel very good about their accomplishment.
- a1371 5y agoUnfortunately this issue made them not have a demo ready by the anticipated date, so the good feeling didn't really prevail.
- realusername 5y agoThe classic Safari nonsense bugs. When I see a new sentry issue popping up, I can instantly guess if it's going to be Safari or a real error just by looking at the error text.
- gurkendoktor 5y agoAnd I could tell just from reading the comment that it was another case of developers not knowing about Unicode normalization. It's extremely unhealthy for web standards that every deviation from Chrome's behavior is considered a nonsense bug now.
- realusername 5y agoTake it as you want, I never have an issue with Firefox and it's not a Chrome based browser.
- MereInterest 5y agoI've had a problem with Google Slides in Firefox, but I put the blame for that solely on Google. Using right-click context menus to copy/paste only works in Google Chrome. My understanding is that for security reasons, the browser doesn't allow websites to initiate a clipboard read/write. Google Slides recreates the right-click menu in JS, and so no clipboard events can be made from it. But Google Chrome apparently gives special permissions to Google websites, allowing them to have special enhanced privileges to initiate clipboard events. I'd say that's definitely something that is an abuse of market share, as Google is using market dominance in the browser space to have a competitive advantage in the unrelated presentation software market.
- deleted 5y ago[deleted]
- Gorbzel 5y agoAnd I can tell an unprofessional web script kiddie based on whether they advocate browser monoculture.
- chris37879 5y agoI had one a few weeks agos where, if the user had updated Safari, but hadn't updated macOS, then their browser didn't _actually_ support WebP, even though Safari 14 lists it as "supported".
- r-w 5y agoFile format support is baked into the OS. Apple actually makes static linking very difficult for exactly this reason--so they can reliably introduce support for new file formats on OS upgrade, rather than some apps needing to catch up.
- nottorp 5y agoAt the risk of repeating comments, welcome to Unicode Hell. And possibly to cross platform development :) Also, just because Chrome feels faster and logs you into your google account without permission, it doesn't mean you shouldn't support alternative browsers. Do not only test your website in Chrome. It may get ignored as not working by non chrome users. P.S.: I use Firefox, not Safari.
- OskarS 5y ago> At the risk of repeating comments, welcome to Unicode Hell. And possibly to cross platform development :) As who has spent a huge amount of time the last few weeks due to an extremely obscure and hard to reproduce Unicode bug in Windows, I can vouch for this. So can my ever receding hairline. Turns out, Unicode is hard.
- jcelerier 5y ago> Chrome was working fine because presumably they do the UTF-8 handling on their own. this is why I use Qt and ship all the dependencies vetted manually on every platform (freetype, libav, etc). Only way to stay sane is to bypass the operating systems as much as possible and use the exact same code no matter the platform except for the barest-bone operations (opening a GL context, getting key/mouse events, etc). Text handling and rendering, video and image decoding, ... that should never depend on the OS you're using, those are properties of the apps. The more time passes the more I'm thinking that networking also should be deported into the apps too and bypass the OS network stack entirely given how much trouble it tends to give (hello the Bonjour / DNS-SD / ... mess).
- jorvi 5y ago> Text handling and rendering, video and image decoding, ... that should never depend on the OS you're using I like having my fonts look the same everywhere, and only needing to configure them once. I also like my video and text do decode securely and accelerated.
- jcelerier 5y ago> I like having my fonts look the same everywhere, I do, too ! On all the platforms I use ! (Windows, Mac and Linux). The only way to allow for that is to not use the OS rendering APIs. > I also like my video and text do decode securely and accelerated. And I trust ffmpeg much more for doing that correctly than whatever proprietary API there is in mac and windows.