Pricing buttons don't respond until the cards hydrate
Maintainers usually reply within 7 days
@fonodi is already working on this.
Since Nov 9, 2026.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- react, typescript
- Domain
- frontend, performance
Research direction
Start by reproducing the delay on /pricing-cms with a 6x CPU throttle in DevTools and timing when the "Buy now" handler in PricingCheckoutModal.tsx attaches. Then check PricingSwitcher.tsx and PricingBillingContext.tsx under plans/strapi-plan-pricing-cards/ for work that delays hydration. Done when the controls respond before hydration, or hydration is measurably faster and the waitForElementHydration wait in the tests can be relaxed.
Written by the indexing model from the issue text.
Description
Where: /pricing-cms ("Buy now" on Growth, which opens the checkout dialog) and /pricing-cloud (the Monthly/Yearly toggle).
What's wrong: the pricing cards hydrate noticeably later than the rest of the page: about 3.5 seconds after it in Firefox, up to about 20 seconds in headless Firefox on a loaded machine. Clicks before that do nothing, because the button exists in the HTML but its click handler isn't attached yet. Normal manual use is fine, but on slow devices or connections users can click a dead button.
Code: client components in plans/strapi-plan-pricing-cards/: PricingCheckoutModal.tsx (dialog trigger), PricingSwitcher.tsx / PricingBillingContext.tsx (billing toggle).
How to reproduce: in Chrome DevTools → Performance, throttle the CPU (6× slowdown), reload /pricing-cms and click "Buy now" as soon as it appears. Nothing happens until hydration finishes.
Done when (suggested fixes):
- find what delays hydration of these cards (large client bundle, heavy work before hydration, a Suspense boundary waiting on data) and reduce it
- or make the controls usable before hydration, e.g. the Monthly/Yearly toggle as links or
?billing=yearly - QA note: the tests currently wait for these buttons to hydrate (
waitForElementHydration) and mark the Firefox runs as slow. That could be relaxed once this is fixed.
- Dominant language
- TypeScript
- Stars
- 6
- Forks
- 5
- Avg merge
- 5d 6h
- Merged PRs (30d)
- 7
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from strapi/website
-
[SEO] Remove /blog/categories page from sitemapPossibly taken @fonodi claimed this 5 days ago. Openreopened
Difficulty 1/5 Under an hour Newbie friendliness 80/100
strapi/website#128 · 2 assignees ·
Maintainers usually reply within 7 days
-
Create a new collection type and component for cloud-legalPossibly taken @fonodi claimed this 12 days ago. Openenhancement
strapi/website#169 · 2 assignees ·
Maintainers usually reply within 7 days
-
Difficulty 3/5 1-2 days Newbie friendliness 52/100
Maintainers usually reply within 7 days
-
Update GitHub Actions that still run on Node.js 20May be free again @matej-marcisovsky claimed this 30 days ago, and no pull request is open. Open
strapi/website#153 · 1 assignee ·
Maintainers usually reply within 7 days
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
Maintainers usually reply within 7 days
Similar issues
-
Add: BOM CineOpenapproved check:passed streams:add
Difficulty 1/5 Under an hour Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
bug platform-android
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Termix-SSH/Mobile#146 · 1 comment ·
Maintainers usually reply within 2 days
-
MCP mcp-feedback-pattern
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
getsentry/toolkit#2276 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
devswha/herdr-web-ui#3875 ·