Skip to content

fix: resolve Stellar Wave bugs (#451-454) - #505

Merged
DeFiVC merged 1 commit into
ChainLearnOfficial:mainfrom
devwura:fix/stellar-wave-bugs
Sep 30, 2026
Merged

DeFiVC merged 1 commit into
ChainLearnOfficial:mainfrom
devwura:fix/stellar-wave-bugs

Conversation

@devwura

@devwura devwura commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

This PR fixes 4 interconnected bugs in the Stellar Wave feature:

Changes

1. ConfirmDialog - Prevent close while loading (#454)

  • Added handleOpenChange handler to prevent dialog closure when loading is true
  • Preserves visual feedback until async operations complete
  • Prevents accidental dismissal of destructive action confirmations

2. useSessions - Fix AbortController cleanup (#453)

  • Moved AbortController creation from useCallback into useEffect
  • Properly return cleanup function from useEffect to cancel in-flight requests
  • Prevents stale state updates after component unmount

3. Connect Page - Handle profile fetch errors (#452)

  • Moved success toast to after successful profile fetch
  • Added explicit error handling and display for profile fetch failures
  • Prevents showing success message when the full connection flow fails

4. Settings Page - Persist language preference (#451)

  • Load language preference from profile on component mount
  • Include language in the updateProfile API call
  • User's language preference now persists across sessions

Testing

Each fix addresses a specific issue:

  • Test ConfirmDialog by triggering an async action and attempting to close the dialog
  • Test useSessions by checking that requests are cancelled on component unmount
  • Test Connect page by simulating a profile fetch error after wallet connection
  • Test Settings page by changing language preference and verifying it persists

closes #451
closes #452
closes #453
closes #454

- Fix ConfirmDialog preventing close while loading async action (ChainLearnOfficial#454)
  - Add onOpenChange handler to prevent dialog close when loading is true
  - Prevents user from dismissing dialog during destructive operations

- Fix useSessions AbortController cleanup is unreachable (ChainLearnOfficial#453)
  - Move AbortController creation from callback to useEffect
  - Properly return cleanup function to cancel in-flight requests on unmount
  - Prevents stale state updates after component unmount

- Fix Connect page silently swallowing profile fetch errors (ChainLearnOfficial#452)
  - Move success toast after successful profile fetch
  - Add proper error handling and display for profile fetch failures
  - Prevent showing success message when full connection flow fails

- Fix Settings page language preference never persisted (ChainLearnOfficial#451)
  - Load language preference from profile on mount
  - Include language in profile update payload
  - User's language preference now persists across sessions
@netlify

netlify Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

❌ Deploy Preview for chainlearn failed.

Name Link
🔨 Latest commit 2c881f4
🔍 Latest deploy log https://app.netlify.com/projects/chainlearn/deploys/6abb6d738413c20008145ef5

@drips-wave

drips-wave Bot commented Sep 29, 2026

Copy link
Copy Markdown

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

@DeFiVC
DeFiVC merged commit ec34fec into ChainLearnOfficial:main Sep 30, 2026
0 of 4 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