Skip to content

Comments

feat(wormhole): add deprecation warning banner to Wormhole bridge page#4279

Open
jasbanza wants to merge 6 commits intostagefrom
jason/mer-123-add-wormhole-bridge-deprecation-warning-banner
Open

feat(wormhole): add deprecation warning banner to Wormhole bridge page#4279
jasbanza wants to merge 6 commits intostagefrom
jason/mer-123-add-wormhole-bridge-deprecation-warning-banner

Conversation

@jasbanza
Copy link
Member

@jasbanza jasbanza commented Feb 20, 2026

What is the purpose of the change:

Add a deprecation warning banner to the Wormhole bridge page (/wormhole) informing users that Wormhole is deprecating long-term support for Osmosis. The banner advises users not to bridge additional assets into Osmosis via Wormhole and clarifies that the page exists to help withdraw existing Wormhole-bridged assets.

Linear Task

MER-123: Add Wormhole Bridge Deprecation Warning Banner

Brief Changelog

  • Added AlertBanner with deprecation warning above the Wormhole Connect widget in packages/web/pages/wormhole.tsx

Testing and Verifying

This change can be verified by navigating to /wormhole and confirming the deprecation warning banner is displayed above the Wormhole Connect widget.


Note

Low Risk
UI-only copy and layout changes plus new i18n strings; no changes to bridging logic or backend behavior.

Overview
Adds a deprecation warning banner to the /wormhole page above the Wormhole Connect widget, including an alert icon and localized title/subtitle messaging.

Introduces new wormhole.deprecationTitle/wormhole.deprecationSubtitle strings across supported locale JSON files (and adjusts trailing commas to keep JSON valid).

Written by Cursor Bugbot for commit 911728a. This will update automatically on new commits. Configure here.

@vercel
Copy link

vercel bot commented Feb 20, 2026

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

Project Deployment Actions Updated (UTC)
osmosis-frontend Ready Ready Preview, Comment Feb 20, 2026 8:43pm
4 Skipped Deployments
Project Deployment Actions Updated (UTC)
osmosis-frontend-datadog Ignored Ignored Feb 20, 2026 8:43pm
osmosis-frontend-dev Ignored Ignored Feb 20, 2026 8:43pm
osmosis-frontend-edgenet Ignored Ignored Feb 20, 2026 8:43pm
osmosis-testnet Ignored Ignored Feb 20, 2026 8:43pm

Request Review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 20, 2026

Walkthrough

Adds a deprecation AlertBanner (with an alert-triangle Icon) to the Wormhole page, uses the translation hook for title/subtitle, and wraps the page output in an outer div with a background color.

Changes

Cohort / File(s) Summary
Wormhole page
packages/web/pages/wormhole.tsx
Imports Icon from ~/components/assets and useTranslation from ~/hooks; calls useTranslation() and uses t for wormhole.deprecationTitle and wormhole.deprecationSubtitle; injects an AlertBanner with alert-triangle Icon at the top of the component render; wraps return content in an outer div with a background color; preserves existing conditional spinner rendering.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: adding a deprecation warning banner to the Wormhole bridge page, which aligns perfectly with the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The pull request description is comprehensive and well-structured, covering purpose, Linear task link, changelog, and testing verification as required by the template.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch jason/mer-123-add-wormhole-bridge-deprecation-warning-banner

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 and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/web/pages/wormhole.tsx (1)

400-416: ⚠️ Potential issue | 🟡 Minor

Minor layout overflow: h-screen spinner stacks below the always-visible banner.

When scriptLoaded is false, the page renders the banner block (pt-8 + banner height) followed immediately by a h-screen div for the spinner. This causes total page height to exceed 100 vh, producing an unwanted scrollbar during the initial load state.

Consider using h-[calc(100vh-<banner-height>)] or restructuring the spinner to avoid overflow:

🔧 Suggested layout fix
-      {!scriptLoaded && (
-        <div className="flex h-screen w-full items-center justify-center">
-          <Spinner />
-        </div>
-      )}
+      {!scriptLoaded && (
+        <div className="flex min-h-0 flex-1 w-full items-center justify-center py-20">
+          <Spinner />
+        </div>
+      )}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/web/pages/wormhole.tsx` around lines 400 - 416, The spinner wrapper
currently uses a fixed h-screen which stacks below the always-rendered
AlertBanner and causes overflow; update the spinner container rendered when
scriptLoaded is false (the div that wraps <Spinner />) to account for the banner
height instead of using h-screen — e.g. set its height to calc(100vh -
<banner-height>) or convert the page wrapper to a full-height flex column and
make the spinner container flex-grow (so <Spinner /> centers in the remaining
space), referencing the AlertBanner block (the div with classes "mx-auto
max-w-xl px-4 pt-8") and the scriptLoaded/Spinner render path.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@packages/web/pages/wormhole.tsx`:
- Around line 400-416: The spinner wrapper currently uses a fixed h-screen which
stacks below the always-rendered AlertBanner and causes overflow; update the
spinner container rendered when scriptLoaded is false (the div that wraps
<Spinner />) to account for the banner height instead of using h-screen — e.g.
set its height to calc(100vh - <banner-height>) or convert the page wrapper to a
full-height flex column and make the spinner container flex-grow (so <Spinner />
centers in the remaining space), referencing the AlertBanner block (the div with
classes "mx-auto max-w-xl px-4 pt-8") and the scriptLoaded/Spinner render path.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/web/pages/wormhole.tsx (1)

402-402: !h-auto works but bypasses the component's own styling contract.

The !important override is a workaround for AlertBanner having a fixed/constrained height by default. If more callsites need variable-height banners, this pattern will proliferate. Consider exposing a grow / autoHeight prop on AlertBanner (or removing the hard-coded height there) rather than overriding from the outside.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/web/pages/wormhole.tsx` at line 402, The current page is using a
hard override className "!h-auto" to bypass AlertBanner's fixed height; instead
add an explicit prop (e.g., autoHeight: boolean or grow: boolean) to the
AlertBanner component and use that prop inside AlertBanner to conditionally
remove/replace the fixed height classes, then update this callsite in
wormhole.tsx to pass the new prop (remove the "!h-auto" className override).
Locate the AlertBanner component (AlertBanner) to implement the prop and adjust
its internal className logic, and update the wormhole.tsx usage to pass
autoHeight/grow so callers can opt into variable height without !important
overrides.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/web/pages/wormhole.tsx`:
- Around line 403-404: Replace the hardcoded English strings passed to the
component props title and subtitle in wormhole.tsx with translated strings using
the useTranslation hook and t() function: import and call useTranslation()
(e.g., const { t } = useTranslation()), then replace the title and subtitle
values with t('wormhole.title') and t('wormhole.subtitle') (or similar keys) and
add those keys and translations to the i18n resource files; ensure the component
still receives the props (title, subtitle) and update any snapshots/tests if
they assert the exact text.

---

Nitpick comments:
In `@packages/web/pages/wormhole.tsx`:
- Line 402: The current page is using a hard override className "!h-auto" to
bypass AlertBanner's fixed height; instead add an explicit prop (e.g.,
autoHeight: boolean or grow: boolean) to the AlertBanner component and use that
prop inside AlertBanner to conditionally remove/replace the fixed height
classes, then update this callsite in wormhole.tsx to pass the new prop (remove
the "!h-auto" className override). Locate the AlertBanner component
(AlertBanner) to implement the prop and adjust its internal className logic, and
update the wormhole.tsx usage to pass autoHeight/grow so callers can opt into
variable height without !important overrides.

@jasbanza
Copy link
Member Author

@JoseRFelix R4R

if you try navigate to wormhole interface via preview link BASE URL, then it redirects to prod so here's the direct link:
https://osmosis-frontend-git-jason-mer-123-add-wormhole-bridge-d-4e1fea.vercel.dev-osmosis.zone/wormhole?from=osmosis&to=solana&token=SOL.wh

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

integrity="sha384-BTkX2AhTeIfxDRFsJbLtR26TQ9QKKpi7EMe807JdfQQBTAkUT9a2mSGwf/5CJ4bF"
crossOrigin="anonymous"
/>
</>
Copy link

Choose a reason for hiding this comment

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

Spinner may render off-screen while loading

Medium Severity

The loading state uses a div with h-screen placed after the new deprecation banner, so the banner’s height is added on top of a full-viewport-height spinner section. This can push the centered Spinner below the fold and introduce unnecessary scroll during script load.

Fix in Cursor Fix in Web

jasbanza and others added 6 commits February 20, 2026 22:37
Wormhole is deprecating long-term support for Osmosis. Add a prominent AlertBanner above the Wormhole Connect widget advising users not to bridge additional assets into Osmosis and that the page exists to withdraw existing Wormhole-bridged assets.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace hardcoded English strings with useTranslation hook and add wormhole.deprecationTitle and wormhole.deprecationSubtitle keys to all locale files: de, en, es, fa, fr, gu, hi, ja, ko, pl, pt-br, ro, ru, tr, zh-cn, zh-hk, zh-tw.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the gradient AlertBanner with the rust-bordered warning box pattern used consistently throughout the codebase (bridge warnings, swap tool, review order).

Co-authored-by: Cursor <cursoragent@cursor.com>
Per design feedback: title text is now white, subtitle remains osmoverse-300, and the page background matches the Wormhole widget color (rgb(20, 15, 52)).

Co-authored-by: Cursor <cursoragent@cursor.com>
Copy link
Collaborator

@JoseRFelix JoseRFelix left a comment

Choose a reason for hiding this comment

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

Looks good! Added a minor comment


return (
<>
<div style={{ backgroundColor: "rgb(20, 15, 52)" }}>
Copy link
Collaborator

Choose a reason for hiding this comment

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

This color corresponds to Osmoverse 900, so we can call it through Tailwind directly.

Suggested change
<div style={{ backgroundColor: "rgb(20, 15, 52)" }}>
<div class="bg-osmoverse-900">

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.

2 participants