# لا يمكن تحرير المواضيع التي تحتوي على صور مع الواجهة الخلفية S3

**URL:** <https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727>\
**Category:** Bug\
**Created:** [14 يونيو 2021، 5:45ص UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727 "2021-06-14T05:45:26Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![dirien](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dirien/32/206485_2.png) [@dirien](https://meta.discourse.org/u/dirien)\
**Post date:** [14 يونيو 2021، 5:45ص UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/1 "2021-06-14T05:45:26Z")

</div>

مرحباً بالجميع،

لقد صادفنا مشكلة غريبة.

إعداداتنا:

- Discourse: 2.8.0.beta2
- S3: Minio
- CDN: Myra

تم تكوين S3 على النحو التالي:

```json
root@assets-prod-app01:~# sudo -u minio mc admin policy info minio readwrite-discourse
{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Effect": "Allow",
   "Action": [
    "s3:ListBucketMultipartUploads",
    "s3:GetBucketLocation",
    "s3:ListBucket"
   ],
   "Resource": [
    "arn:aws:s3:::discourse"
   ]
  },
  {
   "Effect": "Allow",
   "Action": [
    "s3:*"
   ],
   "Resource": [
    "arn:aws:s3:::discourse/*"
   ]
  }
 ]
}

```

لكننا نواجه دائماً عند التعديل رسالة الخطأ التالية

 ![image](https://global.discourse-cdn.com/meta/original/3X/7/6/7614654ef757cf3c23e8519179002432a9ba5c60.jpeg)

في ملفات السجلات نلاحظ ما يلي

 ![image](https://global.discourse-cdn.com/meta/original/3X/f/1/f1fcdaaa62455355fef3c3edd1b430e3d591dc8e.png)

```plaintext
Aws::S3::Errors::NotImplemented (رأسية قدمتها تشير إلى وظيفة غير مطبقة)
lib/file_store/s3_store.rb:279:in `update_ACL'
lib/file_store/s3_store.rb:209:in `update_upload_ACL'
...

```

هل هناك إعداد لم نأخذه في الاعتبار، أم أن Minio غير متوافق مع Discourse؟

أي تلميح سيكون موضع ترحيب، حيث نواجه بعض الضغط من مستخدمينا ☹

شكراً مقدماً

---

<div class="post-metadata">

**Author:** ![dirien](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dirien/32/206485_2.png) [@dirien](https://meta.discourse.org/u/dirien)\
**Post date:** [22 يونيو 2021، 4:24ص UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/2 "2021-06-22T04:24:49Z")

</div>

هل هذا الإعداد غير شائع لدرجة كهذه؟

أقدر أي توجيهات حول ما يجب النظر فيه بتفصيل أكثر أو ما الذي يجب تغييره؟ @Falco في الوقت الحالي، نحن عالقون تمامًا… ☹

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [22 يونيو 2021، 4:55م UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/3 "2021-06-22T16:55:40Z")

</div>

هل قمت بتفعيل إعداد الموقع `secure_uploads`؟ لن يعمل ذلك مع MinIO _على الإطلاق_.

---

<div class="post-metadata">

**Author:** ![dirien](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dirien/32/206485_2.png) [@dirien](https://meta.discourse.org/u/dirien)\
**Post date:** [22 يونيو 2021، 5:20م UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/4 "2021-06-22T17:20:24Z")

</div>

مرحبًا @Falco،

للأسف لا…

 ![image](https://global.discourse-cdn.com/meta/original/3X/d/6/d6a5e1d81d251d13568e86a86cb004bc47bb28e4.png)

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [22 يونيو 2021، 9:01م UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/5 "2021-06-22T21:01:26Z")

</div>

هل تم إعداد S3 كما هو موضح في الوثائق الموجودة في [استخدام التخزين الكائني للرفع (S3 والنسخ)](https://meta.discourse.org/t/using-object-storage-for-uploads-s3-clones/148916)؟

---

<div class="post-metadata">

**Author:** ![dirien](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dirien/32/206485_2.png) [@dirien](https://meta.discourse.org/u/dirien)\
**Post date:** [23 يونيو 2021، 4:44ص UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/6 "2021-06-23T04:44:10Z")

</div>

نعم، حرفًا بحرف 🙂

 ![image](https://global.discourse-cdn.com/meta/original/3X/4/c/4c90ea28a723bfae3823e000ffe057cb3684b4c9.png)

---

<div class="post-metadata">

**Author:** ![dirien](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dirien/32/206485_2.png) [@dirien](https://meta.discourse.org/u/dirien)\
**Post date:** [1 يوليو 2021، 5:03ص UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/7 "2021-07-01T05:03:59Z")

</div>

عذراً على الإزعاج، لكن هل يمكنك اكتشاف أي شيء؟

---

<div class="post-metadata">

**Author:** ![dirien](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dirien/32/206485_2.png) [@dirien](https://meta.discourse.org/u/dirien)\
**Post date:** [8 يوليو 2021، 5:32ص UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/8 "2021-07-08T05:32:39Z")

</div>

مرحبًا، هل لديك أي أفكار؟ آسف للإزعاج…

---

<div class="post-metadata">

**Author:** ![appcomqa](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/appcomqa/32/133414_2.png) [@appcomqa](https://meta.discourse.org/u/appcomqa)\
**Post date:** [8 يوليو 2021، 3:23م UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/9 "2021-07-08T15:23:11Z")

</div>

مرحبًا،

لقد قمت اليوم بالترقية إلى الإصدار 2.8.0.beta2، ونفس الخطأ يظهر:

 ![image](https://global.discourse-cdn.com/meta/original/3X/f/a/fa6f440e1758d575c08fffc1826f9b17be7d70e4.png)

* * *

فقط قم باختيار secure\_media، وسيعمل minio مرة أخرى.

![image](https://global.discourse-cdn.com/meta/original/3X/5/8/58a9d01b7f1f6d867774f2e4cf60adfa4a735d1e.png)

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [8 يوليو 2021، 3:50م UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/10 "2021-07-08T15:50:52Z")

</div>

@pmusaraj / @martin يبدو أن هناك انتكاسة ناتجة عن

> <https://github.com/discourse/discourse/pull/13110>
>
> When uploads are created from the composer (editing or creating a post),
> for si…tes with secure uploads enabled we assume security by default and
> that new upload is set to secure. When the post is created, we then
> check whether the post uploads \_actually\_ need to be secure and adjust
> accordingly.
> 
> We were not doing this when revising a post, so when a new upload was
> created when editing a post in a public topic, the secure status stayed
> true erroneously causing issues with image previews, among other things.

التي لم تأخذ في الاعتبار نفس الأشياء التي تم إصلاحها بواسطة

> <https://github.com/discourse/discourse/commit/5c5d8a307a816afcda4b97eecf49b836fc9ecb01>
>
> In \`post\_creator\`, the ACL update is only necessary when uploads need to be secu…red.
> 
> This should fix a regression with S3 clones that do not support updating ACLs.

لذلك يقوم `post_creator` بما يلي:

> <https://github.com/discourse/discourse/blob/main/lib/post_creator.rb#L427-L429>

و `models/post`:

> <https://github.com/discourse/discourse/blob/main/lib/post_revisor.rb#L232>

---

<div class="post-metadata">

**Author:** ![martin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin/32/491371_2.png) [@martin](https://meta.discourse.org/u/martin)\
**Post date:** [9 يوليو 2021، 12:18ص UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/12 "2021-07-09T00:18:12Z")

</div>

تم بالفعل إصلاح هذه المشكلة لأسباب تتعلق بالأداء، ومن المفترض أن يحل أيضًا مشكلتك:

> <https://github.com/discourse/discourse/commit/d1b2e9db3bcb7693094511edc415a953dc8a9116>
>
> When secure uploads are enabled, editing a post with many uploads can
> cause a t…imeout because the store has to be contacted for each upload.

~~مع أنني سأقوم بإجراء إصلاح في المهمة بحيث تتوقف مبكرًا إذا كانت الوسائط الآمنة معطّلة.~~

في الواقع، لا يمكنني القيام بالأمر أعلاه لأننا نريد أن تُعلَّم تحميلات المنشورات بأنها غير آمنة إذا كانت الوسائط الآمنة معطّلة، أو إذا نُقل المنشور إلى فئة أخرى. بدلًا من ذلك، سأضيف إصلاحًا لالتقاط خطأ `Aws::S3::Errors::NotImplemented` عند تنفيذ `Discourse.store.update_upload_ACL(self)`. وبهذه الطريقة، لن يواجه العملاء الذين لا يدعمون قوائم التحكم بالوصول الخاصة (private ACLs) أي مشكلة.

تعديل: دمجت هذا الإصلاح اليوم، وأرجو أن يساعد [FIX: Handle storage providers not implementing ACLs by martin-brennan · Pull Request #13675 · discourse/discourse · GitHub](https://github.com/discourse/discourse/pull/13675). أعتقد أننا سنطلق نسخة تجريبية جديدة الأسبوع المقبل أيضًا.

---

<div class="post-metadata">

**Author:** ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)\
**Post date:** [12 يوليو 2021، 11:00ص UTC](https://meta.discourse.org/t/can-not-edit-topics-with-picture-with-s3-backend/193727/13 "2021-07-12T11:00:46Z")

</div>

تم إغلاق هذا الموضوع تلقائيًا بعد 3 أيام. لم تعد الردود الجديدة مسموحًا بها.
