One thing that I need to look into is connecting to one workspace from

One thing that I need to look into is connecting to one workspace from multiple computers. Let’s say I am working on a workspace in my living room. Something goes wrong and I can see it on the Webcam widget. Yay!

Now I get to my shop and connect to the workspace there. The serial port starts acting up.

The goal with SPJS and ChiliPeppr was that multiple browsers could be connected at the same time to the same SPJS and everything would sync. That is the case today, but of course if you have Gcode pulled up in one browser it won’t auto pull that Gcode up in the other browser. So that part you’d have to do manually unless we add some kind of signalling. If you drag the Gcode file into the 2nd browser, it would seem to me everything should start looking good. My guess is things are off since ChiliPeppr default to mm mode and perhaps your Gcode is in inches. Dragging in the file puts everything in the correct units mode.

When I drag in the gcode, things start to look normal but trying to send command via the Serial Port Console widget to SPJS will result in nothing replied (normally it replies “ok”). I tried different things but then resolved to power off and on the entire machine. Things work afterward. I guess we can address this issue when I find it more reproducible.

Also, it would be better for the message upon connection to be more descriptive. Currently it says: Connect to SPJS. Status = 1 (or Status = 3). I have no idea what those numbers mean.

I think the problem is the “green” highlight in the Serial Port Widget indicating which port is the default port. Your 2nd workspace doesn’t know what the default port is, so when you try to send from other widgets, nothing comes back. I think SPJS could help resolve this for you on a sync or ChiliPeppr could query SPJS to see what the default port is. Need to think through the strategy on this one. This is a unique problem given the multiple browser issue.

On that status, I think that’s a Grbl workspace specific code. @Jarret_Luft likely has a response on that one.

Oh. If they’re from the websocket connection then that is the browser reporting the websocket status on the connection to SPJS. We could just turn those Flash Messages off. They’re not super helpful.

Yes it’s the flash messages on the view3d widget. Currently we are using cookie for persistent, perhaps it’s time to switch to another cloud persistence layer so all our different sessions are synced? e.g. Firebase.

I’ve been thinking cloud settings would be nice. There have been a lot of requests for an offline chilipeppr. So how do you make a settings interface that could work for both?

Sync even when offline temporarily is available for cloud services like Firebase. But if the user would like to have no internet connection outside of their shop yet still want multi-terminal support, they would need to spin up some local persistence like Redis. Perhaps we are over thinking this.

How about we have SPJS store per-machine information on disk? Then the user can have that sync either via NFS-mounted (probably a bad idea) or dropbox?

It could be that the user wants to run chilipeppr on the same machine that runs SPJS when they could just put a Rpi with SPJS to the machine and run chilipeppr on a laptop with wifi. Perhaps this is a case of a user transferring their expectation of LinuxCNC onto a new platform. (Horse riding knowledge applying to driving? :p)

Ok. I’m with you guys. Let’s ignore any offline desires. We live in the cloud age now. No reason to go back to the 80’s.