Back to overview
Degraded

JS Elements CDN Intermittent Loading Issues

Feb 21 at 02:30am UTC
Affected services
🌎 Elements

Resolved
Feb 21 at 04:00am UTC

Problem Description, Impact, and Resolution

At 8:30 p.m. CST on February 20, 2025, we observed increased errors in loading Basis Theory Elements in our js.basistheory.com service. This prevented customers from loading Elements when using the CDN-hosted version.

The issue was caused by an incorrect base URL configuration when building the static version of basis-theory-js for the js.basistheory.com CDN version, which was deployed at 4:00 p.m. CST and slowly rolled out to customers over the next 3 hours as the cache was invalidated. This resulted in Elements not loading correctly for customers relying on the CDN version. By 9:00 p.m. CST, we determined that the problem affected all customers using the CDN version. We deployed a fix at 9:57 p.m. CST, and by 10:00 p.m. CST, errors immediately decreased as our CDN cache and browser caches began to retrieve the new version.

Mitigation Steps and Future Preventative Measures

To prevent this issue, we have already implemented versioning for our packaged Elements (web-elements and react-elements) and all versions (down to patch) of our new web-elements package in the CDN - enabling customers to pin to a specific version of Elements from our CDN.

Additionally, we will immediately add monitoring for the following:

  • Enhance our automated smoke tests for js.basistheory.com elements in our pre-deploy steps.
  • Implement enhanced monitoring for failures to load files from js.basistheory.com.
  • Increase visibility on pinning specific patch versions of web-elements in developer documentation and add a check for version pinning to our production checklist.

Created
Feb 21 at 02:30am UTC

At 8:30 p.m. CST on February 20, 2025, we observed increased errors in loading Basis Theory Elements in our js.basistheory.com service. This prevented customers from loading Elements when using the CDN-hosted version.

NOTE: This does not affect customers using our NPM modules to load elements.