Skip to content

Fix/chat audio recording footer#47

Merged
Zibete merged 2 commits intomainfrom
fix/chat-audio-recording-footer
Apr 1, 2026
Merged

Fix/chat audio recording footer#47
Zibete merged 2 commits intomainfrom
fix/chat-audio-recording-footer

Conversation

@Zibete
Copy link
Copy Markdown
Owner

@Zibete Zibete commented Apr 1, 2026

🐛 fix(chat): corregir duración mínima de audio y layout del footer de grabación

Base: main
Rama: fix/chat-audio-recording-footer

🔧 Qué se cambió

  • Se endureció el flujo de envío para aceptar solo grabaciones de 1 segundo o más
  • Los audios vacíos o demasiado cortos se descartan y se muestra un snackbar warning
  • El tacho de basura ahora aparece únicamente durante isRecording, a la izquierda del footer
  • Se corrigió la superposición entre el tacho y el card del timer, y se eliminó la duplicación visual durante el gesto de cancelar
  • El footer vuelve al estado original al cancelar o al enviar correctamente
  • Se eliminaron caminos de render redundantes del tacho y se consolidó en una única referencia visual durante la grabación

💡 Por qué

  • Un tap corto sobre el micrófono podía terminar enviando audios vacíos o demasiado cortos
  • El footer tenía inconsistencias visuales durante la grabación: superposición, renders duplicados y estado sucio tras cancelar
  • El cambio alinea el comportamiento con UX estándar para mensajes de voz: solo se envía una grabación intencional y el estado de cancelación queda limpio y predecible

📐 Contratos y comportamiento

  • Tap corto: descarta el archivo temporal, muestra warning y vuelve al footer normal
  • Hold >= 1 segundo: completa el flujo y envía el audio
  • Estado normal: no se muestra tacho
  • Estado isRecording: un único tacho a la izquierda del footer
  • Swipe para cancelar: usa el mismo tacho del footer, sin overlays extra ni duplicados
  • Fin de flujo: tanto al cancelar como al enviar, el footer vuelve al estado original

🧪 Tests agregados (JVM)

  • No se agregaron tests en esta iteración

▶️ Cómo correr los tests

./gradlew testDebugUnitTest
./gradlew lintDebug
./gradlew :app:assembleDebug

✅ Validación manual

  • Tap rápido sobre el micrófono → no se envía audio y aparece el warning
  • Hold >= 1 segundo → el audio se envía correctamente
  • Durante isRecording → un solo tacho visible a la izquierda del footer
  • El card con timer y "Deslice para cancelar" se desplaza a la derecha sin cambiar la altura del footer
  • Swipe para cancelar → sin tachos duplicados, animación correcta y footer vuelve al estado normal
  • Envío válido → el footer vuelve al estado original

@Zibete Zibete merged commit 3006fa9 into main Apr 1, 2026
1 check passed
@Zibete Zibete deleted the fix/chat-audio-recording-footer branch April 1, 2026 20:55
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.

1 participant