-
Notifications
You must be signed in to change notification settings - Fork 33
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
Bump it for Python 3.10.5 #194
base: master
Are you sure you want to change the base?
Conversation
This is the response I get when trying to run your branch on my linux laptop. EDIT: I created a new Pyenv and virtualenv with a new git clone and pip install setup with the requirements.txt file when testing this. [2022-12-24 10:12:42,845] WARNING in init: WebSocket transport not available. Install gevent-websocket for improved performance.
|
@Orob-Maslow - I found this myself a couple of days back. I had failed to upgrade the socket.io client Javascript package to match the python socket-io backend package. I have found the matching socket.io JS package and put that in the static/scripts folder where the previous version was, however, it seems that we don't have any package management for the front end JS libraries. So just to make sure that we can get the right versions called out, I'll be adding that as well. |
I updated the socket.io-2.1.1.js file in the static scripts folder from v.2.1.1 to socket.io.js version 4.5.4 (the latest release from GitHub) and the error above went away, but the page still doesn't function as expected, so something is not right still. |
@Orob-Maslow I went full npm on this thing (i.e. some kinda proper management of JS packages). It's still not right, but I wanted to make sure the work so far isn't sitting only on my machine. Fixes some problems, breaks others. Real issue here is the tech debt related to using really old versions of JS libraries. |
the working branch I'm using is Python10version2022 in the webcontrolcnc/webcontrol repository. I just committed the version I'm using with the updated socketio.js file. |
hey all. I still get messages from time to time for commits and such and want to make sure those that are actively developing aren't running into permissions issue to do what you need. If someone needs higher access setting, let me know. |
Tested this branch in ubuntu 20.04 with python version 3.10.5. Tested in chrome, brave, firefox: all behave the same. Also tested with and without mega controller attached. Web page will load and it appears to be ok, but the menus are broken. Action page will not show whether loaded in full page or smaller mobile page size (when browser window is reduced in size). There appears to be no error in the browser as before when the versions were wrong, but something still isn't right. Would it make sense that this a local issue with the test setup? |
The issue is that the socket in the browser is not connecting, which impacts menu selections, pretty much everything. I spent some time yesterday narrowing it down. Fix that and I reckon it will be ready for more review. Thanks so much for all the testing you are doing at the moment |
@Orob-Maslow I found that creating the threads in the socket connect handlers was silently dying, which meant that no socket connection every properly responded. For now I've just commented that out. Currently I've got it to the stage where the modal dialogs should be presented, but are not. So this is next on my list of stuff to fix.. |
So there's been a change in how sockets have to be created, which means that every argument needs to be named (especially if you're going from flask_socketio to socketio to engineio to actual python's socket), or the first argument has to be set to I've moved the thread creation to |
Python multi threading is challenging with this running gevent. The serial communication uses a thread. I tried to start a separate thread for gpio and pendant handling and found that that it was better to start a separate process (app) rather than thread it. That may have been a limitation of my understanding or may be the same issue you are seeing with the silent death of the threads. The last commit before this did not load the web page properly at all. I figured you were still working on it so I've been waiting for the test signal to run through all the features. |
Tried testing the latest code in your branch, but python throws an error with flask, but I may have tried between commits this evening. |
Description
Objective: Try it all out for Python 3.10.5
Not much Python bumping here. Instead, this one is bumping the JavaScript libraries. In particular it makes use of
npm
to set up apackage.json
file and install all of the JS libraries used via that. This also ensures that other dependencies get pulled in as well.And then because I grabbed the latest and greatest, it also meant dealing with the technical debt of the JS libraries not being updated for so long ...