Noteworthy Dash UI changes
Initial "Boat mode" implementation. (#43).
- New button that opens dialog to enable/disable the boat mode.
- Primary vehicle position taken from latest loaded GPS fix.
- "Your position" (which is automatically reported by the browser as geolocation information gets available) is used to calculate distance and bearing to the vehicle. This position is also reflected on the map.
Instead of double-clicking, now a simple click (or tap) on the cell connection status icon opens the control dialog.
The cell connection status indicator, previously only shown for the primary vehicle in the main toolbar, is now also included in the following places:
For each vehicle in the Log tab when multiple vehicles are selected:
For each vehicle in the Summary tab:
(These adjustments are also part of some preparations toward an improved reorganization of the UI mainly regarding selected primary/additional vehicles.)
Adjustments related with new updated docker release.
Now the Summary tab has two sections, the first one for the selected vehicles as previously displayed, and a new section with all other vehicles with a basic summary having information about the latest deployment and mission. (#40)
The set of "stations" shown on the map can now be defined/edited in a more dynamic way in the backend. These are displayed on the UI as usual but along a "refresh" button to reflect any backend updates in such list of stations. (A future improvement is to allow the definition of such stations and other geometries in the UI itself.)
More complete tooltips for Argos and "Reached waypoint" positions on the map. They now include the timestamp and elapsed time, similarly as with other positions (e.g., GPS Fixes), as well as the "Argo quality" (LC) value in the case of the Argos position.
Fixed issue of Deployment tab not reflecting update upon switching back from the Log tab. (#38)
Some style adjustments.
Events timestamped in the future(*) are now retained in the Log table upon a refresh. The previous behavior was that they "disappeared" (temporarily) after been displayed by the asynchronous notification handling mechanism.
(*) Up to a 6-hour limit, consistent to what the TethysDash backend uses to persist such events in the database.
Elapsed time fragment now shown with a different, more visible color when actually indicating a timestamp in the future (wrt current time as reported by the browser).
The vehicle summary section included on the right-hand side of the map now does an automatic refresh when a different vehicle is just selected in the dropdown at the top right. (Thanks Chris P. for the suggestion!)
Reset password dialog now handles the Enter key similarly as clicking the Reset button, that is, staying open to inform the user about the further instructions (previously the dialog was quickly closed upon Enter).
Alignment/style adjustment in the email notification settings dialog.
More visible elapsed time (the fragment displayed next to the timestamps in the Log table).
Changed behavior when selecting the "primary" vehicle so it simply becomes an "exchange" with the current selection when the new primary comes from the current list of "additional" vehicles. Easier to explain with an example (see below).
(Please note: the overall primary/additional vehicle aspect and UI organization will undergo a general revision in a future version. The changes now can be considered provisional but hopefully useful in the mean time. As always, feedback is welcome!)
Example: Suppose you currently have this:
- Primary vehicle: makai
- Additional vehicles: tethys, daphne
If the new primary is from the additional vehicles list, say daphne, then the current primary, makai, is now moved to that list (instead of being discarded).
So, the result will be:
- primary vehicle: daphne
- additional vehicles: makai, tethys
The previously selected primary will only be completely discarded when selecting a new primary that is not among the additional vehicles.
Various external links (Watchbill, Help, and others) no longer open separate browser tabs/windows if clicked multiple times. (Thanks Steve H. for the suggestion!)
- Some internal adjustments (mostly timeout related) to the underlying queries to the tracking database that allow to include the positions of extra platforms on the map.
The refresh button in the Tracking DB asset selection dropdown (under the Frontend Settings dialog) now performs an actual reload of the list of available assets.
For a bit improved readability, added some top and bottom padding to the rows in Log table.
In Log table, we adjusted the description text for "Comms" Receive events as recently indicated in the google doc.
- Fixed issue in the email notification settings where any associated extra email addresses (for event notification purposes) were not explicitly associated with the main user account in the database. The symptom was no seeing the additional address in the dropdown menu in a subsequent interaction with the email settings dialog. If you were facing this issue, please simply re-add the extra email address. Any previously entered notification settings for the added address should immediately show up for any further editing.
Fixed "one-character-wide Component column" issue recently reported on Slack. The issue was noted on Safari, but the adjustment (explicitly set a minimum width) was applied in general. Tested on Safari, Chrome, and Firefox.
(A possible further adjustment when dealing with a narrow window on desktop is to switch to the single event list widget as used in the mobile version.)
New "Vehicle configuration worksheet" link included. Displayed as "VCWS" at the top of the page in desktop version (next to Watchbill), and spelled out in the left drawer.
Watchbill link now also included in mobile version.
Adjustments in the display of the events related with 'Direct Comms':
- 'Received' (not 'Receive')
- Removal of the 'mtmsn' fragment as it is irrelevant
Fixed issue in cell connection status icon that wrongly retained some of the info from the previous vehicle when changing the primary vehicle.
Reverted some recent minor changes (only style related) in the Summary tab that very strangely made the whole app completely unresponsive when just changing the primary vehicle. (Will need further investigation but this might be a bug in the underlying framework library.)
More consistent and efficient dispatch of event fetching actions:
Refresh action now makes a separate request for each selected vehicle (ie., primary one and any additional vehicles), with the maximum number of events in each case equal to the corresponding option in the settings dialog divided by the number of selected vehicles.
Load More buttons now dispatched only for the corresponding vehicle in the Log table, and not for all selected vehicles (as it should have been implemented since these buttons were added).
As now supported by TethysDash backend 2.9.3, using a more efficient query for vehicle events (in particular, to exclude
Asynchronously notified 'dataProcessed' events now also ignored (they were still being displayed in the popup notifications).
Send note dialog simplified: always to primary vehicle, which is the typical case (its name now displayed in the title of the dialog). But additional vehicles can still be associated (now in a dropdown menu). This change is related with an ongoing effort to improve the overall primary vehicle handling. (#35).
Password change operation now available in the Dash UI itself.
Style adjustments/fixes in the Summary tab and in various dialogs (including UI settings, tracking database platform selection dropdown, and sign-in/password-reset dialogs).
This is a significant release (also involving the TethysDash backend server) that completes the event type renaming and reorganization recently proposed by the LRAUV team. The event type documentation page has already been updated, and other pages are being updated as well. Please note that the changes are only reflected in the Dash UI as well as in email notifications and Slack messages. If you encounter any issues with this, please let us know!
- One more (hopefully final) revision of frontend logic to address the persistent issue preventing the cell connection status indicator from properly reflecting the status messages pushed from the backend. This has proved to be difficult to reproduce locally so I'm enabling this revision on okeanids for more conclusive tests. (#28)
- Fixed issue with focus being lost while typing a note.
Fixed formatting issue in the Log table exposed with recent Critical events with a very long single word (
Various style adjustments needed arising from recent upgrade of the underlying core library.
Improved display of email notification settings dialog regarding horizontal scrolling, on both desktop and mobile.
Workaround for vertical scrolling issue in Log table: A direct HTML
<table>(which doesn't have the scrolling issue) is used if number of displayed events is <= 3000; otherwise, the dynamic widget that can handle large numbers of rows (but that unfortunately has the potential scrolling issue) is used. (The 3000 threshold chosen based on a basic rendering performance assessment.)
As part of the event type renaming being implemented since v3.4.0, there is now an improved email notification settings dialog in the Dash3 UI itself.
To open the dialog, click the new "Email notifications" button under your account dropdown widget:
Besides reflecting the ongoing event type renaming, the new dialog provides an improved and also mobile friendly interface for managing your email notification settings (compared to the similar widget in the User/Admin interface webpage):
First phase of a general event type renaming has been implemented.
The new type names as they are displayed in the Dash UI are as follows:
Now Previously Log logPath Command Request command Deployment deploy GPS Fix gpsFix Mission Request run
The other names not listed above have just been capitalized.
The 'dataProcessed' event type is now not exposed in the Log table nor in the event type selection widget.
The "Run" tab has been renamed to "Mission".
- These changes will be implemented in an incremental fashion (initially at the frontend, user-visible level) while trying to avoid any impact regarding the use of the system. At this point the original type names will remain unchanged in TethysDash (both backend and frontend).
- Proposed renaming of "Sbd*" event types still to be implemented.
- Changes done as a general feature but also to address the occasional usability issues
when entering notes (#33):
All the relevant settings for the Note input are now user configurable, which in particular should facilitate testing under various combinations so we can better understand what might be causing the occasional glitches while editing the note.
These settings are persisted in the browser's local storage. By default, only the autocapitalize and emoji selection options are initially enabled.
- Adjustment in "repaint" logic for the Log table, which should help with the potential "excess" of scrolling for the repaint upon multiple concurrent updates (from async events in particular).
- Added a "back to top" button in Log table (bottom-right corner), especially useful in mobile version.
- A fix implemented to avoid the rendering of the Log table contents from getting distorted upon certain conditions (event type selection, async events, page resize). (#33).
Various style adjustments in log table including:
The lines in each 'command' and 'run' events are now split into blocks for easier inspection:
Column contents aligned at the top of each row.
word-break:break-allsetting in description column so text is easier to read (added by mistake).
- Some work on known issue about log table contents getting messed up upon certain actions. (Workaround continues to be scrolling up/down a page or two. Thanks for your patience.)
- Style/layout adjustments for mobile version
- Top header simplifed; now it only contains the current time and the reload button. The other pieces here were moved to the left drawer (version info, account button, async info).
- The section above the vehicle log list has been reorganized to make better
use of the space:
- event-type-selection and text filter on the left
- shore.log button and displayed events indicator on the right
- Thinner top header toolbar.
Size adjustments in login and password reset dialogs.
- Event type selection is now "saved" (in local storage) so it will be retained upon reloads of the page or when navigating back from other sites.
Now double-clicking the cell connection status icon opens a dialog with options for operators to enable and disable such ckeck on the server (#26).
- Some adjustments related with cell connection status indicator.
New indicator that shows the current cell connection status with a vehicle from shore (#18).
The indicator is located next to the Note button. This connection status is only displayed for the vehicle currently selected as "primary".
The color of the indicator will be:
- Green: cell connection checked successfully within the last ~5 secs
- Yellow: cell connection checked successfully within the last ~10 secs (all these params are preliminary)
- Red: when no successful cell connection check within the last 10 secs
- Gray: when no recent reports have been received from the backend (meaning that the corresponding check is not currently enabled for the particular vehicle).
The associated tooltip shows a bit of more detail about the status.
- The quick switching to the Log tab right upon running a mission seems to have been interrupting the actual sending of the mission. Workaround: wait for a bit (~2secs) before selcting the Log tab.
Similarly as with
Science/sci2, a dotted line is now also displayed on the map for the
Science/profile_stationwaypoint upon the corresponding "Started mission" event (#24).
- Log tab now selected right upon issuing a command or run (#12).
Buttons added at the bottom of the Log table to load more events from the backend database (#21).
This involved some significant adjustments mainly for performance reasons. In particular, a different table widget in the UI is now used to virtualize the display of a potentially large number of events. For a relatively small number of rows the new rendering may not seem as smooth compared with the previous version, but it should be performant enough even when dealing with several thousands of rows. For example, responsiveness with 20K rows (which would render the UI almost unusable with the previous widget), seems to be pretty satisfactory. Of course, please let us know if you are experiencing any serious (or not-so-serious) display issues.
The regular refresh action (either automatic or manual) continues to execute a full reload of the data in the UI according to the query parameters in the options popup dialog. In particular, there's now only a limit in the number of events to load for the refresh action itself. (The time window size parameter has been removed.)
Occasional rendering artifacts may occur in the table upon a selection of event types, text filtering, or addition of events –– just scroll down or up (PageDown, PageUp, etc.) and the rendering should quickly get corrected.
- Resolved issue about
Re-runNOT keeping changed values when launched from the Dash(3) web interface. The problem was in the old TethysDash, which still supports the Run feature itself. See log entry there for v2.8.5. (#17).
- Launch event now with "restart logs" command enabled by default. Command also enabled for the Recover event. (#20)
- The display of vehicle positions and waypoints on the map has been improved. Basically, now using small dots/circles with size independent of the zoom level. (#16)
- Auto-completion/capitalization/correction features have been disabled in the text area used for capturing notes.
- Positions of all selected tracking database assets are now automatically retrieved and displayed upon first load of the application. Subsequent updates will continue to rely on the usual asynchronous notifications as well as manual clicks of the "refresh" button in the particular position table (located on the right-hand side of the map area).
- Better display of gpsFix positions on the map, with tooltips including timestamp and elapsed time of corresponding event.
- Playback now also includes the positions of any tracking database assets
- Map: display of Argos positions is now disabled by default
- Log table: new 'shore.log' button to directly open vehicle's shore.log file (in separate bowser tab) according to latest dataProcess event
- Log table: 500 is now the default number of rows per page
- Map: the 'zoom-to-all' button now zooms to all available and selected vehicle positions (ie., considering all vehicles and not only GPS fixes).
- Send-note dialog: always initialize the is-bug flag to false.
- Various fixes and improvements.
- First pretty functional version now being used by operators.
- starting work on overhauled frontend version.