Safariで画像をアップロードできません

Safariをv15.5にアップデートしたときにこれが始まったわけではないことを、確実にお伝えできます。それは2022年5月18日のことです。この問題は2022年6月14日に初めて文書化しました。私はDiscourseプラットフォーム上のフォーラムのモデレーターであり、通常は1日に最低2〜3枚の画像をアップロードしています。Discourseでホストされているそのフォーラムの仕事の記録から、Safariをアップデートした後、問題に最初に気づく前にグラフィックをアップロードしたことを文書化できます。

「いいね!」 2

参考までに、Safari v15.6 にアップデートしましたが、この問題には影響しませんでした。

「いいね!」 1

対応いたしますので、少々お待ちください。お時間をいただいてしまい、大変申し訳ございません。

この問題を機能検出するのは非常に困難です。いくつか選択肢があります。

  1. uploading ... のプレースホルダーの代わりに、… を使用するプレースホルダーに切り替えます。

  2. この問題に影響されない「正規表現」置換を使用します。

  3. このインスタンスでのテキスト挿入メカニズムとして execCommand を無効にします(ペーストした画像が undo stack を破損させるため、いずれにしても無意味です)。

  4. execCommand の機能をサイト設定の背後に配置し、デフォルトで無効にします。

または、これらのうちのいくつかを組み合わせることもできます。

David のリストに載っており、追跡中です。

「いいね!」 4

(2) が最もスイングしやすいため、現時点ではそれを使用しています。これがより広範な問題であることが判明した場合は、3 / 4 のようなより抜本的な変更を検討できます。PR はこちらです。

「いいね!」 7

@tut その修正は、Meta およびお客様のサイトで有効になりました。お試しいただき、改善されたかどうかお知らせいただけますでしょうか。

「いいね!」 5

問題は解決したようです。これは、Safari v15.6 でアップロードされた、先ほどの投稿のスクリーンショットです(引用ではありません)。

「いいね!」 6

Safari から画像をアップロードする問題が再発しました。症状は Cannot upload images with Safari で説明されているものと全く同じですが、1 つ例外があります。問題は現在断続的です。以下の点を観察しました。

  • 全体的な成功率は約 90% と推定されます。
  • 同じログインセッション中に、さまざまな形式の多数の他の画像が正常にアップロードされたにもかかわらず、アップロードが停止することがあります。
  • 時折、数回試行した後にアップロードが成功することがあります。
  • 時々画像はアップロードされませんが、別の Discourse の投稿から類似のグラフィック画像(コードではなく画像自体)をすぐにコピーして貼り付けると、新しい投稿に画像が表示されます。(この回避策が失敗したことは一度もありませんが、それが決して起こらないという意味ではありません。)
  • 時折、特定の画像はアップロードされませんが、同じ形式の別の画像はアップロードされます。しかし、通常、1 つがアップロードされない場合、どれもアップロードされず、投稿は別のブラウザで完了する必要があります。
  • 主に比較的小さな画像でこれに気づきましたが、必ずしもそうではありません。しかし、経験が不十分なため、サイズしきい値が関係しているかどうかを判断できません。その観察は偶然である可能性が高いです。
「いいね!」 2

また、このようなプレースホルダーでスタックしていますか?それとも、少し異なる動作ですか?

ブラウザのコンソールにエラーや警告はありますか?

動作は同じようです。

コンソールを確認したところ、(私の操作なしに)クリアされていました。新しいセッションを開始したことによるものでしょうか?もし動作が繰り返されるようであれば、コンソールログをキャプチャします。

「いいね!」 1

約2週間と数百回のアップロード成功を経て、ついに問題が再発しました。今回は、2回目のアップロード試行で直ちに成功しました。開発者コンソールログの最後の2行は、ネットワーク接続が原因であることを明確に示しているようです。

[Warning] [PLUGIN discourse-adplugin] (vendor-3525a44c5f1c281745e16fd0c569078e0ad263d863a3e3d95fe3a8ca080d252b.br.js, line 4586)
"Deprecation notice: \"message-bus:main\" is deprecated, use \"service:message-bus\" instead (deprecated since Discourse 2.9.0.beta7) (removal in Discourse 3.0.0)"
[Warning] [PLUGIN discourse-cakeday] (vendor-3525a44c5f1c281745e16fd0c569078e0ad263d863a3e3d95fe3a8ca080d252b.br.js, line 4586)
"Deprecation notice: \"site-settings:main\" is deprecated, use \"service:site-settings\" instead (deprecated since Discourse 2.9.0.beta7) (removal in Discourse 3.0.0)"
[Warning] [PLUGIN discourse-canned-replies] (vendor-3525a44c5f1c281745e16fd0c569078e0ad263d863a3e3d95fe3a8ca080d252b.br.js, line 4586)
"Deprecation notice: \"current-user:main\" is deprecated, use \"service:current-user\" instead (deprecated since Discourse 2.9.0.beta7) (removal in Discourse 3.0.0)"
[Warning] [PLUGIN hosted-site] (vendor-3525a44c5f1c281745e16fd0c569078e0ad263d863a3e3d95fe3a8ca080d252b.br.js, line 4586)
"Deprecation notice: \"site:main\" is deprecated, use \"service:site\" instead (deprecated since Discourse 2.9.0.beta7) (removal in Discourse 3.0.0)"
[Error] Failed to load resource: The network connection was lost. (poll, line 0)
[Error] Failed to load resource: The Internet connection appears to be offline. (poll, line 0)

この問題が異なる症状で繰り返されない限り、解決したと考えてよいでしょう。しかし、最初の修正後にコンソールログに同様のエラーが表示されなかったのは不思議です。

「いいね!」 5