What is the problem?
I have octoprint that has been running for at least a year without issue (I update regularly). Currently running 1.6.1. From my "main" pc it runs flawlessly. I start and stop prints, watch progress on a web cam and record the occasional time-lapse. We have a second 3d printer user in the house and he is able to monitor the printer fine and can upload files to octoprint. On his instance the little icon next to the file name in the file list is (almost) always greyed out so he can't start prints. Even if I shut down my instance and he is the only one on the network and even if he does a "restart octoprint" the button is greyed out (we have seen it work, but 1-in-100). I have more luck from my phone than he does from his Mac (the PC I use is also a Mac)
This has been an issue since the second user began 3d printing about 6mo ago.
What did you already try to solve it?
I've searched for similar issues.
octoprint.log (2.3 MB)
ar issues but must people are trying to drive two printers rather than have multiple octoprint users.
Have you tried running in safe mode?
Did running in safe mode
browser.user_agent : Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Safari/605.1.15
connectivity.connection_check : 126.96.36.199:53
connectivity.connection_ok : true
connectivity.enabled : true
connectivity.online : true
connectivity.resolution_check : octoprint.org
connectivity.resolution_ok : true
env.hardware.cores : 4
env.hardware.freq : 1200
env.hardware.ram : 915718144
env.os.bits : 32
env.os.id : linux
env.os.platform : linux
env.plugins.pi_support.model : Raspberry Pi 3 Model B Rev 1.2
env.plugins.pi_support.octopi_version : 0.18.0
env.plugins.pi_support.throttle_state : 0x0
env.python.pip : 20.3.3
env.python.version : 3.7.3
env.python.virtualenv : true
octoprint.safe_mode : true
octoprint.version : 1.6.1
printer.firmware : Marlin V1; Sprinter/grbl mashup for gen6
systeminfo.generator : systemapi
octoprint-systeminfo-20210806211239.zip (128.3 KB)
check the console tab of the developers tools in the browser (F12 typically) on the machine that isn't working and see if there are any errors. You may also want to try in incognito mode if that's an option in your browser to prevent any plugins/extensions from loading to see if that could also be interfering.
Could it be that the print is already selected/active, and you have to press the blue "Print" button instead?
What access control permissions does the other user have? It could be they are logging in with an account that doesn't have permission to start prints.
I have two users setup, both have admin/operator access. I believe we have tried all permutations of using the two accounts.
Is starting a print a privilege that can be toggled somehow?
I guess a follow up question is whether or not this should work. Does octoprint support multiple users starting prints and what factors control disabling (greying out) the control. If I knew that we wouldn't need to speculate. Somewhere when the page loads the code asks a bunch of questions before enabling the start-print button. How do I find that list of questions?
the button is enabled if the connection to the printer is established in the state panel and a print is not currently running, and the file is not currently selected already.
I just tested and selecting the file and pressing the blue print button does not work (it is disabled).
Thank you jneilliii. Those were the clues I needed. It appears that all we need to do is do a disconnect and reconnect from the PC that has the greyed out button. I just put the machines next to each other and watched the state panel carefully when we connected and disconnected. It looks like the logic is that multiple instance can be open and control the printer but for them to believe they are connected and have all buttons enabled, the web page must be visible when the connection happens. This might be considered a bug, but a developer would need to review the expected vs actual behavior.
If you are familiar with the code can you point me to where I would find this logic? I'm a python developer (not flask/web though) so it isn't obvious to me where to look in the GitHub source tree. I'm curious how the app works.
So it's part of the knockout binding found on this line. That ends up being populated eventually by this function here. That also ends up going deeper to this computed here.
That's not expected, and it's not something I've ever seen. To investigate further we would need the log files showing both users trying to connect & disconnect the printer.