Skip to content

feat(docs): App/Universal Links for Jump docs deep-linking#416

Merged
shanerbaner82 merged 1 commit into
mainfrom
feat/jump-docs-deeplinks
Jul 6, 2026
Merged

feat(docs): App/Universal Links for Jump docs deep-linking#416
shanerbaner82 merged 1 commit into
mainfrom
feat/jump-docs-deeplinks

Conversation

@shanerbaner82

Copy link
Copy Markdown
Contributor

Adds the server-side pieces so nativephp.com/docs pages open in the Jump app, and fixes native-component examples served over the MCP API.

What's here

Deep-link verification (Jump app)

  • New route + method serving /.well-known/apple-app-site-association (iOS Universal Links), scoped to /docs/* and Jump's appID J68WFCX458.com.bifrosttech.jump. The rest of the site stays in the browser.
  • Rewrote /.well-known/assetlinks.json (Android App Links) for the Jump app — com.bifrosttech.jump + its release signing SHA-256.
  • ⚠️ Drops the old KitchenSink assetlinks entry (was hard-coded, reported as no longer used). If anything still relies on KitchenSink App Links verification, flag it.

MCP content fix

  • DocsSearchService::stripBladeComponents was running over the whole page, stripping @press / @change / {{ }} / @verbatim from inside code blocks — corrupting the documented native-component API in every example the MCP API serves (e.g. <native:button @press="save" /> became <native:button ="save" />). Now it preserves fenced code verbatim and only cleans prose. Fixes example code for both v3 and v4 consumers (incl. Jump's in-app docs).

Scope of paths

iOS AASA is driven by a LINK_PATHS allowlist (currently /docs/*). Adding a future section is a one-line change there plus a matching Android manifest entry in the app — only claim paths the app can actually render.

Verified locally

  • Both .well-known endpoints return 200 + application/json.
  • Button example now returns <native:button label="Get Started" @press="handleStart" /> intact.

Not included

  • QR generation on the docs site (intentionally deferred).
  • The Jump app-side changes (resolver, version selector, live examples) live in the app repo.

🤖 Generated with Claude Code

Let nativephp.com/docs pages open in the Jump app (iOS Universal Links +
Android App Links) and fix the native-component examples served over MCP.

- ApplinksController: serve /.well-known/apple-app-site-association (scoped
  to /docs/*, Jump's appID) and rewrite assetlinks.json for the Jump app
  (com.bifrosttech.jump + release SHA-256). Drops the stale KitchenSink
  assetlinks entry, which is no longer used.
- web.php: add the apple-app-site-association route.
- DocsSearchService: stop stripping @press / {{ }} / @Directives from inside
  fenced code blocks. This was corrupting the documented native-component
  API in MCP-served examples (e.g. `@press="save"` -> `="save"`). Prose is
  still cleaned; code fences are now preserved verbatim.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@shanerbaner82 shanerbaner82 merged commit 6c8bc48 into main Jul 6, 2026
2 checks passed
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.

1 participant