Skip to content

fix: clear Play Console NFC scheme warning#1054

Open
jvsena42 wants to merge 1 commit into
masterfrom
fix/deeplink-not-working
Open

fix: clear Play Console NFC scheme warning#1054
jvsena42 wants to merge 1 commit into
masterfrom
fix/deeplink-not-working

Conversation

@jvsena42

Copy link
Copy Markdown
Member

This PR removes the BROWSABLE category from the NFC NDEF_DISCOVERED intent filter to clear the Google Play Console Deep Links warning "Add an ACTION_VIEW intent action attribute to the intent filter" that was raised against BITCOIN:// and nearly all other custom schemes.

Description

The custom schemes (bitcoin, bitkit, lightning, lnurl*, etc.) are declared twice: once in the deep-link filter that already has ACTION_VIEW, and once in the NFC filter that uses NDEF_DISCOVERED. Because the NFC filter also carried BROWSABLE, Play's link crawler treated those schemes as browsable deep links missing an ACTION_VIEW action and flagged them.

NFC tag dispatch matches on the action and data only and does not need BROWSABLE, so dropping that category clears the false warning while keeping the gift-card-tap flow intact (gift cards encode bitkit://gift-<code>-<amount>, which the NFC filter still matches via its bitkit scheme). The deep-link ACTION_VIEW filter and the autoVerify App Links filter are unchanged.

This addresses only the custom-scheme warning. The separate "domain failed validation" error for https://www.bitkit.to/treasure-hunt is a server-side Digital Asset Links issue (the live assetlinks.json lists the wrong package) and is tracked in synonymdev/synonym-website#245.

Preview

QA Notes

Manual Tests

  • 1. regression: Tap an NFC gift card → Gift sheet opens and the claim proceeds as before.
  • 2. regression: Open a custom-scheme link (bitcoin: / lightning: / lnurl / bitkit://) from another app → Bitkit opens and routes to the correct flow.

Automated Checks

  • N/A — manifest-only change with no automated coverage added or changed. just compile and detekt pass locally; standard compile/unit/detekt checks run by the PR bot.

@jvsena42 jvsena42 self-assigned this Jun 29, 2026
@ovitrif ovitrif added this to the 2.4.0 milestone Jun 30, 2026
@piotr-iohk piotr-iohk marked this pull request as ready for review July 9, 2026 10:33
@greptile-apps

greptile-apps Bot commented Jul 9, 2026

Copy link
Copy Markdown

Greptile Summary

This PR updates the Android manifest to reduce Play Console deep-link warnings.

  • Removes BROWSABLE from the NFC NDEF_DISCOVERED intent filter.
  • Leaves the custom-scheme ACTION_VIEW deep-link filter unchanged.
  • Leaves the app links filter unchanged.

Confidence Score: 4/5

The NFC gift-card tap path can stop resolving to the app on devices that dispatch URI tags with CATEGORY_BROWSABLE.

  • The manifest change is small and localized.
  • The removed category can change Android intent-filter matching for NDEF_DISCOVERED URI tags.
  • The custom-scheme ACTION_VIEW deep-link path remains unchanged.

app/src/main/AndroidManifest.xml

Important Files Changed

Filename Overview
app/src/main/AndroidManifest.xml Removes BROWSABLE from the NFC intent filter, which may affect URI-based NFC tag resolution.

Reviews (1): Last reviewed commit: "fix: BROWSABLE category from NFC intent ..." | Re-trigger Greptile

@@ -133,7 +133,6 @@
<action android:name="android.nfc.action.NDEF_DISCOVERED" />

<category android:name="android.intent.category.DEFAULT" />

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 NFC URI Category Mismatch

When Android dispatches a URI-based NFC tag as NDEF_DISCOVERED with CATEGORY_BROWSABLE, this filter no longer matches because intent resolution requires the filter to contain every category on the incoming intent. A bitkit://gift-... tag can then skip Bitkit entirely, so the gift-card tap flow is not offered on affected devices.

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