From 5fbb5bb37a5ed1d194c72a9afc4eddc08dd0e3ee Mon Sep 17 00:00:00 2001 From: Etoh Date: Sun, 26 Mar 2023 22:52:12 +0100 Subject: [PATCH] Rebase to main branch (#598) * Add detail to client update check failure message * Add detail to GuiConfig update check failure log * Fix update check on macOS (#595) * buildPy2app: add charset_normalizer to includes * Actions macOS: force universal wheels for charset-normalizer * buildPy2app: add charset_normalizer.md__mypyc to includes --------- Co-authored-by: Alberto Sottile * Upver to 104 / 1.7.0 RC1a * Revert default max username length to 16 chars (#596) * Set server's recent client threshold to >=1.7.0 * Mark as 1.7.0 final --------- Co-authored-by: Alberto Sottile --- .github/workflows/build.yml | 4 ++++ buildPy2app.py | 2 +- syncplay/__init__.py | 4 ++-- syncplay/client.py | 4 ++-- syncplay/constants.py | 4 ++-- syncplay/ui/gui.py | 4 ++-- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 34bdc17..e99cd1f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -104,6 +104,10 @@ jobs: pip3 download --platform macosx_10_10_universal2 --only-binary :all: --no-deps --dest . cryptography pip3 install --no-cache-dir --no-index --find-links . cryptography + pip3 uninstall charset-normalizer -y + pip3 download --platform macosx_10_9_universal2 --only-binary :all: --no-deps --dest . charset-normalizer + pip3 install --no-cache-dir --no-index --find-links . charset-normalizer + - name: Check Python dependencies run: | python3 -c "from PySide6 import __version__; print(__version__)" diff --git a/buildPy2app.py b/buildPy2app.py index 462036d..0cdbfef 100755 --- a/buildPy2app.py +++ b/buildPy2app.py @@ -17,7 +17,7 @@ DATA_FILES = [ OPTIONS = { 'iconfile': 'syncplay/resources/icon.icns', 'extra_scripts': 'syncplayServer.py', - 'includes': {'PySide2.QtCore', 'PySide2.QtUiTools', 'PySide2.QtGui', 'PySide2.QtWidgets', 'certifi', 'cffi', 'pem'}, + 'includes': {'PySide2.QtCore', 'PySide2.QtUiTools', 'PySide2.QtGui', 'PySide2.QtWidgets', 'certifi', 'cffi', 'pem', 'charset_normalizer.md__mypyc'}, 'excludes': {'PySide', 'PySide.QtCore', 'PySide.QtUiTools', 'PySide.QtGui', 'tkinter'}, 'qt_plugins': [ 'platforms/libqcocoa.dylib', diff --git a/syncplay/__init__.py b/syncplay/__init__.py index a5ab68c..1b74d62 100755 --- a/syncplay/__init__.py +++ b/syncplay/__init__.py @@ -1,5 +1,5 @@ version = '1.7.0' -revision = ' release candidate 1' +revision = '' milestone = 'Yoitsu' -release_number = '103' +release_number = '105' projectURL = 'https://syncplay.pl/' diff --git a/syncplay/client.py b/syncplay/client.py index a29db38..4e7d61f 100755 --- a/syncplay/client.py +++ b/syncplay/client.py @@ -1124,8 +1124,8 @@ class SyncplayClient(object): publicServers = ast.literal_eval(publicServers) return response["version-status"], response["version-message"] if "version-message" in response\ else None, response["version-url"] if "version-url" in response else None, publicServers - except: - return "failed", getMessage("update-check-failed-notification").format(syncplay.version), constants.SYNCPLAY_DOWNLOAD_URL, None + except Exception as e: + return "failed", str(e)+"\n-----\n"+getMessage("update-check-failed-notification").format(syncplay.version), constants.SYNCPLAY_DOWNLOAD_URL, None class _WarningManager(object): def __init__(self, player, userlist, ui, client): diff --git a/syncplay/constants.py b/syncplay/constants.py index a4e7a58..ffa16bc 100755 --- a/syncplay/constants.py +++ b/syncplay/constants.py @@ -29,7 +29,7 @@ MPLAYER_OSD_LEVEL = 1 UI_TIME_FORMAT = "[%X] " CONFIG_NAMES = [".syncplay", "syncplay.ini"] # Syncplay searches first to last DEFAULT_CONFIG_NAME = "syncplay.ini" -RECENT_CLIENT_THRESHOLD = "1.6.8" # This and higher considered 'recent' clients (no warnings) +RECENT_CLIENT_THRESHOLD = "1.7.0" # This and higher considered 'recent' clients (no warnings) MUSIC_FORMATS = [".mp3", ".m4a", ".m4p", ".wav", ".aiff", ".r", ".ogg", ".flac"] # ALL LOWER CASE! WARN_OLD_CLIENTS = True # Use MOTD to inform old clients to upgrade LIST_RELATIVE_CONFIGS = True # Print list of relative configs loaded @@ -96,7 +96,7 @@ DEFAULT_CHAT_FONT_WEIGHT = 1 # Max numbers are used by server (and client pre-connection). Once connected client gets values from server featureList (or uses 'fallback' versions for old servers) MAX_CHAT_MESSAGE_LENGTH = 150 # Number of displayed characters -MAX_USERNAME_LENGTH = 150 # Number of displayed characters +MAX_USERNAME_LENGTH = 16 # Number of displayed characters MAX_ROOM_NAME_LENGTH = 35 # Number of displayed characters MAX_FILENAME_LENGTH = 250 # Number of displayed characters FALLBACK_MAX_CHAT_MESSAGE_LENGTH = 50 # Number of displayed characters diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py index 36c3355..7c10054 100755 --- a/syncplay/ui/gui.py +++ b/syncplay/ui/gui.py @@ -1902,8 +1902,8 @@ class MainWindow(QtWidgets.QMainWindow): timeDelta = currentDateTimeValue.toPython() - self.lastCheckedForUpdates.toPython() if timeDelta.total_seconds() > constants.AUTOMATIC_UPDATE_CHECK_FREQUENCY: self.checkForUpdates() - except: - self.showDebugMessage("Automatic check for updates failed. An update check was manually trigggered.") + except Exception as e: + self.showDebugMessage("Automatic check for updates failed. An update check was manually trigggered. Reason: {}".format(str(e))) self.checkForUpdates() def userCheckForUpdates(self):