Skip to content

fix(contracts): fix MDX rendering for contract addresses composable pages#890

Closed
Copilot wants to merge 3 commits intodocs-v2-devfrom
copilot/fix-livepeer-contract-addresses-rendering
Closed

fix(contracts): fix MDX rendering for contract addresses composable pages#890
Copilot wants to merge 3 commits intodocs-v2-devfrom
copilot/fix-livepeer-contract-addresses-rendering

Conversation

Copy link
Copy Markdown

Copilot AI commented May 4, 2026

The contract addresses page failed to render across all three tabs (About, Gateway, Orchestrator) due to a duplicate contractAddresses import in a nested MDX composable chain. Mintlify merges parent/child composable scope — re-importing the same identifier in the child caused a scope collision that crashed the render pipeline.

Root Cause

livepeer-contract-addresses.mdx          ← imports { contractAddresses }
  └─ verify-contract-addresses.mdx       ← also imports { contractAddresses } ❌ collision

contractAddresses is only used as a prop value in the child (<ContractVerifier data={contractAddresses} />), so it resolves correctly from parent scope without re-import.

Changes

  • verify-contract-addresses.mdx — removed duplicate import { contractAddresses } (root cause); added missing frontmatter (repo standard)
  • livepeer-contract-addresses.mdx — fixed <Danger> block: replaced <br/><br/> with blank lines so MDX re-enters markdown mode and list items render as <ul> rather than literal text; corrected stale mixed-case anchor #No-Trust-On-chain-Address-Verification#no-trust-on-chain-address-verification
  • v2/gateways/.../contract-addresses.mdx — corrected 'Twitter:card''twitter:card' in frontmatter

Scope

  • snippets/composables/pages/canonical/livepeer-contract-addresses.mdx
  • snippets/composables/pages/canonical/verify-contract-addresses.mdx
  • v2/gateways/resources/reference/technical/contract-addresses.mdx

Validation

node operations/tests/unit/mdx.test.js
# ✅ MDX validation passed (532 files checked) — no regressions

Follow-up Tasks

None.

Type of Change

  • Bug fix (fixes an issue)
  • New content (adds new documentation)
  • Content update (improves existing content)
  • Style/formatting fix
  • Information architecture change
  • Other (please describe)

Related Issues

Changes Made

  • Removed duplicate contractAddresses import from nested MDX child composable
  • Fixed <Danger> block markup — proper blank-line separation for markdown list rendering
  • Corrected mixed-case anchor fragment to lowercase (#no-trust-on-chain-address-verification)
  • Corrected 'Twitter:card' meta key casing in gateway page frontmatter
  • Added frontmatter to verify-contract-addresses.mdx

Testing

  • Tested locally with npm run dev
  • Verified all links work
  • Checked formatting and style
  • Reviewed against style guides
  • Screenshots (if UI changes)

Screenshots (if applicable)

N/A

Checklist

  • My changes follow the style guides
  • I've reviewed the Component Library for available components
  • I've updated related pages if needed
  • I've checked for broken links
  • My changes are clear and easy to understand
  • I've tested locally
  • I've added/updated keywords and metadata if needed

Additional Notes

All three parent pages (v2/about/..., v2/gateways/..., v2/orchestrators/...) import the same composable, so fixing the composable and its child resolves the rendering failure across all three tabs simultaneously.

Governance Approval

Not required for this PR.

Copy Governance Gate - L5

Auto-checked by CI (lint-copy.js + lint-structure.js)

  • No Tier 1 banned words or phrases
  • No unresolved {/* REVIEW: */} flags in rendered content
  • No non-USD currency outside declared regional scope
  • No empty cells in decision tables
  • pageType, audience, lastVerified present in frontmatter

Human review required

Sequence (L2)

  • Page opens with operator outcome - value kept, no conditionals
  • Majority operator path is featured before variants
  • Introduced paths are developed on-page or linked

Completeness (L3)

  • Decision aids (tables, matrices, flowcharts) are complete - no placeholders
  • Every warning or consequence is followed by a prevention action and link
  • Primary actions and URLs appear in body copy (not only in accordions)

Tone (L4)

  • No sentence ends on a hedge, disclaimer, or restatement
  • No section ends with a Note that apologises rather than forward-points

Brief compliance

  • L0 (Q1-Q4) was completed before drafting
  • L1 persona mapping table was completed before drafting

Copilot AI linked an issue May 4, 2026 that may be closed by this pull request
2 tasks
Copilot AI added 2 commits May 4, 2026 07:15
…ages

- Remove duplicate contractAddresses import from verify-contract-addresses.mdx
  (root cause: MDX scope collision causing page to not render)
- Fix <Danger> block in composable — blank lines ensure markdown list items render
  correctly rather than as literal text after <br/> JSX elements
- Add frontmatter to verify-contract-addresses.mdx (repo standard: optional but recommended)
- Fix 'Twitter:card' -> 'twitter:card' in gateway page frontmatter (case sensitivity)

Agent-Logs-Url: https://github.com/livepeer/docs/sessions/f01b5e9f-ce34-4264-a32b-dd943f3c36a9
Copilot AI changed the title [WIP] Fix rendering issue on Contracts Addresses Page fix(contracts): fix MDX rendering for contract addresses composable pages May 4, 2026
Copilot AI requested a review from DeveloperAlly May 4, 2026 07:17
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.

[bug]: Contracts Addresses Page is not rendering

2 participants