Skip to content

Keep CocoaPods out of Capacitor's sync so the lock retry is reached - #4

Merged
stackrats merged 2 commits into
mainfrom
fix/cap-sync-pods
Sep 17, 2026
Merged

stackrats merged 2 commits into
mainfrom
fix/cap-sync-pods

Conversation

@stackrats

Copy link
Copy Markdown
Owner

With the CocoaPods retry installed, the same IONCameraLib failure came back unchanged. The retry never ran: Capacitor's cap sync ios rewrites the Podfile's plugin block and then runs pod install itself, in the syncing phase before buildbridge's own CocoaPods phase, and it has no switch to leave that out. Only which pod it runs can be chosen, through CAPACITOR_COCOAPODS_PATH.

The sync now runs with that variable set to /usr/bin/true, so Capacitor rewrites the Podfile and cleans the project but leaves CocoaPods to the next phase, where the retry lives.

Verified on the macOS guest against the affected project with its stale lock restored: sync passes, install refuses the pod, the update resolves IONCameraLib 2.0.0, and the lock-changed marker fires so the test build step offers the refreshed lock for adoption. Recorded in the design record and the issue ledger.

With the CocoaPods retry installed, the same IONCameraLib failure came
back unchanged, because the retry never ran: Capacitor's `cap sync ios`
rewrites the Podfile's plugin block and then runs `pod install` itself,
in the syncing phase before buildbridge's own CocoaPods phase, and it has
no switch to leave that out. Only which `pod` it runs can be chosen.

The sync now runs with CAPACITOR_COCOAPODS_PATH=/usr/bin/true, so
Capacitor rewrites the Podfile and cleans the project but leaves
CocoaPods to the next phase, where a committed lock a plugin upgrade
outgrew is updated in the guest and offered for adoption. Verified on
the guest against the project with its stale lock restored: sync passes,
install refuses the pod, the update resolves it, and the lock-changed
marker fires.
…t was called

The macOS half of CI failed the install-and-launch test with no console
lines streamed, on a change to the iOS recipe. The test's stand-in for a
Stop from the desktop fired as soon as the fake adb had been called with
logcat, not once the run had read the two lines the fake prints, so on a
slow runner the run ended before they arrived.

The Stop now waits until the run's progress has carried both lines, with
the same 30-second ceiling, so it lands where a person's would: after the
console is visibly streaming.
@stackrats
stackrats merged commit e39c75c into main Sep 17, 2026
2 checks passed
@stackrats
stackrats deleted the fix/cap-sync-pods branch September 17, 2026 15:04
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