Problema con el chat en iPads con iOS 12.5

Me encanta el plugin. Gran trabajo.

He encontrado un problema con Discourse Chat en iPads con iOS 12.5. Reconozco que Discourse dejará de dar soporte a esto en enero, pero como actualmente está “soportado”, quería informarlo.

El problema se presenta como un problema de interfaz de usuario, pero parece ser más profundo que eso.

El problema de la interfaz de usuario

El espacio de entrada de texto no es lo suficientemente alto. Esto hace que colocar el cursor en el espacio sea muy difícil.

Mira aquí…

En primer plano…

El problema de usabilidad

El otro problema, que puede estar relacionado, es que incluso si colocas el cursor en el espacio, no indica que el mensaje de chat se ha leído. El indicador de lectura azul/verde en la parte superior de la pantalla permanece incluso si has visitado el canal de chat. Obviamente, esto hace que el chat sea difícil de usar, ya que no puedes llamar la atención de alguien sobre un mensaje porque el indicador está siempre encendido.

Inconsistencia

Ambos problemas se presentan la mayor parte del tiempo, pero también he visto ocasionalmente circunstancias en las que el espacio de entrada de texto parece normal y colocar el cursor allí borra el indicador de lectura.

No puedo encontrar un patrón para esta inconsistencia, pero podría estar relacionado con las diferencias entre el Chat Personal y los Canales, pero eso también podría ser una pista falsa (juego de palabras intencionado).

La razón por la que esto es un problema tan grande para mí es que esta instancia de Discourse es utilizada dentro de una escuela por 10-12 usuarios a los que se les han dado iPads. He pedido que se actualicen, pero son antiguos y están limitados a iOS ~12.5. Me dicen que nos quedaremos con estos por un tiempo, lo que ciertamente me dará un problema después de enero.

¡Gracias!

1 me gusta

Aunque veo que esto se ha trasladado a una categoría de discusión de UX en lugar de un error, quería enfatizar que no se trata solo de un problema de interfaz de usuario / cosmético.

Como mencioné anteriormente, el indicador de notificación de chat no se borra incluso si se visita el canal y se coloca el cursor en el espacio de entrada de texto.

Es como si no se activara un evento focus o similar.

¡Gracias!

El soporte para iOS 12.5 finaliza en enero. Discourse 3.0 es la última versión que lo soportará, después de lo cual los usuarios verán la vista de solo lectura.

Dado que el chat reside actualmente en un plugin, no estoy seguro de cuánto esfuerzo se dedicará a mantener el chat en dispositivos tan antiguos durante solo 3-4 meses. Quizás uno de los miembros del equipo pueda comentar.

Gracias por la respuesta, @Stephen.

Sí, puedo entender eso, y reconocí su inminente fin de vida útil en la publicación inicial. Realmente estaba buscando una posición formal para poder hacer algunos planes.

También me gustaría saber qué implica. Me imagino que dar soporte a una plataforma tan antigua puede ser demasiado difícil, pero si fuera una solución simple, me encantaría verla implementada. También estaría encantado de ayudar, si encaja dentro de mi limitado conjunto de habilidades.

Un par de comentarios.

Cuando dices “solo 3-4 meses”, sugeriría que sería posible (si no deseable) fijar Discourse y el Plugin de Chat a versiones específicas y funcionar ‘felizmente’ durante más tiempo.

Obviamente, necesitaría considerar el impacto de no recibir actualizaciones de seguridad, pero los presupuestos en las escuelas del Reino Unido son muy ajustados y es poco probable que se puedan actualizar los iPads antes de, digamos, julio del próximo año.

Gracias de nuevo por compartir tus pensamientos.

tl;dr He creado un componente de tema que parece solucionar el problema, pero me gustaría validar el CSS / enfoque que he utilizado.

Actualización

Una actualización sobre esto. He creado un componente de tema simple que probaré en vivo mañana, pero parece que hace que Discourse Chat funcione en iOS 12.5.

Un agradecimiento especial a las buenas personas de BrowserStack que me proporcionaron amablemente acceso de depuración a un iPad basado en la nube con iOS 12.x en su programa de código abierto.

Si bien esta solución parece viable, realmente agradecería una revisión por parte de cualquier persona con conocimientos reales de CSS, ya que simplemente he adivinado y buscado en Google hasta este punto.

¿Qué estaba sucediendo?

Mencioné que el problema parecía ser algo ‘aleatorio’. Resulta que el tamaño del cuadro de entrada del compositor de chat es inversamente proporcional a la altura total del texto desplazable (no solo el texto visible) en el div del contenedor de mensajes de chat.

Por lo tanto, si no hay muchos mensajes en un canal en particular, la altura del compositor de chat parece normal. A medida que aparecen más mensajes en el canal, la altura del compositor de chat se reduce.

Problema adicional

Además del problema de la reducción del textarea, también noté que el botón “volver a los canales” (cheurón / menor que) estaba ligeramente desalineado.

¿La solución?

Para el botón “volver a los canales”, el siguiente CSS lo vuelve a alinear…

div.topic-chat-float-container .chat-drawer .topic-chat-drawer-header {
    align-items: center;
}

Mira…

Usando BrowserStack, pude apuntar al div del contenedor del compositor de chat que se encoge. Descubrí que si aplicaba este CSS…

.chat-composer-container {
    flex-shrink: 0;
}

…mantiene la altura del contenedor del compositor de chat sin importar el tamaño del contenido del chat.

Así…

Estoy feliz de mantener el componente de tema para mis usuarios de iPad en iOS 12.5, pero solo me gustaría saber si este enfoque de CSS es válido / óptimo / peligroso.

¡Gracias!

2 Me gusta

¡Buen trabajo!

No puedo comentar de inmediato sobre eso, pero lo tengo en mi lista para discutir las preguntas que ha planteado de manera más general para que podamos responder aquí con un poco más de claridad. Sin embargo, puede llevar una o dos semanas más antes de que podamos responder a eso de manera más definitiva.

2 Me gusta

Mi preocupación general es que esto no es factible a largo plazo

Una vez que dejemos de dar soporte desde el núcleo en enero, JS puede empezar a fallar y esto no se podrá arreglar en un componente de tema.

2 Me gusta

Sí, tiene sentido.

Para mí, esto será un parche provisional a medio plazo para llegar al próximo año presupuestario, cuando la escuela pueda, con suerte, conseguir que mis usuarios tengan iPads más capaces.

De hecho, si Discourse Chat no hubiera tenido tanto éxito entre nuestros usuarios, simplemente lo ignoraría, pero desempeña un papel perfecto en algunos de los procesos que hemos automatizado.

Espero fijar un ID de commit funcional para Chat y Discourse en app.yml en enero y luego intentar salir adelante.

2 Me gusta

Gracias por proporcionar contexto. Sí, esto ciertamente tiene sentido. Ojalá fuera más fácil dar soporte a estos dispositivos o que Apple mantuviera los navegadores actualizados independientemente de iOS.

Android no tiene este problema… es un “problema de Apple”.

2 Me gusta