Fixes flow back upstream
Copy a setup prompt with the install steps and the full markdown guide for this plugin.
Fixes flow back upstream
Section titled βFixes flow back upstreamβNot every improvement waits on Ionicβs release schedule. When a fix is developed or merged in this fork, maintainers can propose the same change on upstream main. That path is manual today. There is no bot that opens upstream PRs for you.
ββββββββββββββββββββββ βββββββββββββββββββββββ βββββββββββββββββββββββββββββββββ PR β plus β β CI, review, merge, β β Manual PR β ββ (fork-only fix) ββββββΆβ npm release ββββββΆβ ionic-team/capacitor main βββββββββββββββββββββββ βββββββββββββββββββββββ ββββββββββββββββββββββββββββββββ1. How a fix lands in Capacitor+
Section titled β1. How a fix lands in Capacitor+βThis applies to fork-only work (not branches named sync/upstream-* or sync/plus-upstream-*, which come from the daily upstream sync).
| Step | What happens | Automated? |
|---|---|---|
| Branching | Open a feature branch and a pull request against the plus branch | No |
| CI | The CI workflow runs lint and platform builds on the PR | Yes |
| Review | A maintainer reviews and merges when CI is green | No (manual) |
| Version tag | After merge to plus, the Bump version workflow runs tests, bumps the patch version with Lerna, and pushes a git tag | Yes |
| npm release | The tag triggers Build and publish, which stages @capacitor-plus/* packages and requests approval. Packages become available after approval; the workflow can finish if the request fails | Staging and request only |
Example fork-only fix merged on plus: Cap-go/capacitor-plus#187 (fix(ios): make private API calls static for App Store 2.5.2).
2. Opening the matching upstream PR on ionic-team/capacitor
Section titled β2. Opening the matching upstream PR on ionic-team/capacitorβThere is no GitHub Actions workflow in this repository that opens or updates upstream pull requests. Maintainers (or the original author) do this by hand:
- Open a pull request on ionic-team/capacitor targeting
main(ornextwhen the change is breaking, per upstream branch policy). - Follow upstreamβs CONTRIBUTING.md template (description, change type, platforms).
- In the PR body, link the Capacitor+ pull request or issue when the change already shipped in the fork, so reviewers can compare behavior and npm availability.
The Sync Upstream PRs workflow imports open upstream PRs into sync/upstream-pr-* branches (inbound only, not a backport tool). On schedule it fetches at most 100 open PRs, skips drafts and PRs authored by riderx, and matching PRs from other authors can still be imported. To sync one upstream PR by number, including a draft, set sync_mode to specific_pr and enter the number in pr_number.
When merges hit conflicts, the workflow retries with Gitβs upstream-preferred strategy (-X theirs), opens a sync pull request labeled merge-conflict when that succeeds, and can file a GitHub issue when automatic resolution fails. A specific_pr run deletes and recreates the sync/upstream-pr-<n> branch from plus and the upstream PR head, so save any manual conflict-resolution commits on that branch before rerunning; you may need to recover or redo them. The scheduled sync rebuilds and force-pushes that branch the same way when the upstream PR receives new commits, so those manual commits can disappear even without a specific_pr rerun. Manual workflow_dispatch runs require write access to this repository; without write access, open an issue with the upstream PR link and ask a maintainer to run the sync.
Real upstream PR examples that reference Capacitor+ or originate from Capgo work:
| Upstream PR | Status | Notes |
|---|---|---|
| ionic-team/capacitor#8284 | Open | Body includes an Availability section pointing at this fork and @capacitor-plus/cli |
| ionic-team/capacitor#8203 | Open | Capgo-maintainer feature PR on upstream (bidirectional blob transfer) |
Upstream acceptance and merge timing are decided by the Ionic team, not by Capacitor+ automation.
3. How we track upstream status
Section titled β3. How we track upstream statusβ| Direction | What we track today | Where |
|---|---|---|
| Upstream β fork (daily sync) | upstream-sync, needs-attention, and sometimes merge-conflict labels; PR title/body text upstream PR #<n>; head branch sync/upstream-pr-<n> or sync/plus-upstream-* | This repoβs pull requests and labels |
| Fork β upstream (backport) | No dedicated label, issue template, or tracking file (there is no UPSTREAM.md in this repo) | GitHub state of the upstream PR; optional links in the Capacitor+ PR or issue; changelog entries may cite ionic-team/capacitor issues after merge |
If you care about a specific backport, watch the upstream pull request URL or ask in the linked Capacitor+ issue. Not every fork-only fix has an open upstream PR (for example, #187 had no matching ionic-team/capacitor pull request at documentation time).
This page mirrors the Capacitor+ README section in Cap-go/capacitor-plus#236.