Skip to content

Releases: albireox/boson

0.2.0-beta.1

09 Dec 19:29
Compare
Choose a tag to compare
0.2.0-beta.1 Pre-release
Pre-release

This version introduces a major rewrite of Boson. The vast majority of the code has been rewritten from scratch, although the overall functionality is not significantly changed.

Breaking changes

  • The configuration file for this new version is substantially different. Boson may not work properly when opened with an old config file. After opening this new version, immediately open Preferences, go to Interface, and click on the button to reset the configuration. Then restart Boson.
  • If that doesn't work, or Boson refuses to open at all, manually remove the file ~/Library/Application\ Support/boson/config.json.

General

  • Critically, the app does not seem to crash when packaged after a certain time running. Memory and CPU use seem to have improved.
  • The package now uses electron-react-boilerplate. This seems to work better than the previous CRA boilerplate; bundle size is smaller and enough Webpack configuration is exposed that it's possible to optimise certain aspects of the app.
  • The tron-related class and tools have been significantly rewritten, in particular the way listeners are registered. Connection and authentication has been cleaned a bit, and there is now a connectAndAuthorise() higher lever tool that is use by the renderers.
  • It's now possible to connect to tron without authentication (port 6093).
  • A list of keywords defined in the configuration file are tracked and their last value kept in memory. When a window subscribes, if the value is known it is returned internally; otherwise a keys getFor is used. This limits the number of cases where keys is needed and avoid flooding the log windows when a new window opens.
  • The IPC interface has been slightly modified, although most access points are the same.
  • The configuration has been split between default.json and user.json. Only the latter is loaded and modified in the store. The IPC store get method has different option to access the default value, user one, or a merged combination.
  • The colour scheme has been modified. Discord colours and styles has been used for inspiration.
  • Window position and size saving has been improved.

Main

  • The main window now handles the connection to tron and shows the authentication status, connected details, elapsed time, etc.
  • Reconnection has been improved. Now the code will keep trying to reconnect unless the authentication fails due to a bad password. In that case a dialog will be shown to set the new password.
  • A sidebar provides access to the most used windows.
  • The TCC interface has been removed for now.

Preferences

  • The preferences has been fully rewritten.
  • The Connection tab allows to define the connection parameters and reconnect. A series of profiles for direct or tunnelled connections are provided and can be made active easily. Profiles can be added and edited.
  • The Interface tab allows to set the theme mode, clear the user configuration, and determine how windows are saved.

Log window

  • The log window has been redesigned although the functionality is the same. It's still possible to filter by actor, message level, and text. When search text, it's possible to limit the results to matched text, and use regex.
  • The history scrolling has been fixed.
  • Sticking to bottom now seems to work better and it's not necessary to have a dedicated button to stick to bottom. This is accomplished by expanding the height of the viewport that is considered "at bottom" to 400 pixels. That means that sometimes if one scrolls up only a bit, that won't be enough to stop the viewport from scrolling back to bottom on a new message. The height may be adjusted in the future. Note that the window may still in rare cases stop following the stream of messages. That can happen normally if a lot of messages arrive at the same time or, more usually, when the filter settings are changed.
  • The buffer is better handled and a lot of work has gone into making sure no extra re-renders in the viewport happen. Still, the CPU usage of the log windows is substantial, but that may be an unavoidable consequence of the virtualisation library used.
  • The viewport is only updated every 500 ms when the buffer is not empty. This reduces the number of re-renders and some of the visual instability.
  • Only the last 50,000 messages are kept to reduce memory use.
  • CmdStarted and CmdDone are colourised to indicate when a command starts/end.

Snapshots

  • Snapshots have been redesigned but most of the functionality has not changed.
  • react-pdf has been updated and it's no longer necessary to to pre-packaging gymnastics for it.
  • Zoom is now controlled by a slider.
  • Previous configurations can by accessed by clicking on the file name on the header; that opens a select menu.
  • A snackbar at the bottom shows whether the FPS is folded, moving, configured, or locked.

Guider

  • The guider window has been redesigned but most of the functionality has not changed.
  • JS9 scripts are dynamically loaded only for the Guider window. Memory use seems better, but GPU memory use when the window is open is high.
  • JS9 is copied to the built application at the Webpack configuration file level (see .erb/configs/webpack.config.renderer.dev.ts and .erb/configs/webpack.config.renderer.prod.ts)
  • Select menus have been replaced with buttons that show menus on hover.
  • A reset button has been added that resets the pan, colour levels, and zoom.
  • The exposure time indicator has been slightly improved.
  • Some bugs related to the applied scale, colour map, and scale limits have been fixed.
  • The expose and guide buttons now track the exposure state even if the command has not been started by that window/user. A user can cancel the guiding started by a different user.

HAL

  • HAL has been cleaned up a bit but overall not changed. That means that some known bugs are still there, and the design doesn't fully match the rest of the app.

Caveats

  • Autoupdating the app has been disabled. It never worked properly and more work is needed to make it reliable. For now just download new versions here.
  • The number of log lines kept cannot be configured yet in Preferences.
  • The wrap line feature in the Log has not been added back, but it's probably ok since we are not setting the height of each line as a fix value.
  • In Snapshots, when the window reopens, only the last two configurations can be navigated. In the future tron will internally keep a list of all the seen values for a keyword in certain cases.
  • In Guider, the exposure bar does not show the remaining time.
  • In Guider, in some rare cases the JS9 divs may not load. Reopening the window solves that. I have not seen this in the packaged app, so it may be a development mode issue.
  • Weather, TCC, LCO Lamps, and Keywords have not been added back for now.
  • Commands started in HAL by one user won't yet be seen as started by a different user. This is a high priority for the next version.

0.1.2-beta.1

21 Oct 01:34
Compare
Choose a tag to compare
  • Upgrade to Electron 21.
  • Fix RMS units (should be arcsec).
  • Clear applied corrections when new measured values arrive.
  • Stop updating messages when scrolled in log.
  • Disentangle RA/Dec axes.
  • Add support for Ti/Td coefficients.
  • Keep offsets in HAL goto-field.
  • Do not push new reply to TronConnection.replies (wasn't doing anything).

0.1.1

19 Aug 01:22
Compare
Choose a tag to compare
  • Do not close image in JS9.
  • Expect focus fit to already be in arcsec.

0.1.0

17 Aug 00:10
Compare
Choose a tag to compare
  • New observatory configuration parameter.
  • Use fliswarm.filename_bundle instead of fliswarm.filename for JS9.
  • Added lamps window for LCO.

0.0.5

12 Aug 17:00
Compare
Choose a tag to compare
  • Update to Electron 10. Use sandbox: false when creating windows.
  • Refactor focus monitor to use cherno.focus_data.
  • Clean up Electron API and remove exposed ipcRenderer commands.

0.0.4-alpha.41

01 Jun 16:16
Compare
Choose a tag to compare
0.0.4-alpha.41 Pre-release
Pre-release
  • Use createRoot() to enable React 18 features.
  • Fix Snapshots not working. Now using react-pdf Webpack 5 configuration instead of the standard instructions. This used to fail with a JavaScript heap out of memory error error but now seems to work fine.

0.0.4-alpha.40

31 May 22:18
Compare
Choose a tag to compare
0.0.4-alpha.40 Pre-release
Pre-release
  • Upgraded Electron to 19 and React to 18.
  • Added the reslew stage for the updated hal goto-field macro.

0.0.4-alpha.39

21 Feb 00:03
Compare
Choose a tag to compare
0.0.4-alpha.39 Pre-release
Pre-release
  • Fixes a problem with the preloading banner not showing if the newly preloaded design has the same design ID as the currently loaded one.

0.0.4-alpha.38

19 Feb 21:21
Compare
Choose a tag to compare
0.0.4-alpha.38 Pre-release
Pre-release
  • Disable previous focus curve when new values appear.
  • Make fvc and boss_arcs stages concurrent.
  • Use transparent background when an axis button is not enabled.
  • Actually show focus PID value.

0.0.4-alpha.37

19 Feb 03:11
Compare
Choose a tag to compare
0.0.4-alpha.37 Pre-release
Pre-release
  • Added focus monitor.
  • Fix padding of preload banner for when design is cloned.
  • Add information for focus to the guider table.