From 33252696b22979988973b95514027e2e68860af9 Mon Sep 17 00:00:00 2001 From: Devin Collins Date: Sat, 19 Jul 2025 20:31:43 -0700 Subject: [PATCH 1/2] fix(deadlock): Removing deadlock scenario --- actions/DiscordCore.py | 1 - backend.py | 4 ++++ main.py | 21 ++++++++++----------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/actions/DiscordCore.py b/actions/DiscordCore.py index abc320c..076464a 100644 --- a/actions/DiscordCore.py +++ b/actions/DiscordCore.py @@ -31,7 +31,6 @@ def __init__(self, *args, **kwargs): def on_ready(self): super().on_ready() - self.plugin_base.setup_backend() self.display_icon() self.display_color() diff --git a/backend.py b/backend.py index aea18f1..64696bb 100644 --- a/backend.py +++ b/backend.py @@ -70,12 +70,16 @@ def _update_tokens(self, access_token: str = "", refresh_token: str = ""): def setup_client(self): try: + log.debug("new client") self.discord_client = AsyncDiscord( self.client_id, self.client_secret) + log.debug("connect") self.discord_client.connect(self.discord_callback) if not self.access_token: + log.debug("authorize") self.discord_client.authorize() else: + log.debug("authenticate") self.discord_client.authenticate(self.access_token) except Exception as ex: self.frontend.on_auth_callback(False, str(ex)) diff --git a/main.py b/main.py index a635717..2c25dd6 100644 --- a/main.py +++ b/main.py @@ -28,7 +28,6 @@ def __init__(self): self.lm.set_to_os_default() self._settings_manager = PluginSettings(self) self.has_plugin_settings = True - self._mutex = threading.Lock() self._add_icons() self._register_actions() backend_path = os.path.join(self.PATH, 'backend.py') @@ -54,6 +53,7 @@ def __init__(self): ) self.add_css_stylesheet(os.path.join(self.PATH, "style.css")) + self.setup_backend() def _add_icons(self): self.add_icon("deafen", self.get_asset_path("deafen.png")) @@ -130,16 +130,15 @@ def _register_actions(self): self.add_action_holder(toggle_ptt) def setup_backend(self): - with self._mutex: - if self.backend and self.backend.is_authed(): - return - settings = self.get_settings() - client_id = settings.get('client_id', '') - client_secret = settings.get('client_secret', '') - access_token = settings.get('access_token', '') - refresh_token = settings.get('refresh_token', '') - threading.Thread(target=self.backend.update_client_credentials, daemon=True, args=[ - client_id, client_secret, access_token, refresh_token]).start() + if self.backend and self.backend.is_authed(): + return + settings = self.get_settings() + client_id = settings.get('client_id', '') + client_secret = settings.get('client_secret', '') + access_token = settings.get('access_token', '') + refresh_token = settings.get('refresh_token', '') + threading.Thread(target=self.backend.update_client_credentials, daemon=True, args=[ + client_id, client_secret, access_token, refresh_token]).start() def save_access_token(self, access_token: str): settings = self.get_settings() From 0bc5ab633d7da687309871a85bd3801c09be115a Mon Sep 17 00:00:00 2001 From: Devin Collins Date: Sat, 19 Jul 2025 20:33:49 -0700 Subject: [PATCH 2/2] chore(version): bump version --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 9c93cb5..94b5421 100644 --- a/manifest.json +++ b/manifest.json @@ -1,5 +1,5 @@ { - "version": "1.4.7", + "version": "1.4.8", "thumbnail": "store/thumbnail.png", "id": "com_imdevinc_StreamControllerDiscordPlugin", "name": "Discord",