Le sélecteur d'emoji fait planter l'éditeur de messages sous Android / Chrome

Je peux reproduire le problème. Voici la trace de la pile :

_application-bfbda341c2eb6dd7d61c681e17bdccec057c30e045ddc332927a7363150e9b1b.js:16386 Uncaught TypeError: Cannot read property '0' of null
    at HTMLLIElement.<anonymous> (application-bfbda341c2eb6dd7d61c681e17bdccec057c30e045ddc332927a7363150e9b1b.br.js:1)
    at HTMLLIElement.dispatch (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.br.js:1)
    at HTMLLIElement.d.handle (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.br.js:1)
(anonymous) @ application-bfbda341c2eb6dd7d61c681e17bdccec057c30e045ddc332927a7363150e9b1b.br.js:1
dispatch @ ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.br.js:1
d.handle @ ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.br.js:1

Cela correspond à cette ligne :

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/lib/autocomplete.js#L308

L’erreur se produit parce que selectedOption est 0 (une seule suggestion, c’est-à-dire la première) tandis que autocompleteOptions est d’une manière ou d’une autre null.

J’essaie actuellement de comprendre pourquoi…

Pour l’instant, je ne suis pas sûr de la cause. Au début, je soupçonnais cette PR de @Osama :

Mais j’ai ajouté plusieurs points d’arrêt et je n’arrive pas vraiment à identifier « qui » modifie autocompleteOptions et le définit comme null.

Le fait que autocompleteOptions provienne de la portée de la fermeture parente située deux niveaux au-dessus est également assez étrange et rend le code un peu difficile à suivre et à déboguer.

8 « J'aime »