Repository navigation
CSV/JSON export of the current services dashboard view with safe escaping #631
Copy link
Copy link
Closed as not planned
Closed as not planned
Copy link
Labels
GRANTFOX OSSGrantFox open-source campaign taskGrantFox open-source campaign taskMAYBE REWARDEDMay be rewarded under the GrantFox campaignMay be rewarded under the GrantFox campaignOfficial Campaign | FWC26GrantFox FWC26 official campaignGrantFox FWC26 official campaignTHIRD CAMPAIGNarea:dashboarddashboarddashboardpriority:mediumMedium priorityMedium prioritystack:nextjsNext.jsNext.jsstack:reactReactReactstack:typescriptTypeScriptTypeScripttype:featureNew functionalityNew functionality
Description
Summary
Users can't get services dashboard data out of the app. Add a client-side export of the currently-filtered view as CSV and JSON with correct escaping (including formula-injection safety).
Why this matters
Export is table stakes for a data tool, and naive CSV is a formula-injection risk. Correct escaping makes it safe and useful.
Requirements
- Export the currently-filtered services dashboard as CSV and JSON.
- Escape correctly: quotes, commas, newlines, and leading
= + - @(CSV formula-injection). - Respect the active filters/sort; export what the user sees.
- Trigger a client download; accessible control.
Technical guidance
- Neutralize formula-triggering leading characters in CSV cells.
- Stream/generate without blocking the UI for large views.
Edge cases — each must have a test
- export respects the active filter
- cells with commas/quotes/newlines -> valid CSV
- cell starting with = -> neutralized
- empty view -> valid empty export
- JSON export round-trips
Acceptance criteria
- All requirements and every edge case above implemented and covered by tests
- New unit and integration tests; existing tests still pass and no regressions
- Structured, typed errors (no leaked internals; stable codes)
-
npm run lint,npm test, andnpm run buildall pass locally - Code follows the repo's existing conventions; no duplication or dead code
- Short docs/comments explaining the design and any non-obvious decisions
- PR description explains the approach and includes
Closes #<issue>
Out of scope
- Server-side/large-dataset export
- XLSX format
Rewards
Part of the GrantFox OSS / Official Campaign (FWC26) — this task may be rewarded. PR quality is assessed by AI: depth, correctness under edge cases, meaningful tests, and clean design are what earn the reward. Shallow changes (typos, formatting, trivial docs) do not qualify.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
GRANTFOX OSSGrantFox open-source campaign taskGrantFox open-source campaign taskMAYBE REWARDEDMay be rewarded under the GrantFox campaignMay be rewarded under the GrantFox campaignOfficial Campaign | FWC26GrantFox FWC26 official campaignGrantFox FWC26 official campaignTHIRD CAMPAIGNarea:dashboarddashboarddashboardpriority:mediumMedium priorityMedium prioritystack:nextjsNext.jsNext.jsstack:reactReactReactstack:typescriptTypeScriptTypeScripttype:featureNew functionalityNew functionality
Activity
guptakumarranjeet150 commentedon Sep 9, 2026
Hi everyone,
I would like to resolve this issue. Here is my proposed execution plan:
CSV/JSON export of the current services dashboard view with safe escapingwith clean React/Next.js components, responsive styling, and proper loading/error boundaries.I am ready to start immediately—please assign this to me!
ranjeet150 commentedon Sep 13, 2026
Hi maintainers,
I would like to resolve this issue. Here is my proposed execution plan:
CSV/JSON export of the current services dashboard view with safe escapingwith clean React/Next.js components, responsive styling, and proper loading/error boundaries.Ready to deliver a clean, tested PR within 12–24 hours. Please assign!
Rodrigoue9 commentedon Oct 1, 2026
Hi team! I'd love to take on #631 (
CSV/JSON export of the current services dashboard view with safe escaping).Technical Analysis & Implementation Approach
npm run lint,npm test, andnpm run buildall pass locallyVerification & Testing Strategy
cybermax4200/stellar-did-credit #898΄(+400 points Wave 9), approved review indocumenso/documenso #3275, merged PRs inAstrea-Payouts/astrea #251,#214,#213, andBitcoindefi/OpenAO #218.Ready for instant push and PR as soon as officially assigned! Looking forward to delivering.
woahwhattheheck commentedon Oct 6, 2026
/claim #631
#645
mikewheeleer commentedon Oct 18, 2026
Closing as part of a repository reset; a fresh set of issues will be opened shortly.