Problema com chat em iPads rodando iOS 12.5

Adorei o plugin. Ótimo trabalho.

Encontrei um problema com o Discourse Chat em iPads rodando iOS 12.5. Reconheço que o Discourse vai descontinuar o suporte para isso em janeiro, mas como está ‘suportado’ no momento, queria reportá-lo.

O problema se apresenta como um problema de UI, mas parece ser mais profundo do que isso.

O Problema de UI

O espaço de entrada de texto não é alto o suficiente. Isso torna muito difícil colocar o cursor no espaço.

Veja aqui…

Ampliado…

O Problema de Usabilidade

O outro problema, que pode estar relacionado, é que mesmo que você coloque o cursor no espaço, ele não sinaliza que a mensagem de chat foi lida. O indicador de leitura azul/verde no topo da tela permanece, mesmo que você tenha visitado o canal de chat. Obviamente, isso torna o chat difícil de usar, pois você não pode chamar a atenção de alguém para uma mensagem porque o indicador está sempre aceso.

Inconsistência

Ambos os problemas se apresentam na maioria das vezes, mas também já vi - ocasionalmente - circunstâncias em que o espaço de entrada de texto parece normal e colocar o cursor nele limpa o indicador de leitura.

Não consigo encontrar um padrão para essa inconsistência, mas pode estar relacionado às diferenças entre Chat Pessoal e Canais - mas isso também pode ser uma pista falsa (trocadilho intencional).

A razão pela qual isso é um grande problema para mim é que esta instância do Discourse é usada em uma escola por 10-12 usuários que receberam iPads. Pedi que fossem atualizados, mas são antigos e estão no máximo com iOS ~12.5. Disseram-me que ficaremos com eles por enquanto - o que certamente me dará um problema depois de janeiro.

Obrigado!

1 curtida

Embora eu veja que isso foi movido para uma categoria de discussão de UX em vez de um bug, eu queria enfatizar que este não é apenas um problema de interface do usuário / cosmético.

Como mencionei acima, o indicador de notificação de chat não desaparece, mesmo que o canal seja visitado e o cursor seja colocado no espaço de entrada de texto.

É como se um evento de focus ou similar não estivesse sendo acionado.

Obrigado!

O suporte para iOS 12.5 termina em janeiro. O Discourse 3.0 é a última versão que o suportará, após o que os usuários verão a visualização somente leitura.

Como o chat atualmente reside em um plugin, não tenho certeza de quanto esforço será feito para manter o chat em dispositivos tão antigos por apenas 3-4 meses. Talvez um dos membros da equipe possa comentar.

Obrigado pela resposta, @Stephen.

Sim, eu entendo isso - e reconheci o fim iminente de sua vida útil na postagem inicial. Eu estava realmente procurando uma posição formal para poder fazer alguns planos.

Eu também gostaria de saber o que está envolvido. Posso imaginar que dar suporte a uma plataforma tão antiga pode ser muito difícil, mas se fosse uma correção simples, eu adoraria vê-la implementada. Eu também ficaria feliz em ajudar - se isso se encaixar no meu conjunto limitado de habilidades.

Alguns comentários, no entanto.

Quando você diz “apenas 3-4 meses”, eu sugeriria que seria possível (se talvez não desejável) fixar o Discourse e o Plugin de Chat em versões específicas e rodar ‘felizes’ por mais tempo do que isso.

Obviamente, eu precisaria considerar o impacto de não receber atualizações de segurança, mas os orçamentos nas escolas do Reino Unido são muito apertados e atualizar os iPads antes, digamos, de julho do próximo ano, provavelmente não será uma opção.

Obrigado novamente por compartilhar seus pensamentos.

tl;dr Criei um componente de tema que parece contornar o problema, mas gostaria de validar o CSS / abordagem que usei.

Atualização

Uma atualização sobre isso. Criei um componente de tema simples que testarei ao vivo amanhã, mas parece que torna o Discourse Chat funcional no iOS 12.5.

Um salve para as boas pessoas da BrowserStack que graciosamente forneceram acesso de depuração a um iPad baseado em nuvem rodando 12.x sob o programa de código aberto deles.

Embora esta solução pareça viável, eu realmente apreciaria uma revisão por qualquer pessoa com conhecimento real de CSS, pois simplesmente adivinhei e pesquisei no Google para chegar a este ponto.

O que estava acontecendo?

Mencionei que o problema parecia ser um tanto ‘aleatório’. Acontece que o tamanho da caixa de entrada do composer de chat é inversamente proporcional à altura total do texto rolável (não apenas o texto visível) na div do contêiner de mensagens do chat.

Portanto, se não houver muitas mensagens em um canal específico, a altura do composer de chat parece normal. À medida que mais mensagens aparecem no canal, a altura do composer de chat diminui.

Problema adicional

Além do problema de encolhimento do textarea, também notei que o botão “voltar para canais” (chevrão / menor que) estava ligeiramente desalinhado.

A solução?

Para o botão “voltar para canais”, o seguinte CSS o realinha…

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

Veja…

Usando o BrowserStack, consegui direcionar a div do contêiner do composer de chat que encolhia. Descobri que, se eu aplicasse este CSS…

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

…ele mantém a altura do contêiner do composer de chat, não importa o tamanho do conteúdo do chat.

Assim…

Estou feliz em manter o componente de tema para meus usuários de iPad no 12.5, mas gostaria apenas de saber se essa abordagem de CSS é válida / ótima / perigosa.

Obrigado!

2 curtidas

[quote=“Danny Goodall, post:9, topic:241184, username:bletch”]Resumo: Criei um componente de tema que parece contornar o problema, mas gostaria de validar o CSS / abordagem que usei.
[/quote]

Bom trabalho!

Não posso comentar imediatamente sobre isso, mas está na minha lista para discutir as perguntas que você levantou de forma mais geral para que possamos responder aqui com um pouco mais de clareza. Pode levar mais uma ou duas semanas antes que possamos responder a isso de forma mais definitiva.

2 curtidas

Minha preocupação geral é que isso não é viável a longo prazo

Uma vez que removermos o suporte do core em janeiro, o JS poderá começar a falhar e isso não poderá ser corrigido em um componente de tema.

2 curtidas

Sim, faz sentido.

Para mim, isso será um paliativo de médio prazo para me levar ao próximo ano fiscal, quando a escola poderá, esperançosamente, fornecer iPads mais capazes para meus usuários.

Na verdade, se o Discourse Chat não tivesse sido um sucesso tão grande com nossos usuários, eu simplesmente o ignoraria, mas ele desempenha um papel perfeito em alguns dos processos que automatizamos.

Espero fixar um ID de commit funcional para Chat e Discourse em app.yml em janeiro e, em seguida, tentar seguir em frente.

2 curtidas

Obrigado por fornecer contexto. Sim, isso certamente faz sentido. Gostaria que fosse mais fácil dar suporte a esses dispositivos ou que a Apple mantivesse os navegadores atualizados independentemente do iOS.

O Android não tem esse problema… é um “problema da Apple”.

2 curtidas