6 ms·
https://twitter.com/NolanOBrien/status/1189585020232462340 https://twitter.com/NolanOBrien/status/1189585020232462340 > Root cause is Catalina regression that
by Aqua_Geek 7y ago
https://twitter.com/NolanOBrien/status/1189585020232462340 https://twitter.com/NolanOBrien/status/1189585020232462340
> Root cause is Catalina regression that fails keyboard inputs when a UIKeyCommand is registered for the same key. UIResponder chain regression most likely.
- akersten 7y agoUgh, yucky. Surprising lack of quality control on Apple's part - surely they should have tested typing into a text field at some point during the testing; don't most programs register a shortcut key or two? But there are also some UI fails on Twitter's side here too - like clearing the password field after clicking Show Password and typing more, and preventing arrow key navigation within the field.
- dkonofalski 7y ago>don't most programs register a shortcut key or two? Yes which is exactly why I think it's likely he's being disingenuous about the root cause of this. Shortcut keys typically need modifier keys and, even in the instance where they don't, there has to be some check from the app to determine whether an input field or the main window has focus. To be clear, I'm not saying it's 100% certain that this isn't an Apple issue but, based on Twitter's track record with their apps, this likely is on Twitter.
- mackey 7y agoAre you an iOS/Mac developer? Because in this case it sounds like the UIKit/AppKit isn't respecting the responder chain, which would be an Apple bug.
- dkonofalski 7y agoI am and that's why this is so surprising to me. No other app is reporting this type of behavior and Twitter is known for shitty Mac apps. I highly doubt that the regression could cause this unless it was done incorrectly to begin with. Otherwise, UIKit/AppKit would be doing the same for every other app. We may hear about that in the next day or two but, until that happens, I have a feeling this is all on Twitter.
- mackey 7y agoIt looks like its reproducible in a sample project. https://twitter.com/nolanobrien/status/1189623346033381376?s=21 https://twitter.com/nolanobrien/status/1189623346033381376?s...
- dkonofalski 7y agoThat doesn't mean much if they implemented it in the exact same way they did for the full app. Unless we see this happening in other apps, I'll default to the implementation being the problem rather than the API itself.
- lilyball 7y agoIt's entirely possible where in Catalyst if a UIKeyCommand is registered that uses a non-modified letter, it overrides text input. Having said that, I can't imagine why Twitter for Mac would have solo-letter key commands registered during the login flow, and if they did then I can't imagine why they wouldn't also interfere during tweet composing. Or rather, I can imagine, but the scenarios I'm constructing would imply extremely contorted view controller hierarchies that make no sense.
- MikeBeas 7y agoCan’t imagine why this would cause it to delete all input in the field when one of those characters is typed in using “reveal password” mode though. If you enable reveal, type in a string containing b, and then switch off reveal mode and add another character, it deletes the whole password. If it was just dropping inputs that would be one thing but this seems to be aggressively refusing to allow them in the field.
- mackey 7y agoIt sounds like its specific to secure text fields, which I assume is why it doesn't interfere with tweeting. But thats a fair question about setting those up before login. My guess is those registrations aren't happening at the login VC level, or maybe in some global container VC. But I don't think that matters too much, because there are certainly use cases where you might want to show a secure text field even when logged in and you want shortcuts registered.
- gfosco 7y agoNot surprising any longer... There's a whole class of Mac Mini's (including the latest revision) where if you install Catalina, the HDMI port dies.
- kompakt 7y agoYa I've seen those, that's completely crazy.
- scintill76 7y agoAs in, permanently breaks the hardware? Or just won't function with that software version?
- bangonkeyboard 7y ago"For those that are going to revert back to Mojave as a solution, a number of people are noting that this does not fix the issue (it didn't for me), indicating there is perhaps some sort of firmware update taking place with Catalina that will not be rolled back when you install Mojave." — https://forums.macrumors.com/threads/catalina-causing-issues-with-hdmi.2205380/ https://forums.macrumors.com/threads/catalina-causing-issues...
- gfosco 7y agoRolling back worked for me, but the workaround is using the USB-C to HDMI dongle. (and I think I needed the dongle to downgrade.)
- dkonofalski 7y agoThat doesn't seem like the root cause to me. It sounds like they have events set up for the UI prior to login which doesn't really make sense. The regression in Catalina may have exposed it but the regression is not the cause of this, as far as I can tell.
- shawnz 7y agoWhile you may not believe they made the best design choice, there's nothing functionally wrong about the choice they made. According to the docs, their method should work just the same. So I don't think it's fair to say that's the cause of the bug.
- dkonofalski 7y ago>nothing functionally wrong about the choice they made Sure there is... The app would capture those as shortcuts instead of as user input. You know...exactly what's happening here. If this interferes with writing tweets also then that should be easy to figure out. As I said above, I'm not saying it's not because of the regression but it's more likely to me that Twitter messed it up. Otherwise, why is no other app experiencing this issue if it was done "according to the docs".
- shawnz 7y ago> Otherwise, why is no other app experiencing this issue if it was done "according to the docs". Well, like you say, it's not common to use shortcut keys without modifiers right? So it doesn't seem that surprising to me that nobody noticed the regression.
- userbinator 7y agoAt (the old) Microsoft, that would absolutely be considered a regression --- code that used to work no longer does. https://devblogs.microsoft.com/oldnewthing/20031224-00/?p=41363 https://devblogs.microsoft.com/oldnewthing/20031224-00/?p=41... As Linus Torvalds would say, "WE DO NOT BREAK USERSPACE!"
- fortran77 7y agoThis is a new app written just for Catalyst, right?
- machello13 7y agoEh? Twitter for Mac is a Catalyst application that only works on Catalina and newer. It's most likely a bug in Catalyst that's causing it.
- userbinator 7y agoEvery time I see things like this, it makes me feel glad I chose Win32 (actually Win16, not that it matters all that much...) as my first platform to start learning to write GUI apps for, and didn't switch over to the Apple side of things after that; the "move fast and break things" mentality was already somewhat noticeable in Apple back then, whereas Microsoft (the "old MS", not the "new MS") was more concerned with "protecting your investment in the platform". In my experience, core functionality bugs like this just don't occur with Windows, probably because there's far less rewrite-churn[1]. I know Windows has had various UI frameworks come and go over the years, but they're all fundamentally layers on top of the underlying stable Win32. For Mac I'd not really dug into how to write GUIs, but I know there's things like Carbon, Cocoa, etc., and those seem to be the base itself, and change significantly or are even entirely removed at the whim of Apple. Is there any stable GUI API on the Mac at all? There's also this, which is frankly quite terrifying: https://news.ycombinator.com/item?id=11638367 https://news.ycombinator.com/item?id=11638367 [1] https://news.ycombinator.com/item?id=21174947 https://news.ycombinator.com/item?id=21174947
- shaki-dora 7y agoCocoa and the Foundation framework have been around longer than MacOS / OS X, i. e. more than 20 years. How many different concepts has Microsoft called ".NET" since then?
- umanwizard 7y agoRegardless of the flavor of the month, the difference is Microsoft is still supporting most of their old frameworks. You can still go write an MFC app today, for example. (VB6 is a major unfortunate exception, I will admit).
- saagarjha 7y ago> There are many places which look unimplemented, with only stub functions present. Note that the open source releases often get things scrubbed or ifdef'd out of them. > There's also this, which is frankly quite terrifying I fail to see your point.