-
Notifications
You must be signed in to change notification settings - Fork 349
Feature request: read WhatsApp Lists / labels (chat and message associations) #394
Copy link
Copy link
Open
Labels
P2Normal priority bug or improvement with limited blast radius.Normal priority bug or improvement with limited blast radius.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.
Description
Activity
Metadata
Metadata
Assignees
Labels
P2Normal priority bug or improvement with limited blast radius.Normal priority bug or improvement with limited blast radius.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.
Type
Fields
Priority
None yet
Summary
waclihas no way to read WhatsApp Lists (the chat filters in the personal app, called labels at the protocol level). Neither the list a chat belongs to, nor the labels attached to an individual message.This is not a protocol limitation —
whatsmeowalready decodes all of it. It is just not wired up inwacli.Why "labels" are the personal-account Lists
Worth stating explicitly, because "labels" reads like a WhatsApp Business–only feature. It is not: WhatsApp's own protobuf models the personal Lists on top of the label app-state.
LabelEditActioninproto/waSyncAction/WAWebProtobufSyncAction.protocarries an enum literally namedListType:UNREAD,GROUPS,FAVORITES,CUSTOMare exactly the filter chips above the chat list, andorderIndex/isActiveare their UI state.What's already available upstream
App-state indices (
appstate/keys.go):label_edit— the list/label itself (name, color, order, type)label_jid— chat ↔ label associationlabel_message— message ↔ label associationlabel_reordering,label_sublistEvents (
types/events/appstate.go), none of whichwaclicurrently handles:events.LabelEdit—LabelID,Action *waSyncAction.LabelEditActionevents.LabelAssociationChat—JID,LabelID,Action.Labeledevents.LabelAssociationMessage—JID,MessageID,LabelID,Action.LabeledCurrent state in wacli
Checked against
main(57124e0, 0.17.3-unreleased):internal/store/schema.sql—chatsstoresarchived,pinned,muted_until,unread,unread_count; no label/list column.messageshas none either.events.Label*handler anywhere in the tree.contact_tagsexists but is unrelated:docs/contacts.mdstates aliases and tags are local towacliand do not touch WhatsApp.Proposal
Read-only support would already cover most scripting and agent use cases:
labels(label_id, name, color, type, order_index, is_active, deleted),chat_labels(chat_jid, label_id),message_labels(chat_jid, msg_id, label_id).events.LabelEdit/LabelAssociationChat/LabelAssociationMessage, and hydrate on full sync.wacli labels listwacli chats list --label NAME(andlabel_idsinchats list --json/chats show --json)label_idsinmessages list --json/messages search --jsonWrite support (
wacli chats label add|rm) would be a natural follow-up, but read-only is the valuable half.Use case
Triaging an assistant's WhatsApp inbox by the same Lists the user already curates on their phone, instead of maintaining a parallel taxonomy in
contact_tagsthat never stays in sync.Caveat
Label behaviour on non-business accounts has been reported as flaky elsewhere (e.g. devlikeapro/waha#1581 mentions labels resetting after re-login). Worth validating against a personal account before committing to a schema.