danielbuechele / goofy

Desktop client for Facebook Messenger
goofyapp.com
MIT License
957 stars 112 forks source link

macOS Catalina support #462

Closed amomchilov closed 4 years ago

amomchilov commented 5 years ago

The current version (3.4.3) is broken under macOS Cataline (Version 10.15 Beta, build 19A512f). There are two obvious problems:

1) The app binary doesn't have executable permissions enabled. 2) The symlinks within the frameworks are broken.

This script fixes both of these issues, as a temporary workaround to enable further progress:

#!/bin/bash

cd "/Users/Alex/Goofy.app" # Put your Goofy app bundle path here

cd "Contents"
chmod +x "MacOS/Goofy"

cd "Frameworks/Electron Framework.framework"
rm -r "Versions/Current" ; ln -s "A" "Versions/Current"
rm -r "Electron Framework" ; ln -s "Versions/Current/Electron Framework" "Electron Framework"
rm -r "Libraries" ; ln -s "Versions/Current/Libraries" "Libraries"
rm -r "Resources" ; ln -s "Versions/Current/Resources" "Resources"

cd "../Mantle.framework"
rm -r "Versions/Current" ; ln -s "A" "Versions/Current"
rm -r "Headers" ; ln -s "Versions/Current/Headers" "Headers"
rm -r "Mantle" ; ln -s "Versions/Current/Mantle" "Mantle"
rm -r "Modules" ; ln -s "Versions/Current/Modules" "Modules"
rm -r "Resources" ; ln -s "Versions/Current/Resources" "Resources"

cd "../ReactiveCocoa.framework"
rm -r "Versions/Current" ; ln -s "A" "Versions/Current"
rm -r "Headers" ; ln -s "Versions/Current/Headers" "Headers"
rm -r "Modules" ; ln -s "Versions/Current/Modules" "Modules"
rm -r "ReactiveCocoa" ; ln -s "Versions/Current/ReactiveCocoa" "ReactiveCocoa"
rm -r "Resources" ; ln -s "Versions/Current/Resources" "Resources"

cd "../Squirrel.framework"
rm -r "Versions/Current" ; ln -s "A" "Versions/Current"
rm -r "Headers" ; ln -s "Versions/Current/Headers" "Headers"
rm -r "Modules" ; ln -s "Versions/Current/Modules" "Modules"
rm -r "Resources" ; ln -s "Versions/Current/Resources" "Resources"
rm -r "Squirrel" ; ln -s "Versions/Current/Squirrel" "Squirrel"

Now the app runs, but just hits a white screen and doesn't do anything. Here's the terminal output:

$ /Users/Alex/Goofy.app/Contents/MacOS/Goofy
2019-07-25 15:10:28.440 Goofy[8879:697584] NSSoftLinking - The function 'SLSIsSuppressedByScreenTime' can't be found in the (null) framework.
2019-07-25 15:10:28.814 Goofy[8879:697584] *** WARNING: Textured window <AtomNSWindow: 0x7fdb4ece5ea0> is getting an implicitly transparent titlebar. This will break when linking against newer SDKs. Use NSWindow's -titlebarAppearsTransparent=YES instead.
('[powerline-bash] ', 'Your current directory is invalid. Lowest valid directory: /Users/Alex/Downloads')
jklp commented 5 years ago

I don't have Catalina installed on my Mac atm (what are you crazy!) though looks like there's already a ticket opened on the Electron site here - https://github.com/electron/electron/issues/18660 (looks like they're taking a wait and see approach).

Will leave the ticket for now and re-visit when Catalina is launched.

mehdi-S commented 4 years ago

Catalina is now out, please reconsider this issue

jklp commented 4 years ago

I'll try and upgrade to Catalina in the next week or so but if they're pull requests more than happy to merge them in.

Thanks!

zakiaziz commented 4 years ago

Gentle ping. Curious if this is being worked on

syddo commented 4 years ago

Looks like this is still open? I can't run the app on Catalina.

jklp commented 4 years ago

@zakiaziz @syddo Yep still opened - I spent a bit of time this weekend trying to fix (upgraded Electron, node, all associated libraries, also got Apple's new notarization / code signing working too) though it's now failing on bundling the distributed .dmg (using .dmg now as one of the the problems was the way zips are handled on Catalina which were messing up the distribution).

Not sure I can get it done today - but will try and get it working in the coming week (also happy to take pull requests if they're electron devs here)

jklp commented 4 years ago

Ok I think I did it! If you can download 3.4.7 at https://github.com/danielbuechele/goofy/releases/tag/v3.4.7 ?

Also I'm not sure if auto-update is 100% working but if someone could double check?

Thanks!

opdbrooks commented 4 years ago

Thank you!