Skip to content

Conversation

@fairlighteth
Copy link
Contributor

@fairlighteth fairlighteth commented Jan 19, 2026

Description

Added an MEV Blocker interstitial with a 10‑second redirect to https://docs.mevblocker.io/, kept the sidebar showing only a single MEV Blocker entry pointing to that interstitial, and removed all legacy MEV Blocker subpages. Ensured all /mevblocker/* routes permanently redirect to /mevblocker in production and added a dev‑time 404 redirect to mirror that behavior locally.

Screenshot 2026-01-20 at 14 44 55

Changes

  • Replaced docs/mevblocker/README.mdx with the interstitial content and wired up a dedicated MevBlockerInterstitial component and styles.
  • Collapsed the MEV Blocker sidebar category into a single doc item with the emoji label retained.
  • Removed MEV Blocker subpage docs and redirected /mevblocker/* to /mevblocker (301) in vercel.json.
  • Added a src/theme/NotFound override to redirect /mevblocker/* to /mevblocker during local dev.

Summary by CodeRabbit

  • Documentation
    • Removed extensive MEV Blocker docs and sidebar entries; content consolidated into a single interstitial page.
  • New Features
    • Added a visible interstitial redirect with a 10s countdown and manual link.
    • Improved 404 behavior to redirect MEV Blocker routes to the consolidated page.
  • Chores
    • Updated site navigation, redirects, and governance references to reflect the consolidated MEV Blocker location.

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link

vercel bot commented Jan 19, 2026

Deployment failed with the following error:

You don't have permission to create a Preview Deployment for this Vercel project: docs.

View Documentation: https://vercel.com/docs/accounts/team-members-and-roles

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 19, 2026

📝 Walkthrough

Walkthrough

This PR removes most in-repo MEV Blocker documentation, replaces the main README with a MevBlockerInterstitial React component (10s redirect), adds sidebar filtering and a NotFound override for /mevblocker/* paths, and adds a hosting redirect rule to funnel traffic to the interstitial/external docs.

Changes

Cohort / File(s) Summary
Top-level README swap
docs/mevblocker/README.mdx
Replaced detailed README content with an import and render of MevBlockerInterstitial.
Deleted Builder docs
docs/mevblocker/builders/*, docs/mevblocker/builders/fees/*, docs/mevblocker/builders/_category_.json
Removed builder guides, fees, rules, optimal bidding, onboarding docs, and category metadata.
Deleted Concepts docs
docs/mevblocker/concepts/*, docs/mevblocker/concepts/_category_.json
Removed MEV concept pages, attack explanations, gas rebates, order-flow-auction, and category metadata.
Deleted Order Flow Originators docs
docs/mevblocker/orderflow-originators/*, docs/mevblocker/orderflow-originators/_category_.json
Removed API references, endpoints, integrator guides, and user guides.
Deleted RPC performance docs
docs/mevblocker/rpc-performance/*, docs/mevblocker/rpc-performance/_category_.json
Removed performance benchmark pages and category metadata.
Deleted Searcher docs
docs/mevblocker/searchers/*, docs/mevblocker/searchers/_category_.json
Removed searcher README, APIs, bidding/listening guides, and category metadata.
Interstitial component + styles
src/components/MevBlockerInterstitial.tsx, src/components/MevBlockerInterstitial.module.css
Added React interstitial with 10s countdown/redirect, meta-refresh fallback, accessible live countdown, manual link, and CSS module.
404 override for mevblocker paths
src/theme/NotFound/index.tsx
Added NotFound wrapper that redirects /mevblocker/* to /mevblocker.
Sidebar generator
docusaurus.config.ts
Added sidebarItemsGenerator to filter out docs whose IDs start with mevblocker/ from sidebars.
Hosting redirect rule
vercel.json
Added redirect: /mevblocker/(.+)/mevblocker (301); removed many legacy mevblocker redirects.
Minor site content updates
docs/governance/fees/fees.md, docs/README.md, docs/governance/mission.md
Removed MEV Blocker references and adjusted product list/links.
Category metadata removed
docs/mevblocker/_category_.json, and multiple _category_.json under subfolders
Removed many MEV Blocker category entries across docs.

Sequence Diagram(s)

sequenceDiagram
  participant Browser
  participant Vercel
  participant DocsSite as "Docusaurus Site"
  participant Interstitial as "MevBlockerInterstitial"
  participant External as "https://docs.mevblocker.io/"

  Browser->>Vercel: GET /mevblocker/some/path
  Vercel-->>Browser: 301 Redirect -> /mevblocker
  Browser->>DocsSite: GET /mevblocker
  DocsSite->>Interstitial: Render interstitial page
  Interstitial-->>Browser: Serve page + meta-refresh (10s) and JS countdown
  Note right of Interstitial: useEffect timers update countdown and trigger redirect
  Interstitial->>Browser: window.location.replace(External) after delay
  Browser->>External: GET https://docs.mevblocker.io/
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

Suggested reviewers

  • pretf00d
  • kernelwhisperer
  • marshymarsh

Poem

🐇
I chewed some pages, left a sign,
Ten ticks later you'll be fine.
A tiny card with gentle shove,
Hop, follow the link to docs you love.
Nose twitch — off you go, good luck ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: a refactoring that cleans up MEV Blocker documentation by removing legacy content and replacing it with an interstitial redirect.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description clearly explains the purpose (MEV Blocker documentation refactor with interstitial redirect), provides a screenshot, and includes a comprehensive checklist of changes.

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

✨ Finishing touches
  • 📝 Generate docstrings

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.

@fairlighteth fairlighteth marked this pull request as ready for review January 19, 2026 16:20
@fairlighteth fairlighteth requested a review from a team as a code owner January 19, 2026 16:20
@vercel
Copy link

vercel bot commented Jan 19, 2026

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

Project Deployment Review Updated (UTC)
docs Ready Ready Preview Jan 20, 2026 2:45pm

Request Review

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

🤖 Fix all issues with AI agents
In `@src/components/MevBlockerInterstitial.module.css`:
- Around line 1-10: The component references styles.page but the CSS module only
defines .card, so add a .page rule to MevBlockerInterstitial.module.css (or
remove the usage in the component); implement a `.page` selector (e.g., .page {
width: 100%; min-height: 100vh; display: flex; justify-content: center;
align-items: center; padding: 24px; background: transparent; } ) to provide the
wrapper layout used alongside .card (reference styles.page and .card in the
component) so the interstitial wrapper receives proper sizing and centering.
🧹 Nitpick comments (1)
src/components/MevBlockerInterstitial.tsx (1)

12-25: Simplify the redirect timers to avoid duplicate navigation.

Both the interval and timeout call window.location.replace, and there’s also a meta refresh. Keeping just one JS redirect path reduces duplicate navigation/analytics events while preserving the countdown.

♻️ Proposed simplification
   useEffect(() => {
     const intervalId = window.setInterval(() => {
-      setRemaining((prev) => {
-        if (prev <= 1) {
-          window.location.replace(REDIRECT_URL)
-          return 0
-        }
-        return prev - 1
-      })
+      setRemaining((prev) => Math.max(prev - 1, 0))
     }, 1000)
 
     const timeoutId = window.setTimeout(() => {
       window.location.replace(REDIRECT_URL)
     }, DELAY_SECONDS * 1000)

Copy link
Contributor

@alfetopito alfetopito left a comment

Choose a reason for hiding this comment

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

Should we still have MEV blocker at the docs landing page?

Image

I would argue it shouldn't be there anymore; just keep the redirects for previous paths.

I would consider removing the one on the left panel as well:

Image

Or is bd/marketing expecting to be mentioned there still?

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

🤖 Fix all issues with AI agents
In `@docs/README.md`:
- Line 10: The README currently states "CoW DAO's three main products" but only
names two products (CoW Protocol and CoW AMM); update the text in README.md to
either add the missing third product name and its short link (if a third product
exists) or change the phrase to "two main products" so the count matches the
listed items; locate and edit the sentence containing "CoW DAO's three main
products" and update the list accordingly (the string "CoW Protocol" and "CoW
AMM" appear in the same sentence).

@fairlighteth
Copy link
Contributor Author

@alfetopito addressed your points

@elena-zh
Copy link
Contributor

elena-zh commented Jan 21, 2026

Hey @fairlighteth , I did not find the collapsed menu bar, but it looks like you removed it based on @alfetopito feedback.

I have 1 question: when I search for 'MEV' using the search bar, I'm navigated to the mevblocker underlying pages with 404 error there, and there is no navigation. Is this something that we need to improve or it is OK to leave it as it is?

search image image

@fairlighteth
Copy link
Contributor Author

@elena-zh thanks for reviewing. I think this is expected because the redirects in this PR aren't deployed yet. Also that search uses Algolia and it uses caching. So my suggestion is to review that post merge.

Copy link
Contributor

@elena-zh elena-zh left a comment

Choose a reason for hiding this comment

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

Approved then thanks!

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.

5 participants