Skip to content

Create new production release#1191

Merged
ebma merged 12 commits into
mainfrom
staging
Jun 3, 2026
Merged

Create new production release#1191
ebma merged 12 commits into
mainfrom
staging

Conversation

@ebma

@ebma ebma commented Jun 3, 2026

Copy link
Copy Markdown
Member

No description provided.

ebma and others added 9 commits June 2, 2026 11:33
Mykobo base improvements - adjustments proposal
Each entry now stores a timestamp. When the map exceeds 50 items, the oldest entries are removed. Entries without timestamps (from before this change) default to 0 and are evicted first.
…alstorage-backup

Cap rampEphemerals localStorage to 50 entries with FIFO eviction
@netlify

netlify Bot commented Jun 3, 2026

Copy link
Copy Markdown

Deploy Preview for vortex-sandbox ready!

Name Link
🔨 Latest commit 45104d0
🔍 Latest deploy log https://app.netlify.com/projects/vortex-sandbox/deploys/6a1ff384e5f8190008d69721
😎 Deploy Preview https://deploy-preview-1191--vortex-sandbox.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Jun 3, 2026

Copy link
Copy Markdown

Deploy Preview for vortexfi ready!

Name Link
🔨 Latest commit 45104d0
🔍 Latest deploy log https://app.netlify.com/projects/vortexfi/deploys/6a1ff384a12694000838e576
😎 Deploy Preview https://deploy-preview-1191--vortexfi.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR packages a production release bundle across frontend persistence, backend quote/ramp routing logic, and database performance improvements (new index + larger cleanup batches).

Changes:

  • Frontend: cap persisted ramp ephemerals in localStorage using timestamps for LRU-style eviction.
  • Frontend: switch Mykobo profile query to skipToken instead of enabled.
  • Backend: add created_at index for quote_tickets, increase expired-quote cleanup batch size, and centralize “fiat → own stablecoin on Base” direct-route checks.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
apps/frontend/src/contexts/rampState.tsx Adds timestamped ephemeral entries + eviction to limit localStorage growth.
apps/frontend/src/components/widget-steps/SummaryStep/TransactionTokensDisplay.tsx Uses skipToken to avoid running Mykobo profile query when not applicable.
apps/api/src/database/migrations/031-add-quote-created-at-index.ts Adds concurrent index on quote_tickets(created_at DESC) for improved query performance.
apps/api/src/api/services/ramp/base.service.ts Increases expired quote delete batch size for cleanup throughput.
apps/api/src/api/services/quote/utils.ts Introduces isFiatToOwnStablecoinBaseDirect helper.
apps/api/src/api/services/phases/handlers/squid-router-phase-handler.ts Uses new helper to skip SquidRouter step for direct Base routes.
apps/api/src/api/services/phases/handlers/fund-ephemeral-handler.ts Uses new helper to route direct Base onramps to destinationTransfer.
apps/api/src/api/services/phases/handlers/final-settlement-subsidy.ts Uses new helper + extracts the 90% bridge-delivery threshold into a constant.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +21 to +25
type RampEphemeralEntry = {
substrateEphemeral: EphemeralAccount;
evmEphemeral: EphemeralAccount;
timestamp: number;
};

const keys = Object.keys(existing);
if (keys.length > MAX_RAMP_EPHEMERALS) {
const sorted = keys.sort((a, b) => (existing[a].timestamp ?? 0) - (existing[b].timestamp ?? 0));
import { StateMetadata } from "../phases/meta-state-types";

const EXPIRED_QUOTE_DELETE_BATCH_SIZE = 1000;
const EXPIRED_QUOTE_DELETE_BATCH_SIZE = 5000;
Copilot AI and others added 2 commits June 3, 2026 09:19
…ning in sort, align test batch size

- Make `timestamp` optional in `RampEphemeralEntry` for backwards compatibility with entries from older app versions
- Use optional chaining (`?.timestamp ?? 0`) in eviction sort to guard against null/corrupt localStorage entries; legacy entries without a timestamp get value 0 (treated as oldest)
- Update `expectedDeleteBatchSize` in base.service.test.ts from 500 to 5000 to match the production `EXPIRED_QUOTE_DELETE_BATCH_SIZE` constant
…nts-legacy-handling

fix: backwards-compat timestamp, safe eviction sort, aligned test batch size
@ebma ebma merged commit 9cf94a8 into main Jun 3, 2026
9 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.

4 participants