Problema con la chat su iPad con iOS 12.5

Adoro il plugin. Ottimo lavoro.

Ho riscontrato un problema con Discourse Chat su iPad con iOS 12.5. Riconosco che Discourse smetterà di supportarlo a gennaio, ma dato che al momento è “supportato” ho voluto segnalarlo.

Il problema si presenta come un problema di interfaccia utente, ma sembra essere più profondo di così.

Il problema dell’interfaccia utente

Lo spazio di inserimento del testo non è abbastanza alto. Questo rende molto difficile posizionare il cursore nello spazio.

Vedi qui…

Ingrandito…

Il problema di usabilità

L’altro problema, che potrebbe essere correlato, è che anche se si posiziona il cursore nello spazio, non viene segnalato che il messaggio di chat è stato letto. L’indicatore di lettura blu/verde nella parte superiore dello schermo rimane anche se hai visitato il canale di chat. Questo rende ovviamente la chat difficile da usare poiché non è possibile attirare l’attenzione di qualcuno su un messaggio perché l’indicatore è sempre attivo.

Incoerenza

Entrambi questi problemi si presentano la maggior parte delle volte, ma ho anche - occasionalmente - visto circostanze in cui lo spazio di inserimento del testo appare normale e posizionare il cursore lì cancella l’indicatore di lettura.

Non riesco a trovare uno schema per questa incoerenza, ma potrebbe essere correlata alle differenze tra Chat Personale e Canali, ma anche questa potrebbe essere una falsa pista (gioco di parole voluto).

Il motivo per cui questo è un tale problema per me è che questa istanza di Discourse viene utilizzata all’interno di una scuola da 10-12 utenti a cui sono stati tutti forniti iPad. Ho chiesto che questi vengano aggiornati, ma sono vecchi e sono al massimo iOS ~12.5. Mi è stato detto che ci resteremo bloccati per un po’ - il che certamente mi darà un problema dopo gennaio.

Grazie!

1 Mi Piace

Sebbene veda che questo è stato spostato in una categoria di discussione UX invece che in un bug, volevo sottolineare che questo non è solo un problema di interfaccia utente / cosmetico.

Come ho menzionato sopra, l’indicatore di notifica della chat non scompare anche se il canale viene visitato e il cursore posizionato nello spazio di immissione del testo.

È come se un evento focus o simile non venisse attivato.

Grazie!

Il supporto per iOS 12.5 termina a gennaio. Discourse 3.0 è l’ultima versione che lo supporterà, dopodiché gli utenti vedranno la visualizzazione di sola lettura.

Dato che la chat risiede attualmente in un plugin, non sono sicuro di quanto sforzo verrà fatto per supportare la chat su dispositivi così vecchi solo per 3-4 mesi. Forse uno del team può commentare.

Grazie per la risposta, @Stephen.

Sì, posso capirlo e ho riconosciuto la loro imminente fine vita nel post iniziale. Stavo davvero cercando una posizione formale in modo da poter fare dei piani.

Vorrei anche sapere cosa comporta. Posso immaginare che supportare una piattaforma così vecchia possa essere troppo difficile, ma se fosse una soluzione semplice, mi piacerebbe vederla implementata. Sarei anche felice di aiutare, se rientra nelle mie limitate competenze.

Un paio di commenti, però.

Quando dici “solo 3-4 mesi”, suggerirei che sarebbe possibile (sebbene forse non desiderabile) bloccare Discourse e il Plugin Chat a versioni specifiche ed eseguire ‘felicemente’ per più tempo.

Ovviamente, dovrei considerare l’impatto di non ricevere aggiornamenti di sicurezza, ma i budget nelle scuole del Regno Unito sono molto limitati e l’aggiornamento degli iPad prima, diciamo, di luglio del prossimo anno, è improbabile che sia un’opzione.

Grazie ancora per aver condiviso i tuoi pensieri.

tl;dr Ho creato un componente tema che sembra aggirare il problema ma vorrei convalidare il CSS / l’approccio che ho utilizzato.

Aggiornamento

Un aggiornamento su questo. Ho creato un semplice componente tema che testerò dal vivo domani ma sembra rendere Discourse Chat utilizzabile su iOS 12.5.

Un ringraziamento speciale alle brave persone di BrowserStack che hanno gentilmente fornito l’accesso al debug a un iPad basato su cloud con iOS 12.x in esecuzione nell’ambito del loro programma open-source.

Sebbene questa soluzione sembri funzionare, apprezzerei davvero una revisione da parte di chiunque abbia reali conoscenze di CSS, poiché ho semplicemente indovinato e cercato su Google fino a questo punto.

Cosa stava succedendo?

Ho menzionato che il problema sembrava essere in qualche modo “casuale”. Si scopre che la dimensione della casella di immissione della chat è inversamente proporzionale all’altezza totale del testo scorrevole (non solo del testo visibile) nel contenitore dei messaggi della chat div.

Quindi, se non ci sono molti messaggi in un particolare canale, l’altezza della casella di chat appare normale. Man mano che compaiono più messaggi nel canale, l’altezza della casella di chat si riduce.

Problema aggiuntivo

Oltre al problema della textarea che si riduce, ho anche notato che il pulsante “torna ai canali” (chevron / minore di) era leggermente disallineato.

La soluzione?

Per il pulsante “torna ai canali”, il seguente CSS lo riallinea…

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

Vedi…

Utilizzando BrowserStack sono stato in grado di individuare il contenitore della chat che si riduce `div. Ho scoperto che se applicavo questo CSS…

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

…mantiene l’altezza del contenitore della chat indipendentemente dalle dimensioni del contenuto della chat.

Così…

Sono felice di mantenere il componente tema per i miei utenti iPad su iOS 12.5, ma vorrei solo sapere se questo approccio CSS è valido / ottimale / pericoloso.

Grazie!

2 Mi Piace

Ottimo!

Non posso commentare immediatamente a riguardo, ma l’ho inserito nella mia lista per discutere le domande che hai sollevato in modo più generale, in modo da poter rispondere qui con un po’ più di chiarezza. Potrebbero volerci ancora una o due settimane prima che possiamo rispondere in modo più definitivo.

2 Mi Piace

La mia preoccupazione generale è che questo non sia fattibile a lungo termine

Una volta che avremo interrotto il supporto dal core a gennaio, JS potrebbe iniziare a fallire e questo non sarà risolvibile in un componente del tema

2 Mi Piace

Sì, ha senso.

Per me, questa sarà una soluzione temporanea a medio termine per arrivare all’anno fiscale successivo, quando la scuola potrà, si spera, fornire ai miei utenti iPad più performanti.

Infatti, se Discourse Chat non avesse avuto un tale successo tra i nostri utenti, l’avrei semplicemente ignorato, ma svolge un ruolo perfetto in alcuni dei processi che abbiamo automatizzato.

Spero di fissare un ID di commit funzionante per Chat e Discourse in app.yml a gennaio e poi cercare di arrivare alla fine.

2 Mi Piace

Grazie per aver fornito il contesto. Sì, questo ha certamente senso. Vorrei che fosse più facile supportare questi dispositivi o che Apple aggiornasse i browser indipendentemente da iOS.

Android non ha questo problema… è un “problema Apple”

2 Mi Piace