guix/gnu/packages/patches/onionshare-cli-async-mode.patch
Eric Bavier a22b62b98e
gnu: onionshare: Update to 2.6.
* gnu/packages/patches/onionshare-cli-async-mode.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/tor.scm (onionshare): Update to 2.6.
[source]: Use patch.
[inputs]: Add xdg-utils.  Move xvfb-run, used for tests, to ...
[native-inputs]: here.
[arguments]: Run tests.  Add "absolutize" phase for xdg-open.
2023-02-14 10:33:04 -06:00

26 lines
1.1 KiB
Diff

Specifying the `async_mode` parameter seems to have been a workaround for
packaging on Windows and macOS. If not given, flask_socketio.SocketIO will
probe for an available asynchronous model, e.g. `eventlet`, and otherwise gets
stuck if `gevent-socketio` is not available.
c.f. https://github.com/onionshare/onionshare/commit/ec7fa4ef16c9e1ba6028ee927c23f76c399a17a6
and https://github.com/onionshare/onionshare/issues/1510
diff --git a/cli/onionshare_cli/web/web.py b/cli/onionshare_cli/web/web.py
index 64844b5..7e1b095 100644
--- a/cli/onionshare_cli/web/web.py
+++ b/cli/onionshare_cli/web/web.py
@@ -164,10 +164,10 @@ class Web:
elif self.mode == "chat":
if self.common.verbose:
self.socketio = SocketIO(
- async_mode="gevent", logger=True, engineio_logger=True
+ logger=True, engineio_logger=True
)
else:
- self.socketio = SocketIO(async_mode="gevent")
+ self.socketio = SocketIO()
self.socketio.init_app(self.app)
self.chat_mode = ChatModeWeb(self.common, self)