Migrate core reports (Timeseries & Histogram) to Apache ECharts - #1336
Closed
max-ostapenko wants to merge 106 commits into
Closed
max-ostapenko wants to merge 106 commits into
max-ostapenko wants to merge 106 commits into
Conversation
…ve static HTML Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…e.js-based infrastructure Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…mp and filter selection logic Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…r with custom scoped HTTP Archive navigation component Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…dding settings Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…alization and build workflows Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
….json Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
….css Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…_updated configuration Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
….js-based infrastructure
…te scripting' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ort, function or class' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…x page layout Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…nd modernize CSS properties Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…harts-init.js and remove static file generation Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…remove static css file Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
… 4 compatibility Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…rchive.org into visiting-snail
…ns to complete migration to Node.js Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…js and improve shell robustness Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…el toggles with tests Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…hnology reports Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
… tech report page Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…thouse CI Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
…eport pages Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
… XSS alert Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
- Migrate Timeseries and Histogram reports from Highcharts to Apache ECharts - Implement native dataZoom slider (mini-map with data preview, handles, ticks) and inside zoom/pan - Support IQR confidence bands via stacked area series and median line series - Add inline range presets (1m, 3m, 6m, YTD, 1y, 3y, All) with active button styling and live date range indicators - Implement dual Y-axis histogram with PDF density bars on left and CDF cumulative curve on right - Add interactive crosshair tooltips with formatted date, Desktop/Mobile comparative metrics, and Changelog badges - Add custom card header with source link and export context menu (PNG, SVG, SQL query) - Scope section buttons in styles.css to ensure responsive mobile layout - Pass all 30 automated integration and runtime error tests
… slider year labels
…ert custom xAxis formatting
…ine rendering, and enable zoom
… refined interactions Signed-off-by: Max Ostapenko <1611259+max-ostapenko@users.noreply.github.com>
Contributor
|
Visit the preview URL for this PR (updated for commit c0f62b0): https://httparchive--pr1336-echarts-core-71vmyi9j.web.app (expires Sun, 27 Sep 2026 13:11:06 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 1069cba7974889c25bacf4f0a19ddb6735592729 |
max-ostapenko
force-pushed
the
migrate-firebase-hosting
branch
from
September 20, 2026 14:20
7fa9785 to
b9bfa56
Compare
Contributor
Author
|
Superseded by a clean cherry-pick onto main — see the replacement PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates core HTTP Archive reports (
timeseriesandhistogram) from Highcharts to Apache ECharts, targetingmigrate-firebase-hosting(#1333) to leverage Firebase preview channel deployments.This transition delivers a modern, high-performance charting architecture with GPU-accelerated rendering, built-in mobile touch gestures, and rich interactive features matching and improving upon production UX.
Key Features & Highlights
1. Timeseries Reports (
src/js/timeseries.js)dataZoom: 'slider'mini-map with data preview mini-bars, draggable dual-handles, and custom year tick marks (2014,2018,2022).dataZoom: 'inside'supporting pinch-to-zoom on mobile and mouse wheel / drag pan on desktop.1m,3m,6m,YTD,1y,3y,All) with active state tracking and synchronized live date range indicator (Jul 2025 → Aug 2026).p25transparent base +p75 - p25shaded span) representing interquartile ranges alongside Desktop (#04c7fd) and Mobile (#b61877) median curves.AthroughT) with intelligent stem staggering to prevent overlap.2. Dual-Axis Histogram (
src/js/histogram.js)0%to2.5%) with blended translucent side-by-side bars.0%to100%) with smooth continuous curves and opposite-side top-to-bottom title orientation.Reset zoombutton in the chart header appearing dynamically when zoomed.3. Build & CI
migrate-firebase-hosting.npm run build).Verification