{"meta":{"version":"v1","pricing":{"public":{"label":"Public","description":"Read-only API access for lightweight status checks and public integrations."},"premium":{"label":"Premium (early access)","description":"API keys with higher hourly quotas are available now; webhooks, alerting, and exports are on the roadmap."}},"generatedAt":"2026-07-08T22:16:44.741Z"},"data":{"id":"incident_statuspage_circleci_2l1y8dhrvtzd","slug":"circleci-degradation-in-circleci-ui-elements-2026-04-06","title":"Degradation in CircleCI UI elements","summary":"Degradation in CircleCI UI elements","status":"resolved","severity":"major","startedAt":"2026-04-06T20:33:28.462+00:00","updatedAt":"2026-04-07T00:22:59.313+00:00","resolvedAt":"2026-04-06T21:12:35.372+00:00","provider":{"slug":"circleci","name":"CircleCI"},"affectedServices":[{"slug":"circleci-ui","name":"UI & API"}],"links":{"html":"/incidents/circleci-degradation-in-circleci-ui-elements-2026-04-06","api":"/api/v1/incidents/circleci-degradation-in-circleci-ui-elements-2026-04-06","providerHtml":"/providers/circleci"},"impactSummary":"CircleCI reported a major event for the affected tracked services.","source":{"id":"source_circleci_status","kind":"official_api","name":"CircleCI Status","checkedAt":"2026-07-08T22:15:02.226+00:00","officialUrl":"https://status.circleci.com","statusPageUrl":"https://status.circleci.com"},"updates":[{"id":"update_statuspage_circleci_2l1y8dhrvtzd_zsh8cf0zw289","status":"investigating","body":"We are currently investigating an issue in the CircleCI UI impacting approval jobs and SSH key navigation. This is an interface-only issue and builds continue to flow as usual.","createdAt":"2026-04-06T20:33:28.563+00:00"},{"id":"update_statuspage_circleci_2l1y8dhrvtzd_737cszm0cljk","status":"monitoring","body":"A fix has been implemented and we are monitoring the results. Thank you for your patience.","createdAt":"2026-04-06T20:43:08.895+00:00"},{"id":"update_statuspage_circleci_2l1y8dhrvtzd_xx7f4k3y7722","status":"resolved","body":"This incident has been resolved.","createdAt":"2026-04-06T21:12:35.372+00:00"},{"id":"update_statuspage_circleci_2l1y8dhrvtzd_1kj5l450y936","status":"resolved","body":"**What happened**  \nAll modals and dialogs across the CircleCI application became invisible. They were being rendered correctly in the background, but were not visible to users. This affected approval jobs, SSH key management, and other settings pages across the app.  \n  \n**Root cause**  \nThe issue was introduced by an upgrade to our internal design system library. The new version added animation support to modal components using a library called Framer Motion. These animations are designed to fade modals in from invisible \\(`opacity: 0`\\) to visible \\(`opacity: 1`\\) when opened.  \n  \nHowever, the animation logic reads open/close state from a specific React context that is only available when modals are opened via a particular component \\(`DialogTrigger`\\). Our application manages modal state differently, passing open/close state directly via props, so that context was never populated. As a result, every modal in the app was permanently stuck in the \"hidden\" animation state and never transitioned to visible.  \n  \n**Resolution**  \nWe reverted the design system upgrade to restore the previous working version, which resolved the issue immediately. We are now working on a follow-up fix that will upgrade Framer Motion properly, by ensuring all modal components receive the required context.  \n  \n**Impact**  \nThe issue affected all modal dialogs across project settings, org settings, user settings, plans & payments, and other areas of the app for the duration of the incident. No data was lost or corrupted. The underlying functionality was intact, just inaccessible via the UI.","createdAt":"2026-04-07T00:17:45.997+00:00"}],"access":{"plan":"public","keyed":false}}}