Skip to content

feat: restore Safe Apps support (issue #6)#73

Open
chainflo-agent wants to merge 3 commits intoeternalsafefrom
issue-6-safe-apps
Open

feat: restore Safe Apps support (issue #6)#73
chainflo-agent wants to merge 3 commits intoeternalsafefrom
issue-6-safe-apps

Conversation

@chainflo-agent
Copy link
Collaborator

@chainflo-agent chainflo-agent commented Mar 24, 2026

Summary

  • restores Safe Apps support on top of latest eternalsafe base to address Support custom contract interactions #6
  • adds back Safe Apps routes/pages (/apps, /apps/open, etc.), sidebar navigation, iframe app loader, and Safe Apps SDK communicator flow
  • restores Safe Apps tx flow wiring so Safe Apps can initiate Safe transactions
  • includes new regression tests for Safe Apps routing/navigation and app iframe loading

Cherry-pick lineage from old PR #58

This branch ports the useful parts of PR #58 by applying and adapting these commits onto current origin/eternalsafe:

  • 1baea831 (Initial setup)
  • 14e7c3b0 (Allow sending batch creation)
  • 45018012 (Fix build prt1)
  • b78a3c14 (Fix build prt2)

Tests

Added (red -> green):

  • src/tests/pages/apps-routes-and-nav.test.ts
  • src/tests/pages/apps-open.test.tsx
  • src/components/safe-apps/AppFrame/__tests__/SafeAppIframe.test.tsx

Run:
yarn test src/tests/pages/apps-routes-and-nav.test.ts src/tests/pages/apps-open.test.tsx src/components/safe-apps/AppFrame/__tests__/SafeAppIframe.test.tsx --runInBand

Closes #6

@vercel
Copy link

vercel bot commented Mar 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
wallet Ready Ready Preview, Comment Mar 24, 2026 7:12pm

@github-actions
Copy link

github-actions bot commented Mar 24, 2026

Coverage report

St.
Category Percentage Covered / Total
🟡 Statements 75.36% 7123/9452
🔴 Branches 53.16% 1716/3228
🔴 Functions 57.46% 1032/1796
🟡 Lines 77.43% 6405/8272

Test suite run success

850 tests passing in 146 suites.

Report generated by 🧪jest coverage report action from 34078c2

@github-actions
Copy link

github-actions bot commented Mar 24, 2026

📦 Next.js Bundle Analysis for eternalsafe-wallet

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 1.14 MB (🟡 +1.27 KB)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

New Pages Added

The following pages were added to the bundle from the code in this PR:

Page Size (compressed) First Load
/apps 42.7 KB 1.18 MB
/apps/bookmarked 445 B 1.14 MB
/apps/custom 35.17 KB 1.18 MB
/apps/open 34.77 KB 1.18 MB

Seventeen Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/ 695 B (🟡 +1 B) 1.14 MB
/address-book 28.02 KB (🟢 -232 B) 1.17 MB
/balances 31.24 KB (🟢 -105 B) 1.17 MB
/balances/nfts 28.44 KB (🟢 -104 B) 1.17 MB
/new-safe/create 29.7 KB (🟡 +306 B) 1.17 MB
/new-safe/load 21.04 KB (🟡 +1 B) 1.16 MB
/settings/appearance 3.63 KB (🟢 -2 B) 1.14 MB
/settings/environment-variables 4.69 KB (🟢 -2 B) 1.15 MB
/settings/security-login 23.89 KB (🟢 -275 B) 1.16 MB
/settings/setup 25.95 KB (🟢 -242 B) 1.17 MB
/transactions 44.66 KB (🟡 +698 B) 1.18 MB
/transactions/history 44.65 KB (🟡 +697 B) 1.18 MB
/transactions/queue 44.64 KB (🟡 +697 B) 1.18 MB
/transactions/tx 41.43 KB (🟡 +696 B) 1.18 MB
/wallet-connect/transaction 61.43 KB (🟡 +1.86 KB) 1.2 MB
/welcome 4.81 KB (🟢 -1 B) 1.15 MB
/welcome/social-login 8.53 KB (🟢 -4 B) 1.15 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

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.

Support custom contract interactions

1 participant