Skip to content

fix(docs): restore SDK capabilities dropped in iOS guide reconciliation#382

Merged
Tim Beyer (TimBeyer) merged 1 commit into
mainfrom
docs/restore-ios-guide-capabilities
Jul 21, 2026
Merged

fix(docs): restore SDK capabilities dropped in iOS guide reconciliation#382
Tim Beyer (TimBeyer) merged 1 commit into
mainfrom
docs/restore-ios-guide-capabilities

Conversation

@TimBeyer

Copy link
Copy Markdown
Collaborator

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

  • SwiftUI — tri-state consent gate. The old guide demonstrated ConsentGate gating UI on client.state.consent == nil (undecided). The reconciliation kept a ConsentBanner but dropped the gate, so the guide no longer taught that consent is tri-state (true/false/nil) or how to show the banner only until the visitor decides. Restored (matches the pattern the Compose guide kept).
  • SwiftUI — re-emit after setLocale. The reconciliation added the caveat that setLocale doesn't refresh profile state but dropped the remedy. Restored: after a locale change, emit a fresh screen/identify/page event so selected optimizations, flags, and MergeTags reflect the new locale.
  • UIKit — direct client.trackView(TrackViewPayload(...)). The old guide offered entry-view tracking as a choice between the direct call and ViewTrackingController; 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?, setLocale semantics).

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) and pnpm knowledge:check ✓.
  • Prettier clean.

Note: commits on this branch are unsigned — the signing key was unavailable in this environment. Please re-sign on merge or squash-and-sign.

🤖 Generated with Claude Code

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>
@TimBeyer
Tim Beyer (TimBeyer) force-pushed the docs/restore-ios-guide-capabilities branch from f81a10a to febe071 Compare July 20, 2026 20:38
@TimBeyer
Tim Beyer (TimBeyer) merged commit 8ad39f7 into main Jul 21, 2026
36 checks passed
@TimBeyer
Tim Beyer (TimBeyer) deleted the docs/restore-ios-guide-capabilities branch July 21, 2026 08:06
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.

2 participants