Skip to content

Hide WhatsApp channels in the new Updates list - #47

Merged
kasnder merged 1 commit into
mainfrom
ccr-5fcee933-f4f6jw
Oct 21, 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: WhatsApp's "Hide channels" block no longer hides anything.

What changed and why: WhatsApp now lists channels as android.view.ViewGroup children of com.whatsapp:id/updates_list, so the RelativeLayout path rule no longer matches. This adds a rule on updates_list with childPath=android.view.ViewGroup[*], sharing the "Hide channels" category and comment so both rules sit behind one switch. The old rule stays because it is in the 0.9.1 snapshot and still covers older WhatsApp builds. Added to standard and gmwaylite, which ship the same WhatsApp rules.

As with #46, users who had "Hide channels" on will see the row switched off after updating (a merged row is on only when every rule in it is), and must re-enable it.

Evidence: The user reported the rule working on-device. Not verified by me: no Android SDK in this container, so unit tests were not run locally. Not checked whether ViewGroup[*] under updates_list also covers the status rows above the channels, which would hide more than channels.

Not in this PR: Carrying the old rule's enabled state over to the new sibling (same gap as #46).

https://claude.ai/code/session_01GwnAB5CENNRMKt5vqGLKcS


Generated by Claude Code

WhatsApp now lists channels as ViewGroup children of updates_list, so the
RelativeLayout path rule no longer matches and "Hide channels" does
nothing. The new rule shares that comment so both sit behind one switch.
The old rule stays: it is in the 0.9.1 snapshot and still covers older
WhatsApp builds. Added to both flavours, which ship the same WhatsApp
rules.

Claude-Session: https://claude.ai/code/session_01GwnAB5CENNRMKt5vqGLKcS
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>
@kasnder
kasnder marked this pull request as ready for review October 21, 2026 08:31
@kasnder
kasnder merged commit 9adb856 into main Oct 21, 2026
1 check 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.

2 participants