Skip to content

[codex] fix Ahrefs 404 links and redirects#635

Merged
riderx merged 6 commits into
mainfrom
codex/fix-ahrefs-404-links
May 5, 2026
Merged

[codex] fix Ahrefs 404 links and redirects#635
riderx merged 6 commits into
mainfrom
codex/fix-ahrefs-404-links

Conversation

@riderx
Copy link
Copy Markdown
Member

@riderx riderx commented May 5, 2026

Summary

  • update stale internal docs/blog links reported by Ahrefs to current Capgo pages
  • add 302 coverage for legacy web/blog paths in _redirects
  • add a docs Worker redirect map for legacy /docs/* paths because docs traffic is served before web _redirects
  • route root llms.txt and llms-full.txt through the docs worker

Validation

  • CSV coverage script: 309 unique internal broken URLs, 0 missing, 0 external broken URLs
  • bun run check
  • bun run build
  • bun run build:docs
  • bunx wrangler deploy --dry-run --outdir .wrangler/dry-run from apps/docs

Note: the web build still prints the existing blog category route warnings, but exits successfully.

Summary by CodeRabbit

  • Documentation

    • Updated dozens of docs and blog links to fix broken/incorrect paths and improve navigation across getting-started, plugins, CLI, live-updates, migration, and troubleshooting content.
  • Chores

    • Expanded and standardized site redirects, added TXT redirect targets, and adjusted edge/deployment routing so updated docs and new routes resolve correctly.
  • Bug Fixes

    • Corrected multiple relative-link and typo issues in documentation and blog posts.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 5, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 332cd7bf-a94f-4e1e-ad3a-5407603992be

📥 Commits

Reviewing files that changed from the base of the PR and between abebc07 and 2441255.

📒 Files selected for processing (1)
  • apps/docs/scripts/sync_public.ts

📝 Walkthrough

Walkthrough

Added a Cloudflare Workers redirect handler and worker config, updated many docs/blog internal links and static redirects to new doc routes, adjusted site navigation and plugin README generation, and ensured the docs sync script always copies _redirects.

Changes

Docs & Routing Migration + Worker Redirects

Layer / File(s) Summary
Data Shape / Types
apps/docs/src/worker/index.ts
Adds Env with ASSETS.fetch and redirect types: RedirectStatus, RedirectDefinition, RedirectRow.
Redirect Data
apps/docs/src/worker/index.ts, apps/web/public/_redirects
Introduces ordered redirectRows and builds redirectMap; expands static _redirects with legacy→new documentation mappings.
Core Worker Logic
apps/docs/src/worker/index.ts
Adds redirectResponse(request, redirect) and default exported async fetch(request, env): Promise<Response> that returns configured redirect responses or proxies to env.ASSETS.fetch.
Worker Deployment / Assets Binding
apps/docs/wrangler.jsonc
Sets main to ./src/worker/index.ts, adds assets.binding: "ASSETS", run_worker_first: true, and adds llms.txt/llms-full.txt routes for prod and dev.
Astro Redirect
apps/docs/astro.config.mjs
Updates 301 redirect for '/docs/getting-started/' to point to /docs/getting-started/quickstart/.
Docs Content Link Fixes
apps/docs/src/content/docs/docs/**/*.mdx
Standardizes many internal doc links (updater plugin routes, CLI/cloud-build, social-login relative paths, migrations, notifyAppReady docs, etc.).
Blog Content Link Updates
apps/web/src/content/blog/en/*
Updates 100+ blog post hyperlinks to new doc routes (manual-update → getting-started/deploy, channel-system → live-updates/channels, hybrid-update → live-updates/differentials), fixes slugs/typos and small formatting.
Static Redirects File
apps/web/public/_redirects
Expanded and retargeted many redirect rules to new /docs/... paths and added migration/platform redirects; preserved sitemap/robots rules.
Site Pages & Nav
apps/web/src/pages/*.astro, apps/web/public/plugins-readme.md
Adjusted related-solution/enterprise links (solutions/enterpriseenterprise), changed CLI docs link to /docs/cli/overview/, updated About/Enterprise CTAs and plugins README link.
Static Sync Script
apps/docs/scripts/sync_public.ts
Always includes _redirects in referencedAssets (alwaysCopiedAssets), validates presence, and reports copiedCount (per-asset) alongside copied bytes.
Utility Script Formatting
scripts/generate-plugins-readme.ts
Format/cleanup and changed Capgo CLI card docsUrl fallback to /docs/cli/overview/; minor refactor to slug computation and HTML string formatting.

Sequence Diagram

sequenceDiagram
participant Client as Client
participant Worker as Worker (Cloudflare)
participant Assets as Assets (ASSETS binding)

Client->>Worker: HTTP request (URL)
Worker->>Worker: parse pathname, lookup redirectMap
alt redirect found
    Worker->>Client: 301/302 redirect to new URL
else not found
    Worker->>Assets: env.ASSETS.fetch(request)
    Assets-->>Worker: Response (static/content)
    Worker-->>Client: Relay Response
end
Loading

Estimated Code Review Effort

🎯 3 (Moderate) | ⏱️ ~45 minutes

Possibly Related PRs

  • Cap-go/website#607: Overlaps edits touching docs worker and Astro config routing surfaces.
  • Cap-go/website#634: Overlaps blog post updates to automatic Capacitor build posts and related link changes.

Poem

🐰 I hopped through redirects, tidy and light,
Paths mended neatly, every link made right.
Quickstart signs shine where old routes would roam,
Workers weave routes and guide each browser home.
A carrot-coded hop — the docs now hum bright.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/fix-ahrefs-404-links

@riderx riderx marked this pull request as ready for review May 5, 2026 10:32
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 59802dd7d3

ℹ️ 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".

Comment thread apps/docs/src/content/docs/docs/cli/cloud-build/getting-started.mdx Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

🤖 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/getting-started/add-an-app.mdx`:
- Line 60: Update the user-facing sentence on the page so it reads correctly:
change "See all option available" to "See all options available" and "This
information will be infer if not provided." to "This information will be
inferred if not provided." so the link text and the note are grammatically
correct (update the string that contains that sentence near the existing link to
/docs/plugins/updater/settings/).

In `@apps/docs/src/content/docs/docs/plugins/electron-updater/index.mdx`:
- Line 103: The link label "[Migration from Capacitor]" points to
"/docs/plugins/electron-updater/getting-started/" which is a semantic mismatch;
either change the link target to the correct migration doc (e.g., replace
"/docs/plugins/electron-updater/getting-started/" with the migration page path)
or change the label to "Getting started" so the label matches the existing
destination—update the markdown link text "[Migration from Capacitor]" or the
URL accordingly.

In
`@apps/web/src/content/blog/en/capacitor-ota-updates-app-store-approval-guide.md`:
- Line 153: The link in this English article points to the Italian docs path
"/it/docs/getting-started/deploy/"; update the URL to the English docs path
(replace "/it/" with "/en/") so the anchor text "update management" in the
content points to the correct locale; locate the string that contains
"https://capgo.app/it/docs/getting-started/deploy/" and change it to
"https://capgo.app/en/docs/getting-started/deploy/".

In
`@apps/web/src/content/blog/en/capgo-vs-appflow-deployment-solutions-compared.md`:
- Line 36: The anchor text "secure updates" in the sentence containing the link
to https://capgo.app/docs/live-updates/differentials/ should be aligned with the
linked doc topic: either change the anchor text to "differential updates" (so
the text matches the differencing/delta delivery doc) or replace the URL with a
Capgo security-focused doc and keep "secure updates"; update the markdown
sentence where that link appears to ensure anchor text and target document match
(search for the string "secure updates" in the blog post to locate and edit).
- Line 24: The Appflow CI/CD claim in the markdown line containing "**Appflow**:
Proprietary, cloud-only, higher costs ($5,000/year for some teams), and
[built-in CI/CD](https://capgo.app/blog/setup-ci-and-cd-in-gitlab/)." uses a
Capgo GitLab CI/CD link that doesn't support the Appflow statement; update that
line by replacing the current Capgo link with an Appflow-specific source that
documents Appflow's built-in CI/CD (or remove the bracketed link entirely) so
the text "Appflow" and its claim are either substantiated by a correct Appflow
URL or left unlinked.

In `@apps/web/src/content/blog/en/staged-rollouts-vs-full-releases-comparison.md`:
- Line 92: Replace the incorrect target URL for the "Automatic Updates" link
(the table row containing "**[Automatic
Updates](https://capgo.app/docs/getting-started/add-an-app/)**") with the
auto-update specific docs URL used elsewhere
(https://capgo.app/docs/plugins/updater/self-hosted/auto-update/) so the link
text "Automatic Updates" points to the correct auto-update documentation.

In `@apps/web/src/pages/solutions/production-updates.astro`:
- Line 763: The SVG with class "h-5 w-5 text-blue-400" in the related-card (line
shown in the diff) is decorative and should be marked as such: add
aria-hidden="true" (and optionally focusable="false") to that <svg> element so
screen readers ignore it; update the SVG element attributes in the related-card
markup accordingly.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 071b5a67-55da-42d0-ba72-8fd7c00ee61b

📥 Commits

Reviewing files that changed from the base of the PR and between ce81db3 and 59802dd.

📒 Files selected for processing (182)
  • apps/docs/astro.config.mjs
  • apps/docs/src/content/docs/docs/cli/cloud-build/credentials.mdx
  • apps/docs/src/content/docs/docs/cli/cloud-build/getting-started.mdx
  • apps/docs/src/content/docs/docs/cli/cloud-build/troubleshooting.mdx
  • apps/docs/src/content/docs/docs/faq.mdx
  • apps/docs/src/content/docs/docs/getting-started/add-an-app.mdx
  • apps/docs/src/content/docs/docs/live-updates/encryption.mdx
  • apps/docs/src/content/docs/docs/live-updates/features.mdx
  • apps/docs/src/content/docs/docs/plugins/electron-updater/index.mdx
  • apps/docs/src/content/docs/docs/plugins/social-login/firebase/google/android.mdx
  • apps/docs/src/content/docs/docs/plugins/social-login/firebase/google/ios.mdx
  • apps/docs/src/content/docs/docs/plugins/social-login/firebase/introduction.mdx
  • apps/docs/src/content/docs/docs/plugins/social-login/supabase/Apple/android.mdx
  • apps/docs/src/content/docs/docs/plugins/social-login/supabase/Apple/ios.mdx
  • apps/docs/src/content/docs/docs/plugins/social-login/supabase/Apple/web.mdx
  • apps/docs/src/content/docs/docs/plugins/social-login/supabase/introduction.mdx
  • apps/docs/src/content/docs/docs/plugins/updater/events.mdx
  • apps/docs/src/content/docs/docs/plugins/updater/local-dev/cli.mdx
  • apps/docs/src/content/docs/docs/plugins/updater/self-hosted/auto-update.mdx
  • apps/docs/src/content/docs/docs/plugins/updater/self-hosted/getting-started.mdx
  • apps/docs/src/content/docs/docs/plugins/updater/self-hosted/handling-channels.mdx
  • apps/docs/src/content/docs/docs/plugins/updater/self-hosted/handling-stats.mdx
  • apps/docs/src/content/docs/docs/plugins/updater/self-hosted/handling-updates.mdx
  • apps/docs/src/worker/index.ts
  • apps/docs/wrangler.jsonc
  • apps/web/public/_redirects
  • apps/web/public/plugins-readme.md
  • apps/web/src/content/blog/en/5-common-ota-update-mistakes-to-avoid.md
  • apps/web/src/content/blog/en/5-steps-to-deploy-hotfixes-with-capgo.md
  • apps/web/src/content/blog/en/5-steps-to-distribute-custom-capacitor-plugins.md
  • apps/web/src/content/blog/en/android-setup-for-capacitor-apps.md
  • apps/web/src/content/blog/en/api-rate-limiting-for-app-store-compliance.md
  • apps/web/src/content/blog/en/app-store-metadata-what-developers-must-know.md
  • apps/web/src/content/blog/en/app-store-vs-direct-updates-what-developers-need-to-know.md
  • apps/web/src/content/blog/en/appcenter-migration.md
  • apps/web/src/content/blog/en/apple-policy-updates-for-capacitor-apps-2025.md
  • apps/web/src/content/blog/en/automated-consent-tracking-for-capacitor-apps.md
  • apps/web/src/content/blog/en/automatic-capacitor-android-build-github-action.md
  • apps/web/src/content/blog/en/automatic-capacitor-ios-build-github-action.md
  • apps/web/src/content/blog/en/automating-ci-cd-with-conventional-commits.md
  • apps/web/src/content/blog/en/best-practices-for-capacitor-script-automation.md
  • apps/web/src/content/blog/en/capacitor-app-initialization-step-by-step-guide.md
  • apps/web/src/content/blog/en/capacitor-apps-and-data-sharing-policies.md
  • apps/web/src/content/blog/en/capacitor-apps-and-russias-data-laws-compliance-tips.md
  • apps/web/src/content/blog/en/capacitor-build-pipelines-ios-vs-android.md
  • apps/web/src/content/blog/en/capacitor-changelog-management-ultimate-guide.md
  • apps/web/src/content/blog/en/capacitor-cicd-plugins-vs-appflow-key-differences.md
  • apps/web/src/content/blog/en/capacitor-cli-commands-for-version-updates.md
  • apps/web/src/content/blog/en/capacitor-cli-plugin-commands-overview.md
  • apps/web/src/content/blog/en/capacitor-cli-project-setup-guide.md
  • apps/web/src/content/blog/en/capacitor-live-updates-handling-version-conflicts.md
  • apps/web/src/content/blog/en/capacitor-live-updates-staying-compliant-with-apple.md
  • apps/web/src/content/blog/en/capacitor-native-bridge-android-plugin-basics.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-app-store-approval-guide.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-best-practices-for-performance.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-cloud-hosting-options-compared.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-debugging-issues.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-security-tips.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-staying-compliant.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-targeting-ios-vs-android.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-use-cases-explained.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-version-targeting-explained.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-versioning-best-practices.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-vs-app-store-restrictions.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-vs-traditional-testing-methods.md
  • apps/web/src/content/blog/en/capacitor-ota-updates-vs-traditional-versioning.md
  • apps/web/src/content/blog/en/capacitor-patch-management-ios-vs-android.md
  • apps/web/src/content/blog/en/capacitor-plugin-options-for-ota-updates.md
  • apps/web/src/content/blog/en/capacitor-plugins-for-secure-session-management.md
  • apps/web/src/content/blog/en/capacitor-plugins-what-you-need-to-know.md
  • apps/web/src/content/blog/en/capacitor-vs-appflow-ota-update-solutions-compared.md
  • apps/web/src/content/blog/en/capacitor-vs-appflow-versioning-differences.md
  • apps/web/src/content/blog/en/capgo-for-app-store-safe-ota-updates.md
  • apps/web/src/content/blog/en/capgo-integration-with-github-actions-guide.md
  • apps/web/src/content/blog/en/capgo-ota-updates-vs-manual-submissions.md
  • apps/web/src/content/blog/en/capgo-plugin-for-custom-event-tracking.md
  • apps/web/src/content/blog/en/capgo-plugin-lightweight-deployment-for-capacitor-apps.md
  • apps/web/src/content/blog/en/capgo-plugin-scheduling-updates-tutorial.md
  • apps/web/src/content/blog/en/capgo-vs-appflow-deployment-solutions-compared.md
  • apps/web/src/content/blog/en/ccpa-compliance-for-mobile-apps.md
  • apps/web/src/content/blog/en/checklist-for-cybersecurity-compliance-in-china.md
  • apps/web/src/content/blog/en/checklist-for-google-play-ota-compliance.md
  • apps/web/src/content/blog/en/checklist-for-validating-capacitor-app-updates.md
  • apps/web/src/content/blog/en/chinas-cybersecurity-law-impact-on-app-updates.md
  • apps/web/src/content/blog/en/chinas-data-privacy-laws-impact-on-mobile-apps.md
  • apps/web/src/content/blog/en/common-cicd-bottlenecks-in-ota-pipelines.md
  • apps/web/src/content/blog/en/compliance-checks-in-cicd-for-capacitor-apps.md
  • apps/web/src/content/blog/en/creating-and-deleting-update-channels-in-capacitor.md
  • apps/web/src/content/blog/en/cross-platform-uiux-best-practices-for-capacitor-apps.md
  • apps/web/src/content/blog/en/custom-ios-plugin-optimization-best-practices.md
  • apps/web/src/content/blog/en/development-vs-production-key-differences-in-capacitor-apps.md
  • apps/web/src/content/blog/en/firebase-crashlytics-for-capacitor-apps.md
  • apps/web/src/content/blog/en/fix-capacitor-plugin-build-errors-with-agp-9.md
  • apps/web/src/content/blog/en/fix-capacitor-version-mismatch-errors.md
  • apps/web/src/content/blog/en/fixing-build-failures-in-capacitor-ci-cd-pipelines.md
  • apps/web/src/content/blog/en/google-play-compliance-key-update-strategies.md
  • apps/web/src/content/blog/en/google-play-staged-rollouts-how-it-works.md
  • apps/web/src/content/blog/en/how-apple-enforces-ota-update-restrictions.md
  • apps/web/src/content/blog/en/how-background-tasks-work-in-capacitor.md
  • apps/web/src/content/blog/en/how-capacitor-bridges-web-and-native-code.md
  • apps/web/src/content/blog/en/how-capacitor-handles-platform-differences.md
  • apps/web/src/content/blog/en/how-capgo-handles-version-control-and-rollbacks.md
  • apps/web/src/content/blog/en/how-chinas-cybersecurity-law-impacts-app-developers.md
  • apps/web/src/content/blog/en/how-chinas-data-laws-impact-app-store-submissions.md
  • apps/web/src/content/blog/en/how-cicd-tools-trigger-ota-updates.md
  • apps/web/src/content/blog/en/how-delta-updates-reduce-payload-size.md
  • apps/web/src/content/blog/en/how-mobile-apps-stay-compliant-with-us-privacy-laws.md
  • apps/web/src/content/blog/en/how-native-bridge-works-in-capacitor-android-apps.md
  • apps/web/src/content/blog/en/how-ota-encryption-meets-app-store-compliance.md
  • apps/web/src/content/blog/en/how-ota-updates-affect-app-store-security.md
  • apps/web/src/content/blog/en/how-rbac-secures-ota-updates-in-capacitor-apps.md
  • apps/web/src/content/blog/en/how-to-add-alerts-to-ci-cd-pipelines.md
  • apps/web/src/content/blog/en/how-to-add-third-party-plugins-in-capacitor-apps.md
  • apps/web/src/content/blog/en/how-to-monitor-capacitor-app-updates.md
  • apps/web/src/content/blog/en/how-to-optimize-background-tasks-in-capacitor.md
  • apps/web/src/content/blog/en/how-to-optimize-capacitor-update-rollouts.md
  • apps/web/src/content/blog/en/how-to-release-major-version-in-capgo.md
  • apps/web/src/content/blog/en/how-to-schedule-ota-updates-for-capacitor-apps.md
  • apps/web/src/content/blog/en/how-to-secure-ota-updates-in-ci-cd-pipelines.md
  • apps/web/src/content/blog/en/how-to-track-ota-update-success-in-capacitor-apps.md
  • apps/web/src/content/blog/en/how-to-use-aar-files-in-capacitor-plugins.md
  • apps/web/src/content/blog/en/how-to-use-capacitor-cli-for-ota-updates.md
  • apps/web/src/content/blog/en/how-to-use-capgo-documentation-for-ota-updates.md
  • apps/web/src/content/blog/en/how-to-use-semantic-versioning-with-capgo-ota-updates.md
  • apps/web/src/content/blog/en/how-version-work-in-capgo.md
  • apps/web/src/content/blog/en/icp-filing-for-mobile-apps-in-china-step-by-step-guide.md
  • apps/web/src/content/blog/en/implementing-native-bridge-for-ios-in-capacitor.md
  • apps/web/src/content/blog/en/introducing-capgo-cloud-build.md
  • apps/web/src/content/blog/en/introducing-end-to-end-security-to-capacitor-updater-with-code-signing.md
  • apps/web/src/content/blog/en/live-updates-faq-answers-for-app-developers.md
  • apps/web/src/content/blog/en/monitor-ota-updates-in-capacitor-apps.md
  • apps/web/src/content/blog/en/npm-scripts-for-capacitor-ota-updates-explained.md
  • apps/web/src/content/blog/en/open-source-vs-proprietary-app-update-solutions.md
  • apps/web/src/content/blog/en/ota-updates-in-beta-staying-policy-compliant.md
  • apps/web/src/content/blog/en/ota-updates-in-cicd-security-and-compliance-tips.md
  • apps/web/src/content/blog/en/payment-data-security-for-app-store-approval.md
  • apps/web/src/content/blog/en/pci-dss-compliance-for-mobile-apps-key-requirements.md
  • apps/web/src/content/blog/en/phased-rollouts-for-capacitor-live-updates.md
  • apps/web/src/content/blog/en/pipeda-compliance-for-mobile-apps-in-canada.md
  • apps/web/src/content/blog/en/privacy-manifest-for-capacitor-apps-guide.md
  • apps/web/src/content/blog/en/privacy-manifest-for-ios-apps.md
  • apps/web/src/content/blog/en/quasar-mobile-app-capacitor.md
  • apps/web/src/content/blog/en/real-time-update-metrics-for-capacitor-apps.md
  • apps/web/src/content/blog/en/real-time-updates-with-user-segmentation.md
  • apps/web/src/content/blog/en/resource-allocation-for-ota-updates-best-practices.md
  • apps/web/src/content/blog/en/rollback-management-with-capgo-guide.md
  • apps/web/src/content/blog/en/rollback-mechanisms-in-capacitor-plugins.md
  • apps/web/src/content/blog/en/rollback-strategies-for-capacitor-live-updates.md
  • apps/web/src/content/blog/en/self-hosted-capgo.md
  • apps/web/src/content/blog/en/server-setup-for-capacitor-ota-updates.md
  • apps/web/src/content/blog/en/setting-up-capacitor-local-environment.md
  • apps/web/src/content/blog/en/setting-up-cicd-for-capacitor-apps.md
  • apps/web/src/content/blog/en/ssl-pinning-implementation-tools-and-plugins.md
  • apps/web/src/content/blog/en/staged-rollouts-vs-full-releases-comparison.md
  • apps/web/src/content/blog/en/staging-ota-updates-best-practices.md
  • apps/web/src/content/blog/en/state-privacy-laws-for-mobile-apps-comparison.md
  • apps/web/src/content/blog/en/testing-capacitor-ota-updates.md
  • apps/web/src/content/blog/en/third-party-libraries-apple-policy-compliance.md
  • apps/web/src/content/blog/en/top-6-tools-for-managing-app-updates-in-2025.md
  • apps/web/src/content/blog/en/top-tools-for-debugging-ota-updates-in-capacitor.md
  • apps/web/src/content/blog/en/top-tools-for-debugging-platform-specific-code-in-capacitor.md
  • apps/web/src/content/blog/en/ultimate-guide-to-animation-performance-in-capacitor-apps.md
  • apps/web/src/content/blog/en/ultimate-guide-to-app-store-compliant-ota-updates.md
  • apps/web/src/content/blog/en/ultimate-guide-to-capacitor-ota-updates.md
  • apps/web/src/content/blog/en/ultimate-guide-to-capacitor-plugin-development.md
  • apps/web/src/content/blog/en/ultimate-guide-to-debugging-capacitor-apps.md
  • apps/web/src/content/blog/en/ultimate-guide-to-ota-update-security-for-capacitor-apps.md
  • apps/web/src/content/blog/en/ultimate-guide-to-reducing-latency-in-capacitor-apps.md
  • apps/web/src/content/blog/en/understanding-apples-privacy-manifest.md
  • apps/web/src/content/blog/en/update-your-capacitor-apps-seamlessly-using-capacitor-updater.md
  • apps/web/src/content/blog/en/usage-frequency-segmentation-for-app-updates.md
  • apps/web/src/content/blog/en/user-consent-for-ota-updates-best-practices.md
  • apps/web/src/content/blog/en/version-control-tips-for-mobile-ci-cd.md
  • apps/web/src/content/blog/en/version-tagging-in-capacitor-apps.md
  • apps/web/src/content/blog/en/why-consent-management-matters-for-app-compliance.md
  • apps/web/src/pages/about.astro
  • apps/web/src/pages/enterprise.astro
  • apps/web/src/pages/solutions/cordova-to-capacitor.astro
  • apps/web/src/pages/solutions/direct-updates.astro
  • apps/web/src/pages/solutions/pr-preview.astro
  • apps/web/src/pages/solutions/production-updates.astro
  • scripts/generate-plugins-readme.ts

Comment thread apps/docs/src/content/docs/docs/getting-started/add-an-app.mdx Outdated
Comment thread apps/docs/src/content/docs/docs/plugins/electron-updater/index.mdx Outdated
Comment thread apps/web/src/content/blog/en/capacitor-ota-updates-app-store-approval-guide.md Outdated
Comment thread apps/web/src/content/blog/en/capgo-vs-appflow-deployment-solutions-compared.md Outdated
Comment thread apps/web/src/content/blog/en/capgo-vs-appflow-deployment-solutions-compared.md Outdated
Comment thread apps/web/src/content/blog/en/staged-rollouts-vs-full-releases-comparison.md Outdated
Comment thread apps/web/src/pages/solutions/production-updates.astro Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/worker/index.ts`:
- Around line 14-165: The redirectRows array is missing parity redirects for two
routes; add four entries to redirectRows: ['/docs/self-hosted/auto-update',
'/docs/plugins/updater/self-hosted/auto-update/', 302] and
['/docs/self-hosted/auto-update/',
'/docs/plugins/updater/self-hosted/auto-update/', 302], and
['/docs/plugin/know-issues', '/docs/plugins/updater/commonproblems/', 302] and
['/docs/plugin/know-issues/', '/docs/plugins/updater/commonproblems/', 302] so
the Worker resolves the same redirects defined in _redirects; update the
redirectRows constant accordingly.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: de0ebdcc-7b8f-471b-abf3-61baf7d27b2d

📥 Commits

Reviewing files that changed from the base of the PR and between 59802dd and 84023c9.

📒 Files selected for processing (3)
  • apps/docs/src/worker/index.ts
  • apps/web/public/_redirects
  • scripts/generate-plugins-readme.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • scripts/generate-plugins-readme.ts

Comment thread apps/docs/src/worker/index.ts
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/scripts/sync_public.ts`:
- Around line 107-109: The code currently seeds required assets into
referencedAssets from alwaysCopiedAssets but later silently skips missing
required files (causing false-success syncs); update the logic to validate all
required assets before copying: iterate alwaysCopiedAssets, check existence of
each required asset in the source (the same place/filesystem logic used later
for copy), and if any are missing throw an error or exit (do not continue
silently). Remove or replace the silent-continue path used when required assets
are absent, and only increment/report synced assets after the upfront validation
succeeds so referencedAssets and the synced count remain accurate.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1c215700-c5f0-43b2-9491-8078a8013dc0

📥 Commits

Reviewing files that changed from the base of the PR and between 9c79b07 and abebc07.

📒 Files selected for processing (4)
  • apps/docs/scripts/sync_public.ts
  • apps/web/public/_redirects
  • apps/web/src/content/blog/en/automatic-capacitor-android-build-github-action.md
  • apps/web/src/content/blog/en/automatic-capacitor-ios-build-github-action.md
✅ Files skipped from review due to trivial changes (3)
  • apps/web/src/content/blog/en/automatic-capacitor-ios-build-github-action.md
  • apps/web/src/content/blog/en/automatic-capacitor-android-build-github-action.md
  • apps/web/public/_redirects

Comment thread apps/docs/scripts/sync_public.ts
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 5, 2026

@riderx riderx merged commit c8e37a2 into main May 5, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant