nasa-ammos / ait-gui Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
@jordanpadams ran into an issue with templates rendering when trying to make an additional page. Adding another page (such as /query.html
) that contains a template results in the template rendering as the include tag instead of the content.
% include('navbar.html')
Not sure if this is related to the way we're handling pages (currently only /
returns a page) and static files, file naming conventions (E.g., .tpl
instead of .html
), or both.
Messages
is incorrectly displaying timestamp information as being in GPS time when they're expected to be in UTC time. This is due to changes in the default behavior of the time format
helpers from #3
Add UI support for telemetry playback and viewing a snapshot of telemetry at a particular point in time.
It would be great if we could update the time display formats to match the display format of the Clock component. For instance, if the user changes from the default GPS time display to UTC time on the clock, updating the message timestamps to display in the same formats would be helpful for consistency. Should consider if this would be confusing for users considering that any time telemetry fields would not update to reflect this change.
Potential update points:
I was missing a quote in one of my plot configs, and it started throwing continuous errors. We should probably catch a bad JSON object and just move on.
<ait-plot-config>
{
"foobar": "CCE AC Voltage,
"ylabel": "Voltage (DN)"
}
</ait-plot-config>
Uncaught SyntaxError: Unexpected token
in JSON at position 67
at JSON.parse (<anonymous>)
at Object.processTag (ait.bundle.js:22937)
at ait.bundle.js:23006
at Array.forEach (<anonymous>)
at Object.oninit (ait.bundle.js:23005)
at initLifecycle (ait.bundle.js:1034)
at initComponent (ait.bundle.js:577)
at createComponent (ait.bundle.js:583)
at createNode (ait.bundle.js:499)
at createNodes (ait.bundle.js:483)
Consider displaying the typed out command as it's being constructed in the command configuration component somewhere near the send button. This would mirror how the command would look if the user was to type it out in the commanding input field
We should include an example script with the install that can dump canned telemetry data from one or more of the default tlm.yaml
packets to the UI so users can spin up the GUI after installation and see something useful.
Add explanations of the GUI widgets, their functionality, and how to configure them to the GUI docs
Add badges to tabs containing out of limit fields to show the total number of fields contained which are out of limit.
Ran into an issue with the monitoring UI where two instances of the same script executed when clicking the run button from the script control widget. The only way I could duplicate this was by double clicking the run button quickly before events propagated from the backend to the frontend and disabled the button functionality.
We should update 2 things on this. First, the backend should prevent attempts at running a script when another script is executing. This is arguably more useful to avoid two people from trying to run scripts and overlapping, but it also solves the encountered problem. Second, the execution control should be more intelligent about state tracking and preventing duplicate reactions. At the minimum, this should be on the script execute button.
index.rst
of the docs has a leftover nonsensical straggler line.
Visit the :doc:`Installation Guide <installation` for installation information.
Add an attribute to the Plot component that allows users to specify that raw values should be plotted even if DN-to-EUs are present for a field. At the moment, Plots will always display EU values if a DN-to-EU is present.
Update repo so all past BLISS naming references are updated to AIT
From a conversation with @jordanpadams regarding getting the telemetry tooltips to display over the field name:
It wouldn't hurt to have a flag on bliss-field that causes it to render the usual field name:
tag that we put before a field. This would potentially help us keep the html more compact and it would allow us to display the telemetry tooltip/popup when the user hovers over the field name
At the moment the command search only looks at command names for filtering. Should include description text and perhaps argument data as well. Highlighting results would be useful.
@MJJoyce commented on Wed Apr 11 2018
Add when clause support to the GUI. This includes when clauses at the Field level and DN-to-EU level.
The current approach to SSE connections means that any UI component requiring backend connections are unusable if a user has the GUI open in 3 or more tabs. We should investigate alternatives if this is a common enough use case.
window.opener
perhaps?Update the command browser to display validation errors similar to the command search
The command configuration component should ask users if they want to lose work-in-progress changes to a command when selecting a new command from the search window
The Plots are currently displaying in GPS time instead of UTC time like they're labelled. Likely a missed attribute update from #3
TravisCI seems to have recently switched to defaulting to npm ci
for installs if package-lock.json
is present. Some of our versions aren't pinned properly so this errors out at the moment and breaks the builds.
npm ERR!
npm ERR! Invalid: lock file's [email protected] does not satisfy sinon@^1.17.6
npm ERR!
I would be helpful to have tooltips pop up over the script control buttons so users can understand what the buttons do
Add better support for string-type telemetry point display in the GUI. Displaying useful characters instead of numerical values would be better.
The Clock component should show GPS time as the default display mode
Add docs about CSS classes for GUI layout customization to GUI docs
Need to remove extraneous script components (E.g., ScriptLoadModal) and merge unnecessarily split components (E.g., ScriptLoadButton with ScriptSelect)
Would be useful to highlight the log tab (or something similar) with some persistence to notify the TC. Probably emit an event for handling this and have the tab respond appropriately
The CHANGELOG changes for the 1.0.0 release is missing previous release changes. Need to call it with the --since-tag version from the docs.
Our current backend <-> frontend communication paradigms can result in disconnects between the frontend(s) and backend, specifically if a client drops or a new client joins midway through some backend operation.
N/A
and have no info on Limit status. We used to get around this by replaying the last few minutes of telemetry through the browser to "catch the client up" but that has since been removed. The plans to move limit checkout out of the frontend would alleviate part of this issueui.confirm
and the like) toggle a modal via the util.Modal
component. Clients that join after the corresponding events that trigger the modal have fired will not see the modal. Similar to the scripts above, if a modal is required for user interaction (E.g., to continue script execution) you could end up needing to reboot the backend to regain control.The new project documentation page instructs users to run ait_gui.py
instead of ait-gui
to turn on the GUI backend
I'm sending packets (each 270 bytes) from a remote machine to another machine running AIT. When I plot the sequence count from the space packet header not all of the packets are plotted. I've verified with Wireshark that all of the packets are being sent and the AIT machine receives all of the packets. I also ran bliss-bsc and looking at the pcap file all of the packets are there. I've attached a picture of the plot, in this one there should be 32 packets.
Add support for monitoring inbound telemetry for limit trips and notify users as needed of these events
Per @jordanpadams
/gds/int/data/oco3-sim1/2018/
which caused it to try to query all the LEHX data as well.The current word splitting in the mnemonic search overlooks some expected cases when splitting words, such as CamelCasing, which makes it clunky to use.
For instance, AnalogsVoltage_PCE_VCC
would not be located by searching for Voltage
. However, searching for just V
would pick it up due to VCC and the V
in Voltage
would be marked as part of search match (see below).
Expanding the above search to Vo
would result in the result getting dropped from the results list
The script file list is sorted by directory vs file but is jumbled beyond that. Need to fix the sorting so the sorting carries throughout.
The mnemonic search result code breaks if some optional settings in the limits config aren't present. The check to handle this [1] is not catching the missing option and this results in attempts to access a member of undefined
further down the code.
[1] https://github.jpl.nasa.gov/bliss/bliss-gui/blob/master/bliss/gui/static/js/bliss/gui/Search.js#L206
The default index.html
layout does a poor job of showing off the GUI. We should add further fields from the 1553_HS_Packet
example and include plots to flesh out the main page a bit.
Looks like I failed to notice that I dropped some important stuff from format.js
when cleaning up before committing and the tests are breaking.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.