The background closures in ExceptionsTab.applyContent and
ExceptionEditorView.resolveHeaderAsync captured row/self strongly while the
inner main-queue closure asked for weak; Xcode 27's Swift diagnoses the
mismatch (#ImplicitStrongCapture), an error under warnings-as-errors. Both
closures now capture weakly, so neither keeps the row or view alive while
the app info resolves.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
grogu has only Xcode 27.2, which rejects the 10.13 deployment target. The
CI build is a compile check at 12.0 with the deprecation group downgraded
(as config/test-base.xcconfig); the shipping build stays on the GitHub
mirror with Xcode 26.0.1.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Gitea CI on grogu (kof-macos-arm64): Guards B and C from guard.yml (the
de-paywall marker and if-false wrap in computeState(), no conflict markers),
an unsigned Release build, and build-for-testing of the Test scheme. The
tests (Guard A) are not run on CI: the runner has no GUI session for
testmanagerd; docs/contributing.md documents running scripts/run_tests.sh
locally before merging.
config/test-base.xcconfig takes the unit-test-only Xcode 27 fix from PR #1
(test target 12.0, deprecation group downgraded, every other warning still
an error); the shipping app keeps 10.13. The .github workflows stay for the
GitHub mirror.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reflect v100.2.0 (auto-update via the GitHub Pages feed), the Homebrew cask bump, and the will-release gating that lets non-release pushes build and test without cutting a release.
determine_next_version.sh writes an empty VERSION.txt when no commit since the last tag is release-worthy; gate cert-import/sign-build/notarize/appcast/release (and version injection) on that, so non-release pushes build+test without cutting a release or needing [skip ci].
Point DOMAIN at the repo's GitHub Pages site (serves the gh-pages appcast.xml), enable SUEnableAutomaticChecks, and remove the in-tree appcast skeleton (feed is published out-of-tree). Ships an auto-updating build.
Reset .fork-sync-state to v11.3.0 (last-synced upstream tag) and remove the release-tail step that overwrote it with the fork release tag, which would stall upstream-sync. Update SESSION-STATE/TODO/CICD-STATUS/README for the live signed+notarized v100.1.0 release.
Set the fork Developer ID in config/local.xcconfig (Manual style + team), re-sign the vendored Sparkle helpers under it, and import the cert with an optional APPLE_P12_PASSWORD. Built, signed, and notarized (Accepted) locally before cutting.
Release build inherited upstream's Developer ID and failed on CI (exit 65, no cert). Build ad-hoc when the release gate is not signing-ready; build_app.sh now forwards xcodebuild overrides. Auto-switches to signed when the owner adds the cert.
Base strings drifted from source after the About redesign and brand sweep; regenerating via genstrings unblocks the generated-files CI gate. Dead paywall strings stay upstream-branded to keep merge surface minimal.