White Screens in Production: Fixing Meteor Cordova Hot Code Push
June 2, 2026
Recently I had to make an urgent fix on a Meteor mobile app built with Cordova. Production users were getting hit hard. The Meteor version and some Cordova plugins had been updated on the server, but the bundle on the app stores had not. Users started seeing white screens out of nowhere.
To find the issue, I downloaded the production APK from Google Play Console and opened it on an emulator. Right away I saw this message: "Skipping downloading new version because the Cordova platform version or plugin versions have changed and are potentially incompatible." A known issue. The Meteor hot code push docs describe what was going on.
The fix lives under controlling compatibility version. In short, I needed the build hashes from the bundles that were still working in the wild, so the server would serve the right bundle version to each client. The APK is basically a zip file. I opened it, searched for
.json files, and found program.json, which holds the hashes I needed.
On the server I set METEOR_CORDOVA_COMPAT_VERSION_IOS and METEOR_CORDOVA_COMPAT_VERSION_ANDROID to those values (Renan helped with that part), rebuilt, and it worked. Quave One made the ops side easy: check logs, set env vars, rebuild the app, all without a long detour.
This is a bridge, not the end state. The plan is to ship a new bundle to the stores and then remove those env vars from the server once everyone can move forward on the same Cordova stack.
I saved the step-by-step notes in Cordova Hot Code Push & Compat Versions on GitHub.