Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installing this dashboard breaks app with Flask-ScoketIO #403

Open
amks1 opened this issue Aug 1, 2021 · 1 comment
Open

Installing this dashboard breaks app with Flask-ScoketIO #403

amks1 opened this issue Aug 1, 2021 · 1 comment

Comments

@amks1
Copy link

amks1 commented Aug 1, 2021

Describe the bug
Installing flask-monitoringdashboard breaks my app which uses Flask-SocketIO. Trying to use websockets produces the following traceback:

127.0.0.1 - - [01/Aug/2021 20:30:29] "GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 500 -
Traceback (most recent call last):
  File "C:\Users\fmc\Documents\GitHub\fmc-Console\.venv\Lib\site-packages\flask\app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Users\fmc\Documents\GitHub\fmc-Console\.venv\Lib\site-packages\flask_socketio\__init__.py", line 45, in __call__
    return super(_SocketIOMiddleware, self).__call__(environ,
  File "C:\Users\fmc\Documents\GitHub\fmc-Console\.venv\Lib\site-packages\engineio\middleware.py", line 60, in __call__
    return self.engineio_app.handle_request(environ, start_response)
  File "C:\Users\fmc\Documents\GitHub\fmc-Console\.venv\Lib\site-packages\socketio\server.py", line 573, in handle_request
    return self.eio.handle_request(environ, start_response)
  File "C:\Users\fmc\Documents\GitHub\fmc-Console\.venv\Lib\site-packages\engineio\server.py", line 379, in handle_request
    r = self._handle_connect(environ, start_response,
", line 554, in _handle_connect
    ret = s.handle_get_request(environ, start_response)
  File "C:\Users\fmc\Documents\GitHub\fmc-Console\.venv\Lib\site-packages\engineio\socket.py", line 103, in handle_get_request
    return getattr(self, '_upgrade_' + transport)(environ,
  File "C:\Users\fmc\Documents\GitHub\fmc-Console\.venv\Lib\site-packages\engineio\socket.py", line 158, in _upgrade_websocket
    return ws(environ, start_response)
  File "C:\Users\fmc\Documents\GitHub\fmc-Console\.venv\Lib\site-packages\engineio\async_dri    self.ws = Server(environ)
  File "C:\Users\fmc\Documents\GitHub\fmc-Console\.venv\Lib\site-packages\simple_websocket\ws.py", line 138, in __init__
    raise RuntimeError('Cannot obtain socket from WSGI environment.')
RuntimeError: Cannot obtain socket from WSGI environment.

To Reproduce
Steps to reproduce the behavior:

  1. You must have a Flask-SocketIO app with a frontend to send data to.
  2. pip install flask_monitoringdashboard
  3. Now as soon as you go to any route that has a socket connection, you'll get the above error.

Likely cause:

You will notice the following lines during pip install flask_monitoringdashboard:

Installing collected packages: Werkzeug, tzlocal, jinja2, itsdangerous, greenlet, click, sqlalchemy, 
scipy, psutil, flask, configparser, colorhash, apscheduler, flask-monitoringdashboard
  Attempting uninstall: Werkzeug
    Found existing installation: Werkzeug 2.0.1
    Uninstalling Werkzeug-2.0.1:
      Successfully uninstalled Werkzeug-2.0.1
  Attempting uninstall: jinja2
    Found existing installation: Jinja2 3.0.1
    Uninstalling Jinja2-3.0.1:
      Successfully uninstalled Jinja2-3.0.1
  Attempting uninstall: itsdangerous
    Found existing installation: itsdangerous 2.0.1
    Uninstalling itsdangerous-2.0.1:
      Successfully uninstalled itsdangerous-2.0.1
    Uninstalling click-8.0.1:
      Successfully uninstalled click-8.0.1
  Attempting uninstall: flask
    Found existing installation: Flask 2.0.1
    Uninstalling Flask-2.0.1:
      Successfully uninstalled Flask-2.0.1
Successfully installed Werkzeug-1.0.1 apscheduler-3.7.0 click-7.1.2 colorhash-1.0.3 configparser-5.0.2 flask-1.1.4 flask-monitoringdashboard-3.1.0 greenlet-1.1.0 itsdangerous-1.1.0 jinja2-2.11.1 psutil-5.8.0 scipy-1.7.0 sqlalchemy-1.4.22 tzlocal-2.1

So essentially it's downgrading a lot of my packages, and it's quite likely that this is what's causing the issue.

@HrisyToteva
Copy link

Hi @amks1, thank you for bringing up this issue and taking the time to contribute to the Flask-MonitoringDashboard project.

As part of my school project, my team is conducting a usability research study to improve the dashboard. I noticed your experience with the app and thought it would be valuable to gather more insights from you.

Would you be open to receiving a few questions about your experience with Flask-MonitoringDashboard? It won't take more than 20 minutes to answer them. Your feedback will play a vital role in enhancing the app's functionality and addressing any existing limitations.

If you're interested, please let me know, and I will send you the questions. Your involvement would be highly valuable and greatly appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants