古い iPad で Discourse がページ全体をレンダリングしない問題

私のフォーラムの2人のユーザーから、iPad(1台はiPad mini 2、もう1台のモデルは不明)でサイトが使用できないという報告がありました。トピックのタイトル以外が表示されないようです。

ユーザーの1人にセーフモードで確認してもらいましたが、問題は解消しませんでした。

この問題はここ数日で発生したようです(最近Discourseを更新しました)。ブラウザの互換性の問題が原因でしょうか?

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

ログに関連するエラーの可能性:

### メッセージ

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

### バックトレース

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

### 環境

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

セーフモードでも機能しますか?

「いいね!」 1

iPad Mini 2 は 2013 年製なので、かなり古いです。サポート終了は 2017 年でした。

「いいね!」 4

いいえ、セーフモードでは機能しません。

「いいね!」 1

ミニ4と5では正常に動作しています。クリスマスにパートナーたちが寛大になる時が来たのでしょうかね :wink:

「いいね!」 1

これは、entries polyfill が IE プラグインに移動されたためだと考えています cc @j.jaffeux

「いいね!」 3

はい、Object.entries は 10.3 です。

私の知る限り、Safari 10 以上と iOS 10 以上をサポートしています。

「いいね!」 4

この問題を解決するためにインストールできるプラグインがあるのですか?

「いいね!」 1

いいえ、このプラグインは現在 Discourse にデフォルトでインストールされています。私が言いたいのは、このポリフィルは数ヶ月前に IE11 のサポートのために追加されたということです。

数週間前にこのプラグインを作成した際、IE11 向けにコアに追加されたすべての機能をこのプラグイン内に移動させました。

IE11 からのリクエストのみがこのプラグインからファイルをロードするため、iOS 9 はもう動作しなくなっています。

iOS 9 の利用状況はほとんど追跡されておらず、おそらく 1% を大幅に下回っているでしょう(IE11 は 1% です)。

とはいえ、以下の 2 つの簡単な対応が可能です。

  • コア内のファイルを 1 年間さらに追加する
  • iOS 10 以下でも IE11 のポリフィルをロードする。現在は他者に影響を与えずに条件付きでロードできるため、良い解決策です。

@codinghorror さんの判断にお任せしますが、私の感覚としてはサポートを停止すべきだと思っています。ただし、現時点でより合理的だとお考えであれば、維持することに問題ありません。

「いいね!」 9

それが現実です。極めて古く時代遅れの iOS デバイスを永遠にサポートし続けることはできません。

「いいね!」 5