Windy.com - Weather Forecast
Weather app where maps, alerts, and navigation fixes need careful production expansion.
- Google Play installs
- 32.9M
- Store rating
- 4.7
Upload a new web bundle from the CLI or CI. Devices download it in the background and run it the next time the app comes back to the foreground. Roll it out by percentage, watch it in Observe, and roll back if it misbehaves.
14-day unlimited free trial. No credit card required
Enterprise needs? Talk to our team
The Problem
Find the bug
Monitoring or support reports a broken screen. The fix is a few lines of JavaScript or CSS.
Build a new binary
You bump the version, build for iOS and Android, and prepare two store submissions.
Wait for review
Store review is often 24–48 hours, sometimes much longer. A rejection starts the wait again.
Wait for users to update
After approval, each user still has to install the new version. Until then, they run the old code.
Each step adds time between the fix being ready and the fix running on your users' devices.
24–48h+
Typical store review time
Apple and Google review every new binary. Review is often 24–48 hours, sometimes much longer, and a rejection means resubmitting.
Per user
Store updates depend on each device
A store update reaches a device only when the user, or their auto-update setting, installs it. Some devices stay on old builds for a long time.
2 stores
Two submissions for every fix
The same web fix goes through the App Store and Google Play separately, each with its own review and release.
The Solution
This is Capgo's default update behavior. No update prompts, no forced restarts, and no store submission for web-layer changes.
When the app comes to the foreground, and every 10 minutes while it stays open, the updater asks Capgo for the channel's latest bundle.
On foreground
The new bundle downloads while the user keeps using the current version. With delta updates, only changed files download.
No interruption
When the user leaves the app, the updater installs the bundle. The next time they open it, they run the new version.
Next foreground
Need users to see the new version as soon as they open the app? Direct update modes apply it at launch while the splash screen is shown.
See direct updatesHow it works
A typical release for a Capacitor app that is already in the stores. Every command below is from the Capgo CLI docs.
Run the setup wizard, then make sure your app calls notifyAppReady() after it starts. A bundle that never makes that call rolls back by itself.
npx @capgo/cli@latest init
# in your app start-up code
await CapacitorUpdater.notifyAppReady()
notifyAppReady() docs
Use --delta so devices fetch only changed files, and --rollout to start with a small share of devices. Everyone else stays on the stable bundle.
npx @capgo/cli@latest bundle upload --channel production --delta --rollout 5
Progressive rollouts docs
Turn on auto-pause with a failure-rate threshold (500 basis points is 5%). If failures pass it, Capgo rolls the rollout back. Check the new version in Observe while it runs.
npx @capgo/cli@latest channel set production \
--auto-pause-enabled \
--auto-pause-failure-rate-bps 500 \
--auto-pause-action rollback
Observe docs
When the numbers look right, promote the bundle to every device on the channel. If not, send the rollout cohort back to stable.
npx @capgo/cli@latest channel set production --rollout-promote
# or, if something looks wrong
npx @capgo/cli@latest channel set production --rollout-rollback
Rollbacks docs
The controls production teams use to ship often without surprising users.
Upload with --delta and devices download only the files that changed since their current bundle. Large assets that rarely change are downloaded once.
--delta
Only changed files are downloaded
Send a new bundle to a random, sticky share of a channel while everyone else stays on the stable bundle. Raise the percentage, promote it, or roll it back from the CLI or console.
1–5%
A typical first rollout step
Every update has to prove it starts. If a new bundle does not call notifyAppReady() in time, the device goes back to the last working bundle and marks the new one as failed.
10s
Default appReadyTimeout before automatic rollback
Capgo delivers the Capacitor web layer: JavaScript, CSS, and assets. It does not change the native binary, plugins, permissions, entitlements, or app-store metadata. Store review is app-specific, so you remain responsible for policy compliance and approval.
Day-to-day release work once live updates are in place. Each card links to the docs.
A broken checkout or login screen gets a web-layer fix. Upload it and devices pick it up on their next update check.
Update behavior docsFix wording, update help text, or replace images and other bundled assets without building a new binary.
Native compatibility docsCompare a new bundle with the previous one: issue-free rate, launch and WebView timing, and deployment markers per version.
Observe docsAfter you change a channel's bundle, send a silent update notification so devices check now instead of on their next foreground.
Send update notificationBlock major updates on a channel so a bundle that needs new native code never reaches an older binary.
Version targeting docsPick any earlier bundle in the channel's History tab to make it live again for every device on that channel.
Rollbacks docsCapgo has delivered live updates to production apps since 2021.
Find the solution that matches your team's needs
Apps built with Capacitor
Weather, public health, and telecom apps depend on accurate interfaces, alerts, and navigation. Production updates help ship approved interface fixes while monitoring adoption before expanding further.
Weather app where maps, alerts, and navigation fixes need careful production expansion.
Public health app where guidance and service information require fast, trusted updates.
Telecom account app where alerts and account surfaces change frequently.
Customer proof
Lead Developer, drivolino GmbH
“The Capgo Capacitor Updater plugin completely transformed how we ship updates. What used to take days now takes just minutes.”
Founder, NuTriQ
“Being able to push production OTA updates instantly without waiting for full App Store review cycles has been a massive operational advantage.”
nethead emeritors
“Great job on the updater plugin. It works flawlessly for me, and live updates are a super accelerator for quick testing turnaround.”
FAQ
How updates reach devices, and what to do when one goes wrong.
By default, the app checks for updates when it comes to the foreground and every 10 minutes while it stays open. It downloads the new bundle in the background, installs it when the user leaves the app, and runs it the next time they open it. The autoUpdate setting changes this behavior.
Update behavior docsYes. After you change a channel's bundle, send an update notification from the console, or add --send-update-notification to bundle upload. Devices get a silent push and check right away. This needs Capgo Notifications with iOS and Android push credentials. Delivery is best effort: an offline or force-quit app checks on its next launch.
Send update notificationIf a new bundle does not call notifyAppReady() within 10 seconds (the default appReadyTimeout), the device returns to the last working bundle and marks the new one as failed. For bugs that do not stop the app from starting, roll back the progressive rollout or pick an earlier bundle from the channel history.
Rollbacks docsUpload with --rollout to send the bundle to a random, sticky share of the channel while everyone else stays on stable. Raise the percentage, promote, or roll back from the CLI or console. Auto-pause can stop exposure when the failure rate passes a threshold.
Progressive rollouts docsLive updates replace the web layer: JavaScript, HTML, CSS, and assets. Native plugins, Capacitor upgrades, capacitor.config changes, and iOS or Android project files need a store release. Capgo checks bundles for native compatibility on upload, and channels can block updates to older binaries.
Native compatibility docsTry the full flow on your own app during the trial: upload a bundle, roll it out to a few devices, and roll it back.
human support from Martin
14-day unlimited free trial. No credit card required
Enterprise needs? Talk to our team