Skip to content

fix(mobile): invalidate iOS header cache for search and grouping - #747

Merged
rynfar merged 2 commits into
pylonfrom
fix/ios-header-cache-key-20260924
Sep 26, 2026
Merged

rynfar merged 2 commits into
pylonfrom
fix/ios-header-cache-key-20260924

Conversation

@rynfar

@rynfar rynfar commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

When an iOS 26 header subview changes hidesSharedBackground, react-native-screens reuses its existing UIBarButtonItem, but Pylon's cached leading/trailing item groups still describe its old grouping. A search controller that mounts after a toolbar also leaves cached toolbar items bound to the old search bar. This updates the native cache keys to include the mutable grouping value and the search bar identity used to construct each toolbar.

The patch retains per-placement item identity and only rebuilds the affected placement. Its lockfile patch hash is updated. The owning issue is #153; native visual behavior remains to be verified on a reachable iOS screen before closure.

Validation: frozen offline install applies the patch; git diff --check passes. An independent source review checked cache dependencies, retained references, iOS availability guards, and patch integrity. No native iOS runtime test was performed.

Implemented by GPT-6 Sol in the Codex/Pylon harness.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@vercel

vercel Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
pylon-marketing Ignored Ignored Preview Sep 26, 2026 7:39am UTC

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 14.0 KiB 14.0 KiB −5 B (−0.0%) 15.1 KiB ✅
Codex Thread snapshot wire 7.3 KiB 7.3 KiB +7 B (+0.1%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.7 KiB 6.7 KiB −12 B (−0.2%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 58.0 KiB 58.0 KiB 0 B (0.0%) 66.4 KiB ✅
Codex Live turn messages 9 9 0 (0.0%) 21 ✅
Claude Total thread wire 14.0 KiB 14.0 KiB +17 B (+0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 7.3 KiB 7.3 KiB +7 B (+0.1%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.7 KiB 6.7 KiB +10 B (+0.1%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 58.9 KiB 58.9 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 9 9 0 (0.0%) 21 ✅

Baseline: 4eb835c · PR result: a6bfbeb · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 115.7 KiB
  • Claude decoded thread snapshot: 116.4 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar rynfar changed the title Fix iOS header cache invalidation for search and grouping changes fix(mobile): invalidate iOS header cache for search and grouping Sep 24, 2026
…-key-20260924

# Conflicts:
#	patches/react-native-screens@4.26.2.patch
#	pnpm-lock.yaml
@rynfar

rynfar commented Sep 26, 2026

Copy link
Copy Markdown
Collaborator Author

Reconciled with current pylon at a6bfbeb. The branch diff remains only the react-native-screens Objective-C patch and its lockfile hash; both now include the other merged native patch content. The combined patch SHA-256 matches the lockfile (ab7c425e...), frozen install applied it, and diff check passed. Exact-head CI is running. Native visual proof for the iOS 26 search/grouping transition remains outstanding before merge/issue closure.

@rynfar

rynfar commented Sep 26, 2026

Copy link
Copy Markdown
Collaborator Author

Isolated iPhone 17 / iOS 26.3 validation on the reconciled PR head a6bfbeb77f:

Resting search header on the patched build:

iOS Threads search resting

Focused search header on the patched build:

iOS Threads search active

@rynfar
rynfar merged commit affd261 into pylon Sep 26, 2026
20 checks passed
@rynfar
rynfar deleted the fix/ios-header-cache-key-20260924 branch September 26, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant