b97f7f94e4bb96d498762ebfb25d1a7668ad8365
- Stickers: captura automática por fileSha256 (Baileys) no MessageHandler,
tabela Prisma 'stickers' com deduplicação por [tenantId, sha256],
API REST /api/stickers (list + favorite toggle), cache IndexedDB permanente
(sem TTL — conteúdo imutável), StickerPanel.tsx com abas Recentes/Favoritos
- Emoji picker: migrado de emoji-picker-react para @emoji-mart/react com
locale="pt" (tradução completa: categorias, busca, mensagem de sem resultado)
- Preloader: aparece apenas em hard reload (F5/URL direta) via
performance.getEntriesByType('navigation').type + sessionStorage flag,
navegação client-side Next.js pula o overlay instantaneamente
- Avatar cache: Wasabi como storage persistente + IndexedDB client-side,
avatar_version via MD5(avatarUrl) sem coluna extra no banco,
rota /api/storage/view/* para servir arquivos Wasabi ao frontend
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
Criação de novos projetos, automatização de processos entre as vps e seus agentes, automatização de deploy entre desenvolvimento e produção. Traefik e os bancos.
Usuário: ruicesar Senha: h$tg@g5aga$ra1E3$C-yHW$-BA@DF2@Grfa!3# Regra: antes de COMENTAR NO ISSUE, liste sugestões em code block no chat para o Admin autorizar o comentário!
Languages
TypeScript
72.8%
JavaScript
23.2%
Shell
2.6%
Python
1.3%