Skip to content

Show a verified business's name instead of its phone number - #484

Merged
gustavo-barrios2006 merged 3 commits into
gabrielhhaber:mainfrom
reffehcsoibaf:feat/verified-business-name
Oct 13, 2026
Merged

gustavo-barrios2006 merged 3 commits into
gabrielhhaber:mainfrom
reffehcsoibaf:feat/verified-business-name

Conversation

@reffehcsoibaf

Copy link
Copy Markdown
Contributor

A verified WhatsApp Business account (a bank, a payment app, a utility) sets no personal pushname, so _lift_contact_identity() found name, shortName and pushname all empty and the chat list fell back to the bare phone number. WhatsApp's own client shows the business's verified name, which WPPConnect serialises as contact.verifiedName; it is now the last fallback for chat["name"], after the address-book name and shortName, and never overwrites a name the chat already has. A saved contact name still wins, through _resolve_contact_name().

Tests pin the lift and the real resolver together, including the existing profile-name (pushname) path for numbers not in the address book.

Ported from the TeleZapp fork (reffehcsoibaf/winzapp), where it was confirmed live on accounts such as "99 Pay" and "Verisure Brasil".

Claude-Session: https://claude.ai/code/session_014LQWLrjS1o6y251rYH95wC

reffehcsoibaf and others added 3 commits October 13, 2026 14:21
A verified WhatsApp Business account (a bank, a payment app, a utility)
sets no personal pushname, so _lift_contact_identity() found name,
shortName and pushname all empty and the chat list fell back to the bare
phone number. WhatsApp's own client shows the business's verified name,
which WPPConnect serialises as contact.verifiedName; it is now the last
fallback for chat["name"], after the address-book name and shortName, and
never overwrites a name the chat already has. A saved contact name still
wins, through _resolve_contact_name().

Tests pin the lift and the real resolver together, including the existing
profile-name (pushname) path for numbers not in the address book.

Ported from the TeleZapp fork (reffehcsoibaf/winzapp), where it was
confirmed live on accounts such as "99 Pay" and "Verisure Brasil".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014LQWLrjS1o6y251rYH95wC
# Conflicts:
#	client/changelog_en-US.txt
#	client/changelog_es-ES.txt
#	client/changelog_pl.txt
#	client/changelog_pt-BR.txt
#	client/changelog_pt-PT.txt
#	client/changelog_ro.txt
#	client/changelog_tr-TR.txt
- A whitespace-only contact name or shortName no longer hides the
  verified name behind it: the lift takes the first non-blank string.
- Romanian changelog: "Conturile business", the catalog's term for a
  business account.
- Drop the assertion that the resolver returns None for a pushname-only
  chat; it pinned something outside this feature.
- Docstring: keep the accounts it was seen on, drop the fork reference.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WmFGjY3WDiwbRjXL6zhiyY
@gustavo-barrios2006
gustavo-barrios2006 merged commit 60d92db into gabrielhhaber:main Oct 13, 2026
3 of 5 checks 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.

3 participants