Skip to content

Remove "Open Web Links with Jetpack" feature#22588

Draft
jkmassel wants to merge 1 commit intotrunkfrom
remove/open-web-links-with-jetpack
Draft

Remove "Open Web Links with Jetpack" feature#22588
jkmassel wants to merge 1 commit intotrunkfrom
remove/open-web-links-with-jetpack

Conversation

@jkmassel
Copy link
Contributor

@jkmassel jkmassel commented Feb 12, 2026

Description

Removes the "Open Web Links with Jetpack" feature entirely. This feature allowed WordPress app users to configure web links (wordpress.com URLs) to open in the Jetpack app instead, via an overlay prompt and a settings toggle.

The feature was already disabled — the OPEN_WEB_LINKS_WITH_JETPACK_FLOW build config flag was hardcoded to false — so this change has zero user-facing effect.

Deleted files (6):

  • DeepLinkOpenWebLinksWithJetpackHelper — main feature helper
  • OpenWebLinksWithJetpackFlowFeatureConfig — feature flag
  • OpenWebLinksWithJetpackFlowFrequencyConfig — remote config for overlay frequency
  • JetpackAppUninstallReceiver — broadcast receiver for Jetpack uninstall events
  • DeepLinkOpenWebLinksWithJetpackHelperTest — helper tests
  • DeepLinkingIntentReceiverViewModelTest — VM tests (heavily tested overlay behavior)

Cleaned up (20+ source files, 30+ translated strings):

  • Build config flags (OPEN_WEB_LINKS_WITH_JETPACK_FLOW, ENABLE_OPEN_WEB_LINKS_WITH_JP_FLOW)
  • WebLinksDeepLinkingIntentReceiverActivity manifest activity-alias (~157 lines of intent filters)
  • JetpackAppUninstallReceiver manifest registration
  • Preference keys, accessor methods, and settings UI toggle
  • WEB_LINKS deep link entry point and OpenJetpackForDeepLink navigate action
  • Helper injections and overlay logic in ViewModel, Activity, AppInitializer, WPMainActivity, AppSettingsFragment, MeFragment, ReaderPostPagerActivity
  • APP_SETTINGS_OPEN_WEB_LINKS_WITH_JETPACK_CHANGED analytics event
  • Related string resources and translations

Testing instructions

Verify feature removal has no regression:

  1. Install the Jetpack debug build
  2. Open the app, navigate to Me > App Settings
  • Verify there is no "Open links in Jetpack" toggle
  1. Open a wordpress.com deep link (e.g. adb shell am start -a android.intent.action.VIEW -d "https://wordpress.com/read")
  • Verify the link is handled correctly and opens in the Jetpack app
  1. Install the WordPress debug build
  2. Open the app, navigate to Me > App Settings
  • Verify there is no "Open links in Jetpack" toggle

🤖 Generated with Claude Code

The feature was already disabled (feature flag hardcoded to false) and
has no user-facing effect. This removes all associated code: the helper,
feature/remote configs, build config flags, manifest activity-alias,
preferences, settings UI, analytics event, broadcast receiver, and
related tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@dangermattic
Copy link
Collaborator

1 Warning
⚠️ This PR is larger than 300 lines of changes. Please consider splitting it into smaller PRs for easier and faster reviews.
1 Message
📖 This PR is still a Draft: some checks will be skipped.

Generated by 🚫 Danger

@sonarqubecloud
Copy link

@jkmassel jkmassel requested a review from adalpari February 12, 2026 03:22
@jkmassel jkmassel self-assigned this Feb 12, 2026
@jkmassel jkmassel added this to the 26.6 milestone Feb 12, 2026
@wpmobilebot
Copy link
Contributor

Project manifest changes for WordPress

The following changes in the WordPress's merged AndroidManifest.xml file were detected (build variant: wordpressVanillaRelease):

--- ./build/reports/diff_manifest/WordPress/wordpressVanillaRelease/base_manifest.txt	2026-02-12 03:25:19.217065103 +0000
+++ ./build/reports/diff_manifest/WordPress/wordpressVanillaRelease/head_manifest.txt	2026-02-12 03:25:28.327089862 +0000
@@ -147,15 +147,6 @@
                 <action android:name="org.wordpress.android.broadcast.DISABLE_NOTIFICATIONS" />
             </intent-filter>
         </receiver>
-        <receiver
-            android:name="org.wordpress.android.ui.deeplinks.JetpackAppUninstallReceiver"
-            android:exported="true" >
-            <intent-filter>
-                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
-
-                <data android:scheme="package" />
-            </intent-filter>
-        </receiver>
 
         <uses-library
             android:name="org.apache.http.legacy"
@@ -545,130 +536,7 @@
                     android:pathPattern="/bar/.*"
                     android:scheme="https" />
             </intent-filter>
-        </activity> <!-- Web Links Deep Linking Activity Alias -->
-        <activity-alias
-            android:name="org.wordpress.android.WebLinksDeepLinkingIntentReceiverActivity"
-            android:excludeFromRecents="true"
-            android:exported="true"
-            android:label="@string/deep_linking_weblinks_alias_label"
-            android:targetActivity="org.wordpress.android.ui.deeplinks.DeepLinkingIntentReceiverActivity"
-            android:theme="@style/WordPress.NoActionBar" >
-            <intent-filter android:autoVerify="true" >
-                <action android:name="android.intent.action.VIEW" />
-
-                <category android:name="android.intent.category.DEFAULT" />
-                <category android:name="android.intent.category.BROWSABLE" />
-
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/post/..*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/post/..*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/stats/..*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/stats/..*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/pages/..*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/pages/..*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/notifications/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/notifications/.*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/media/..*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/media/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/domains/manage"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/site-monitoring/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/site-monitoring/.*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/read"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/read"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/discover"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/discover"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/read/feeds/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/read/feeds/.*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/reader/feeds/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/reader/feeds/.*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/read/search"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/read/search"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/reader/search"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/reader/search"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/tag/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/tag/.*"
-                    android:scheme="http" />
-            </intent-filter>
-        </activity-alias> <!-- Custom Wordpress URI Scheme Deep Linking Activity Alias -->
+        </activity> <!-- Custom Wordpress URI Scheme Deep Linking Activity Alias -->
         <activity-alias
             android:name="org.wordpress.android.URISchemeDeepLinkingIntentReceiverActivity"
             android:excludeFromRecents="true"

Go to https://buildkite.com/automattic/wordpress-android/builds/24960/canvas?sid=019c4fdd-23c6-4856-b784-c1b95ffaf3bb, click on the Artifacts tab and audit the files.

@wpmobilebot
Copy link
Contributor

Project manifest changes for WordPress

The following changes in the WordPress's merged AndroidManifest.xml file were detected (build variant: jetpackVanillaRelease):

--- ./build/reports/diff_manifest/WordPress/jetpackVanillaRelease/base_manifest.txt	2026-02-12 03:25:41.973515009 +0000
+++ ./build/reports/diff_manifest/WordPress/jetpackVanillaRelease/head_manifest.txt	2026-02-12 03:25:52.633572658 +0000
@@ -179,130 +179,7 @@
                     android:pathPattern="/bar/.*"
                     android:scheme="https" />
             </intent-filter>
-        </activity> <!-- Web Links Deep Linking Activity Alias -->
-        <activity-alias
-            android:name="org.wordpress.android.WebLinksDeepLinkingIntentReceiverActivity"
-            android:excludeFromRecents="true"
-            android:exported="true"
-            android:label="@string/deep_linking_weblinks_alias_label"
-            android:targetActivity="org.wordpress.android.ui.deeplinks.DeepLinkingIntentReceiverActivity"
-            android:theme="@style/WordPress.NoActionBar" >
-            <intent-filter android:autoVerify="true" >
-                <action android:name="android.intent.action.VIEW" />
-
-                <category android:name="android.intent.category.DEFAULT" />
-                <category android:name="android.intent.category.BROWSABLE" />
-
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/post/..*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/post/..*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/stats/..*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/stats/..*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/pages/..*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/pages/..*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/notifications/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/notifications/.*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/media/..*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/media/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/domains/manage"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/site-monitoring/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/site-monitoring/.*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/read"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/read"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/discover"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/discover"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/read/feeds/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/read/feeds/.*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/reader/feeds/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/reader/feeds/.*"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/read/search"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/read/search"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/reader/search"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:path="/reader/search"
-                    android:scheme="http" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/tag/.*"
-                    android:scheme="https" />
-                <data
-                    android:host="wordpress.com"
-                    android:pathPattern="/tag/.*"
-                    android:scheme="http" />
-            </intent-filter>
-        </activity-alias> <!-- Custom Wordpress URI Scheme Deep Linking Activity Alias -->
+        </activity> <!-- Custom Wordpress URI Scheme Deep Linking Activity Alias -->
         <activity-alias
             android:name="org.wordpress.android.URISchemeDeepLinkingIntentReceiverActivity"
             android:excludeFromRecents="true"

Go to https://buildkite.com/automattic/wordpress-android/builds/24960/canvas?sid=019c4fdd-23c9-4719-a208-fd7492065fb3, click on the Artifacts tab and audit the files.

@wpmobilebot
Copy link
Contributor

App Icon📲 You can test the changes from this Pull Request in WordPress Android by scanning the QR code below to install the corresponding build.

App NameWordPress Android
FlavorJalapeno
Build TypeDebug
Versionpr22588-683e8aa
Build Number1484
Application IDorg.wordpress.android.prealpha
Commit683e8aa
Installation URL0pp72ausjcmbg
Note: Google Login is not supported on these builds.

@wpmobilebot
Copy link
Contributor

App Icon📲 You can test the changes from this Pull Request in Jetpack Android by scanning the QR code below to install the corresponding build.

App NameJetpack Android
FlavorJalapeno
Build TypeDebug
Versionpr22588-683e8aa
Build Number1484
Application IDcom.jetpack.android.prealpha
Commit683e8aa
Installation URL5ugfa96hpulo8
Note: Google Login is not supported on these builds.

@wpmobilebot
Copy link
Contributor

🤖 Build Failure Analysis

This build has failures. Claude has analyzed them - check the build annotations for details.

@wpmobilebot wpmobilebot modified the milestones: 26.6, 26.7 Feb 23, 2026
@wpmobilebot
Copy link
Contributor

Version 26.6 has now entered code-freeze, so the milestone of this PR has been updated to 26.7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants