معاينات قائمة المواضيع (التقليدية)

مرحبًا، شكرًا لك على إضافة البرنامج الرائعة!

لسوء الحظ، مع آخر تحديث، لم تعد الصور التي لا تستضاف مباشرة على Discourse تظهر في الشبكة أو البلاط. هل يمكنك التحقق من ذلك؟

على سبيل المثال، إذا كان المنشور يحتوي على صورة من خادم آخر (مثل Blogger أو Picasa، وما إلى ذلك)، فإنها لم تعد تظهر. في السابق، كانت تعمل بشكل ممتاز دون أي مشكلة.

إعجاب واحد (1)

يتم الآن إنشاء الصور المصغرة بواسطة نواة Discourse، ولدي الآن تأثير محدود على ذلك.

تم إزالة جزء كبير من منطق إنشاء الصور المصغرة وتركه لـ Discourse.

قد ترغب في طرح ذلك هنا: Theme modifiers: A brief introduction

إعجابَين (2)

شكرًا لك! لقد قمت للتو بإنشاء رد هناك. أنا متشكك بعض الشيء مع جميع التحديثات لأن جميع صوري غير مستضافة على خادم محلي.

إعجابَين (2)

أعتقد أنه لا يزال بإمكانه العمل إذا كانت “مرفقاتك” مستضافة على خادم بعيد عبر الإعدادات، لكنه لن يعد يربط مباشرة بمواقع بعيدة أو جهات خارجية غير تابعة لنا.

لم يعد من المنطقي إدارة هذا الجزء من قاعدة الكود في الإضافة نظرًا لأنه يُدار الآن من خلال النواة. من الصحيح تمامًا أن تتواصل معهم :+1:

4 إعجابات

شكرًا لك. أفهم الوضع. لا يُعد هذا إصلاحًا سهلاً لموقعي نظرًا لأننا نستخدم خادمًا آخر لاستضافة الصور. الآن، أصبح الانتقال إلى الخادم التابع أمرًا صعبًا جدًا نظرًا لوجود العديد من المنشورات، كما أن حجم الصور كبير جدًا لاستضافته على الخادم المحلي.

إعجاب واحد (1)

المشكلة التي أواجهها هي أنه عند تفعيل إضافة الأحداث، لم تعد الصور المصغرة تظهر على الهاتف المحمول كما تم مناقشته سابقًا. ظننت أن هذا هو ما كنت تشير إليه.

تظهر الصور المصغرة بشكل جيد من جانبي. هل أنت متأكد من أنك قمت بتحديث الأحداث وفقًا لتعليمات @fzngagan؟

إعجابَين (2)

لابد أنه دمّره مباشرة بعد أن اختبرته، شكرًا لكم، كل شيء يعمل الآن!

3 إعجابات

لقد قمت بالتحديث أمس وأواجه أداءً ضعيفًا إلى حد ما. يكشف تتبع الأداء عن هذا الاستعلام الذي يقوم به TLP والذي يبدو أنه السبب - ربما ينقص هنا فهرس؟

ومن المثير للاهتمام، أن هذا الاستعلام لا يزال يظهر عند تشغيل الموقع في وضع الأمان :thinking:

إعجاب واحد (1)

ميزات الصور. لم يتغير هذا الاستعلام منذ زمن طويل (لسنوات!). هل أنت متأكد من أن هذه مشكلة جديدة؟

هل تقوم بالترتيب حسب تاريخ إنشاء الوسم؟ هذا يكاد يكون حتمًا استعلامًا معقدًا. الترتيب حسب “الأحدث” سيكون أسهل.

يمكنك دائمًا إيقاف تشغيل هذه الميزة مؤقتًا.

يستخدم مكون السمة واجهة برمجة التطبيقات الأساسية. يمكنك دائمًا التبديل واستخدامها مؤقتًا إذا كانت تسبب لك مشاكل.

إعجاب واحد (1)

أعتقد أن هذا جديد منذ ترقيةي إلى PG12. ونحن بحاجة إلى الفرز حسب تاريخ إنشاء الوسم، فهذا يُعدّ سمة أساسية لمجتمعنا. ماذا سأفقد إذا انتقلت إلى TC؟

ملاحظة: أتذكر بشكل ضبابي أنني ناقشت معك نفس القضية المتعلقة بصفحة المميزة قبل سنوات، وسأقوم ببعض البحث.

إعجابَين (2)

هل أنت متأكد من أن ترقية PG 12 قد أكملت إعادة الفهرسة؟ فقد أبلغ العديد من المستخدمين عن فترة انخفاض في الأداء أثناء تنفيذ هذه العملية (ولم تكن هذه التقارير مرتبطة بـ TLP)

بالمناسبة، عند التفكير في الأمر، قد يكون هناك تغيير آخر؛ فالآن يجب إجراء عملية ربط مع topic_thumbnails، ولكن هذا حدث أيضًا منذ فترة ولم تُبلَّغ عن أي مشاكل أخرى. أظن أنه قبل ذلك كان يستخدم رابط الصورة المباشر (hotlink) في كائن Topic، مما كان أسرع (بسبب تجنب عملية ربط إضافية)، لكن هذا لم يعد متاحًا لنا بسبب التغيير الأساسي في النواة. وقد يكون هذا العامل مساهمًا في المشكلة.

إعجاب واحد (1)

نعم، اكتمل إعادة الفهرسة. الترتيب حسب تاريخ إنشاء الموضوع يعاني من نفس المشكلة. إليك مخرجات EXPLAIN لكلا الاستعلامين:

الترتيب حسب تاريخ الوسم:

discourse=# explain SELECT "topics"."id", "topics"."title", "topics"."last_posted_at", "topics"."created_at", "topics"."updated_at", "topics"."views", "topics"."posts_count", "topics"."user_id", "topics"."last_post_user_id", "topics"."reply_count", "topics"."featured_user1_id", "topics"."featured_user2_id", "topics"."featured_user3_id", "topics"."deleted_at", "topics"."highest_post_number", "topics"."like_count", "topics"."incoming_link_count", "topics"."category_id", "topics"."visible", "topics"."moderator_posts_count", "topics"."closed", "topics"."archived", "topics"."bumped_at", "topics"."has_summary", "topics"."archetype", "topics"."featured_user4_id", "topics"."notify_moderators_count", "topics"."spam_count", "topics"."pinned_at", "topics"."score", "topics"."percent_rank", "topics"."subtype", "topics"."slug", "topics"."deleted_by_id", "topics"."participant_count", "topics"."word_count", "topics"."excerpt", "topics"."pinned_globally", "topics"."pinned_until", "topics"."fancy_title", "topics"."highest_staff_post_number", "topics"."featured_link", "topics"."reviewable_score", "topics"."image_upload_id" 
discourse-# FROM "topics" 
discourse-# INNER JOIN "topic_tags" 
discourse-# ON "topic_tags"."topic_id" = "topics"."id" 
discourse-# INNER JOIN "tags" ON "tags"."id" = "topic_tags"."tag_id" 
discourse-# WHERE ("topics"."deleted_at" IS NULL) 
discourse-# AND "topics"."visible" = TRUE 
discourse-# AND (NOT topics.closed AND NOT topics.archived AND topics.deleted_at IS NULL) 
discourse-# AND (topics.image_upload_id in (
discourse(#         SELECT image_upload_id FROM topic_thumbnails
discourse(#       ))
discourse-# AND (tags.id IN (1)) 
discourse-# 
discourse-# ORDER BY (
discourse(#  SELECT created_at FROM topic_tags
discourse(#         WHERE topic_id = topics.id
discourse(#         AND tag_id IN (1)
discourse(#         LIMIT 1
discourse(# )
discourse-# 
discourse-# DESC LIMIT 6; 
                                                                    QUERY PLAN                                                         
            
---------------------------------------------------------------------------------------------------------------------------------------
------------
 Limit  (cost=2631719.94..2631719.95 rows=6 width=569)
   ->  Sort  (cost=2631719.94..2631721.73 rows=717 width=569)
         Sort Key: ((SubPlan 1)) DESC
         ->  Nested Loop  (cost=0.43..2631707.09 rows=717 width=569)
               ->  Seq Scan on tags  (cost=0.00..4.51 rows=1 width=4)
                     Filter: (id = 1)
               ->  Nested Loop  (cost=0.43..2625737.13 rows=717 width=565)
                     ->  Seq Scan on topic_tags  (cost=0.00..860.33 rows=1539 width=8)
                           Filter: (tag_id = 1)
                     ->  Index Scan using topics_pkey on topics  (cost=0.43..1705.57 rows=1 width=561)
                           Index Cond: (id = topic_tags.topic_id)
                           Filter: ((deleted_at IS NULL) AND visible AND (NOT closed) AND (NOT archived) AND (deleted_at IS NULL) AND (
SubPlan 2))
                           SubPlan 2
                             ->  Seq Scan on topic_thumbnails  (cost=0.00..2966.64 rows=171664 width=8)
               SubPlan 1
                 ->  Limit  (cost=0.29..8.31 rows=1 width=8)
                       ->  Index Scan using index_topic_tags_on_topic_id_and_tag_id on topic_tags topic_tags_1  (cost=0.29..8.31 rows=1
 width=8)
                             Index Cond: ((topic_id = topics.id) AND (tag_id = 1))
 JIT:
   Functions: 25
   Options: Inlining true, Optimization true, Expressions true, Deforming true
(21 rows)

الترتيب حسب تاريخ الموضوع:

discourse=# explain SELECT "topics"."id", "topics"."title", "topics"."last_posted_at", "topics"."created_at", "topics"."updated_at", "topics"."views", "topics"."posts_count", "topics"."user_id", "topics"."last_post_user_id", "topics"."reply_count", "topics"."featured_user1_id", "topics"."featured_user2_id", "topics"."featured_user3_id", "topics"."deleted_at", "topics"."highest_post_number", "topics"."like_count", "topics"."incoming_link_count", "topics"."category_id", "topics"."visible", "topics"."moderator_posts_count", "topics"."closed", "topics"."archived", "topics"."bumped_at", "topics"."has_summary", "topics"."archetype", "topics"."featured_user4_id", "topics"."notify_moderators_count", "topics"."spam_count", "topics"."pinned_at", "topics"."score", "topics"."percent_rank", "topics"."subtype", "topics"."slug", "topics"."deleted_by_id", "topics"."participant_count", "topics"."word_count", "topics"."excerpt", "topics"."pinned_globally", "topics"."pinned_until", "topics"."fancy_title", "topics"."highest_staff_post_number", "topics"."featured_link", "topics"."reviewable_score", "topics"."image_upload_id" FROM "topics" INNER JOIN "topic_tags" ON "topic_tags"."topic_id" = "topics"."id" INNER JOIN "tags" ON "tags"."id" = "topic_tags"."tag_id" WHERE ("topics"."deleted_at" IS NULL) AND "topics"."visible" = TRUE AND (NOT topics.closed AND NOT topics.archived AND topics.deleted_at IS NULL) AND (topics.image_upload_id in (
        SELECT image_upload_id FROM topic_thumbnails
      )) AND (tags.id IN (1)) ORDER BY (SELECT created_at FROM topic_tags
        WHERE topic_id = topics.id
        AND tag_id IN (1)
        LIMIT 1)
        DESC LIMIT 6; 
                                                                    QUERY PLAN                                                         
            
---------------------------------------------------------------------------------------------------------------------------------------
------------
 Limit  (cost=2631719.94..2631719.95 rows=6 width=569)
   ->  Sort  (cost=2631719.94..2631721.73 rows=717 width=569)
         Sort Key: ((SubPlan 1)) DESC
         ->  Nested Loop  (cost=0.43..2631707.09 rows=717 width=569)
               ->  Seq Scan on tags  (cost=0.00..4.51 rows=1 width=4)
                     Filter: (id = 1)
               ->  Nested Loop  (cost=0.43..2625737.13 rows=717 width=565)
                     ->  Seq Scan on topic_tags  (cost=0.00..860.33 rows=1539 width=8)
                           Filter: (tag_id = 1)
                     ->  Index Scan using topics_pkey on topics  (cost=0.43..1705.57 rows=1 width=561)
                           Index Cond: (id = topic_tags.topic_id)
                           Filter: ((deleted_at IS NULL) AND visible AND (NOT closed) AND (NOT archived) AND (deleted_at IS NULL) AND (
SubPlan 2))
                           SubPlan 2
                             ->  Seq Scan on topic_thumbnails  (cost=0.00..2966.64 rows=171664 width=8)
               SubPlan 1
                 ->  Limit  (cost=0.29..8.31 rows=1 width=8)
                       ->  Index Scan using index_topic_tags_on_topic_id_and_tag_id on topic_tags topic_tags_1  (cost=0.29..8.31 rows=1
 width=8)
                             Index Cond: ((topic_id = topics.id) AND (tag_id = 1))
 JIT:
   Functions: 25
   Options: Inlining true, Optimization true, Expressions true, Deforming true
(21 rows)
إعجابَين (2)

مفيد. شكرًا.

آسف، لست متأكدًا من متى سأتمكن من العمل على هذا.

كما يرجى العلم أن الانضمام الجديد قد يتحسن لكنني لا أستطيع التخلص منه. (أوه، نعم أستطيع!).

إعجاب واحد (1)

حسناً، لقد عملت مع @bartv خارج نطاق المنصة لتحسين هذا.

هذا يؤثر فقط على الإضافة (Plugin)، وليس على TC:

أوصي بالترقية للاستفادة من هذا التحسين الكبير للمواقع التي تستخدم صوراً مميزة.

5 إعجابات

أنت نجم! :guitar:

3 إعجابات

كانت تحقيقاتك التفصيلية حاسمة أيضًا، يا بارت، شكرًا لك

3 إعجابات

مرحبًا، لقد أضفت عنوان URL لـ git clone إلى ملف app.yml الخاص بالتطبيقات، ولكن عند محاولة إعادة بناء التطبيق، ظهر لي خطأ:

(<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 91 column 13 -e LANG=en_US.UTF-8

ولم يعد الموقع يعمل.

لقد قمت بحذف عنوان URL الخاص بـ git clone للإضافة، وعاد كل شيء للعمل مرة أخرى.

إعجاب واحد (1)

لا أعتقد أن مشكلتك خاصة بهذا الملحق. لا يمكنك استخدام علامات التبويب في ملف app.yml. استخدم المسافات.

إعجابَين (2)

حسناً، عذراً، لقد قمت بنسخ ولصق آخر سطر من البرنامج المساعد وتغيير عنوان URL الخاص بـ git clone. الآن يعمل الأمر، شكراً لك :slight_smile:

إعجابَين (2)