Skip to content

feat: add data migration promo banner - #4

Merged
leonimella merged 1 commit into
astar-stgfrom
feat/data-migration-banner
Oct 16, 2026
Merged

leonimella merged 1 commit into
astar-stgfrom
feat/data-migration-banner

Conversation

@leonimella

Copy link
Copy Markdown

No description provided.

Show a non-dismissible banner on the dashboard of chains that enable the
DATA_MIGRATION_PROMO feature, inviting users to move to Protofire Multisig.
The CTA gzip+base64url-encodes the six persisted slices (address book, added
safes, settings, safe apps, undeployed safes, visited safes) and redirects to
the shared UI's /migrate page with the payload as a URL fragment.
@leonimella leonimella self-assigned this Oct 16, 2026
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

tx-builder Preview

❌ Deploy failed!

@github-actions

Copy link
Copy Markdown

Coverage report for apps/web

Caution

Test run failed

St.❔
Category Percentage Covered / Total
🟡 Statements
78.56% (+0.05% 🔼)
20630/26259
🔴 Branches
57.39% (+0.07% 🔼)
5643/9832
🟡 Functions
64.09% (+0.12% 🔼)
2949/4601
🟢 Lines
80.03% (+0.04% 🔼)
18675/23334
Show new covered files 🐣
St.❔
File Statements Branches Functions Lines
🟢
... / index.tsx
85.29% 100% 100% 84.38%
🟢
... / dataMigration.tsx
100% 100% 100% 100%
🟢
... / encodeMigrationPayload.ts
100% 100% 100% 100%
🟢
... / useSharedUiOrigin.ts
100% 100% 100% 100%

Test suite run failed

Failed tests: 2/3418. Failed suites: 2/383.
  ● ReviewTransaction › should display a confirmation screen

    expect(received).toMatchSnapshot()

    Snapshot name: `ReviewTransaction should display a confirmation screen 1`

    - Snapshot  - 25
    + Received  +  0

    @@ -190,35 +190,10 @@
                              >
                                Cross-verify your transaction data with external tools like
                                 
                                <a
                                  class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-r9pq5a-MuiTypography-root-MuiLink-root"
    -                             href="https://safeutils.openzeppelin.com"
    -                             rel="noreferrer noopener"
    -                             target="_blank"
    -                           >
    -                             <span
    -                               class="MuiBox-root css-u9xrjn"
    -                             >
    -                               Safe Utils
    -                               <svg
    -                                 aria-hidden="true"
    -                                 class="MuiSvgIcon-root MuiSvgIcon-fontSizeSmall external-link-icon css-tqxw8e-MuiSvgIcon-root"
    -                                 data-testid="OpenInNewRoundedIcon"
    -                                 focusable="false"
    -                                 viewBox="0 0 24 24"
    -                               >
    -                                 <path
    -                                   d="M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h5c.55 0 1-.45 1-1s-.45-1-1-1H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-6c0-.55-.45-1-1-1s-1 .45-1 1v5c0 .55-.45 1-1 1M14 4c0 .55.45 1 1 1h2.59l-9.13 9.13c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0L19 6.41V9c0 .55.45 1 1 1s1-.45 1-1V4c0-.55-.45-1-1-1h-5c-.55 0-1 .45-1 1"
    -                                 />
    -                               </svg>
    -                             </span>
    -                           </a>
    -                            and
    -                            
    -                           <a
    -                             class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-r9pq5a-MuiTypography-root-MuiLink-root"
                                  href="https://transaction-decoder.pages.dev"
                                  rel="noreferrer noopener"
                                  target="_blank"
                                >
                                  <span

      84 |       expect(container.querySelector('[data-testid="continue-sign-btn"]')).toBeInTheDocument()
      85 |     })
    > 86 |     expect(container).toMatchSnapshot()
         |                       ^
      87 |   })
      88 |
      89 |   it('should display an error screen', async () => {

      at Object.toMatchSnapshot (src/components/tx/ReviewTransactionV2/__tests__/index.test.tsx:86:23)


  ● useChainId hook › should return the default chainId if no query params

    expect(received).toBe(expected) // Object.is equality

    Expected: "11155111"
    Received: "81"

      57 |   it('should return the default chainId if no query params', () => {
      58 |     const { result } = renderHook(() => useChainId())
    > 59 |     expect(result.current).toBe('11155111')
         |                            ^
      60 |   })
      61 |
      62 |   it('should return the chainId based on the chain query', () => {

      at Object.toBe (src/hooks/__tests__/useChainId.test.ts:59:28)

Report generated by 🧪jest coverage report action from 7f64593

@leonimella
leonimella merged commit de88f60 into astar-stg Oct 16, 2026
14 of 22 checks passed
@leonimella
leonimella deleted the feat/data-migration-banner branch October 16, 2026 13:38
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.

1 participant