Skip to content

chore: sync plus with upstream main (conflicts)#80

Open
riderx wants to merge 6 commits into
plusfrom
sync/plus-upstream-20260514-060739
Open

chore: sync plus with upstream main (conflicts)#80
riderx wants to merge 6 commits into
plusfrom
sync/plus-upstream-20260514-060739

Conversation

@riderx
Copy link
Copy Markdown
Member

@riderx riderx commented May 14, 2026

Merge Conflict Resolution Required

The automatic sync of the plus branch with upstream main encountered merge conflicts.

What happened

  • Claude Code attempted to resolve the merge conflicts
  • The workflow created this PR so CI and manual review can finish the merge safely

Action needed: Review the branch and resolve any remaining concerns before merging.


This PR was created automatically by the Capacitor+ sync workflow

Summary by CodeRabbit

  • Chores

    • Package identifiers updated across all modules to align with official Capacitor project branding.
    • Changelog entries refreshed to reflect upstream repository and organization changes.
  • Bug Fixes

    • Enhanced iOS native file handling to improve compatibility with Swift Package Manager builds.
  • Documentation

    • Telemetry metrics infrastructure updated with new endpoint configuration for improved data collection and status validation.

Review Change Stack

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 14, 2026

📝 Walkthrough

Walkthrough

This pull request rebrands and migrates the Capacitor packages from the Cap-go/capacitor-plus fork to the official Ionic Team Capacitor repository. Package names change from @capacitor-plus/* to @capacitor/*, all metadata is updated, release documentation is migrated to point upstream, and telemetry endpoints are reconfigured. One iOS plugin processing condition is also refined to apply only under SPM.

Changes

Package and Documentation Rebranding to Official Capacitor

Layer / File(s) Summary
Package Identity and Metadata Update
android/package.json, cli/package.json, core/package.json, ios/package.json
All four workspace packages updated: name changed from @capacitor-plus/* to @capacitor/*; description, homepage, and author updated from Capgo/Capacitor+ branding to Ionic Team/Capacitor branding.
Release Documentation Migration to Upstream
CHANGELOG.md, android/CHANGELOG.md, cli/CHANGELOG.md, core/CHANGELOG.md, ios/CHANGELOG.md
All changelog files point to ionic-team/capacitor compare URLs instead of Cap-go/capacitor-plus; release dates and version bump notes updated for versions 8.3.4, 8.3.3, and 8.3.2. Several 8.3.2 sections simplified to retain only key bug fixes and remove extraneous capacitor-plus references.
Telemetry and iOS Plugin Processing
cli/src/ipc.ts, cli/src/ios/update.ts
Telemetry POST endpoint changed from api.ionicjs.com/events/metrics (status 204) to metrics-capacitor.outsystems.com/metrics (status 202); iOS Cordova plugin native file copy now skips based on isSPM condition instead of unconditionally.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐇 From Plus to pure, a hop away,
Cap-go's fork finds Ionic's way,
Packages renamed, docs renewed,
And metrics sent where they're due.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: sync plus with upstream main (conflicts)' clearly describes the main change: syncing the plus branch with upstream main while addressing merge conflicts.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ 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 sync/plus-upstream-20260514-060739

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

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

cli/src/ios/update.ts

Oops! Something went wrong! :(

ESLint: 8.57.1

ESLint couldn't find the plugin "@typescript-eslint/eslint-plugin".

(The package "@typescript-eslint/eslint-plugin" was not found when loaded as a Node module from the directory "".)

It's likely that the plugin isn't installed correctly. Try reinstalling by running the following:

npm install `@typescript-eslint/eslint-plugin`@latest --save-dev

The plugin "@typescript-eslint/eslint-plugin" was referenced from the config file in "package.json » @ionic/eslint-config/recommended » ./index".

If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team.

cli/src/ipc.ts

Oops! Something went wrong! :(

ESLint: 8.57.1

ESLint couldn't find the plugin "@typescript-eslint/eslint-plugin".

(The package "@typescript-eslint/eslint-plugin" was not found when loaded as a Node module from the directory "".)

It's likely that the plugin isn't installed correctly. Try reinstalling by running the following:

npm install `@typescript-eslint/eslint-plugin`@latest --save-dev

The plugin "@typescript-eslint/eslint-plugin" was referenced from the config file in "package.json » @ionic/eslint-config/recommended » ./index".

If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team.


Comment @coderabbitai help to get the list of available commands and usage tips.

@socket-security
Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedeslint@​8.57.18910010050100
Addedprettier-pretty-check@​0.2.07310010086100
Addedswiftlint@​2.0.0901007983100
Addedlerna@​7.4.2981008389100
Addedeslint-plugin-import@​2.32.09710010084100
Addedprettier-plugin-java@​2.8.110010010089100
Addedprettier@​3.8.3901009795100

View full report

Copy link
Copy Markdown

@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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
ios/package.json (2)

8-13: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Repository URLs inconsistent with package rename.

The package name has been changed to @capacitor/ios (line 2) with Ionic Team branding (lines 4-6), but the repository and bugs URLs still point to Cap-go/capacitor-plus. If this package is truly migrating to the official @capacitor/* scope, these URLs should point to ionic-team/capacitor. If this fork is meant to remain separate, clarify the intended package distribution strategy.

🤖 Prompt for 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.

In `@ios/package.json` around lines 8 - 13, The repository and bugs URLs in
package.json (the repository.url and bugs.url fields) still point to
Cap-go/capacitor-plus while the package "name" is set to "@capacitor/ios";
update those fields to the correct upstream if this is migrating to the official
scope (e.g., change repository.url to
git+https://github.com/ionic-team/capacitor.git and bugs.url to
https://github.com/ionic-team/capacitor/issues) or, if this fork is intentional,
update the package "name" and README to clearly indicate the fork and keep
repository.url and bugs.url pointing to Cap-go/capacitor-plus so package
metadata consistently reflects the distribution strategy.

27-29: ⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Remove @capacitor-plus/core peer dependency; keep only @capacitor/core.

The dual listing includes @capacitor-plus/core (line 28), which does not exist in this repository—the actual core package is named @capacitor/core (found in core/package.json). The sync-peer-dependencies script searches for a package named @capacitor-plus/core, which will fail since only @capacitor/core exists. This creates a broken dependency configuration where consumers cannot install @capacitor-plus/core and causes the peer dependency synchronization script to fail. Remove the non-existent @capacitor-plus/core reference and keep only @capacitor/core.

🤖 Prompt for 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.

In `@ios/package.json` around lines 27 - 29, Remove the non-existent peer
dependency entry "@capacitor-plus/core" from the package.json peerDependencies
and leave only "@capacitor/core" (i.e., delete the "@capacitor-plus/core" key so
peerDependencies contains just "@capacitor/core": "^8.3.0") to prevent the
sync-peer-dependencies script from searching for a package that doesn't exist.
♻️ Duplicate comments (1)
core/package.json (1)

8-13: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Repository URLs inconsistent with package rename.

The package name has been changed to @capacitor/core (line 2) with Ionic Team branding (lines 4-6), but the repository and bugs URLs still point to Cap-go/capacitor-plus. This is the same inconsistency as in ios/package.json. Confirm the intended publishing strategy and update URLs accordingly to point to ionic-team/capacitor if this is a true migration, or maintain separate branding if this remains a fork.

🤖 Prompt for 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.

In `@core/package.json` around lines 8 - 13, The repository and bugs URLs in
package.json ("repository" and "bugs") are still pointing to
Cap-go/capacitor-plus while the package name is changed to "@capacitor/core";
confirm the intended upstream (true migration to ionic-team/capacitor vs fork)
and update the "repository.url" and "bugs.url" fields to the correct URLs (e.g.,
git+https://github.com/ionic-team/capacitor.git and
https://github.com/ionic-team/capacitor/issues) or preserve Cap-go addresses if
this remains a fork—also mirror the same change in ios/package.json to keep both
manifests consistent.
🤖 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 `@android/package.json`:
- Around line 2-6: Update package.json to mark `@capacitor/core` as optional in
peerDependenciesMeta: add a peerDependenciesMeta entry for "@capacitor/core"
with "optional": true (while keeping the current peerDependencies that list both
"@capacitor-plus/core" and "@capacitor/core"), so npm will not require
installing `@capacitor/core`; modify the peerDependenciesMeta object (or create it
if missing) to reference the "@capacitor/core" key and set optional to true to
reflect the runtime fallback behavior used by the code that tries
`@capacitor-plus/core` first.

In `@CHANGELOG.md`:
- Around line 6-30: The CHANGELOG.md was manually edited in this PR but is
CI/CD-managed; revert the manual changes to CHANGELOG.md (undo the edits that
introduced overlapping 8.3.x content) so the file matches the autogenerated
state from the target branch, and remove it from the commit (or restore it using
the main branch version) so CI can regenerate it; ensure no further manual edits
to CHANGELOG.md are included in the branch before merging.

---

Outside diff comments:
In `@ios/package.json`:
- Around line 8-13: The repository and bugs URLs in package.json (the
repository.url and bugs.url fields) still point to Cap-go/capacitor-plus while
the package "name" is set to "@capacitor/ios"; update those fields to the
correct upstream if this is migrating to the official scope (e.g., change
repository.url to git+https://github.com/ionic-team/capacitor.git and bugs.url
to https://github.com/ionic-team/capacitor/issues) or, if this fork is
intentional, update the package "name" and README to clearly indicate the fork
and keep repository.url and bugs.url pointing to Cap-go/capacitor-plus so
package metadata consistently reflects the distribution strategy.
- Around line 27-29: Remove the non-existent peer dependency entry
"@capacitor-plus/core" from the package.json peerDependencies and leave only
"@capacitor/core" (i.e., delete the "@capacitor-plus/core" key so
peerDependencies contains just "@capacitor/core": "^8.3.0") to prevent the
sync-peer-dependencies script from searching for a package that doesn't exist.

---

Duplicate comments:
In `@core/package.json`:
- Around line 8-13: The repository and bugs URLs in package.json ("repository"
and "bugs") are still pointing to Cap-go/capacitor-plus while the package name
is changed to "@capacitor/core"; confirm the intended upstream (true migration
to ionic-team/capacitor vs fork) and update the "repository.url" and "bugs.url"
fields to the correct URLs (e.g.,
git+https://github.com/ionic-team/capacitor.git and
https://github.com/ionic-team/capacitor/issues) or preserve Cap-go addresses if
this remains a fork—also mirror the same change in ios/package.json to keep both
manifests consistent.
🪄 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: e7730283-aa7d-4327-9ad0-d54dd3181533

📥 Commits

Reviewing files that changed from the base of the PR and between 3ac8667 and 9a0dafd.

📒 Files selected for processing (11)
  • CHANGELOG.md
  • android/CHANGELOG.md
  • android/package.json
  • cli/CHANGELOG.md
  • cli/package.json
  • cli/src/ios/update.ts
  • cli/src/ipc.ts
  • core/CHANGELOG.md
  • core/package.json
  • ios/CHANGELOG.md
  • ios/package.json

Comment thread android/package.json
Comment on lines +2 to +6
"name": "@capacitor/android",
"version": "8.3.4",
"description": "Capacitor+: Enhanced Capacitor with automated upstream sync - Cross-platform apps with JavaScript and the web",
"homepage": "https://capgo.app/docs/plugins/capacitor-plus/",
"author": "Capgo Team <support@capgo.app> (https://capgo.app)",
"description": "Capacitor: Cross-platform apps with JavaScript and the web",
"homepage": "https://capacitorjs.com",
"author": "Ionic Team <hi@ionic.io> (https://ionic.io)",
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify whether both peers are currently mandatory and whether optional metadata exists.
jq '.name, .peerDependencies, .peerDependenciesMeta' android/package.json

# Check how widespread this dual-peer pattern is.
rg -n --iglob '**/package.json' '"@capacitor-plus/core"|peerDependenciesMeta'

Repository: Cap-go/capacitor-plus

Length of output: 281


🏁 Script executed:

# Check for any documentation or comments explaining the dual-peer dependency
find . -name "README*" -o -name "CHANGELOG*" | head -5 | xargs -I {} sh -c 'echo "=== {} ===" && cat {} | head -30'

Repository: Cap-go/capacitor-plus

Length of output: 10129


🏁 Script executed:

# Check git history or comments around the peerDependencies
git log --oneline -n 20 -- android/package.json 2>/dev/null || echo "Git history unavailable"

Repository: Cap-go/capacitor-plus

Length of output: 140


🏁 Script executed:

# Search for any references or explanations about `@capacitor-plus/core` in the codebase
rg -i "capacitor-plus/core" --type md --type js --type ts -B2 -A2 | head -50

Repository: Cap-go/capacitor-plus

Length of output: 2830


Mark @capacitor/core as optional in peerDependencies.

The dual peer dependency exists to support fallback compatibility (code tries @capacitor-plus/core first, then @capacitor/core), but declaring both as required forces npm to resolve and install both packages, creating unnecessary constraints. Mark @capacitor/core as optional in peerDependenciesMeta to reflect the actual runtime fallback behavior.

Suggested fix
   "peerDependencies": {
     "@capacitor-plus/core": "^8.3.0",
     "@capacitor/core": "^8.3.0"
   },
+  "peerDependenciesMeta": {
+    "@capacitor/core": {
+      "optional": true
+    }
+  },
🤖 Prompt for 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.

In `@android/package.json` around lines 2 - 6, Update package.json to mark
`@capacitor/core` as optional in peerDependenciesMeta: add a peerDependenciesMeta
entry for "@capacitor/core" with "optional": true (while keeping the current
peerDependencies that list both "@capacitor-plus/core" and "@capacitor/core"),
so npm will not require installing `@capacitor/core`; modify the
peerDependenciesMeta object (or create it if missing) to reference the
"@capacitor/core" key and set optional to true to reflect the runtime fallback
behavior used by the code that tries `@capacitor-plus/core` first.

Comment thread CHANGELOG.md
Comment on lines +6 to +30
## [8.3.4](https://github.com/ionic-team/capacitor/compare/8.3.3...8.3.4) (2026-05-12)

**Note:** Version bump only for package capacitor

## [8.3.3](https://github.com/ionic-team/capacitor/compare/8.3.2...8.3.3) (2026-05-08)

### Bug Fixes

- **cli:** copy plugin files in CocoaPods projects ([#8467](https://github.com/ionic-team/capacitor/issues/8467)) ([b2d7719](https://github.com/ionic-team/capacitor/commit/b2d771926a180e60deea31992d7d4abcd5ca3bc7))

## [8.3.2](https://github.com/ionic-team/capacitor/compare/8.3.1...8.3.2) (2026-05-07)

### Bug Fixes

- **cli:** add cSettings support for compiler flags in generated Package.swift ([#8448](https://github.com/ionic-team/capacitor/issues/8448)) ([0bd0676](https://github.com/ionic-team/capacitor/commit/0bd0676315c5fd77e50312dd7b5bf4990dcbd7d0))
- **cli:** add system framework and weak framework support in SPM Package.swift ([#8447](https://github.com/ionic-team/capacitor/issues/8447)) ([3232f0f](https://github.com/ionic-team/capacitor/commit/3232f0fe1d9811b0b5c500e3dc05cb8a250177f8))
- **cli:** correct Capacitor plugin SPM compat check ([#8440](https://github.com/ionic-team/capacitor/issues/8440)) ([e5ccc45](https://github.com/ionic-team/capacitor/commit/e5ccc451dda27d56bca824ed644bd20fe4d988cb))
- **cli:** generate binaryTarget entries for custom xcframeworks in Package.swift ([#8445](https://github.com/ionic-team/capacitor/issues/8445)) ([1f7e33f](https://github.com/ionic-team/capacitor/commit/1f7e33fca43d183332ec19d22b0d75ef81d8cc6d))
- **cli:** generate resource entries in Package.swift ([#8455](https://github.com/ionic-team/capacitor/issues/8455)) ([790bd27](https://github.com/ionic-team/capacitor/commit/790bd27123497111984227010c3162cec94a108e))
- **cli:** handle Cordova plugins without iOS source files ([#8443](https://github.com/ionic-team/capacitor/issues/8443)) ([0da130e](https://github.com/ionic-team/capacitor/commit/0da130eb7a861bee4e2c35bc0aac53ba9c983fc3))
- **cli:** link plugin dependencies in Package.swift ([#8457](https://github.com/ionic-team/capacitor/issues/8457)) ([b3c769e](https://github.com/ionic-team/capacitor/commit/b3c769e856c826b1174518877cf86ac7ce73bf09))
- **ios:** support Cordova plugins with Package.swift ([#8438](https://github.com/ionic-team/capacitor/issues/8438)) ([139943b](https://github.com/ionic-team/capacitor/commit/139943b0c05fddb2d1ce2d6f468800fddf17b4cf))
- **SystemBars:** avoid extra view padding on API <= 34 ([#8439](https://github.com/ionic-team/capacitor/issues/8439)) ([5b135a7](https://github.com/ionic-team/capacitor/commit/5b135a70217be560e7176c8d5b514cc92ed3e4e4))

## [8.3.1](https://github.com/ionic-team/capacitor/compare/8.3.0...8.3.1) (2026-04-16)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Revert manual changelog edits and let CI regenerate.

This file was manually altered (including overlapping 8.3.x release content), but this repository treats CHANGELOG.md as CI/CD-managed output, so these edits should not be merged from this PR branch.

As per coding guidelines, "Do not manually edit CHANGELOG.md; it is managed automatically by CI/CD".

🤖 Prompt for 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.

In `@CHANGELOG.md` around lines 6 - 30, The CHANGELOG.md was manually edited in
this PR but is CI/CD-managed; revert the manual changes to CHANGELOG.md (undo
the edits that introduced overlapping 8.3.x content) so the file matches the
autogenerated state from the target branch, and remove it from the commit (or
restore it using the main branch version) so CI can regenerate it; ensure no
further manual edits to CHANGELOG.md are included in the branch before merging.

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.

3 participants