Discourse rendert auf älteren iPads nicht die gesamte Seite

Ich habe von zwei verschiedenen Nutzern meines Forums einen Bericht erhalten, dass die Seite unbrauchbar ist, da auf ihren iPads (eines ist ein iPad mini 2; das Alter des anderen ist mir unbekannt) außer dem Beitragstitel nichts dargestellt wird.

Ich habe einen der Nutzer gebeten, den Modus für den sicheren Start zu prüfen, aber das Problem blieb bestehen.

Offenbar trat dieses Problem in den letzten Tagen auf (ich habe Discourse kürzlich aktualisiert). Könnte es sich um eine neu eingeführte Browserinkompatibilität handeln?

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

Möglicher zugehöriger Fehler im Log:

### Nachricht

TypeError: Object.values ist keine Funktion. (In 'Object.values(k)' ist 'Object.values' undefiniert) URL: https://se23.life/assets/application-40c596cdf7e29282f09e31f3627440b02ba54ef8bec1f65c72732b78dddeadb2.js Zeile: 1 Spalte: 2302964 Fenster-Position: https://se23.life/t/hat-stolen-from-forest-hill-christmas-tree-now-replaced/13615/16

### Rückverfolgung

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 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@[nativer 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

### Umgebung

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 ist keine Funktion. (In 'Object.values(k)' ist 'Object.values' undefiniert)
--- --- --- ---
--- ---
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 „Gefällt mir“

Funktionieren sie im abgesicherten Modus?

1 „Gefällt mir“

Das iPad Mini 2 stammt aus dem Jahr 2013 und ist daher bereits recht alt. Der Support endete 2017.

4 „Gefällt mir“

Nein, sie funktionieren im abgesicherten Modus nicht.

1 „Gefällt mir“

Bei meinem Mini 4 und 5 funktioniert alles einwandfrei: Ich vermute, es ist an der Zeit, dass ihre Partner zu Weihnachten großzügig werden :wink:

1 „Gefällt mir“

Ich glaube, das liegt daran, dass das Polyfill für Einträge in das IE-Plugin verschoben wurde, cc @j.jaffeux

3 „Gefällt mir“

Ja, Object.entries ist ab Version 10.3 verfügbar.

Soweit ich weiß, unterstützen wir Safari 10+ und iOS 10+.

4 „Gefällt mir“

Gibt es also ein Plugin, das ich installieren kann, um dieses Problem zu lösen?

1 „Gefällt mir“

Nein, dieses Plugin wird jetzt standardmäßig mit Discourse installiert. Was ich meine, ist, dass dieser Polyfill vor Monaten hinzugefügt wurde, um IE11 zu unterstützen.

Als wir dieses Plugin vor Wochen erstellt haben, haben wir alles, was für IE11 in den Kern aufgenommen wurde, in dieses Plugin verschoben.

Nur Anfragen von IE11 laden Dateien aus diesem Plugin, weshalb iOS 9 nicht mehr funktioniert.

Die Nutzung von iOS 9 wird kaum noch verfolgt; sie liegt wahrscheinlich weit unter 1 % (IE11 liegt bei 1 %).

Trotzdem können wir zwei einfache Dinge tun:

  • Die Datei noch ein weiteres Jahr im Kern wieder hinzufügen
  • Den IE11-Polyfill auch für iOS 10 und älter laden. Das ist eine gute Lösung, da wir dies nun bedingt laden können, ohne andere Nutzer zu beeinträchtigen.

Das liegt bei dir, @codinghorror. Meine Meinung ist, dass wir die Unterstützung dafür einstellen sollten, aber ich bin damit einverstanden, sie beizubehalten, wenn du denkst, dass das vorerst vernünftiger ist.

9 „Gefällt mir“

So ist es nun einmal: Extrem alte und veraltete iOS-Geräte können nicht für immer unterstützt werden.

5 „Gefällt mir“