Discourse n'affiche pas la page entière sur les anciens iPad

J’ai reçu un rapport de deux utilisateurs distincts de mon forum indiquant que le site est inutilisable, car rien n’est affiché au-delà du titre du sujet sur leurs iPad (l’un est un iPad mini 2 ; je ne connais pas l’âge de l’autre).

J’ai demandé à l’un des utilisateurs de vérifier en mode sans échec, mais le problème persiste.

Apparemment, ce problème est survenu au cours des derniers jours (j’ai récemment mis à jour Discourse). Une incompatibilité avec le navigateur aurait-elle été introduite ?

https://se23.life/t/cant-open-topics-suddenly/13677?u=chrisbeach

Erreur possible liée dans le journal :

### Message

TypeError: Object.values is not a function. (In 'Object.values(k)', 'Object.values' is undefined) Url: https://se23.life/assets/application-40c596cdf7e29282f09e31f3627440b02ba54ef8bec1f65c72732b78dddeadb2.js Line: 1 Column: 2302964 Window Location: https://se23.life/t/hat-stolen-from-forest-hill-christmas-tree-now-replaced/13615/16

### Backtrace

html@https://se23.life/assets/application-40c596cdf7e29282f09e31f3627440b02ba54ef8bec1f65c72732b78dddeadb2.js:1:2302964 value@https://se23.life/assets/application-40c596cdf7e29282f09e31f3627440b02ba54ef8bec1f65c72732b78dddeadb2.js:1:2380769 s@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:142806 exports@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:142956 t@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:136443 t@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:136753 t@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:136753 t@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:136753 t@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:136753 t@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:136753 t@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:136753 https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:138354 exports@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:138399 c@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:139468 o@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:139332 exports@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:138842 c@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:139468 o@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:139332 t@https://se23.life/assets/vendor-4681e47c140b5a5bea2bfb1fec89365858288a8ea0c21979c0167ad9b570ee3d.js:1:139608 rerenderWidget@https://se23.life/assets/application-40c596cdf7e29282f09e31f3627440b02ba54ef8bec1f65c72732b78dddeadb2.js:1:1070961 invoke@https://se23.life/assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:1:483463 flush@https://se23.life/assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:1:482460 flush@https://se23.life/assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:1:484479 _end@https://se23.life/assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:1:489914 end@https://se23.life/assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:1:486449 _run@https://se23.life/assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:1:490450 h@[native code] success@https://se23.life/assets/application-40c596cdf7e29282f09e31f3627440b02ba54ef8bec1f65c72732b78dddeadb2.js:1:228913 n@https://se23.life/assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:1:27779 fireWith@https://se23.life/assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:1:28543 l@https://se23.life/assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:1:78782 https://se23.life/assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:1:81099

### Env

hostname gbyk1-app
process_id 222
application_version e8beccdaa4eb36fd292de9cd77d59a0e0389c92f
HTTP_HOST se23.life
REQUEST_URI /logs/report_js_error
REQUEST_METHOD POST
HTTP_USER_AGENT Mozilla/5.0 (iPad; CPU OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A456 Safari/602.1
HTTP_ACCEPT */*
HTTP_REFERER https://se23.life/t/hat-stolen-from-forest-hill-christmas-tree-now-replaced/13615/16
HTTP_X_FORWARDED_FOR [redacted]
HTTP_X_REAL_IP [redacted]
params message TypeError: Object.values is not a function. (In 'Object.values(k)', 'Object.values' is undefined)
--- --- --- ---
--- ---
url https://se23.life/assets/application-40c596cdf7e29282f09e31f3627440b02ba54ef8bec1f65c72732b78dddeadb2
line 1
column 2302964
window_location https://se23.life/t/hat-stolen-from-forest-hill-christmas-tree-now-replaced/13615/16
stacktrace html@https://se23.life/assets/application-40c596cdf7e29282f09e31f3627440b02ba54ef8bec1f65c72732b78ddd
2 « J'aime »

Est-ce qu’ils fonctionnent en mode sans échec ?

1 « J'aime »

L’iPad Mini 2 date de 2013, il est donc assez ancien. Sa fin de vie a été annoncée en 2017.

4 « J'aime »

Non, cela ne fonctionne pas en mode sans échec.

1 « J'aime »

Ça fonctionne bien sur mon mini 4 et 5 : Il est temps que leurs partenaires soient généreux à Noël, je pense :wink:

1 « J'aime »

Je pense que cela est dû au fait que le polyfill des entrées a été déplacé vers le plugin IE cc @j.jaffeux

3 « J'aime »

Oui, Object.entries est en 10.3

À ma connaissance, nous prenons en charge Safari 10+ et iOS 10+

4 « J'aime »

Donc, il existe un plugin que je peux installer pour faire disparaître ce problème ?

1 « J'aime »

Non, ce plugin est désormais installé par défaut avec Discourse. Ce que je veux dire, c’est que ce polyfill a été ajouté il y a plusieurs mois pour prendre en charge IE11.

Lorsque nous avons créé ce plugin il y a quelques semaines, nous avons déplacé tout ce qui avait été ajouté au cœur du système pour IE11 dans ce plugin.

Seules les requêtes provenant d’IE11 chargeront les fichiers de ce plugin, c’est pourquoi iOS 9 ne fonctionne plus.

L’utilisation d’iOS 9 n’est presque plus suivie ; elle est probablement bien en dessous de 1 % (IE11 se situe à 1 %).

Cela dit, nous pouvons faire deux choses simples :

  • remettre le fichier dans le cœur du système pour une année supplémentaire
  • charger également le polyfill pour IE11 sur iOS 10 et versions antérieures ; c’est une bonne solution car nous pouvons maintenant le charger de manière conditionnelle sans affecter les autres utilisateurs.

À vous de décider @codinghorror. Mon avis est que nous devrions arrêter de le prendre en charge, mais je suis d’accord pour le conserver si vous pensez que c’est plus raisonnable pour l’instant.

9 « J'aime »

C’est comme ça : les appareils iOS très anciens et obsolètes ne peuvent pas être pris en charge indéfiniment.

5 « J'aime »