Add hooks for storage URL synchronization and improve simulation debugging#14
Add hooks for storage URL synchronization and improve simulation debugging#14Timidan wants to merge 4 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6b663c2915
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const current = queue.shift(); | ||
| if (!current || typeof current !== 'object') continue; |
There was a problem hiding this comment.
Preserve top-level string errors in revert data extraction
findRevertDataInError now skips any queue item that is not an object, so plain string errors are never scanned for embedded revert hex. This regresses cases where upstream code throws/rejects with a string payload (for example, "... data:0x08c379a0..."): extractRevertDetails will lose encodedData/signature decoding even though the revert bytes are present, which degrades revert diagnostics shown to users.
Useful? React with 👍 / 👎.
…up, and simulation debugging
`getActiveSubTabId` was returning the first sub-tab's id when the URL landed on a route-based tool's parent path with no segment (e.g. `/integrations` with no `/integrations/<sub>`). That made `handleSubTabClick` short-circuit on `sub.id === activeSubId` for the first sub-tab, so clicking it never produced a navigate() and the user was stranded on a parent path with no body. Returning null when the segment is empty lets the click proceed and navigate to the concrete sub-route on the first interaction.
…m other routes PersistentTools keeps every visited tool panel mounted (within a TTL) so cross-tool switches don't unmount + re-fetch state. That means after the user visits /integrations, the IntegrationsHub component stays mounted while they navigate to /database, /builder, etc. IntegrationsHub's redirect logic assumed `pathname` was always under /integrations: it computed `segment` as the part of the URL after `/integrations/`, found it empty (because the URL was now `/database` which doesn't start with `/integrations`), and rendered `<Navigate to="/integrations/lifi-earn" replace />` — silently bouncing the user back. No console error, no broken click handler; just a phantom redirect. Early-return null when the URL isn't under /integrations so the mounted-but-inactive hub is a no-op.
Introduce hooks for synchronizing storage URLs and looking up event signatures. Update simulation debugging actions and history loader to enhance type handling.