fix(docs): restore SDK capabilities dropped in iOS guide reconciliation#382
Merged
Merged
Conversation
Tim Beyer (TimBeyer)
requested review from
Lotfi Anwar L Arif (Lotfi-Arif),
Felipe Mamud (fmamud) and
Charles Hudson (phobetron)
as code owners
July 20, 2026 16:10
A content-loss audit of the reconciled guides against their pre-pipeline versions found capabilities trimmed along with reader-owned scaffolding. Restore them: - SwiftUI: the tri-state consent gate (ConsentGate on state.consent == nil) that teaches consent has an undecided state, and the follow-up to emit a fresh Experience event after setLocale so profile-derived selections, flags, and MergeTags reflect the new locale. - UIKit: the direct client.trackView(TrackViewPayload(...)) path as the lower-level alternative to ViewTrackingController for apps with their own visibility timing or a one-off view event. All verified against Swift source. Passes pnpm guides:check and knowledge:check. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Tim Beyer (TimBeyer)
force-pushed
the
docs/restore-ios-guide-capabilities
branch
from
July 20, 2026 20:38
f81a10a to
febe071
Compare
Charles Hudson (phobetron)
approved these changes
Jul 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to the iOS docs bootstrap (#380, merged). A content-loss audit comparing each reconciled guide against its pre-pipeline version found a few genuine SDK capabilities that were trimmed along with reader-owned scaffolding during reconciliation — not intended archetype changes. This restores them.
What was lost and restored
ConsentGategating UI onclient.state.consent == nil(undecided). The reconciliation kept aConsentBannerbut dropped the gate, so the guide no longer taught thatconsentis tri-state (true/false/nil) or how to show the banner only until the visitor decides. Restored (matches the pattern the Compose guide kept).setLocale. The reconciliation added the caveat thatsetLocaledoesn't refresh profile state but dropped the remedy. Restored: after a locale change, emit a freshscreen/identify/pageevent so selected optimizations, flags, and MergeTags reflect the new locale.client.trackView(TrackViewPayload(...)). The old guide offered entry-view tracking as a choice between the direct call andViewTrackingController; the reconciliation kept only the controller. Restored the direct primitive as the escape hatch for apps with their own visibility timing or a one-off view event.All three verified against Swift source (
OptimizationClient.trackView,OptimizationState.consent: Bool?,setLocalesemantics).How these were found
Four parallel read-only audits (one per reconciled guide, iOS + Android) diffed pre-pipeline → reconciled, filtering intended archetype changes to isolate dropped SDK capabilities. The Android losses are fixed in #381; these are the iOS ones. Compose was clean of the consent regression; SwiftUI and Views both had it.
Validation
pnpm guides:check✓ (8 blueprints, 114 sections) andpnpm knowledge:check✓.🤖 Generated with Claude Code