docs: add Native Compatibility page for live updates#741
Conversation
Explains why OTA bundles can't change native code, how Capgo detects native-incompatible bundles (bundle compatibility / releaseType), what a live-but-incompatible bundle means for users, and how to ship safely (publish a native build, roll back, or use --auto-min-update-version on a metadata channel). Fills the previously-404 /docs/live-updates/compatibility/ URL.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR adds a new documentation page explaining native compatibility constraints for Capgo live updates. The page describes how updates are limited to JavaScript bundles, documents Capgo's detection mechanism for native package changes, illustrates CLI compatibility checking workflows, and outlines mitigation strategies including ChangesNative Compatibility Documentation
🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c263b89249
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@apps/docs/src/content/docs/docs/live-updates/compatibility.mdx`:
- Line 91: The command string "npx `@capgo/cli` channel set production
com.example.app --disable-auto-update metadata" omits the version tag; update it
to use the same pattern as other commands by adding "`@latest`" to the package
(i.e., change "`@capgo/cli`" to "`@capgo/cli`@latest") so the line matches the other
examples such as the entries on lines referencing "npx `@capgo/cli`@latest".
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 67fd12a5-c554-4fb7-b825-2caae98350e8
📒 Files selected for processing (1)
apps/docs/src/content/docs/docs/live-updates/compatibility.mdx
crate-ci/typos@v1.46.3 splits "PNGs" into "PN" and flags it as a typo of "ON", failing the Spell Check job. Pre-existing false positive in apps/web/src/content/blog/en/how-to-change-the-app-icon-on-iphone.md, unrelated to this PR. Verified clean with typos 1.46.3.
|
Added a second commit (
Happy to split this into its own PR if you'd rather keep this one docs-only. (AI generated) |
Switch all @capgo/cli examples on the Native Compatibility page from npx to bunx (AGENTS.md package-manager rule), and add the missing @latest tag to the channel set command for version consistency.
…patibility # Conflicts: # _typos.toml
Cap-go/capgo#2383 adds bundle upload --fail-on-incompatible, a hard CI gate that fails the upload when the bundle's native packages don't match the channel's live version. Lead the prevention section with it; keep metadata/--auto-min-update-version as the delivery-gating option; note the default non-blocking behavior can be hardened.
|



Summary (AI generated)
Adds a new Native Compatibility page to the Live Updates docs:
/docs/live-updates/compatibility/.There was no dedicated page explaining native compatibility for OTA updates — the concept behind "this bundle is live but can crash older installs." The closest existing page (Version Targeting) is framed around AppFlow migration, so this page explains the concept directly and fills the previously‑404'ing
/docs/live-updates/compatibility/URL.The page covers:
bundle compatibility(local‑vs‑live native‑package table) andbundle releaseType(native/OTA, for CI gating).--auto-min-update-versionon ametadatachannel.Accuracy notes (AI generated)
--auto-min-update-version). Explicitly notes that semver strategies (--disable-auto-update major) are not a substitute — they only block version‑number jumps and never inspect native code.--native-versionupload flag: it does not exist in the current CLI (verified against the auto‑generated CLI reference and the CLI source — only--min-update-version/--auto-min-update-versionexist).Sidebar
Auto‑generated — the Live Updates section is
autogenerated, so the page appears automatically viasidebar.order: 3. Nosidebar.mjschange needed.Test plan (AI generated)
bun run check(astro check) inapps/docs→ 0 errors / 0 warnings / 0 hints/docs/live-updates/compatibility/(HTTP 200); internal links resolveFollow‑up (out of scope) (AI generated)
version-targeting.mdxandupgrade/from-appflow-to-capgo.mdxstill reference the non‑existent--native-versionflag and present semver as a native‑compatibility guarantee. Flagged for a separate fix.Summary by CodeRabbit