feat(browser): auto-commit con 3 cambios

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-26 23:30:35 +02:00
parent d7387d9d2c
commit 2ff111bae4
3 changed files with 74 additions and 34 deletions
@@ -74,10 +74,16 @@ usa `whatsapp_send_message`; para leer/confirmar lo enviado, `whatsapp_read_chat
Hay que desbloquearlo primero (teclear el password en `input[type=password]` + boton
"Desbloquear"). Sintoma: `whatsapp_open_chat` devuelve `opened: False` y la lista lateral sale
vacia aunque la sesion siga logueada.
- **El input vivo solo existe tras pulsar "Adjuntar".** Por eso la funcion hace el click real en
el boton "Adjuntar" antes de `setFileInputFiles`; asignar al input persistente decoy no abre el
preview. La WhatsApp Web actual usa una **bandeja de medios INLINE compacta** sobre el composer
(no un drawer a pantalla completa).
- **El menu "Adjuntar" es un TOGGLE (`aria-expanded`).** El `<input type=file>` solo queda "vivo"
mientras el menu esta ABIERTO; asignar al input con el menu cerrado es un decoy (no abre preview).
Clickar "Adjuntar" cuando YA esta abierto lo CIERRA. Por eso la funcion clicka solo si
`aria-expanded != "true"` y reintenta hasta verlo abierto (no un click ciego). La WhatsApp Web
actual usa una **bandeja de medios INLINE compacta** sobre el composer (no un drawer a pantalla
completa).
- **El envio se verifica por la ultima fila de `#main`, NO por contar filas.** Las filas de `#main`
se VIRTUALIZAN (las antiguas se desmontan al llegar nuevas), asi que el total se mantiene casi
constante. La funcion confirma el envio comprobando que la bandeja se vacio (adjuntos=0) Y que la
ultima fila renderizada es ya una imagen (`img[src^="blob:"]`).
- **El caption NO se embebe en la imagen: viaja como mensaje de texto de seguimiento.** En esta
WhatsApp Web compacta hay dos botones de envio cuando hay media: "Enviar N seleccionados" (envia
la bandeja, IGNORA el texto del composer) y "Enviar"/Enter (envia el texto como burbuja aparte,