src/components/PivotTable.tsx computes and renders a full pivot in the browser with no way to save it, confirmed by reading the file end to end. QueryHistory.tsx's own exportHistory("csv" | "json") is the existing pattern, the same one #690 and #691 already point Saved Queries and the Admin Audit tab at.
Done when:
- The pivot view offers a CSV or JSON export of the table exactly as currently configured (the same rows, columns and aggregation the screen is showing).
- The export follows the shape
QueryHistory.tsx already uses rather than inventing a new one.
Curated for Hacktoberfest 2026. Comment to claim the issue before you start so two people do not
work on the same change. A PR must reference the issue and include tests for executable changes;
see CONTRIBUTING.md.
Run bun run test, never bare bun test, so component
tests use their isolated execution groups. The 100% line-coverage gate must stay green.
CI is the merge gate. If you cannot run a command locally, list that command and the reason
under a Testing heading in your PR body; submit the PR, and a maintainer will approve the fork's
workflow run so CI can verify it. You do not need to withdraw correct work because a local tool
is unavailable.
If your sandbox can reach the npm registry, npm install -g bun is another way to install Bun.
Helm is only needed for the chart tests in the test suite. The repository's devcontainer provides
Bun and Helm and installs the JavaScript and chart dependencies automatically.
src/components/PivotTable.tsxcomputes and renders a full pivot in the browser with no way to save it, confirmed by reading the file end to end.QueryHistory.tsx's ownexportHistory("csv" | "json")is the existing pattern, the same one#690and#691already point Saved Queries and the Admin Audit tab at.Done when:
QueryHistory.tsxalready uses rather than inventing a new one.Curated for Hacktoberfest 2026. Comment to claim the issue before you start so two people do not
work on the same change. A PR must reference the issue and include tests for executable changes;
see CONTRIBUTING.md.
Run
bun run test, never barebun test, so componenttests use their isolated execution groups. The 100% line-coverage gate must stay green.
CI is the merge gate. If you cannot run a command locally, list that command and the reason
under a
Testingheading in your PR body; submit the PR, and a maintainer will approve the fork'sworkflow run so CI can verify it. You do not need to withdraw correct work because a local tool
is unavailable.
If your sandbox can reach the npm registry,
npm install -g bunis another way to install Bun.Helm is only needed for the chart tests in the test suite. The repository's devcontainer provides
Bun and Helm and installs the JavaScript and chart dependencies automatically.