chucker / Mastonaut

Simple, elegant, and native Mastodon client for Mac.
GNU General Public License v3.0
121 stars 7 forks source link

Attempting to Reply Just Crashes Client #144

Closed dorkbuttt closed 1 year ago

dorkbuttt commented 1 year ago

Whenever I press the button to reply -- either in the post column on the far right or on the post itself in whatever column it is, my client immediately crashes.

crash.txt

chucker commented 1 year ago

Hey, I see in your crash log that you're running a macOS 14 beta.

Indeed, I can confirm that opening the status composer crashes. Will investigate. But in the meantime, do you have macOS 13 somewhere still? :)

dorkbuttt commented 1 year ago

I can boot one up in a Parallels virtual machine later today.

chucker commented 1 year ago

So, the crash seems to be here:

    var currentAccount: AuthorizedAccount?
    {
        didSet
        {
            currentAccountObservations.removeAll()

            if let currentAccount = currentAccount
            {
                let accountUUID = currentAccount.uuid
                client = Client.create(for: currentAccount)
                authorAvatarView.image = #imageLiteral(resourceName: "missing.png") // crash

Replacing that with just "missing" seems to do the trick.

Apparently, that was always wrong (or has been wrong for a while, anyway), so my guess is macOS 14 Sonoma handles unknown images more strictly?

Anyway, I guess I'll have to sift through all code to see what other references are wrong…

chucker commented 1 year ago

Apparently, that was always wrong (or has been wrong for a while, anyway), so my guess is macOS 14 Sonoma handles unknown images more strictly?

More nerdy details on this over at https://norden.social/@chucker/110709691896547050. I've filed a bug report with Apple, since I'm not sure this is an intended change.

But the workaround is easy enough, and the code seems cleaner that way anyway, so…

chucker commented 1 year ago

Fixed in 1.8: https://github.com/chucker/Mastonaut/releases/tag/app-1.8.0