Releases: albireox/boson
0.2.0-beta.11
Another release with a few performance gains and bugs fixed.
✨ Improved
- The performance of the guider window should be improved. The component was running the code to update the image parameters multiple times every image, instead of only doing it when a new image loads or the configuration changes. Restricting the changes to
guiderConfig.config
gets rid of the extra re-renders. - Do not show actors with
keys_
in the log window actor selector.
🔧 Fixed
useKeywords
now stores the received keyword askeyword_name
andactor.keyword_name
. This is a consequence of being able to specify keywords from different actors. It's convenient for deconstructing to just refer to{ keyword }
, but if two keywords with the same name from different actors are tracked at the same time, that would cause a problem.- Related to the previous change, the tracking of running macros in HAL was using the incorrect keyword.
0.2.0-beta.10
Hotfix for two issues:
- The preload banner was not appearing in HAL because the keyword
jaeger.design_preloaded
was not being tracked. - An infinite re-render loop was happening in
MacroStageSelect
because one of the callbacks was not memoised.
0.2.0-beta.9
This release includes a couple major performance improvements. Overall, the log window should feel a bit smoother. There are still some issues with the last line sometimes being partially hidden (or not fully scrolled).
🚀 New
- Added an
Auto
option for the go to field stage in HAL. The option is not active by default. To enable it, go to Preferences - HAL - Use auto mode. After that, the dropdown menu in the go to field stage will have an Auto setting that will callhal goto-field --auto
. When the auto mode is enabled, theFix alt/az
checkbox is replaced withHartmann
(probably we should remove theFix alt/az
completely). IfHartmann
is selected, the auto mode will also take a hartmann. Be careful with that option on cloned designs. - Added a button to the log window header to scroll to bottom.
✨ Improved
- Message buffering now happens on the main process side. Replies are stored in a buffer in
TronConnection
and every 500ms are emitted (as a single list) to all the subscribed loggers. The log window now expects to receive a list of replies, filters them, and passed them to Virtuoso. There is no buffering on the renderer side. Changing the configuration produces an instantaneous re-render of the replies (there is no 500ms delay). - The actor selector menu button was asking the main process for a list of actors every 30ms (😞), which kept the log window renderer process using a decent amount of CPU time even when completely idle. This is changed to a request every second. That's still a lot, and probably it should be refactored into something that emits an event only when a new actor has been seen.
- Stopped using
use-elapsed-time
for counters. It seems that even if one only wants and update every second, the package triggers a re-render every few ms. Our use-cases are simple enough that auseEffect
with asetInterval
is enough.
🔧 Fixed
- Fix IOSSwitch thumb colour on hover.
⚙️ Engineering
- Added a
usePrevious
hook to quickly wrap values in auseRef
.
0.2.0-beta.8
✨ Improved
- Reopen main window on dock click.
- Introduce a delay between each JS9 frame.
- By default, reload the guider window every 20 minutes. This should help with memory use buildup. Time between reloads can be adjusted or disabled in Preferences.
- Added menu option to reload focused window.
0.2.0-beta.7
✨ Improved
- When the Snapshots window opens, all the configurations seen since the moment of connection are now available.
🔧 Fixed
- Fixed opening snapshots in browser that had stopped working due to sandboxing.
⚙️ Engineering
- Replaced most calls to
useKeywords
with a single context at the top of the window tree. This reduces the number of event listeners.useKeywords
now accepts a list of keywords in the form<actor>.<keyword>
.
0.2.0-beta.6
✨ Improved
- Improved style of the focus monitor plot.
- Better scrollbar aesthetics when they are always shown.
🔧 Fixed
- Fix
isRunning
never setting status as idle inCommandWrapper
.
0.2.0-beta.5
✨ Improved
- HAL command buttons now track the status of the macro even if the command has not been started in that window.
- Issue
hal status --full
when HAL window finishes loading.
⚙️ Engineering
- Add
useKeywordValue
hook. - Add
useIsMacroRunning
hook. - Increase viewport 500 pixels.
0.2.0-beta.4
🚀 New
- Add option to wrap text in log window.
⚙️ Engineering
- Moved elapsed timer in
MainStatus
to its own component to avoid expensive re-renders of the entire window. - Removed timeout when handling the buffer in the log window. It didn't seem to do much for CPU use and it was sometimes slow.
- Remove some cases of duplicate code that were replaced with
useConnectionStatus
. - Pass received arguments to the handler function in
useEventListener
. - Optionally remove all listeners in
useEventListener
. In cases where the same channel is listened by several components in a window, removing all listeners causes issues. - Use
unique-names-generator
to generate user names.
Full Changelog: v0.2.0-beta.3...v0.2.0-beta.4
0.2.0-beta.3
🚀 New
- Added menu option to clear logs.
- Added
useEventListener
hook. - Added Log Window and Guider preferences with options to set the maximum number of log lines to keep and the path to
xpaset
.
✨ Improved
- Temporarily fixed the GitHub publishing workflow by making it delete the draft release before uploading assets.
🔧 Fixed
- Fixed the macro stepper status.
- Prevent unnecessary listeners for tron connection status.
0.2.0-beta.2
This version re-enables the auto-updater, and this time it seems it restarts the applications and updates it correctly. For now there is not checking for new versions on a timer, only when the Check for updates ...
menu is called. If a new version is found a notification offers to download and restart, or cancel. The new version is now downloaded until the user agrees to restart.
The auto-updates uses channels and allows for pre-releases. The current channel is beta
, which is controlled by the updateChannel
user configuration option. Currently it's not possible to change the channel in Preferences.