taskSubmitter ended up in a confused state if the initial POST request
encountered an error.
I've updated `startPolling` to return a Promise, and moved the
error handling code to the top level.
This doesn't change anything for the case where we get a non-error
response to the POST request, but means that e.g. 400 errors
get caught and displayed properly.
Given that it changes the "capture" button from
single image acquisition to a long running scan,
I think it's less confusing if the "scan capture" setting
is not remembered across page refreshes.
Saving default to local storage has a problem:
if you have ticked "scan", the section is not
visible by default so it's easy to start a scan
by accident. I've now forced it to be open if
the scanCapture checkbox is true.
ImJoy is now loaded dynamically, and can be turned off with
an environment variable.
I've added two new scripts to develop and build without ImJoy.
I suspect these won't see much use, but
they will remind us how to do it when we
want to release a medical version.
The ImJoy "chunk" is named for ease of separation.
Co-authored-by: Kaspar Emanuel <kaspar@monostable.co.uk>
I was doing nasty things with a for loop - we've replaced it with a
map statement, which achieves the same thing but works better with
Vue.js reactivity.
Each ImJoy window now gets its own top-level tab.
This involved some fairly significant refactoring of the ImJoy
component, but I think it's cleaner now.
I've moved imjoy-related stuff into a store "module" to keep it clean.
something strange is happening with CSS precedence that makes the
elements of the dropdown go white-on-white.
I have added a specific color:black to fix this.
GPU preview and MJPEG stream settings are now persisted
using localStorage. The old code that disabled
the stream for local connections now
just sets the initial/default value.
The initialisation of stream settings is now done
in the created() method of streamContent.vue.
I've eliminated the "globalsafetogglepreview" event
in favour of watching the store.
The test plugin seems to have problems
calling setPosition more than once.
We don't understand this...
Co-authored-by: Kaspar Emanuel <kaspar@monostable.co.uk>