Skip to content

feat(trade): account UI and real-time reliability improvements (OB-088, OB-089, OB-113, OB-114) - #816

Merged
IbrahimIjai merged 3 commits into
SO4-Markets:mainfrom
chizzy192:fix/issues-769-768-744-743-account-realtime
Sep 26, 2026
Merged

IbrahimIjai merged 3 commits into
SO4-Markets:mainfrom
chizzy192:fix/issues-769-768-744-743-account-realtime

Conversation

@chizzy192

Copy link
Copy Markdown
Contributor

Summary

Resolves all four related account UI and real-time market data issues under a single unified branch and PR:

  1. OB-088 (OB-088: Show funding and fee activity with explicit units #743): Show funding and fee activity with explicit units

    • Added dedicated FundingActivityList component displaying explicit asset symbols (USDC, etc.) alongside formatted numeric values
    • Distinguished between accrual (Accruing), settlement (Settled), and claim (Claimed) states using status badges so fee entries cannot be confused with trading PnL
    • Restructured the BottomTabs "Funding & Fees" tab to show the full activity history with per-row claim actions only for settled funding-type rows where deployed contracts support them
    • Invalidation of relevant account fee and token balance queries upon successful fee claims
  2. OB-089 (OB-089: Expose only real deposit and withdrawal actions #744): Expose only real deposit and withdrawal actions

    • Hardened OrderVaultClient to reject direct transfer attempts with an informative error rather than returning a silent no-op scvVoid()
    • Added getOrderVaultCapability helper and guarded the CollateralDialog deposit flow so users are notified and blocked when the OrderVault contract is undeployed or stubbed
    • Preserved verified perpetuals collateral operations (createIncreaseOrder / createDecreaseOrder) which execute through ExchangeRouter with simulation, signing, and confirmation evidence
  3. OB-113 (OB-113: Resynchronize live market data after disconnects and gaps #768): Resynchronize live market data after disconnects and gaps

    • Upgraded SharedMarketSubscription with exponential backoff and jitter for WebSocket reconnections
    • Added a 20s heartbeat watchdog to detect silent connection drops and trigger clean reconnections
    • Re-fetches depth snapshots on reconnection to recover from any order book revision gaps
    • Added graceful fallback to polling after backoff ceiling is reached
  4. OB-114 (OB-114: Coordinate hidden-tab, offline, and focus recovery #769): Coordinate hidden-tab, offline, and focus recovery

    • Added useAppFocusRecovery hook to pause/reduce non-essential work when hidden or offline
    • Debounced recovery invalidation on focus/online return to prevent request storms
    • Gated financial submissions via isActionAllowed when offline
    • Preserved pending transaction and order tracking across tab backgrounding and recovery cycles

Closes #743
Closes #744
Closes #768
Closes #769

…nd focus recovery (OB-088, OB-089, OB-113, OB-114)

- OB-088 (SO4-Markets#743): Add FundingActivityList with explicit token units, accrual vs settlement status, and validated claim actions
- OB-089 (SO4-Markets#744): Prevent OrderVaultClient stub from reporting no-op transfers; guard collateral deposit dialog when vault is undeployed
- OB-113 (SO4-Markets#768): Implement WebSocket reconnect with jittered exponential backoff, heartbeat watchdog, and snapshot recovery on reconnect
- OB-114 (SO4-Markets#769): Coordinate focus and offline recovery via useAppFocusRecovery; debounce refreshes and prevent offline financial submissions
@vercel

vercel Bot commented Sep 26, 2026

Copy link
Copy Markdown

@chizzy192 is attempting to deploy a commit to the Ijai's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Sep 26, 2026

Copy link
Copy Markdown

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

@IbrahimIjai
IbrahimIjai merged commit c9f363a into SO4-Markets:main Sep 26, 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

2 participants