Releases: NASA-AMMOS/aerie-ui
v1.4.0
Summary
- Activity presets menu added for activity directives
- Activity directives and simulated activities (spans) are now distinct
- New timeline visualization for activities
- Lock/unlock toggle added for activity directive form
- Simulation panel includes start and end time input for temporal subset simulation
- Simulation panel has new simulation history for toggling between past simulations
- Timeline context menu for quicker interactions (e.g. delete activity)
What's Changed
Breaking Changes
Please see our latest upgrade guide for complete instructions for upgrading from 1.3.0
to 1.4.0
.
New Features
- Activity layer rendering by @AaronPlave in #436
- Lock/Unlock Changes to Activity Directives by @jeffpamer in #456
- Activity presets UI by @duranb in #507
- Basic simulation time inputs by @AaronPlave in #522
- Timeline context menu by @AaronPlave in #521
- Select simulation dataset from history section by @AaronPlave in #533
Bug Fixes
- Set Sim Bounds to Plan Bounds on Plan Creation by @Mythicaeda in #508
- Explicitly check anchor_id against
null
by @duranb in #510 - Remove logic in table that's setting selected row to null by @duranb in #513
- Use $activityDirectivesList to take advantage of optimistic updates in directives table by @duranb in #516
- Pass 'disabled' prop to activity preset input by @camargo in #523
- Fix sim panel default args by @camargo in #526
- Firefox activity selection fix by @AaronPlave in #530
- Ensure input exists before attempting to modify properties by @AaronPlave in #532
- Fix sim time for spans by @AaronPlave in #531
- Fix for context menu assuming spans exist for a directive by @AaronPlave in #543
- Account for simulation bounds in resource layers and timeline histogram by @AaronPlave in #549
Refactoring
- Update Stellar and use new plan left and right arrow icons by @AaronPlave in #538
Testing
Documentation
Full Changelog: v1.3.0...v1.4.0
v1.3.0
Summary
- Simulation is now correctly marked as dirty if anything in the plan or simulation config changes
- The simulation error trace is now also shown in the error console along with the error message
What's Changed
Bug Fixes
- Update stellar theme for ag-grid to use correct font source by @duranb in #444
- Include external resources in resource layer filter options and sort options by @AaronPlave in #447
- ActionDataGrid deleteItem event fix by @AaronPlave in #448
- Mark Simulation as Dirty when Simulation Revision Changes by @Mythicaeda in #449
Refactoring
- Remove deep GQL query for Seq JSON by @camargo in #439
- Show both data and trace in error console if both are present by @mattdailis in #446
Build System and Dependencies
Full Changelog: v1.2.0...v1.3.0
v1.2.0
Summary
- A big update to the view menu which makes view management easier. This includes a streamlined modal for listing views, and a toggle for changing the visible view grid panels. We also removed the view JSON editor since all view properties can now be updated directly in the UI.
- The UI now automatically creates a scheduling specification for a plan if one does not already exist.
- Lots of important bug fixes. See the list below.
What's Changed
Breaking Changes
Please see our latest upgrade guide for complete instructions for upgrading from 1.1.0
to 1.2.0
.
New Features
- Toggle view panels via new menu buttons by @duranb in #401
- Add view download button to ViewsTable by @duranb in #418
Bug Fixes
- Revalidate when selected activity changes by @duranb in #393
- Fix error with nulls in target/source for conflicting and non-conflicting activities by @camargo in #394
- Add check for existing selected nodes when auto scrolling table by @duranb in #402
- Upgrade deps to latest by @camargo in #410
- Make sure Monaco Editor setValue is not null by @camargo in #411
- Support plans without scheduling specs by @jeffpamer in #403
- Prevent plan creation invalid date by @duranb in #412
- Pass update through view toggle by @camargo in #423
- Fix menu overlapping by @camargo in #425
Refactoring
- Update the UI with the changes to Sequences eDSL by @goetzrrGit in #383
- Replace View Editor with View Upload Modal by @duranb in #391
- Change the "reset view" copy depending on if viewing a saved view by @duranb in #424
- Bump stellar version by @duranb in #431
New Contributors
- @goetzrrGit made their first contribution in #383
Full Changelog: v1.1.0...v1.2.0
v1.1.0
Summary of New Features
- You can now anchor activity directives to each other using the "Selected Activity" panel!
- The UI view menu has been given a make over. It is now easier to manage UI views, and you are now notified if a UI view has unsaved changes.
- The plan page nav bar menus (simulation, scheduling, constraints, and expansion) have been changed to status menus with action buttons. You can still visit those panels by changing the panels in the panel menu directly.
- Table items are now automatically scrolled to when selected (e.g. the activity table selected activity).
Breaking Changes
There are no UI breaking changes in this release. Please see our latest upgrade guide for complete instructions for upgrading from 1.0.2
to 1.1.0
.
What's Changed
New Features
- Add option to scroll to table items when selected by @jeffpamer in #366
- Update View menu design by @duranb in #367
- Add form for anchoring directives to other directives by @duranb in #338
- Navbar status and action menus by @AaronPlave in #371
Bug Fixes
- Draw ParameterBaseRightAdornments on Struct Params by @Mythicaeda in #384
- Account for null target activity in non-conflicting activity in plan merge by @duranb in #388
Refactoring
- Add and use MenuHeader component by @AaronPlave in #365
- Update doc link to new doc site by @camargo in #370
Testing
- Update banananation model to latest for e2e tests by @camargo in #368
- Reactivate scheduling tests by @camargo in #373
- Fix e2e test for opening GraphQL console by @camargo in #378
Continuous Integration
Full Changelog: v1.0.2...v1.1.0
v1.0.2
Summary of New Features
- Major update to timeline layer editing. The timeline editor now has the ability to add, update, delete, and customize layers.
- The delete key now works for deleting activities when focused on the timeline.
- A clear error console button has been added for errors that are dismissible.
- Tables now have resize options in their context menu.
- Scheduling goals and conditions now clearly show their associated plan.
- The create plan date picker now pre-populates the end time with the start time if a start time is selected.
- The UI Docker image now is auto-built for multiple machine architectures.
- Ellipsis have been added to the activity types list to account for overflow of long activity names.
- Migrated to a new documentation site: https://nasa-ammos.github.io/aerie-docs
Breaking Changes
Please see our latest upgrade guide for complete instructions for upgrading from 1.0.1
to 1.0.2
.
-
The UI view
/view/validate
endpoint was moved from the gateway to the UI server. Any downstream code must nowPOST
to/view/validate
on the UI server. The UI server has the same API so no other changes are needed other than changing the target server. So if you are running Aerie locally with the default ports and configuration you would changehttp://localhost:9000/view/validate
tohttp://localhost/view/validate
. -
The UI view schema has replaced Regex filters with lists specifying the given type. To show activities in a timeline layer you now need to specify the list of activity types you want to show. For example to show activities with type
BakeBananaBread
,BananaNap
, andBiteBanana
you can do:{ "filter": { "activity": { "types": ["BakeBananaBread", "BananaNap", "BiteBanana"] } } }
Similarly for resources you now need to specify a resource name you want to show. For example to show the
/peel
resource you can do:{ "filter": { "resource": { "names": ["/peel"] } } }
These replace the
type
andname
field from theactivity
andresource
filters respectively. Any downstream code needs to be updated to account for this.
What's Changed
New Features
- Add table resize options to context menus by @duranb in #314
- Show plan association for scheduling goals/conditions by @jeffpamer in #313
- Use new table column icons by @duranb in #323
- Add buttons to clear console errors by @duranb in #327
- Delete activity with keyboard
Delete
by @duranb in #328 - Timeline layer editing by @AaronPlave in #315
- Pre-populate end time with start time during plan creation by @duranb in #354
Bug Fixes
- Forward events to recursive calls of the SplitGrid component by @AaronPlave in #312
- Do not clear last toast when same message is spammed quickly by @duranb in #329
- Update
showOnInit
toshowOnCreate
by @duranb in #336 - Add ellipsis to list item by @camargo in #348
- Replace simulation subscriptions with queries by @camargo in #351
Refactoring
- Add UI view schema and validate endpoint by @camargo in #317
- Generate default UI view by @camargo in #318
- Convert types to modules by @camargo in #319
- Support conditional rendering of tooltips by @jeffpamer in #324
- Prevent duplicate toast messages from filling screen by @duranb in #326
- Replace keyboard save checks to use util function by @duranb in #340
- Context menu typography tweaks by @AaronPlave in #342
- Allow unlocking plan while in the process of dragging activity by @jeffpamer in #341
- Remove deprecated Timeline Form by @AaronPlave in #356
Testing
- Output JUnit XML for unit tests by @camargo in #316
- Update expansion rule to latest format in e2e test by @camargo in #355
Continuous Integration
Build System and Dependencies
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Summary of New Features
- Timeline editor includes a new form to edit the timeline and timeline rows. Layer editing coming soon.
- Create and edit global scheduling conditions, and use them in scheduling for a plan.
- Add more errors to console and allow dragging-to-resize the console height.
- Add app route information to page title for better location context.
- Various bug fixes.
What's Changed
New Features
- Add draggable handle to console to resize the height by @duranb in #258
- Add errors caught from requests to console by @duranb in #274
- Timeline view editing by @AaronPlave in #264
- Include details of page route in title by @jeffpamer in #268
- Global scheduling conditions by @duranb in #293
- Timeline row view editing by @AaronPlave in #285
Bug Fixes
- Set valueSource to none for computed attributes by @mattdailis in #260
- Properly reset highlighted activity keys in merge review by @AaronPlave in #263
- Handle case for undefined columnStates in table menu by @duranb in #271
- Create scheduling specification on branch creation by @Mythicaeda in #272
- Account for leap year when validating timestamps by @duranb in #310
Refactoring
- Subscribe to activity types by @camargo in #278
- Refactor to make components more functional by @camargo in #282
- Move stores out of Timeline component by @camargo in #286
Continuous Integration
Build System and Dependencies
- Upgrade deps to latest by @camargo in #273
- Update Hasura from v2.12.0 to v2.12.1 by @Mythicaeda in #297
- Upgrade deps to latest by @camargo in #306
Full Changelog: v1.0.0...v1.0.1
v1.0.0
Summary of New Features
- Plan merge and collaboration. You can now create a branch from a plan, make a merge request to a parent plan, and interactively review merge requests!
- Long y-axis labels for timeline rows are now truncated in the middle with ellipsis.
- Text editors (e.g. sequences, scheduling goals, etc.) now notify of unsaved changes if you change form fields (before it just notified of changes if you changed the editor).
- Vertical guides have been updated to a sleek new design. You can now click-to-drop or click-to-delete vertical guides for a timeline.
- A link to our documentation website has been added to the nav bar menu.
- An awesome new Aerie logo by @lklyne has been added to the nav bar.
What's Changed
New Features
- feat: update vertical guides to follow cursor implementation by @jeffpamer in #205
- feat: track editor metadata dirty states by @jeffpamer in #209
- feat: plan merge and collaboration by @camargo in #196
- feat: merge review page by @AaronPlave in #201
- feat: truncate long y axis labels with middle ellipses by @jeffpamer in #217
- feat: prevent users from editing locked plan by @AaronPlave in #228
- feat: Alert user on Merge Review page if the review has ended by @AaronPlave in #244
Bug Fixes
- fix: restrict all routes if not logged in by @camargo in #213
- fix: span arguments by @camargo in #216
- fix: small merge review fixes by @AaronPlave in #223
- fix: request count computation for merge request modal by @AaronPlave in #233
- fix: merge review icon update by @AaronPlave in #237
- fix: satisfied activities list by @camargo in #245
- fix: Sort merge requests by @AaronPlave in #241
Refactoring
- refactor: update aerie logo to latest by @lklyne in #206
- refactor: Rename condition -> constraint by @JoelCourtney in #212
- refactor: rename commanding to sequencing by @camargo in #219
Testing
Continuous Integration
Documentation
- docs: update readme by @camargo in #211
- docs: update developer.md by @camargo in #215
- docs: add app nav menu item to aerie docs website by @camargo in #218
Build System and Dependencies
- build: upgrade deps to latest by @camargo in #204
- build: upgrade deps to latest by @camargo in #208
- build: upgrade deps to latest by @camargo in #214
Other Changes
New Contributors
Full Changelog: v0.13.2...v1.0.0
v0.13.2
Summary of New Features
- A timeline histogram that shows the distribution of activities in the timeline and a constraint violations heat map.
- New timeline time-range slider and better timeline zoom controls with hotkeys.
- Improved timeline tick rendering.
- Error console that displays simulation and scheduling errors. As the system evolves more errors will be displayed here.
- An activity table column selection menu for adding and removing columns. Column preferences are saved with the UI view.
- Two new buttons have been added to the activity table header to auto-resize columns based on screen width, or content.
Breaking Changes
- The UI view activity table column field
start_time
value has been renamed tostart_time_doy
. An example can be found here.
What's Changed
New Features
- feat: timeline histogram slider by @AaronPlave in #158
- feat: query constraint ts by optional plan ID by @JoelCourtney in #166
- feat: error console by @duranb in #171
- feat: add timestamp to console errors by @duranb in #174
- feat: buttons and shortcuts for zooming and nudging timeline view by @AaronPlave in #176
- feat: add activity table column selection menu by @duranb in #181
- feat: add button to resize activity table columns by @duranb in #182
- feat: improve timeline ticks by @AaronPlave in #183
- feat: unique activity ids by @camargo in #185
Bug Fixes
- fix: e2e scheduling test by @camargo in #169
- fix: get activities by simulation dataset id by @camargo in #172
- fix: update simulation error derivation to return empty array instead of null by @duranb in #175
- fix: set z-index of console so panels do not overlap over it by @duranb in #177
- fix: tooltip positioning during box drag by @AaronPlave in #189
- fix: timeline scroll bar by @camargo in #192
- fix: make activity table use start_time_doy instead of start_time by @duranb in #194
Refactoring
- refactor: plan and model types by @camargo in #170
- refactor: activity queries by @camargo in #184
- refactor: activity and resource points by @camargo in #193
Testing
- test: update scheduling run spec by @camargo in #179
- test: update banananation jar by @camargo in #180
- test: update mission model jar by @camargo in #186
Continuous Integration
Documentation
Build System and Dependencies
- build: upgrade Hasura to v2.12.0 by @camargo in #173
- build: upgrade deps to latest by @camargo in #178
- build: upgrade deps to latest by @camargo in #187
Full Changelog: v0.13.1...0.13.2
v0.13.1
Summary of New Features
- Simulation and scheduling results are now subscribed to. Thus you no longer need to keep pressing the 'simulate' or 'scheduling' button to get results. After pressing the button once the results will be automatically available in the UI once the operation completes.
- Right-click context menu for tables so you can select and delete rows.
- Icons for parameter input fields that show the data source of the parameter. For example a parameter can come from a model or user.
- Vertical timeline cursor that shows the time when you hover over a timeline row.
- New view menu on the plan page so you can save a view from the top-level navigation bar.
- Timeline row headers with row name and collapsible state.
- Text editors now have save hotkey (cmd+s or ctrl+s).
- Expansion set table is now filterable.
- Create a sequence by uploading a
.seq.json
file. - Added up and down arrows to adjust scheduling goal priority in the goal list on the plan page.
- Added sweet Aerie logo to app header and favicon!
Breaking Changes
- All Aerie UI environment variables are now prefixed with
PUBLIC_
. This is for security so we do not expose non-application environment variables to the browser client. Please see the updated environment variable documentation and docker-compose.yml for examples of what you need to update. - The UI view timeline row schema has been updated with an
expanded
andname
property to accommodate the new timeline row headers. You will need to update your view JSONs with these two properties for every timeline row. An example can be seen here and here. - The UI view
IFrame
component has been renamed toIFramePanel
.
What's Changed
New Features
- feat: auto query scheduling and simulation results by @camargo in #131
- feat: add context menu to tables with deletable items by @duranb in #132
- feat: subscribable store vars by @camargo in #136
- feat: display activity directive value source and validation messages by @AaronPlave in #139
- feat: prevent menu from going off screen by @duranb in #140
- feat: add vertical timeline cursor by @jeffpamer in #141
- feat: add view menu to plan page by @camargo in #142
- feat: timeline row headers by @AaronPlave in #143
- feat: add save hot key to editors by @camargo in #144
- feat: add iframe panel component by @camargo in #145
- feat: filterable expansion set table by @duranb in #148
- feat: make all drag handles as large as default activity view's by @duranb in #149
- feat: subscribe to sim datasets and activities by @camargo in #150
- feat: create sequence from .seq.json file by @camargo in #156
- feat: display activity name in timeline by @camargo in #157
- feat: more intuitive scheduling goal priority controls by @jeffpamer in #165
- feat: add logo and favicon by @jeffpamer in #167
Bug Fixes
- fix: sample real profile rate calculation for y-value by @camargo in #135
- fix: invalidate all routes after login/logout by @camargo in #160
- fix: display activity label correctly for children by @camargo in #161
- fix: overlapping activities by @camargo in #163
- fix: query id instead of dataset_id by @JoelCourtney in #164
- fix: update seq json queries to latest spec by @camargo in #168
Refactoring
- refactor: update parameter validation schema by @camargo in #133
- refactor: subscribe to activity directive metadata schemas by @camargo in #134
- refactor: add new dictionary to store after create by @camargo in #138
- refactor: prefix public env vars by @camargo in #147
Testing
Continuous Integration
Build System and Dependencies
- build: upgrade deps to latest by @camargo in #130
- build: upgrade deps to latest by @camargo in #137
- build: upgrade deps to latest by @camargo in #146
- build: upgrade deps to latest by @camargo in #154
Styling
- style: fieldset updates by @AaronPlave in #151
- style: Chip and GridMenu updates by @AaronPlave in #152
- style: fix padding for activity metadata fields by @AaronPlave in #162
New Contributors
- @JoelCourtney made their first contribution in #164
- Shout-out to @lklyne who has continued to provide amazing designs for this application
Full Changelog: v0.13.0...v0.13.1
v0.13.0
Summary of New Features
- New activity directive metadata fields were added to the selected activity form. See the wiki entry for how to add your own metadata fields to an activity type.
- All tables in the UI now use a data grid with row filtering, row sorting, column resizing, and column reordering.
- You can now delete many activities at a time in the activities table by selecting multiple activities and right clicking.
- You can now delete many views at a time in the views table by selecting multiple views and right clicking.
- Dragging activities on the timeline is now locked by default. You can shift+click an activity to unlock and drag it.
- Activity table changes (e.g. column sizes or sorts) are now saved to UI view.
- A sequence editor has been added for creating, editing, reviewing, and generating
.seq.json
for user-defined sequences. - Users are now visually notified about unsaved changes in editors (e.g. constraints, scheduling, or sequence editors).
Breaking Changes
The UI view activity tables schema has been updated with columnDefs
and columnStates
properties to reflect the types ag-grid ColDef
and ColumnState
respectively. See the updated wiki entry for an example of how to update your default UI views to the new schema.
What's Changed
New Features
- feat: add activity directive metadata fields to activity form by @AaronPlave in #86
- feat: convert all
<Table />
components to<DataGrid />
components by @duranb in #96 - feat: add hover background on datepicker month and year dropdowns by @duranb in #97
- feat: batch delete activities with ag-grid by @duranb in #98
- feat: use real profile schema by @camargo in #100
- feat: add plan lock/unlock functionality by @jeffpamer in #101
- feat: replace status badge text with icons, update intermediate state colors by @jeffpamer in #105
- feat: select model in scheduling goal editor by @camargo in #107
- feat: bulk delete views by @duranb in #108
- feat: use new stellar eraser icon to match design by @duranb in #113
- feat: validate select field on input and dispatch event by @AaronPlave in #116
- feat: save activity table column config by @duranb in #119
- feat: sequence editor by @camargo in #120
- feat: update editor save button style to reflect presence of unsaved edits by @jeffpamer in #123
- feat: inline forms for activity directive metadata by @AaronPlave in #124
- feat: add filters on all tables by @duranb in #128
Bug Fixes
- fix: bind selected activity id to the table by @duranb in #103
- fix: Prevent deletion of system views by @duranb in #110
- fix: only call
isRowSelectable
when defined by @duranb in #111 - fix: ui freezes with multiple timelines open by @Mythicaeda in #121
Refactoring
- refactor: rename activity to activity_directive by @camargo in #102
- refactor: update Stellar and some BS font icons to use Stellar SVG icons by @AaronPlave in #118
- refactor: use bootstrap-icon SVGs throughout by @camargo in #129
Testing
- test: update e2e-test waiting by @camargo in #106
- test: update compose with new env vars by @camargo in #114
Continuous Integration
- ci: move docker secrets to environment variables by @Mythicaeda in #93
- ci: fix trivy scanning action by @skovati in #94
- ci: remove postgres_db environment variable by @Mythicaeda in #127
Documentation
Build System and Dependencies
- build: add .vscode settings.json by @camargo in #95
- build: upgrade deps to latest by @camargo in #104
- build: upgrade deps to latest by @camargo in #109
- build: upgrade deps to latest by @camargo in #115
- build: upgrade deps by @camargo in #117
- build: add lint:css:fix package script for local lint fixing by @AaronPlave in #122
- build: upgrade deps to latest by @camargo in #126
Styling
- style: Stellar typography by @AaronPlave in #112
New Contributors
- @Mythicaeda made their first contribution in #93
Full Changelog: v0.12.3...v0.13.0