Skip to content

feat(frontend): transaction toasts, offline PWA, pt i18n & Sentry breadcrumbs (#810 #811 #812 #813) - #1131

Merged
ayomideadeniran merged 1 commit into
SoroLabs:mainfrom
sandrawillow001-afk:feat/frontend-toast-pwa-i18n-sentry-810-811-812-813
Aug 30, 2026
Merged

feat(frontend): transaction toasts, offline PWA, pt i18n & Sentry breadcrumbs (#810 #811 #812 #813)#1131
ayomideadeniran merged 1 commit into
SoroLabs:mainfrom
sandrawillow001-afk:feat/frontend-toast-pwa-i18n-sentry-810-811-812-813

Conversation

@sandrawillow001-afk

@sandrawillow001-afk sandrawillow001-afk commented Aug 29, 2026

Copy link
Copy Markdown

Summary

Resolves #810, #811, #812, #813 — Frontend reliability, offline support, internationalization, and error monitoring. Single branch wrapping all four. Much of the foundation was already scaffolded; this PR completes the wiring, fills the concrete gaps, and adds test coverage.

#813 — Sentry client-side crash reporting

  • Wrapped next.config.ts with withSentryConfig so the Sentry webpack plugin instruments client, server, and edge bundles (runtime init already lives in sentry.client/server/edge.config.ts; RootLayout already wraps the app in ErrorBoundary with a recovery UI).
  • Added src/lib/errors/breadcrumbs.ts with captureWalletBreadcrumb / captureTransactionBreadcrumb helpers and unit tests.
  • Wired transaction-lifecycle breadcrumbs into TransactionToastHandler (submitting / confirmed / failed).

#811 — Offline-first PWA

  • Added public/sw.js, a dependency-free Workbox-style service worker: stale-while-revalidate for static assets/fonts, network-first caching of read-only /api/* task queries, and a graceful offline navigation fallback.
  • Registered it in ClientInit (production + browser only).
  • Added app/offline.tsx offline fallback page. (manifest.json and PWA metadata were already wired in the root layout.)

#812 — i18n

  • Added the requested Portuguese (pt) locale dictionary (i18n/translations/pt.json) and wired pt throughout the i18n core (supported locales, translation catalog, flags, selector metadata, and locale detection).
  • Tests verify pt is selectable and translates correctly, with English fallback.

#810 — Real-time transaction toasts

  • The Sonner-backed TransactionToastHandler (awaiting signature → submitting → confirmed/failed, with a Stellar Expert explorer link) already existed and is covered by tests; this PR layers telemetry breadcrumbs on top and confirms the whole flow passes.

Testing

  • Full frontend Jest suite: 2257 tests across 210 suites pass (2 skipped), including the new breadcrumbs and pt-locale tests.

Notes

…breadcrumbs

Closes SoroLabs#810, SoroLabs#811, SoroLabs#812, SoroLabs#813.

- SoroLabs#810: wire Sentry breadcrumbs into the existing TransactionToastHandler so
  the multi-step (awaiting signature -> submitting -> confirmed/failed) lifecycle
  is also observable in telemetry, alongside the Stellar Expert explorer link.
- SoroLabs#811: add an offline-first service worker (public/sw.js) with stale-while-
  revalidate static caching, network-first task/API caching, and a graceful
  /offline fallback; register it in ClientInit (production only) and add
  app/offline.tsx.
- SoroLabs#812: add the requested Portuguese locale (i18n/translations/pt.json) and wire
  pt throughout the i18n core (locales, flags, selector metadata, detect map).
- SoroLabs#813: wrap next.config.ts with withSentryConfig so client/server/edge bundles
  are instrumented; add wallet + transaction lifecycle breadcrumbs helper
  (src/lib/errors/breadcrumbs.ts) and wire it into the toast handler.

Tests: full frontend jest suite passes (2257 tests / 210 suites).

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
@drips-wave

drips-wave Bot commented Aug 29, 2026

Copy link
Copy Markdown

@sandrawillow001-afk 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

@vercel

vercel Bot commented Aug 29, 2026

Copy link
Copy Markdown

@oche11207-art is attempting to deploy a commit to the Ayomide Adeniran's projects Team on Vercel.

A member of the Team first needs to authorize it.

@ayomideadeniran
ayomideadeniran merged commit 76f2ea7 into SoroLabs:main Aug 30, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants