From e1bcf12a1ac919290b01985362544324c9f01978 Mon Sep 17 00:00:00 2001
From: Etoh <etoh@syncplay.pl>
Date: Sun, 19 Feb 2023 17:34:24 +0000
Subject: [PATCH] Fix localhost connection breaking mpv chat (#545)

---
 syncplay/client.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/syncplay/client.py b/syncplay/client.py
index 0b105e0c6..0ec266e59 100755
--- a/syncplay/client.py
+++ b/syncplay/client.py
@@ -635,6 +635,9 @@ def setServerVersion(self, version, featureList):
         self.serverVersion = version
         self.checkForFeatureSupport(featureList)
 
+    def sendFeaturesToPlayer(self):
+        self._player.setFeatures(self.serverFeatures)
+
     def checkForFeatureSupport(self, featureList):
         self.serverFeatures = {
             "featureList": utils.meetsMinVersion(self.serverVersion, constants.FEATURE_LIST_MIN_VERSION),
@@ -671,7 +674,10 @@ def checkForFeatureSupport(self, featureList):
             "backslashSubstituteCharacter={}".format(constants.MPV_INPUT_BACKSLASH_SUBSTITUTE_CHARACTER)]
         self.ui.setFeatures(self.serverFeatures)
         if self._player:
-            self._player.setFeatures(self.serverFeatures)
+            self.sendFeaturesToPlayer()
+        else:
+            # Player might not have been loaded if connecting to localhost (#545)
+            self.addPlayerReadyCallback(lambda x: self.sendFeaturesToPlayer())
 
     def getSanitizedCurrentUserFile(self):
         if self.userlist.currentUser.file: