Skip to content

Releases: dandi/usage-page

Release list

v1.3.7

Choose a tag to compare

@CodyCBakerPhD CodyCBakerPhD released this 04 May 22:39
6891779

v1.3.7

🚀 Enhancement

  • Added "Stacked" toggle to the over-time plot settings panel to switch between stacked and overlay views when a group-by is active. (#141)
  • Modularized settings into per-plot gear panels instead of a single global modal. (#132)
  • Added line/bar plot type toggle with area shading for over-time and histogram views. (#120)
  • Respected browser prefers-color-scheme setting as the default light/dark theme. (#127)
  • Added version tag (bottom-left) and CON branding (bottom-right) to the page footer. (#119)
  • Added SVG export button to the Plotly modebar. (#116)
  • Stacked group-by over-time plots instead of overlaying them. (#112)
  • Added hover tooltip descriptions to asset-type legend items in the over-time plot. (#109)
  • Added "Asset type" group-by option to the over-time plot. (#105)
  • Made table column spacing dynamic. (#96)
  • Added "Group by Dandisets" overlay option for the usage over-time plot. (#87)
  • Added hover-reveal anchor links to each plot section heading. (#85)
  • Showed time aggregation controls in the table view of the over-time plot. (#83)
  • Added light/dark mode toggle with localStorage persistence. (#75)
  • Added daily/weekly/monthly/yearly time aggregation to the over-time bytes plot. (#68)
  • Replaced native radio buttons with a segmented pill toggle. (#66)
  • Moved source data download links into each table header. (#65)
  • Moved geographic map attributions into Plotly in-plot annotations. (#60)
  • Added logo and favicon. (#59)
  • Added plot/table view toggles with sortable columns for all sections. (#50)
  • Sorted geographic dots by size ascending and added transparency. (#49)
  • Added info icons to the settings panel to clarify the scope of each option. (#45)
  • Wrapped top-level config options into a gear wheel modal. (#44)
  • Synchronized color scheme and dark theme styling with other DANDI plugins. (#42)
  • Added a choropleth toggle for the geographic map. (#40)
  • Added exponential backoff retry logic for data fetches. (#39)
  • Synced the selected dandiset with a URL query parameter for shareable links. (#36)
  • Added AWS region histogram. (#29)
  • Added cumulative usage over-time plot. (#11)
  • Added log scale option for plots and updated the controls layout. (#3)
  • Initial deployment of the DANDI usage page with geographic map, per-dandiset breakdown, and CI/CD pipeline. (#2)

📝 Documentation

  • Added CHANGELOG.md to track changes to the project.
  • Added daily tests passing badge to README.md. (#157)
  • Added codecov, license, release, and code style badges to README.md. (#151)
  • Added a consolidated "Data sources" section linking to underlying data files. (#46)
  • Added a note clarifying that only public (non-embargoed) datasets are included.

🐛 Bug Fix

  • Fixed page flash (FOUC) and layout scrambling on page refresh. (#126)
  • Fixed x-axis gaps in grouped dandisets cumulative plot by using global bin edges. (#123)
  • Fixed first-load race condition that caused persistent URL parameters to be ignored. (#121)
  • Disabled "Daily" aggregation when grouping by asset type. (#115)
  • Capped asset name column width to prevent table layout blowout. (#100)
  • Fixed gaps between bars in cumulative weekly/monthly over-time plots. (#99)
  • Fixed anchor navigation so the page scrolls to the correct section after all plots load. (#98)
  • Fixed anchor link flicker caused by popstate-triggered plot re-renders. (#95)
  • Disabled and hid the per-asset histogram section for the "unassociated" dandiset. (#79)
  • Hidden the histogram section entirely for the "undetermined" dandiset. (#77)
  • Held fixed section sizes when switching between plot and table views. (#73)
  • Fixed a fetch race condition. (#39)
  • Improved histogram display and fixed cumulative bar gaps and labels. (#24, #26)

🏠 Internal

  • Reorganized repository layout to use Vite with a src/ + configs/ structure. (#103)
  • Added Google Analytics tracking. (#101)
  • Renamed section anchor IDs by stripping the _view_controls suffix. (#92)
  • Renamed "Bytes sent" to "Usage" throughout the UI. (#81)
  • Generalized base URLs so source data can be served from any repository. (#67)
  • Offloaded inline styles to a separate styles.css file. (#48)
  • Added CNAME file to enable the usage.dandiarchive.org custom domain. (#33)
  • Swapped data source base URLs to the new repository location. (#14)
  • Moved gadm_admin1_simplified.topojson and name_aliases.json from configs/ to src/configs/ so changes to them are covered by the version-check CI. (#147)
  • Moved src/tests/ and src/stories/ to top-level tests/ and stories/ directories to avoid confusing AI tooling and the version-check CI. (#145)
  • Replaced the hand-duplicated HTML string in MainPage.stories.js with a ?raw import of src/index.html so the Storybook story always derives its DOM structure directly from the source. (#143)
  • Moved gadm_admin1_simplified.topojson and name_aliases.json from public/ to configs/ to reduce top-level noise. (#137)
  • Fixed configs/vite.config.js publicDir from config/ to configs/. (#140)
  • Swapped all src/ source files from JavaScript to TypeScript (plots.ts, utils.ts, errors.ts); added tsconfig.json, type packages (typescript, @types/js-yaml, @types/plotly.js, @types/topojson-client, @types/node), a vendor.d.ts shim for plotly.js-dist-min, and a typecheck npm script. (#149)

🧪 Tests

  • Set up testing infrastructure: Vitest (unit), Playwright (e2e), Storybook/Chromatic (visual), and Codecov (coverage). (#129)
  • Added weekly CI workflow (npm-audit.yml) that runs npm audit every Monday and sends an email notification on failure. (#134)
  • Added weekly CI workflow (weekly-tests.yml) that runs build, unit, and integration tests every Monday and sends an email notification on any failure or detected warning. (#138)
  • Added daily CI workflow (daily-tests.yml) that runs build, unit, and integration tests every day at noon UTC and sends an email notification on any failure or detected warning. (#153)
  • Added Playwright visual testing with Chromatic: a new chromatic-playwright.yml CI workflow runs visual snapshot tests (dark and light themes) via @chromatic-com/playwright and uploads them to a dedicated Chromatic project using CHROMATIC_PLAYWRIGHT_PROJECT_TOKEN; the existing Chromatic workflow was renamed to "Chromatic (Storybook)". (#163)
  • Added --disable-gpu to Playwright Chromium launch args and filtered GL Driver Message browser warnings in the integration test console listener to suppress the WebGL GPU stall warning in CI. (#161)
  • Made test.yml a reusable workflow (workflow_call); simplified daily-tests.yml to call ...
Read more