NEW: Very alpha WebSocket plugin. Share any or all of your units and global scripts with anything that can connect via a websocket. Vera alpha right now but functional. Comes with a demo page to show how to write javascript to display info from your database live or send commands to units or Global Scripts.
Bonjour or mDNS support is built into XTension for plugins so they don’t have to have any code to manage that themselves.
Fix: the debug mode checkbox in the edit interface dialog may have gotten out of sync if you changed it from another source.
Fix: the JSON server had a bug that would let through some invalid tokens and also display some garbage in the list of tokens that you couldn’t delete. This is all working normally again.
The JSON server is a total rewrite using the new plugin APIv2 protocol. I’ve been testing my setup all week and everything appears fine but please test your JSON/HTTP server setups with this version and email me off the list if there are problems.
Change to the timeout parameter of the async shell command. If you set it to -1 then it will never timeout and just run for as long as it needs to.
Some important changes to logging when an async shell or interface shell doesn’t finish in time and is forced quit. It’s possible that the program can hang when trying to kill an errant shell command so prior to killing it XTension now flushes the log and writes to it that it’s about to try to kill a shell. If you have a hanging problem this version will be better able to catch in the log the last thing it was doing before it happened.
NEW: Totally new Interface list window. The default is to show a mode compact window with a little less information. This makes more things fit on the screen and I like that a lot more. You can still click the gear menu toolbar to turn on “show more info” which will look almost identical to the old display if you liked that.
NEW: the debug checkbox in the interface list window is gone. You can still turn it on and off from the edit interface dialog, the floating interface status dialog, from the contextual menus in the interface window and also the gear menu has an option to turn it on or off. It was wasting space on that window where it wasn’t necessary since there are so many other places to get to it.
New: Plugins can now write a line of info into the space that used to be wasted by the debug checkbox. For example the new JSON server now will tell you what port it’s listening on and how many hits you have had so far. You can clear the hit count by using the contextual menu.
New: Plugins can now setup contextual menu’s for the interface list window that are custom to them like the already mentioned JSON server.
The LIFX plugin now also displays there when it’s scanning and how many units it’s actually found.
The websocket plugin test page is located inside the plugin folder itself. To get to it and experiment you’ll need to hit the Database menu in XTension and select “show plugins folder for this database” then open the folder in the Finder and open the websocket.isf folder. Inside there is a file called xtensiondemo.html that you can load into a browser and connect to the websocket interface in XTension. It’s pretty messy right now but it works and demonstrates with included javascript how to handle the data from XTension to get live updates to unit changes as well as how to send commands to control them and other things. The documentation is sparse at the moment, but follow the link from the release page to see what it’s like so far.