StreamController / OBSPlugin

GNU General Public License v3.0
3 stars 5 forks source link

using obs plugin makes SC freeze #8

Open Pshemas opened 2 months ago

Pshemas commented 2 months ago

I've installed StreamController via Flathub. Most of the options work with my SD Mini - except OBS Plugin.

Super often it locks the SC window (you can't change any setting etc) and GNome asks whether to close it or keep waiting. Most of the times long wait gets it out of the frozen state - but still it's not working.

Also weird things start to happen - for example switching to other page brings wrong results (no icons, or some random ones).

I managed to connect once - but even then it froze the window after a short while.

Here's what I've noticed in terminal:

2024-07-24 22:21:53.730 | ERROR    | plugins.com_core447_OBSPlugin.OBSActionBase:_reconnect_obs:84 - result expired
Exception in thread show_current_rec_status:
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.11/threading.py", line 982, in run
    self._target(*self._args, **self._kwargs)
  File "/home/przemek/.var/app/com.core447.StreamController/data/plugins/com_core447_OBSPlugin/actions/ToggleRecord/ToggleRecord.py", line 29, in show_current_rec_status
    if not self.plugin_base.backend.get_connected():
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/netref.py", line 147, in __getattribute__
    return syncreq(self, consts.HANDLE_GETATTR, name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/netref.py", line 63, in syncreq
    return conn.sync_request(handler, proxy, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/protocol.py", line 744, in sync_request
    return _async_res.value
           ^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/async_.py", line 109, in value
    self.wait()
  File "/app/lib/python3.11/site-packages/rpyc/core/async_.py", line 55, in wait
    raise AsyncResultTimeout("result expired")
TimeoutError: result expired
Exception in thread update_status_label:
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
Exception in thread update_status_label:
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.11/threading.py", line 982, in run
    self.run()
  File "/usr/lib/python3.11/threading.py", line 982, in run
    self._target(*self._args, **self._kwargs)
  File "/home/przemek/.var/app/com.core447.StreamController/data/plugins/com_core447_OBSPlugin/OBSActionBase.py", line 92, in _update_status_label
    self._target(*self._args, **self._kwargs)
    if self.plugin_base.backend.get_connected():
  File "/home/przemek/.var/app/com.core447.StreamController/data/plugins/com_core447_OBSPlugin/OBSActionBase.py", line 92, in _update_status_label
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/netref.py", line 147, in __getattribute__
    if self.plugin_base.backend.get_connected():
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/netref.py", line 147, in __getattribute__
    return syncreq(self, consts.HANDLE_GETATTR, name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/netref.py", line 63, in syncreq
    return syncreq(self, consts.HANDLE_GETATTR, name)
    return conn.sync_request(handler, proxy, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/netref.py", line 63, in syncreq
  File "/app/lib/python3.11/site-packages/rpyc/core/protocol.py", line 744, in sync_request
    return _async_res.value
           ^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/async_.py", line 109, in value
    return conn.sync_request(handler, proxy, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/protocol.py", line 744, in sync_request
    self.wait()
  File "/app/lib/python3.11/site-packages/rpyc/core/async_.py", line 55, in wait
    raise AsyncResultTimeout("result expired")
TimeoutError: result expired
    return _async_res.value
           ^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/async_.py", line 109, in value
    self.wait()
  File "/app/lib/python3.11/site-packages/rpyc/core/async_.py", line 55, in wait
    raise AsyncResultTimeout("result expired")
TimeoutError: result expired
Exception in thread update_status_label:
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.11/threading.py", line 982, in run
    self._target(*self._args, **self._kwargs)
  File "/home/przemek/.var/app/com.core447.StreamController/data/plugins/com_core447_OBSPlugin/OBSActionBase.py", line 92, in _update_status_label
    if self.plugin_base.backend.get_connected():
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/netref.py", line 147, in __getattribute__
    return syncreq(self, consts.HANDLE_GETATTR, name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/netref.py", line 63, in syncreq
    return conn.sync_request(handler, proxy, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/protocol.py", line 744, in sync_request
    return _async_res.value
           ^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/async_.py", line 109, in value
    self.wait()
  File "/app/lib/python3.11/site-packages/rpyc/core/async_.py", line 55, in wait
    raise AsyncResultTimeout("result expired")
TimeoutError: result expired
Exception in thread update_status_label:
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.11/threading.py", line 982, in run
    self._target(*self._args, **self._kwargs)
  File "/home/przemek/.var/app/com.core447.StreamController/data/plugins/com_core447_OBSPlugin/OBSActionBase.py", line 92, in _update_status_label
    if self.plugin_base.backend.get_connected():
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/netref.py", line 147, in __getattribute__
    return syncreq(self, consts.HANDLE_GETATTR, name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/netref.py", line 63, in syncreq
    return conn.sync_request(handler, proxy, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/protocol.py", line 744, in sync_request
    return _async_res.value
           ^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/rpyc/core/async_.py", line 109, in value
    self.wait()
  File "/app/lib/python3.11/site-packages/rpyc/core/async_.py", line 55, in wait
    raise AsyncResultTimeout("result expired")
TimeoutError: result expired
2024-07-24 22:22:25.703 | ERROR    | plugins.com_core447_OBSPlugin.OBSActionBase:_reconnect_obs:84 - result expired
2024-07-24 22:22:28.636 | ERROR    | plugins.com_core447_OBSPlugin.OBSActionBase:_reconnect_obs:84 - result expired
2024-07-24 22:22:29.417 | ERROR    | plugins.com_core447_OBSPlugin.OBSActionBase:_reconnect_obs:84 - result expired
2024-07-24 22:22:29.878 | ERROR    | plugins.com_core447_OBSPlugin.OBSActionBase:_reconnect_obs:84 - result expired
2024-07-24 22:22:31.069 | ERROR    | plugins.com_core447_OBSPlugin.OBSActionBase:_reconnect_obs:84 - result expired
2024-07-24 22:22:31.249 | ERROR    | plugins.com_core447_OBSPlugin.OBSActionBase:_reconnect_obs:84 - result expired
Pshemas commented 2 months ago

forgot to add - Gnome 45, OpenSUSE Tumbleweed.

Core447 commented 2 months ago

This will get probably fixed soon by #6. In the meantime you can try to manually set the config by following these steps:

  1. Close the app completely (via the option in the hamburger menu)
  2. Insert your configs in ~/.var/app/com.core447.StreamController/data/settings/plugins/com_core447_OBSPlugin/settings.json.

The json looks like this:

{
    "ip": "localhost",
    "port": 4455,
    "password": "password"
}

I'm sorry for the inconvenience!

Pshemas commented 2 months ago

no worries, I've managed to configure it in the end. Thank you for making this app - makes configuring the deck a breeze :) .

Core447 commented 2 months ago

no worries, I've managed to configure it in the end.

Great!

Thank you for making this app - makes configuring the deck a breeze :) .

Thank you! I'm glad you like it!