Change Log#
qualpipe_webapp v0.4.0 (2026-05-15)#
API Changes#
New API for creating data quality reports using available data quality metrics.
New module implemented for generating data quality reports: backend.quality_report.
codegen.generate_data_models now autogenerates code in an __init__.py file by default. [!63]
Bug Fixes#
Fixed FastAPI autogenerated docs so Swagger UI “Execute” uses the correct backend endpoint URLs after the backend refactor. [!73]
Updated DL1 filename handling to use the shortened
SBID/OBSIDvalues and removed theSDHsegment from expected test filenames, ensuring backend parsing and tests consistently use IDs likeSBID2000000078andOBSID2000000239. [!74]Removed backend CORS middleware from the internal API service; CORS handling remains at the BFF layer. [!79]
Fixed wheel build to run code generation at build time via
setup.py, ensuringqualpipe_webapp.backend.generatedis present afterpip installwithout requiring a manual pre-generation step. [!82]
New Features#
Implemented a BFF-compatible authentication scaffold for the frontend: protected pages now enforce authentication, login/logout are delegated through BFF endpoints, and user identity is exposed in the UI context. Added a local mock BFF with JSON-backed users and startup validation, plus Helm dev routing for
/authand/v1paths. Updated Playwright to authenticate once and reuse storage state across E2E tests. [!77]
Maintenance#
Refactored frontend plotting to use a strict config-driven data preparation flow based on
fetchedData.columnsand per-plot frontend configuration. Kept only generic extraction helpers shared, and moved plot-specific preparation into the corresponding renderer modules. [!73]Adding verification markers to pytest tests to link them to the appropriate use cases. [!83]
Refactoring and Optimization#
The code-generation step is moved to the build stage via wheels, to avoid invoking it as a post-install action. [!81]
qualpipe_webapp v0.3.1 (2026-04-08)#
Bug Fixes#
Make file-backend volume for backend configurable via chart values. [!71]
qualpipe_webapp 0.3.0 (2026-04-02)#
API Changes#
Bug Fixes#
New Features#
Backend initial docker setup
Frontend initial docker setup
Frontend integration with backend endpoints to fetch data files.
Frontend renders simple scatter plot data.
Double fixed-top navbar, horizontally scrollable for overflow and vertically adaptable to long, line-wrapped content.
All page contents adjust responsively.
Hover effects on both navbars, with highlighting of the selected item.
Both navbars collapse into a button with a dropdown list for smaller viewport sizes, enhancing mobile usability.
Common template for all pages to ensure consistent layout and navigation.
Plot placeholders dynamically adapt to different viewport sizes.
Hover-expandable sidebar for metadata selection, supporting common query parameters (site, date).
Sidebar content is context-sensitive: ‘Telescope ID’ and ‘OB ID’ appear only when a telescope page is selected.
‘Telescope ID’ sidebar item updates dynamically according to the selected Site and Telescope.
Independent vertical scrolling for sidebar and main page content, enhancing usability.
Add a responsive footer with breadcrumb navigation to display the current path.
Parameters selected from the collapsible sidebar are visible in the footer.
Footer height automatically adapts to its content, supporting content wrapping for improved accessibility.
Define the second navigation bar content for telescope pages.
Backend endpoints to serve data files. [!1]
Add a helm chart. [!2]
Add automatic javascript unit testing and coverage reporting with Mocha and c8
Add automatic javascript end to end testing (and coverage reporting) with Playwright (and c8?) [!11]
Convert all CommonJS script to ES javascript modules
Update HTML templates to load scripts as modules
Update sidebar to use event listeners instead of inline JS
Create a config.js file to hold configuration variables (e.g. backend URL) [!13]
setup js-unittests (Mocha)
setup js-end-to-end tests (Playwright)
add some unittests
add some js-e2e tests [!15]
Setup kind environment for local development. [!38]
Implemented backend factory pattern with
BackendAPIabstract base class for extensible data source integration.Added
FileBackendas the reference file-based implementation for HDF5 data extraction with support for flatfield timing datasets.Enhanced sidebar and footer with localStorage persistence to maintain user selections (site, date, OB, telescope ID) across page navigation with automatic plot generation. [!40]
Add 1D histogram functionality. [!44]
Add telescope Camera-view. [!45]
Make frontend pages configurable instead of hard-coded
add a YAML config to define pages, plots, and layout
validate and load the config in the frontend server
render pages with a single generic template
build sub-navigation from the config
update tests to read pages from the config
ignore runtime data/toolkit folders
split page configs into an index plus per-page YAML files
add soft-fail handling for invalid page configs with a dedicated error page
add tests for invalid page config rendering [!54]
Make plot configuration frontend‑driven
define plot configurations inline in per‑page YAML files
preserve plot ordering from the page config
inject per‑page plot configs into templates for plotting
drop backend plotConfiguration payload
validate plot configs per plot and display errors in the grid
refine plot config validation per plot type to match JS implementations
update frontend config tests for per‑plot‑type validation [!57]
Make plot data config-driven and fix backend image imports
add per-plot data config (path_tail, field) to page YAMLs for interleaved plots
use plot_id in templates/JS lookups, keep titles for display only
validate plot data config and warn when missing or invalid
update frontend config tests for plot_id uniqueness and path hashing
update tests [!61]
Implement backend metric autodiscovery.
backend now discovers available quality metrics directly from HDF5 datasets instead of relying on a fixed list
metric availability is now resolved per observation/telescope context [!64]
Maintenance#
Refactoring and Optimization#
Add schema validation for “data” and “metadata” objects
Metadata schema refactoring, adding “plotConfiguration” key
Implement various plot “marks” option
Implement Log scale option in plot
Add “plotType” key to the metadata schema
Refactoring “scatterPlot” function [!8]