Skip to content

feat(services): export current view safely - #645

Open
woahwhattheheck wants to merge 7 commits into
Agentpay-Org:mainfrom
woahwhattheheck:sol56/agentpay631-safe-export-20261006
Open

woahwhattheheck wants to merge 7 commits into
Agentpay-Org:mainfrom
woahwhattheheck:sol56/agentpay631-safe-export-20261006

Conversation

@woahwhattheheck

@woahwhattheheck woahwhattheheck commented Oct 6, 2026 •

Copy link
Copy Markdown

Closes #631.

Summary

  • Export the currently filtered and sorted services dashboard view as client-side CSV or JSON, preserving its current row order.
  • Escape CSV quotes, commas and newlines; neutralize spreadsheet formula prefixes, including those preceded by spaces, tabs, carriage returns or newlines.
  • Add accessible export controls, busy state, polite completion status and stable typed serialization/download errors.
  • Generate a header-only CSV or an empty JSON array for an empty view. Yield before serializing the page-bounded view, then download through a client Blob URL.

Coverage included

Unit coverage represents current-view order, CSV escaping, formula neutralization, empty CSV, JSON round-trip and download metadata. Component coverage represents CSV download, empty-view JSON download and typed download failure. The current page-level regression also verifies that the service-ID filter removes nonmatching rows before the export receives the current view.

Verification and limits

Published source head: 2744abed6bce6255b572eba7922c456ada7d31f3.
Sponsor base: 0d47dba0eb086756a906fc66670f98b2374fce04.
Current carrier: 7 commits, 6 changed files, +424/-2.

Current source readback confirms ServiceExportActions receives sortedServices, where filtering is applied before sorting, and the page-level test exercises the active service-ID filter. No local lint, test, build, browser execution or current-head hosted CI pass is claimed in this metadata recovery. Included tests are coverage, not an assertion that the issue's execution gates have passed.

This exports the currently supplied page view; it does not add server-side or whole-dataset export, XLSX, dependency-lock repair or unrelated dashboard changes.

@woahwhattheheck

Copy link
Copy Markdown
Author

/claim #631

Existing issue-level claim: #631 (comment)

I, @woahwhattheheck, affirmatively claim original-contributor credit for PR #645 and request evaluation for any applicable GrantFox OSS / Official Campaign (FWC26) reward and payment if accepted. Current carrier head: 2744abed6bce6255b572eba7922c456ada7d31f3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CSV/JSON export of the current services dashboard view with safe escaping

1 participant