Skip to content

Hide LinkedIn's server-driven feed view - #46

Merged
kasnder merged 1 commit into
mainfrom
ccr-5fcee933-f4f6jw
Oct 16, 2026
Merged

kasnder merged 1 commit into
mainfrom
ccr-5fcee933-f4f6jw

Conversation

@kasnder

@kasnder kasnder commented Oct 16, 2026

Copy link
Copy Markdown
Collaborator

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, so feed_item_update_card no 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_view also 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

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
kasnder marked this pull request as ready for review October 16, 2026 10:22
@kasnder
kasnder merged commit 8d3f1d2 into main Oct 16, 2026
1 check passed
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>
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