Eu já passei por esse tipo de “sumiu pra mim” em grupos grandes: alguém fixa uma mensagem com um anúncio importante, eu não abro o chat por algumas horas… e quando finalmente entro, já era tarde. Segundo o Sapo.pt, o WhatsApp está a resolver isso com notificações específicas para mensagens fixadas na versão beta Android: agora o alerta aparece no painel de notificações com rótulo de “mensagem fixada” e conteúdo, e ao tocar a conversa abre já destacando o que foi fixado.
WhatsApp vai parar de ocultar mensagens fixadas (e por que isso importa)
Até agora, mensagem fixada no WhatsApp era “visível” de forma imperfeita: ela fica no topo da conversa, mas quem não abre o chat frequentemente só percebe quando finalmente entra. Em grupos com ritmo alto (suporte, comunidades, turma, empresa), isso vira um problema operacional: informação crítica depende de você ter o timing certo para abrir o chat.
O ajuste descrito pelo Sapo.pt reduz essa dependência. Na prática, o WhatsApp passa a tratar mensagem fixada como “evento digno de notificação”, em vez de “elemento estático no topo da UI”. E isso é uma mudança sutil, mas com impacto direto na confiabilidade percebida do app.
Como funciona a notificação de mensagem fixada (o que muda de verdade)
De acordo com a referência (Sapo.pt, citando descoberta na WABetaInfo), o comportamento novo aparece na beta 2.26.27.4 para Android. Quando alguém fixa uma mensagem em um chat ou grupo:
- O WhatsApp dispara uma notificação automática.
- A notificação inclui um rótulo indicando que é uma mensagem fixada.
- O texto (conteúdo) da mensagem também aparece no alerta.
- Ao tocar, o app abre a conversa correspondente e destaca a mensagem fixada.
Se a mensagem fixada for imagem ou vídeo, a notificação segue a mesma ideia, mas provavelmente não consegue/optará por não renderizar preview completo. O Sapo.pt indica que, nesses casos, a notificação informa que uma mensagem foi fixada.
Por baixo do capô: por que essa feature é mais complexa do que parece
Como dev, eu olho para isso e vejo três camadas que precisam estar alinhadas:
- Evento de UI que vira evento de notificações: fixar é uma ação local/por usuário, mas a notificação precisa ser acionada no lado do servidor para todos que têm permissão e estão no “escopo correto” do chat.
- Integração com regras de notificação: o WhatsApp já tem filtros por chat silenciado, prioridade, mute, etc. A notificação de mensagem fixada precisa respeitar essas regras, senão vira vazamento/ruído.
- Deep link e “scroll com destaque”: tocar na notificação não pode só abrir o chat; tem que posicionar na mensagem fixada. Isso exige um identificador estável da mensagem e suporte no mecanismo de navegação do app.
O Sapo.pt deixa claro uma limitação crucial: as notificações de mensagens fixadas seguem as mesmas regras das notificações normais. Ou seja, se o chat/grupo estiver silenciado, o alerta não aparece. Essa decisão evita dois problemas clássicos: “notificação fora de controle” e “quebra de expectativa” do usuário.
Comparação rápida com alternativas reais (e onde o WhatsApp ganha)
Comparando com outras abordagens que já vi em mensageiros:
- Notificação baseada em “mensagem normal”: você recebe alertas só quando alguém envia. Mensagem fixada vira “janela” de contexto apenas quando abre o chat.
- Notificação baseada em “marcações/menções”: é forte para atenção individual (tipo “@”), mas falha para recados gerais fixados por admin.
- Notificação baseada em “eventos de estado”: fixar é estado do chat. A mudança do WhatsApp aproxima o comportamento do que eu chamaria de “event-driven UX”: o sistema notifica mudança relevante, não só mensagens novas.
O ganho aqui é previsibilidade. Se alguém fixa, o usuário entende que existe algo novo para consumir, mesmo sem abrir o chat no momento.
Na Prática: como aproveitar a novidade sem se sabotar
Se você é do tipo que configura notificações com disciplina (eu recomendo), dá pra tirar proveito rápido. O passo a passo abaixo é o que eu faria ao testar o comportamento:
- Entre nas configurações de notificações do WhatsApp e garanta que notificações estão ativadas.
- Selecione o chat/grupo onde a mensagem será fixada.
- Confirme que o grupo não está silenciado. Se estiver, você não vai receber o alerta de mensagem fixada (limitador descrito no Sapo.pt).
- Peça para alguém fixar uma mensagem (texto curto funciona melhor no início do teste).
- Aguarde o alerta e toque nele.
- Verifique se ao abrir a conversa a mensagem fixada aparece destacada (isso reduz atrito: você não precisa caçar manualmente no topo).
Se você usa grupos com anúncios e datas, essa feature vira “interruptor de prioridade”. Não precisa abrir o chat para saber se tem algo fixado relevante.
Uma perspectiva técnica: como eu implementaria (e como pode quebrar)
Vou te dar uma visão do tipo de arquitetura que faz sentido. Não é “o que o WhatsApp fez” (não temos acesso ao código), mas é o desenho que eu usaria para garantir consistência.
Modelo de dados mínimo (mensagem fixada como referência estável)
- chat_id
- pinned_message_id (ou pinned_at + message_id)
- message_type (text/image/video)
- preview_text (para notificação de texto)
Fluxo de backend (evento dispara notificação)
- Recebe ação “fixar mensagem” com chat_id e message_id.
- Atualiza estado do chat (pinned_message_id).
- Enfileira notificação para usuários que devem receber.
- Aplica filtros: chat muted/silenced, preferências, bloqueios.
- Emite notificação com payload suficiente para abrir no item correto.
Trecho de código funcional (exemplo de payload e filtros)
Se eu estivesse modelando isso num serviço típico (Node.js/TypeScript + push provider), eu faria algo assim. A parte importante é: respeitar mutar silenciado e incluir message_id para deep link.
function buildPinnedNotificationPayload({ chatId, pinnedMessage }) {
const isMedia = ["image", "video"].includes(pinnedMessage.type);
return {
title: "Mensagem fixada",
body: isMedia ? "Uma mensagem foi fixada." : pinnedMessage.previewText,
data: {
action: "OPEN_CHAT_AND_HIGHLIGHT_PIN",
chatId,
messageId: pinnedMessage.id
}
};
}
function recipientsForPinnedMessage({ members, notificationPrefs, chatId }) {
return members.filter(u => {
// regra: se o chat está silenciado, não notifica (equivalente ao limitador do Sapo.pt)
if (notificationPrefs[u.id]?.mutedChats?.includes(chatId)) return false;
return notificationPrefs[u.id]?.enabled === true;
});
}
// Exemplo de uso
const payload = buildPinnedNotificationPayload({
chatId: "c_123",
pinnedMessage: { id: "m_456", type: "text", previewText: "Segue o cronograma..." }
});
const to = recipientsForPinnedMessage({
members: [{ id: "u1" }, { id: "u2" }],
notificationPrefs: {
u1: { enabled: true, mutedChats: [] },
u2: { enabled: true, mutedChats: ["c_123"] }
},
chatId: "c_123"
});
console.log({ payload, to });
Erros Comuns (e o que evitar ao mexer com isso)
Essa feature parece “simples”, mas os bugs clássicos aparecem rápido. Aqui estão os que eu mais vejo quando implemento notificações com deep link e estado:
1) Ignorar muting/silencing do chat
O Sapo.pt já antecipa: notificações de mensagens fixadas não aparecem em chats silenciados. Se você ignorar isso, você cria uma “exceção silenciosa” que irrita o usuário. Em produto, irritação vira churn.
2) Payload sem identificador de mensagem
Notificação que só abre o chat não resolve o problema: você ainda teria que caçar a mensagem fixada. O destaque ao tocar é o que completa o ciclo. Sem message_id (ou referência equivalente), você perde a promessa de UX.
3) Notificação com preview de mídia que vira ruído
Para imagens e vídeos, não dá pra mandar texto completo (a menos que você tenha extração/legendas). A referência indica que a notificação vai apenas avisar que uma mensagem foi fixada. Isso é consistente com “menor surpresa” e “mais previsibilidade”.
4) Concorrência: mensagem fixada troca enquanto a notificação chega
Em grupos ativos, pode acontecer: alguém fixa A, notificação chega, mas antes chega a fixar B. Se o app sempre busca pelo pinned_message_id atual, pode destacar B em vez de A. Para resolver, você precisa decidir:
- destacar a mensagem do payload (A), mesmo que já não esteja fixada; ou
- destacar a mensagem atualmente fixada (B), aceitando desvio.
Na prática, destacar pelo payload costuma ser mais “literal” com a notificação.
5) Quebra de consistência por caching
Se o app abrir e o cache ainda não refletir o pinned state, o destaque falha. Eu costumo aplicar uma estratégia: abrir o chat e fazer fetch/refresh leve do estado de fixação antes de renderizar destaque.
Implicações práticas para quem programa (e para quem administra grupos)
O lado “programador” aqui é bem real: quando você tem um sistema de alertas, a consistência e a prioridade importam. Em grupos grandes:
- Administração: fixar vira ferramenta confiável para comunicar status (“datas”, “regras”, “locais”).
- Suporte: mensagens fixadas podem substituir pinning manual que ninguém vê.
- Operação: menos retrabalho (“não vi o comunicado”) e menos dependência de abertura frequente do app.
Eu gosto especialmente do fato de o WhatsApp continuar a respeitar regras de notificação normais. Em sistemas distribuídos, “tudo notifica” é receita para alert fatigue. Manter o mesmo filtro é maturidade.
FAQ
As notificações de mensagens fixadas aparecem mesmo com chat silenciado?
Não. Segundo o Sapo.pt, elas seguem as regras das notificações normais. Se o chat/grupo estiver silenciado, a notificação não aparece.
O que aparece na notificação: só “mensagem fixada” ou também o conteúdo?
Para mensagens de texto, a notificação inclui rótulo e o conteúdo. Para imagens e vídeos, a notificação indica que uma mensagem foi fixada, sem preview detalhado.
Ao tocar na notificação, o WhatsApp destaca a mensagem fixada?
Sim. O alerta abre a conversa correspondente e destaca a mensagem fixada para facilitar acesso imediato (conforme descrito na referência).
Isso vale para chats e grupos ou só grupos?
O comportamento é descrito para chat ou grupo: “mensagem num chat ou grupo” gera notificação ao fixar. A utilidade é maior em grupos grandes, onde a fixação é usada com frequência.
Qual é o impacto para usuários que não costumam abrir o chat?
O principal ganho é reduzir atraso de descoberta. Em vez de você só notar quando entrar horas depois, o sistema entrega o aviso no painel de notificações.
Gostou? Me segue no GitHub e deixa um comentário se tiver dúvida ou quiser aprofundar algum ponto.