Skip to content

🚀 Production release - #506

Closed
ch4r10t33r wants to merge 171 commits into
mainfrom
staging
Closed

🚀 Production release#506
ch4r10t33r wants to merge 171 commits into
mainfrom
staging

Conversation

@ch4r10t33r

Copy link
Copy Markdown
Contributor

Summary

Production release from stagingmain (170 commits, 165 files since last release).

  • Perps / Hyperliquid — Perps tile on the home feed with Hyperliquid branding and icon; tile redesign
  • Insights — Copy Strategy button on signal cards; hide copy-strategy text on mobile; PnL fixes (infinite % PnL, high execution-price warnings)
  • Pulse / trading — Token selector responsiveness and daily price-change data; max-button fix (PRO-3885); MTS fee calculation
  • Wallet / signing — Delegated EOA signing: fallback HTTP transport, Etherspot provider crash safeguard, roundToSzDecimals runtime fix
  • Data / infra — Updated Mobula endpoint URL; .nvmrc for Node.js 20; landing page content/copy/icon refresh

Test plan

  • Smoke-test login (Privy) on production build
  • Verify Perps / Hyperliquid tile on home feed (desktop + mobile)
  • Insights: Copy Strategy button visible; copy-strategy text hidden on mobile; PnL values sane
  • Pulse token selector: responsive layout + daily price change on holdings
  • Max button and MTS fee calculation on buy/sell / gas flows
  • Delegated EOA signing path (no provider crash; orders round correctly)
  • Confirm Mobula search/data still loads after endpoint change
  • Landing page copy/icons look correct

aldin4u and others added 30 commits December 17, 2025 17:29
Fixes two critical PnL calculation issues: 1. Infinite PnL % caused by unstable sort order for trades with identical timestamps (enforced Buy before Sell). 2. High Execution Price warnings for cross-chain swaps (e.g. WETH -> BSC USDC) caused by using source chain decimals for quote token. Updated to track usdcChainId from state changes.
- Refactored token selector in Buy and Sell components to use a flexible flexbox layout, resolving text overlap and width issues.
- Fixed dailyPriceChange data mapping in Search.tsx to correctly handle both 'price_change_24h' and 'priceChange24h' properties.
- Updated Buy.tsx to include price change data when pre-selecting tokens from URL.
- Implemented perps trading interface with real-time charts
- Integrated Hyperliquid API for trading, deposits, and agent management
- Added WebSocket support for live price updates and candle data
- Created agent wallet management with local storage
- Added deposit modal for USDC deposits to Hyperliquid bridge
- Implemented price ticker with market data (mark price, oracle, 24h change, volume, OI, funding)
- Downgraded lightweight-charts to v4 for compatibility
- Updated test snapshots
- Added chain switching logic for Arbitrum network
- Deleted src/apps/perps/integrations/supabase/ directory
- Removed Supabase webhook URL from TradeSignals.tsx
- Disabled trade signals fetch with TODO for future API endpoint
- All Supabase dependencies removed from perps app
…ion UI

- Replaced TradingView chart with lightweight Sparkline chart
  - 12-hour price history with 1-minute candles
  - 2-second auto-refresh
  - Clean UI without extra text

- Implemented global storage for imported accounts
  - Accounts persist in localStorage after page refresh
  - Independent of connected wallet
  - New storage functions: storeImportedAccount, getImportedAccount, clearImportedAccount

- Added visual validation status component
  - Shows validation progress during import
  - Displays success card with balance and positions
  - Shows error messages with troubleshooting info

- Enhanced agent import UI
  - Custom account address input (pre-filled with connected wallet)
  - Validates account exists on Hyperliquid before importing
  - Shows imported account status with address
  - Added Remove button to clear imported account

- Updated display conditions
  - Balance and positions show when imported account exists
  - Works regardless of wallet connection status

- Fixed Tailwind CSS configuration
  - Added color definitions for perps app theme
- Fix negative mark price bug in PositionsCard (was using returnOnEquity instead of markPx)
- Add mobile safe area padding (pb-24 on mobile, pb-8 on desktop)
- Replace large Remove button with compact settings dropdown menu
- Add leverage presets (2x, 5x, 10x, 20x) for faster trading
- Create CompactHeader component for future status bar consolidation

Fixes:
- Mark price now displays correctly as positive value
- Mobile bottom navigation no longer overlaps Long/Short buttons
- Reduced visual noise and accidental click risk
- Improved trading workflow efficiency
- Created mobile components: MobileHeader, MobileBalanceCard, MobilePositionsCard, MobileMarketsList
- Added MobileIndex page with new mobile-first layout
- Implemented responsive detection (switches at 768px breakpoint)
- Fixed React hooks error by calling all hooks before conditional rendering
- Added getMetaAndAssetCtxs export to client.ts for markets data
- Mobile design matches provided mockup with cyan/green/red color scheme
- BTC now selected by default so chart loads immediately
- Removed Hyperliquid Status banner section for cleaner UI
- Added token logos (colored circles with initials)
- Display current price for each asset
- Show 24h volume (formatted as B/M/K)
- Display price change percentage (green/red)
- Replaced CSV download button with sorting dropdown
- Sort by: Price, Volume, or Change %
- Uses metaAndAssetCtxs API for real-time market data
- Fixed metaAndAssetCtxs response structure parsing
- API returns [metadata, assetContexts] array
- data[0].universe contains asset metadata
- data[1] array contains price/volume contexts
- Assets now display correctly with price, volume, and change %
- Display mark price, oracle price, mid price
- Show 24h volume and base volume
- Display open interest
- Show funding rate (color-coded)
- Display premium (color-coded)
- Show previous day price
- Display impact prices
- All data fetched from metaAndAssetCtxs API
- Auto-refreshes every 2 seconds with chart
- Moved market data next to price with responsive layout
- Shows Mark, Oracle, 24H Change, Volume, OI, Funding horizontally
- Added subtle styling details (underlines, spacing)
- Included dummy countdown timer for funding
- Matches user's requested ticker design
- Removed grid layout completely
- Used 'flex flex-wrap items-end gap-x-8' to force horizontal flow
- Data items now sit side-by-side next to the price
- Fixed '24H Change' display logic
- Ensures ticker-like appearance as requested
- Split header into Left (Price) and Right (Market Data) sections
- Used 'justify-between' to push market data to the far right
- Increased current price font size to 4xl
- Right-aligned all market data labels and values
- Ensures layout matches requested top-right placement design
- Removed 'mt-2' from market ticker container
- Added 'pt-0 mt-0' to guarantee top alignment
- Keeps 'items-start' to align ticker top edge with Price Label top edge
- Ensures precise top-right positioning as requested
- Reverted 'index.tsx' to standard responsive layout, removing 'MobileIndex' logic
- Updated 'SparklineChart' to use absolute positioning ('xl:absolute xl:top-6 xl:right-6')
- Guarantees top-right alignment for market ticker on desktop
- Resolves user feedback about incorrect layout and unwanted mobile view
…sitioning

- Switched to 'flex justify-between items-start' on the main header container
- Places Price (left) and Ticker (right) in the same horizontal flow
- Ensures the Ticker block aligns perfectly with the top of the Price label
- Eliminates vertical misalignment caused by absolute positioning offsets
@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a4863892-c4eb-4b85-8341-408f0aad72a3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gitguardian

gitguardian Bot commented Aug 4, 2026

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 1 secret following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secret in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
23693060 Triggered JSON Web Token 15a2774 src/apps/perps/integrations/supabase/client.ts View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secret safely. Learn here the best practices.
  3. Revoke and rotate this secret.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

Remove the Cypress image Chrome apt source before apt-get update so
jq install is not blocked by an expired Google GPG key. Allow the
Cloudflare Pages Slack notification step to fail without failing the
workflow when CF_API_TOKEN auth is invalid.
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying x with  Cloudflare Pages  Cloudflare Pages

Latest commit: 2cf0ae2
Status:⚡️  Build in progress...

View logs

@ch4r10t33r

Copy link
Copy Markdown
Contributor Author

Superseded by squash release PR to clear GitGuardian historical JWT finding. Use the new production release PR instead.

@ch4r10t33r ch4r10t33r mentioned this pull request Aug 4, 2026
5 tasks
@ch4r10t33r ch4r10t33r closed this Aug 4, 2026
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.

4 participants