LorenEteval / Furious

A GUI proxy client based on PySide6. Support Xray-core & hysteria
GNU General Public License v3.0
972 stars 86 forks source link

MacOS 10.15 Catalina support #16

Closed sintech closed 1 year ago

sintech commented 1 year ago

Latest 0.27 version claims support for Mac OS 10.9-x but in reality it does not work in 10.15.7 Catalina.

% /Applications/Furious-GUI.app/Contents/MacOS/Furious-GUI
Sorry, "Furious" cannot be run on this version of macOS. Qt requires macOS 11.0.0 or later, you have macOS 10.15.7.

Please add support for 10.15 as it the latest MacOS version without major UI overhaul.

sintech commented 1 year ago

It looks like 11.0 requirement comes from PySide6>=6.5.0 and Qt6.5. So if one builds Furious with PySide6-Essentials==6.4.3 and python 3.11 it works fine on MacOS 10.15 Catalina.

LorenEteval commented 1 year ago

Thanks for the report. I renamed the previous macOS-10.9-x86_64 dmg to macOS-11.0-x86_64, and created a new using PySide6 == 6.4.3. Please let me know if it works.

sintech commented 1 year ago

Yes, it works. Thank you!

LorenEteval commented 1 year ago

Just want to inform that since the new macOS-10.9-x86_64 dmg is built on PySide 6.4.3, I've already noticed some "crash" that should not happen, but does exist introduced by 3rd-party packing tools which only targets on packing PySide 6.5+ application(not related to PySide 6.4.3 or Furious itself):

(The crash is guarded by Furious itself)

Furious should behave well in most cases. You can ignore these bugs if you do not need/use these features. To completely solve this you can install Furious viapip if you will, since it will bypass the packing tools.

LorenEteval commented 1 year ago

Just want to inform that since the new macOS-10.9-x86_64 dmg is built on PySide 6.4.3, I've already noticed some "crash" that should not happen, but does exist introduced by 3rd-party packing tools which only targets on packing PySide 6.5+ application(not related to PySide 6.4.3 or Furious itself):

  • Update Subscription... crashes with self.sender() is None
  • Check For Updates crashes with similar reason.

(The crash is guarded by Furious itself)

Furious should behave well in most cases. You can ignore these bugs if you do not need/use these features. To completely solve this you can install Furious viapip if you will, since it will bypass the packing tools.

From my side I can also create a new branch that has patches for macOS 11 below, or directly add code specifically for PySide6 < 6.5 like:

if PySide6.__version__ < '6.5.0':
    # Implementation 1 that does not cause crash by packing tools
    ...
else:
    # Implementation 2
    ...

The next release will mostly focus on macOS bug fixes.