Repository navigation
fix: preserve Facebook link destinations in Glow - #43
Thetromboneman1 wants to merge 6 commits into
Conversation
|
@dayanch96, please review this destination-preserving Safari/Share routing integration and approve the held Link Router workflow run when convenient. I attempted a formal GitHub reviewer request, but contributors without write access cannot invoke |
|
Fork CI is green for commit |
|
@dayanch96, the latest commit adds the exact |
|
Fork CI is green at exact commit |
|
@dayanch96, follow-up commit fixes the live Safari race found on the physical device. Facebook currently returns |
|
Fork CI is green at exact commit |
|
@dayanch96, the final follow-up handles in-place upgrades where Safari retained Link Router 1.0.1’s |
|
Final exact-head verification: fork CI passed at |
Why
Facebook links opened from Messages or Safari can launch a sideloaded Glow build but lose the selected destination and land on the main timeline. Sideloaded builds cannot claim Meta's Universal Links, and the former
fb://faceweb/f?href=...fallback does not reliably preserve destinations on current Facebook builds.Facebook's
/share/p/,/share/r/, and/share/v/pages are wrappers. They expose the real post through canonical and Open Graph metadata, but handing the wrapper itself to Facebook can still open Home.@dayanch96, please review the workflow integration and the two companion extensions, especially the
fb-www-link://www_link/?url=...handoff contract and the validated wrapper resolution.What changed
/share/p/,/share/r/, and/share/v/wrappers to a safe Facebook canonical or Open Graph destination.PlugInsdirectory.Verification
Both exact URLs below were physically accepted on an iPhone 15 Pro running iOS 26.6. Each opened its selected destination in Glow instead of the main timeline.
The share-video wrapper resolved to:
The Objective-C routing tests and JavaScript redirect regressions pass, both extensions build as unsigned arm64 iOS app extensions, and the embedding script produced a structurally valid IPA containing bundle-ID-matched Share and Safari extensions. The final signed 1.0.1 build passed archive integrity, deep strict signature verification, in-place installation, native route launch, and physical destination acceptance. No decrypted IPA, signed artifact, provisioning profile, certificate, or secret is included in this PR.