Skip to content

fix: resolve issues #273, #274, #275, #276 - #411

Merged
Mystery-CLI merged 5 commits into
Ethereal-Future:mainfrom
popsman01:fix/issues-273-274-275-276
Apr 25, 2026
Merged

fix: resolve issues #273, #274, #275, #276#411
Mystery-CLI merged 5 commits into
Ethereal-Future:mainfrom
popsman01:fix/issues-273-274-275-276

Conversation

@popsman01

@popsman01 popsman01 commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Resolves #273
Resolves #274
Resolves #275
Resolves #276

#273 — Dark mode persistence

ThemeContext already persists the theme to localStorage under key theme_preference and reads it on initial load. No changes required.

#274 — Language preference persistence

i18next is initialized with i18next-browser-languagedetector configured to read/write from localStorage (i18n_language key). LanguageSelector calls i18n.changeLanguage() which triggers the detector to persist the selection. No changes required.

#275 — Network status banner

  • Added NetworkStatusBanner component that uses useNetworkStatus to poll /api/stellar/network/status every 30 seconds
  • Shows a dismissible warning banner when the network is offline or degraded
  • Mounted at the top of the app in App.jsx

#276 — Transaction retry UI

  • Added a Retry button to failed transaction rows in TransactionHistory
  • Clicking Retry calls POST /api/retry/transaction with the transaction hash
  • On success, the transaction is optimistically marked as successful in the list
  • Added POST /api/retry/transaction endpoint to backend/src/routes/retry.js
  • Mounted /api/retry routes in server.js

Files changed

  • frontend/src/components/NetworkStatusBanner.jsx (new)
  • frontend/src/App.jsx
  • frontend/src/components/TransactionHistory.jsx
  • backend/src/routes/retry.js
  • backend/src/server.js

- Create NetworkStatusBanner component that polls /api/stellar/network/status every 30s via useNetworkStatus
- Show warning banner when network is offline or degraded
- Banner is dismissible via close button
- Mount banner at top of app in App.jsx
…tions

- Add Retry button to TxRow for failed transactions in TransactionHistory
- Track retry state per transaction (pending/success/error)
- On success, optimistically mark transaction as successful in the list
- Add POST /api/retry/transaction endpoint to retry route
- Mount /api/retry routes in server.js
@drips-wave

drips-wave Bot commented Apr 25, 2026

Copy link
Copy Markdown

@popsman01 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

popsman01 and others added 3 commits April 25, 2026 05:52
…nt flash on reload

Read persisted theme preference synchronously via getInitialTheme() as
the useState initializer, eliminating the light→dark flash that occurred
when the effect ran after first render.
…s on startup

After i18next initializes with the localStorage-detected language,
immediately set document.documentElement.lang and .dir so the correct
text direction is applied from the first render without waiting for a
user interaction.
@Mystery-CLI
Mystery-CLI merged commit 39ad50d into Ethereal-Future:main Apr 25, 2026
10 of 20 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

Development

Successfully merging this pull request may close these issues.

Add transaction retry UI Add a network status banner Add language preference persistence Add dark mode persistence

2 participants