Repository navigation
Hide LinkedIn's server-driven feed view - #46
Merged
Merged
Conversation
LinkedIn now renders the feed inside a Compose view with the ID sdui_compose_view, so feed_item_update_card no longer matches and the "Hide feed item" block does nothing. The new rule shares the existing comment so both sit behind the same switch. The old rule stays: it is in the 0.9.1 snapshot and still covers older LinkedIn builds. Claude-Session: https://claude.ai/code/session_01GwnAB5CENNRMKt5vqGLKcS
kasnder
marked this pull request as ready for review
October 16, 2026 10:22
This was referenced Oct 16, 2026
kasnder
added a commit
that referenced
this pull request
Oct 21, 2026
* Keep a row's state when a release adds a rule to it A row of sibling rules is on only while every rule in it is, and a new rule starts off. So when a release adds a rule to an existing row, as #46 and #47 do for LinkedIn and WhatsApp, the row turns off for every user who had it on, and their block silently stops. getRules() now gives a built-in rule that has no saved state the saved enabled flag and pause of a sibling in its row. Custom and navigation rules are left alone: custom rows are built by the user, and navigation rules have their own key space. Claude-Session: https://claude.ai/code/session_01GwnAB5CENNRMKt5vqGLKcS * Skip the bundled-row test where the flavour has no such row The gmwaylite flavour bundles no LinkedIn rules, so the row the test checks has a single rule there. The standard flavour still runs it. Claude-Session: https://claude.ai/code/session_01GwnAB5CENNRMKt5vqGLKcS --------- Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Concern addressed: LinkedIn's "Hide feed item" block no longer hides anything.
What changed and why: LinkedIn now renders the feed inside a Compose view,
com.linkedin.android:id/sdui_compose_view, sofeed_item_update_cardno longer matches. This adds a built-in rule on that view ID with the same category and comment, so both rules sit behind the one "Hide feed item" switch. The old rule stays because it is in the 0.9.1 snapshot (legacy_rules_v0.txt) and still covers older LinkedIn builds.Because a merged row only shows as on when every rule in it is on, users who had "Hide feed item" enabled will see it switched off after updating and must turn it on again. The block was already broken for them, so nothing regresses, but nothing prompts them either.
Evidence: The rule was reported working on-device by the user. I have not verified it myself: the container had no Android SDK or Maven access, so the unit tests did not run. Not checked whether
sdui_compose_viewalso appears on other LinkedIn screens (profile, jobs), where it would hide more than the feed.Not in this PR: Carrying the old rule's enabled state over to the new sibling, so existing users stay blocked without re-enabling.
https://claude.ai/code/session_01GwnAB5CENNRMKt5vqGLKcS
Generated by Claude Code