Skip to content

WaEnhancer Community 0.0.14

Choose a tag to compare

@github-actions github-actions released this 09 Oct 17:35
b718380

WaEnhancer Community 0.0.14

SHA-256: 0995660550007ce68c40a59724887da3e53bde0f53165df4c86ccc288abd5264

Changes since v0.0.13.

What's changed

  • #82 fix(receipts): keep delivery under Hide Read; release blue ticks on every chat reply

Full changelog

This section compiles the descriptions of the pull requests included in this release.

#82 — fix(receipts): keep delivery under Hide Read; release blue ticks on every chat reply

Merged by contribution from @igorcv88.

Problem (user report, WhatsApp 2.26.33.76)

Settings: Hide Blue Ticks on (forced by Send Blue Ticks upon Reply), Hide Delivered off. Replying does not send blue ticks; only the manual "Send blue tick" menu does. Senders appear stuck on one tick.

Causes (code reading, checked against upstream Dev4Mod/WaEnhancer@91ba9fc8; no device log)

  1. Delivery cancelled. HideSeen.hookEnforceHiding hooks ReadReceipts/sendReceiptForIncomingMessage, which sends the receipt for every incoming message, and cancelled it when Hide Read or Hide Delivered was on. With Hide Read alone, no delivery receipt went out. Upstream gates it on Hide Delivered only. The existing test asserted the buggy behavior.
  2. Reply release blocked. Since #66, SeenTick.hookOnSendMessages returned before any release when the outgoing-message lookup (used for status-reply routing) failed. Chat replies then released nothing. The manual path calls the same sendBlueTick without that lookup, which fits "manual works, reply doesn't".

Changes

  • ReceiptPolicy.suppressIncomingReceipt(hideDelivered, viewed) replaces suppressRead. The direct guard runs only for effective Hide Delivered. Hide Read stays enforced by the SendReadReceiptJob hook and the protocol rewrite.
  • StatusReplyRouting.route(...): the chat release no longer depends on the lookup. A status receipt still needs a resolved, matching quote. Trade-off: if the lookup fails on a status reply, that contact's pending chat receipts are released (the status receipt is not).
  • The outgoing lookup tries both LID and PN key forms.
  • WaEnhancerX/Receipts logs: the route and lookup result per outgoing job, and the pending count per chat release. They log the address form only, no numbers or IDs.

Validation

  • 24 JUnit tests (ReceiptPolicy, ReceiptRelease, StatusReplyRouting) passed with javac + JUnit 4.13.2.
  • SeenTick/HideSeen not compiled in this environment (no Android SDK). No APK, no device test, no workflow dispatched.

Device acceptance

With the same settings: incoming message → two gray ticks on the sender; open chat → still gray; normal reply and quoted reply → blue without the manual menu. Capture logcat -d -v time -s WaEnhancerX/Receipts:V. Status reply → only that status is marked seen.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GZkiCkRpn2AMgL42r8yKC8


Generated by Claude Code