All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Replaced the package for custom svg icons with the MatIconRegistry
- Create dataset: unlock dataset visibility selection
- Saved sql request in the URL after completing the network request
- Environment variables and secrets: made
key
field unavailable for editing - Improved representation of retractions and corrections in data table
- Added initialization messages at the start of the flow
- Query explainer: improved
INPUT DATA
section view- added
Run
andCopy
buttons for a sql code
- added
- Modified "Scheduled updates" view
- Implemented new API for environment variables
- Flows table: fixed broken filters in pagination
- Made
force update
link for a flow table - Disable the
Run
button during query execution
- Flow configuration separation
- Minor updates for most dependencies
- Handling feature elements in 3 modes
production
mode: only implemented features availabledemo
mode: unimplemented features are disableddevelop
mode: unimplemented features are available
- Made a tile element clickable
- Fixed error handling for the query explainer
- Warning when deleting datasets which are out of sync with their push remotes
- Visibility for Update button and Flows tab from configuration
- Error in console during initialization
- Readme section: redirection after clicking the
Run
button
- Query page: added default query after searching for first dataset
- Set the container width for large screens
- Added contextual schemas in Data tab
- Readme section: modified 'Run' button into a link
- Hint extension for tile widget account
- Separated runtime and UI configurations
- Typo in feature flags (enableDatasetEnvVarsManagement) ^
- Added Terms of Service link
- Added a new page
Query
that allows you to make sql queries without being tied to a dataset - Impovements for readme section
- Add syntax highlight support for SQL in markdown
- Add copy to clipboard button for SQL blocks
- Add run button that opens "Data" tab in new window and executes the selected query
- Readme section refresh when navigating between datasets
Get Data
panel redesign
- Query explainer successfully validates commitment and shows data
- Simplify the language in flow scheduling
- The
/query-explainer
view allows anonymous access
- Switched to Node.JS v18.20.4
- Bug with line breaks for the schema content
- Added the ability to resize the monaco editor vertically
- Added query explainer page for admin
- Lineage graph: redirect to another dataset
- Application search: redirect to another dataset
- Lineage tab displayed correctly
- Prettified history timeline
- Added the ability to view task logs using Grafana only for the admin(Logs tab)
- Detect dataset cache after the flows are completed
- Added
Share query
button to the Data tab
- Added autofocus to the login field on the login page
- Support
FlowEventScheduleForActivationEvent
in flow history
- Replaced mock initiator for flows tab for account
- Restored
Fetch uncacheable
checkbox when configuration exists
- Hid the
force-update
link - Renamed
Hard compaction
toReset
descriprion(flows table) when user choose reset with flatten metadata
- Added reset flatten option for derivative datasets
- Set consistent state with
force update
link
- Replaced dataset names, account names, history blocks, settings vertical tabs to links
- Replaced all trackSubscriptions with takeUntilDestroyed operator
- Replaced all components with self closing tag
- Disabled unused menu items for account settings
- The file name for the file upload service may contain special characters
- Added form initialization for an existing configuration(Compaction tab)
- Added typed forms for all application
- Added an
required
option for input parameters - Replaced the constructor with
inject
function for all components and services
- Added the ability to reset the dataset in 2 modes(
Reset to Seed
andFlatten metadata
) - Extended
Fetch uncacheable
checkbox for the update scheduler. - Added active link
force update
for the flow with uncacheable source(Flows table)
- Access tokens: when you turn on the switch, all tokens are displayed (active and revoked)
- Migrated Angular v.14 to Angular v.16
- "Update now" button is present when user is not logged in
- Changed tab size in the monaco editor
- Removed sliding animation from pop-up windows
- Minor modifications for variables and secrets tab
- Optimized and modified the query for getting data for the flow list
- Improved UX of flows table:
- Main description message is clickable
- Duration block displayed correctly(added delay)
- Added multiple filters selection for the flows table
- Implemented links for the main menu of the dataset
- Redirected to original URL after login flow
- Added recursive flag for compaction for full mode
- Fixed bug with update after closing window(Overview tab)
- Displayed application version in console
- Added access token feature
- Added environment variables and secrets for the dataset
- Added new flag(enableDatasetEnvVarsManagement) in the runtime configuration
- Fixed bug with cache(Data tab) on the deployment version
- Extended full source info for EthereumLogs(Metadata tab)
- Added multi-line fields for ETH filter & signature(Metadata block)
- Fixed styles for the mobile version(portrait view) of the lineage graph
- Improved error description when loading data for a dataset from a file
- Removed initial links when push source exist(Overview tab)
- Fixed GraphQL cache issue upon mutation methods
- Show an empty result block instead of a block add data(Data tab)
- Renamed term compacting to compaction
- Fixed a bug for the handler for an empty result block(Data tab)
- Fixed a bug with the loader in the header when searching
- Support
EthereumLogs
as a new kind of polling source type (wizard, block history, metadata)
- Closed security error with initial drag & drop area for data displayed to anonymous users
- Added
EthereumLogs
polling source and metadata block support
- Added ingest via file upload
- Added MQTT polling source support
- Added MQTT metadata block support
- Provided 2 mode for compaction:
Full
andMetadataOnly
- Added ability to view summary of flowsfor all datasets of the account
- Sql query timer improvements
- Display dataset ID in Details section(Overview tab)
- Added visual feedback on query execution(Data tab)
- Fixed icon size for
RisingWave
engine
- Support
RisingWave
engine - Added
Compacting
tab in the root dataset settings
- Hide the Scheduling tab when
SetPollingSource
orSetTransform
undefined
- Dataset Overview: adding a small indentation to block history icon
- Fixed disabled state for the
Refresh now
button
- Added data access panel with supported protocols
- Added a summary tab for the flow details page
- Added admin guard
- Added a local loader for search in the header
- Changed the appearance of the global loader
- Redesigned data access panel("Get Data" button)
- Introduced dataset scheduling settings page to manage automatically launched ingest/transform flows
- Added new flows tab
- Added refresh now button on the overveiw tab to start the flow
- Added support for new batching configuration
- Added new start condition for the flow
- Added the ability to cancel a scheduled flow
- Added a history tab for the flow details page
- Minor dependency updates
- Fixed bug with authentication (Login vs CLI)
- Settings tab is hidden after login
- Fixed bug with
prevOffset
on the block metadata page - Reduced flow status types
- Fixed dispay format for a previous checkpoint
- Implemented changes according to the latest ODF changes
- Removed
SetWatermark
event - Renamed
ExecuteQuery
event toExecuteTransform
- Extended
ExecuteTransform
event - Extended
AddData
event
- Removed
- Added initial loading screen for app
- Added a progress bar when initializing the editor on the Data
- Showing editor markers on SQL query errors
- Displayed lineage graph for a single dataset
- Added calculation of graph height on different screens
- Added the ability to add AddPushSource event
- Added support for the SetDataSchema,AddPushSource events on the metadata block page
- Added edit functionality for AddPushSource event
- Separated main data query and lineage data
- Improve reporting of fatal errors from modal window to toaster window
- Monaco-based editors isolated in
EditorModule
- Changed splash screen
- Evicting dataset objects from Apollo GraphQL cache after significant mutations
- GraphQL caching issues when switching between History and Lineage tabs
- Correct author avatars on history tab
- Eliminated console warnings on application load
- Schema panel on Data tab always show dataset schema
- Minimized usage of
!important
directives in CSS - Fixed bug with empty offset interval
- Save the toggle state of the lineage graph info panel
- Style improvements
- Made header more compact to maximize the useful space
- Improved the style of tables
- The lineage graph made fit without a scroll
- In account view opened the "Datasets" tab by default
- Changed sample query limit on overview tab
- Improved UI reaction on situation when GraphQL server refuses to accept access token
- Used correct account avatar in data preview
- Add UI support for ODF protocol changes of v0.32.0
- support new kind of EventTimeSource: FromSystemTime (Fetch section of SetPollingSource wizard)
- JSON, NdJSON, NdGeoJSON are the new supported read formats
- GitHub Client ID is now a part of runtime configuration rather than Angular environment
- Login page accepts a callback URL, and emits a POST request if it is defined, instead of normal login functionality - to be used by CLI application for remote logins
- Added a new service responsible for constructing a graph
- Established a naming convention for service event subjects, public observables, and emit methods
- GraphQL runtime errors are not wrapped into application-specific exceptions
- Unexpected switching to Settings tab while surfing over Lineage graph
- Datasets are not switching in the lineage graph, when names are identical, only accounts are different
- Adding a watermark prints crash log in console
- Refactoring styles and removed all ViewEncapsulation.None strategies
- Added side panel for lineage graph
- Tweaked color scheme and icons
- kamu-web-ui#158: pagination broken on profile datasets page
- Implemented authentication and authorization components:
- runtime configuration allows disabling logout and setting predefined login instructions
- dynamic endpoint to find out on available login methods on the API server
- supporting GitHub and login/password login methods
- GraphQL: added Authorization Bearer header
- added routing guards related to authentication
- Settings tab is hidden if no permissions
- edits on Overview and Metadata tabs are disabled if missing permissions
- metadata event editors navigate home if missing permissions
- lineage graph nodes properly navigate over account boundaries
- data tab contains account name prefix in SQL queries
- Implemented account resolution by name via API:
- profile page working normally without account mocks
- lineage graph shows user avatars (dataset owners)
- Showing dataset owners in search autocompletes
- Clipboard command line commands now include real dataset alias.
- Cleanup of header menu content (depending on whether user is logged in or not)
- Significant extension of unit test coverage
- Specialized dataset fragment for Lineage - extracts avatarUrl additionally from the account
- Query for account datasets only when it's necessary
- Reworked error handling in dataset operations
- Deleting and renaming a dataset on Settings tab
- Added icons for dataset's tabs
- Added more content for graph's node
- Added Load More data functionality to dataset data tab
- Started using
stylelint
CSS linting tool - Added source url for root dataset on the lineage graph
- Upgraded to Node.js generation 16.x
- Upgraded to Angular 14.3
- Switched to different Angular wrapper for Monaco editor (ngx-monaco-editor-v2)
- Switched from SASS to SCSS stylesheets
- Selected library updates/downgrades to align with Angular 14.3 and Node.js 16.x
- GraphQL code generator tuned to produce string type by default for scalars
- Fixed bug with disabled state for "Run" button after error
- Refactored redundant selectors and cast class names to lowercase
- Fixed bug with updating the list of datasets after deletion
- Refactored observable subscriptions to pipe async
- Truncated fields in material table using a configurable length
- Added pictures in the dropdown list for engines
- Editing dataset readme file on Overview tab
- Internal: code formatter settings revised (print width)
- The ability to add a new dataset in 2 ways: creating from a yaml file and creating an empty dataset.
- Support editing basic dataset information interactively (SetInfo event)
- Support editing dataset license information interactively (SetLicense event)
- Support defining initial polling source information for the root datasets interactively (SetPollingSource event):
- Fetch step
- Read step
- Merge step
- The ability to edit SetPollingSource event
- Editing SetWaterMark event
- Editing SetTransform event
- Support defining initial polling source information for the root datasets interactively (SetPollingSource event):
- Prepare step(optional)
- Preprocess step(optional)
- Create a navigator to display the state of the interactive input for the SetPollingSource event
- Link between AddData/ExecuteQuery events and queries tab for the event-specific data intervals
- Docker image that serves the app under Nginx
- Yaml representation of events coming from the GraphQL server instead of frontend-side generation
- Improved release procedure
- Metadata tab of Dataset Viewer should also show query alias in SetTransform inputs
- Support viewing individual block details:
- basic block information
- detailed information on event-specific properties in rich format
- YAML view of event details
- navigation between blocks with search and filter capabilities
- highlighting SQL queries in events
- Revised Metadata view page based on the new components from block details views
- Decent reaction on datasets without schema yet
- Unified utility components that display hash, time of event, size in bytes
- Changed spinner behavior. Spinner is now automatically displayed if an external request takes more than configured period of time
- Keeping a CHANGELOG!
- Major refactorings and productization of the web UI