Skip to content

feat: telemetry consent, webhook delivery log panel, responsive table…#784

Merged
0xVida merged 2 commits into
Stellar-Fluid:mainfrom
arandomogg:telemetry-consent
May 30, 2026
Merged

feat: telemetry consent, webhook delivery log panel, responsive table…#784
0xVida merged 2 commits into
Stellar-Fluid:mainfrom
arandomogg:telemetry-consent

Conversation

@arandomogg
Copy link
Copy Markdown
Contributor

Summary

Changes by issue

#757 — Anonymous Usage & Telemetry Collection Consent

  • TelemetryConsentSettings component, telemetry-consent.ts utility, and telemetry-consent.test.ts were already authored on this branch; this commit wires up the missing <div> wrapper in dashboard/page.tsx so the consent section renders inside a correctly structured layout.

#745 — Webhook Delivery Log History Panel

  • Rewrote WebhookDeliveryLog.tsx: fixed CopyButton text=value= prop bug; removed non-existent variant prop from StatusBadge; replaced the global payload footer with a per-row expandable drawer that shows request payload, response headers, and event payload side-by-side in a three-column grid.
  • Extended StatusBadge to accept WebhookDeliveryStatus (adds the "retrying" tone mapped to amber with pulse animation).
  • Added requestPayload and responseHeaders fields to all sample records in webhook-delivery-logs-data.ts to satisfy the type definition.
  • Created lib/webhook-delivery-logs-data.test.ts (7 unit tests covering pagination, field presence, status coverage, and edge cases); all 11 admin-dashboard unit tests pass.

#756 — Mobile-optimised Responsive Tables

  • Fixed missing <tr className="align-top"> opening tag inside TransactionsTable's FragmentRow map — without it the browser was forced to infer table structure, breaking cell alignment and the mobile disclosure expansion on narrow viewports.
  • Tables already collapse wide columns behind responsive breakpoints (md:hidden, lg:table-cell, xl:table-cell) and expand into card-style <dl> rows on screens below 768 px via the MobileDisclosure pattern.

#716 — Support Offline Transaction Preparation

  • Added client/src/offline-tx.ts: pure, storage-adapter–based module with prepareOfflineTransaction, getPendingOfflineTransactions, removePreparedTransaction, clearPreparedTransactions, getPendingCount, and validatePreparedTransaction. No network access is required; XDRs are serialised to the provided storage key and can be submitted later via FluidQueue.add.
  • Exported all public symbols and types from client/src/index.ts.
  • Created client/src/testUtils/__tests__/offline-tx.test.ts (12 unit tests); all pass.

Test plan

  • Run npm run test:unit in admin-dashboard/ — 11 tests pass
  • Run npx vitest run src/testUtils/__tests__/offline-tx.test.ts in client/ — 12 tests pass
  • Navigate to /admin/dashboard — confirm telemetry toggle renders and layout links are correctly spaced
  • Navigate to /admin/webhooks/logs — click "Details" on any row; confirm request payload, response headers, and event payload appear in the drawer
  • Resize browser below 768 px on dashboard — confirm transaction rows collapse and "View details" expands the mobile disclosure correctly

closes #757
closes #745
closes #756
closes #716

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 30, 2026

@arandomogg Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@0xVida 0xVida merged commit ce784a8 into Stellar-Fluid:main May 30, 2026
4 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants