لافتات الإشعارات

مرحباً @gormus، أواجه هذا الخطأ أثناء محاولة التثبيت:

An error occurred: Error creating upload asset: splide_css. Original filename Sorry, the file you are trying to upload is not authorized (authorized extensions: wasm, jpg, jpeg, png, woff, woff2, svg, eot, ttf, otf, gif, webp, avif, js).

تحديث: لقد نجح الأمر، لقد نسيت بالفعل إضافة CSS إلى الامتدادات.

3 إعجابات

أضفت لافتتين إلى نفس المنفذ واخترت الدوار لكليهما. لكنهما تظهران مكدستين فقط. هل فاتني شيء لكي يعمل الدوار؟

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

مرحباً @manuel، يجب أن يكون هناك ما لا يقل عن لافتتين في نفس المنفذ لكي تعمل الدوامة؛ وبالطبع يجب تمكين خيار “العرض في دوامة” على جميع اللافتات أيضاً. لن يتم عرض الدوامة إذا تم تمكين لافتة واحدة فقط.

أيضاً؛

  1. هل تحصل على أي أخطاء في جافاسكريبت في وحدة تحكم المتصفح؟ هل يشير أي منها إلى لافتات الإشعارات؟
  2. بالنظر إلى احتمال وجود تعارض؛ هل تمكنت من عزل المشكلة إلى لافتات الإشعارات عن طريق تعطيل السمات والمكونات والإضافات الأخرى؟ أو عن طريق استخدام الوضع الآمن؟

بدلاً من ذلك، هل تمانع في مشاركة الإعدادات؟ حتى أتمكن من استيرادها وتجربتها على جهازي…

  1. في صفحة المسؤول Discourse Notification Banners، انقر فوق الزر Settings Editor في أسفل الصفحة.
  2. انسخ بيانات JSON
  3. قم بإزالة أي بيانات حساسة قد تكون لديك
  4. شارك بيانات JSON في الرد هنا، أو أرسل لي رسالة خاصة
إعجابَين (2)

شكراً @gormus! أنا ضائع قليلاً لماذا لم يعمل.. لقد قمت بإعداده على مثيلين مستقلين ولم يعمل على كليهما. الآن بدأت من جديد من الصفر ويعمل على كليهما! :+1: :upside_down_face:

إعجابَين (2)

مرحباً، فيما يتعلق بالجمهور، يبدو أنه من المستحيل استهداف مستخدمي TL0 فقط، أليس كذلك؟ لأن الجميع هم TL0؟

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

أخشى أنك على حق يا @patrickemin. مستويات الثقة تراكمية وفي النهاية تجعل جميع المستخدمين المسجلين جزءًا من TL0 افتراضيًا، حتى لو تم ترقيتهم يدويًا إلى TL4.

لذلك، حاليًا إذا اخترت TL0 كجمهور، فأنت في الأساس تختار جميع المستخدمين المسجلين. بحد ذاتها لها قيمة في رأيي، ولكن هذا قد يكون مضللاً.

أعتقد أنني سأقوم بتحديث المنطق لحقل الجمهور، وتحديد قاعدة جديدة لجميع مستويات الثقة. شكرًا لك على إعطائي الفكرة :slight_smile:

إعجابَين (2)

مرحباً @gormus لقد اتبعت ملاحظاتك هنا للرد على nolo ولكن لسبب ما لا يمكنني تشغيل الإشعارات كـ carousel. إنها مجرد رسائل مكدسة. لدي رسالتان اختباريتان وتم تمكين carousel لكليهما وهما في نفس الـ outlet. لا يوجد شيء في الـ console لأخطاء متعلقة بـ js. وقمت بتعطيل جميع المكونات الأخرى ولم يظهر أن أي شيء يعمل. أي أفكار؟

مرحباً @marksalter، يبدو أنك قد تحققت بالفعل من المشتبه بهم المعتادين. الشيء الوحيد الآخر الذي يمكنني التفكير فيه هو محاولة إعادة إنتاج المشكلة باستخدام تصديرات الإعدادات الخاصة بك. يرجى إرسال ملف التصدير الخاص بك عبر رسالة خاصة، وتطهير البيانات إذا لزم الأمر. ومع ذلك، لن أعود لمدة 10 أيام أخرى :slight_smile:

مرحباً، لقد واجهت هذا الخطأ عند تحديث رسالة اللافتات الخاصة بي:

يجب أن يكون خاصية مؤشر JSON “/0/enabled_groups” عبارة عن مصفوفة من معرفات المجموعات الصالحة.

هل لديك بالصدفة مرجع لمجموعة مستخدمين محذوفة (أو تم تغيير اسمها) في حقل الجمهور؟

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

شكرًا، كان هذا هو الأمر. افترضت أن المجموعات يتم التعرف عليها بواسطة المعرف الخاص بها فقط وأن الاسم لم يكن مهمًا.

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

لقد كنت أفكر في هذه الفكرة لاستهداف جمهور بشكل أفضل باستخدام مستويات الثقة:

أعتقد أن لدي شيئًا لكم جميعًا للتحقق منه.

ومع ذلك، أوصي باختبار هذا على بيئة غير إنتاجية أولاً لأنه يقدم تغييرًا جذريًا.

لتثبيت هذا الإصدار، استخدم الفرع staging من Notification Banners:

تغيير جذري

عند تقييم رؤية اللافتة باستخدام قيم حقل الجمهور، يتم تجاهل جميع أدوار trust_level_* للزائر، باستثناء أعلى مستوى.

على سبيل المثال، ضع في اعتبارك أن المستخدم لديه هذه الأدوار: support_team، blog، trust_level_0، trust_level_1، و trust_level_2.

سيأخذ حقل الجمهور في الاعتبار أن المستخدم لديه فقط support_team، blog، و trust_level_2.

لذلك، إذا كانت اللافتة تحتاج إلى استهداف مستخدمي TL2 فقط، فيجب تعيين حقل الجمهور على trust_level_2. لن يرى مستويات الثقة الأخرى اللافتة.

لقد قمت بتحديث وصف حقل الجمهور لتوضيح هذا التغيير أيضًا.

أخطط لاختبار هذه التغييرات بشكل أكبر، وربما إنشاء إصدار جديد بنهاية سبتمبر. أقدر أي ملاحظات قد تقدمها.

شكرًا!

إعجابَين (2)

تم إصدار الإصدار v1.3.0 الآن.

تأكد من اختباره قبل نشره في بيئة الإنتاج.

التغييرات الملحوظة:

  • يتم الآن فرز اللافتات كما تظهر في صفحة الإعدادات. بدلاً من حقل “ترتيب العرض”، يمكنك الآن فرز اللافتات باستخدام أزرار إعادة الترتيب الأصلية.

  • تم تغيير سلوك حقل الجمهور:

    حدد مجموعات المستخدمين التي يمكنها رؤية هذه اللافتة. يجب تحديد مجموعة واحدة على الأقل.

    للعرض لجميع المستخدمين والزوار: حدد مجموعة everyone.

    ملاحظة هامة حول مستويات الثقة: تحديد مستوى ثقة (مثل trust_level_3) سيعرض اللافتة فقط للمستخدمين في هذا المستوى المحدد. لا يشمل المستخدمين في مستويات أعلى أو أقل.

  • تم تغيير خيارات Splide carousel الافتراضية:
    قبل:

    { "arrows": false, "autoHeight": true, "autoplay": true, "direction": "ttb", "focus": "center", "height": "15vh", "gap": 0, "type": "loop" }
    

    بعد:

    { "autoHeight": true, "height": "8rem", "arrows": false, "autoplay": true, "direction": "ttb", "focus": "center", "gap": 0, "type": "loop" }
    
إعجابَين (2)

مرحباً، آخر تحديث كسر موقعي (فقط رأس الموقع تم تحميله)، اضطررت إلى إلغاء تنشيط TC وعاد كل شيء إلى طبيعته. دعنا نرى ما إذا كنت الوحيد، لا داعي للعجلة :grinning_face_with_smiling_eyes:

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

شكراً على التقرير @patrickemin ، والتفاصيل التي قدمتها.

التحديث السريع (v1.3.1) الذي نشرته سابقاً يجب أن يكون قد أصلح المشكلة التي أدخلتها في v1.3.0. أعتذر لجميع من اضطروا لتجربة المشكلة.

أحاول تشغيل هذه المكونة. لكن لافتة الاختبار التي أنشأتها لا تظهر. أستخدم إصدار Discourse محدثًا جدًا (منذ حوالي 3 أيام) والإصدار 1.3.1 من المكونة.

أنا متأكد تمامًا من أن الخيارات تم ضبطها بشكل جيد. لقد جربت أيضًا جميع المواقع الثلاثة لعرض لافتة الاختبار. لا شيء.

هل هناك خطأ آخر أم أن هذه مشكلة مستخدم؟ أين يمكنني البحث؟

هل ترى أي أخطاء مسجلة في وحدة التحكم؟

إذا كانت وحدة التحكم خالية من الأخطاء، فربما يمكنك إرسال إعداداتك عبر رسالة مباشرة باستخدام محرر الإعدادات؟
يرجى تنظيف سلاسل الرسائل من أي تفاصيل حساسة قد تكون لديك.

إشعارات إلغاء فقط. بالإضافة إلى ذلك (ولكن فقط في Opera، وليس Firefox، وقد قمت بتعيين Content security policy script src إلى 'unsafe-eval' منذ فترة طويلة):

تمنع سياسة أمان المحتوى (CSP) تقييم السلاسل النصية العشوائية كـ JavaScript لجعل من الصعب على المهاجم حقن تعليمات برمجية غير مصرح بها على موقعك.

لحل هذه المشكلة، تجنب استخدام eval(), new Function(), setTimeout([string], ...) و setInterval([string], ...) لتقييم السلاسل النصية.

إذا كان لا بد لك من ذلك: يمكنك تمكين تقييم السلاسل النصية عن طريق إضافة unsafe-eval كمصدر مسموح به في توجيه script-src.

شكراً لك. يمكنني أيضاً نشر هذا هنا، حيث لدي لافتة اختبار واحدة فقط نشطة في الوقت الحالي:

[
	{
		"setting": "banners",
		"value": [
			{
				"title": "عنوان لافتة الاختبار",
				"message": "نص لافتة الاختبار نص لافتة الاختبار",
				"date_after": "2025-11-01 12:00:00Z",
				"date_before": "2025-12-01 12:00:00Z",
				"dismissable": true,
				"plugin_outlet": "top-notices",
				"enabled_groups": [
					1
				]
			}
		]
	},
	{
		"setting": "splide_options__above_site_header",
		"value": "{ \"autoHeight\": true, \"height\": \"8rem\", \"arrows\": false, \"autoplay\": true, \"direction\": \"ttb\", \"focus\": \"center\", \"gap\": 0, \"type\": \"loop\" }"
	},
	{
		"setting": "splide_options__below_site_header",
		"value": "{ \"autoHeight\": true, \"height\": \"8rem\", \"arrows\": false, \"autoplay\": true, \"direction\": \"ttb\", \"focus\": \"center\", \"gap\": 0, \"type\": \"loop\" }"
	},
	{
		"setting": "splide_options__top_notices",
		"value": "{ \"autoHeight\": true, \"height\": \"8rem\", \"arrows\": false, \"autoplay\": true, \"direction\": \"ttb\", \"focus\": \"center\", \"gap\": 0, \"type\": \"loop\" }"
	}
]

لقد جربت أيضاً بدون تواريخ البدء والانتهاء والمنافذ الإضافية الأخرى. كما جربت everyone بدلاً من Administrators لرؤية تأثير في Firefox دون تسجيل الدخول إلى الموقع. ولم أقم بتعديل خيارات splide.

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

شكراً على التقرير @Roi.

لم يتضمن إعدادك تحديدًا لأي فئات، وكان NB يمنع الوصول إلى اللافتة عن طريق الخطأ.

لقد قمت للتو بدفع إصلاح وإصدار v1.3.2. يرجى تحديث لافتات الإشعارات.

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

نعم، رائع، لقد نجح الأمر الآن!

ونعم، تركت تحديد الفئات فارغًا لأنني اعتقدت أنه سيتم عرضه في كل مكان. لذا كانت هناك مشكلة في المكون تتطلب خيارًا لذلك؟ على أي حال، تم إصلاحها الآن. شكرًا لك! :slight_smile:

بما أنني جديد على هذا المكون، هل يمكنني طرح بعض الأسئلة؟

أريد إخطار/تذكير مستخدمينا بالمشاركة في المجتمع. كانت الفكرة هي عرض لافتة كل 4 إلى 8 أسابيع لتذكير المستخدمين مرارًا وتكرارًا. بمجرد أن يتجاهلها المستخدم، فإنها لا تكون مرئية بعد الآن. حتى الآن، كل شيء على ما يرام.

هل يمكنني فقط تغيير تاريخ البدء والانتهاء وبعد حفظه، يتم عرض اللافتة مرة أخرى للمستخدمين الذين تجاهلوها؟ (كيف يعمل هذا على أي حال؟ ملفات تعريف الارتباط هو تخميني؟) أم سأحتاج إلى إنشاء لافتة جديدة تمامًا؟

طرح شخص ما دورة هنا في الموضوع من قبل. لذا اعرض لافتة كل 8 أسابيع. سيكون هذا خيارًا رائعًا، لأنه خالٍ تمامًا من الصيانة - إذا كنت لا ترغب في تغيير أشياء أخرى. ولكن يبقى السؤال ما إذا كانت اللافتة ستظهر مرة أخرى للمستخدمين الذين تجاهلوها عند بدء الدورة الجديدة؟