dosubot[bot] commented on issue #36069: URL: https://github.com/apache/superset/issues/36069#issuecomment-3515722805
<!-- Greeting --> Hi @septfish! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the superset team. <!-- Answer --> The 404 WebSocket error happens because Flask (which Superset uses for its backend) does not natively support WebSockets, and the `/ws` endpoint isn't handled by Flask. Superset relies on a separate Node.js WebSocket server for async features, and this server is not running by default when you just start Flask. That's why you see the 404 error when the frontend tries to connect to `ws://localhost:5000/ws`—there's nothing listening on that endpoint in your current setup. Also, your Python (3.9) and Node (16) versions are not supported with the latest Superset code. Superset now requires Python 3.10 or 3.11 and Node.js 20.x. Running unsupported versions can cause frontend/backend mismatches and asset build issues, which often result in errors like this one. The recommended fix is to use a stable Superset release (like 6.0) and upgrade your Python and Node versions to the supported ones. This should resolve the WebSocket errors and improve overall stability [[source]](https://github.com/apache/superset/issues/35823). If you need async features (like live query updates), you must run the Node.js WebSocket server alongside Flask and configure Superset to use it. The WebSocket server runs on a different port and must be started separately. For most development and production setups, using Docker Compose is the easiest way to get all required services (Flask, Celery, Node, WebSocket, Redis, etc.) running together, even on Windows [[source]](https://github.com/apache/superset/blob/master/docs/docs/contributing/development.mdx) [[source]](https://github.com/apache/superset/blob/master/superset-websocket/README.md). In summary: Flask doesn't handle WebSockets for Superset; use supported Python/Node versions; use a stable Superset release; and if you need async features, make sure the Node.js WebSocket server is running and properly configured. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/f669b27a-67e0-4834-95ec-385325fa20a6?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/f669b27a-67e0-4834-95ec-385325fa20a6?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/f669b27a-67e0-4834-95ec-385325fa20a6?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/f669b27a-67e0-4834-95ec-385325fa20a6?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/f669b27a-67e0-4834-95ec-385325fa20a6?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/f669b27a-67e0-4834-95ec-385325fa20a6?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/f669b27a-67e0-4834-95ec-385325fa20a6?feedback_type=other)</sup> [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=githu b) [](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/issues/36069) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
