خطأ "plugin not found" المتقطع

أقوم بتطوير إضافة ستجعل من السهل ربط تثبيتات Discourse بأي تطبيق مخصص قد تمتلكه مؤسستك وتقديم إشعارات الدفع من خلال هذا التطبيق (مفيد بشكل أساسي لنظام iOS حيث لا يعمل webpush). مستودع الإضافة هو GitHub - Sprachprofi/discourse-app-notifications: Send Discourse push notifications through FCM to any custom app. حاليًا، يتطلب هذا من المستخدم النهائي لصق مفتاح الجهاز يدويًا من التطبيق في حقل مخصص في صفحة تفضيلات الإشعارات بعد تسجيل الدخول.

مشكلتي هي أنه عندما يقوم شخص ما بتثبيت التطبيق وتسجيل الدخول ثم يذهب لنسخ ولصق مفتاح جهازه، فإنه لا يعمل، ويعطي Discourse “plugin required ‘discourse_app_notifications’ not found” لإجراء POST /app_notifications/subscribe (ونفس الشيء لإجراء إلغاء الاشتراك). ومع ذلك، عندما يقوم نفس الشخص بإغلاق التطبيق بالقوة ثم يقوم بنفس الخطوة مرة أخرى، لا توجد رسالة خطأ وتعمل إشعارات الدفع.

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

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

هيكل المكون الإضافي الخاص بك غير تقليدي للغاية ويجب عليك التفكير في إعادة هيكلته لمطابقة معايير Zeitwerk.

لست متأكدًا مما إذا كان هذا سيسبب أيًا من مشاكلك.

إعجابَين (2)

كانت لدي مشكلة مماثلة (على الرغم من أنها بدت تحذيرًا وليست خطأ)، ولكن جعل سطري هكذا:

استخدام PLUGIN_NAME يبدو أنه قد أصلحها.

كما قال روبرت، قد يصلح بعض الأشياء إذا وضعت وحدة التحكم الخاصة بك في app/controllers بدلاً من plugin.rb. لقد كنت مرتبكًا أيضًا بشأن مكانها.

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

لدي requires_plugin DiscourseAppNotifications::PLUGIN_NAME، لذا لست متأكدًا من التغيير الذي تقترحه، إن وجد؟

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

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

لا. إنه مجرد تساؤل. كانت لدي المشكلة، ولكن يبدو أنك فعلت ما فعلته لإصلاحها.

يبدو هذا كما كنت سأفعله.

Rails انتقائي للغاية بشأن مجموعة من الأشياء. لم أكن أعرف أنه سيسمح لك بوضع هذه الأشياء في plugin.rb. ولا أعرف ما إذا كان نقل الأشياء إلى مجموعة من الأماكن المختلفة سيصلحها. آسف.

شكراً لك، @pfaffman. لقد أعدت كتابة المكون الإضافي وفقًا للإرشادات وهو يعمل الآن!

عنوان URL الجديد: GitHub - Sprachprofi/discourse-fcm-notifications: Send Discourse push notifications through FCM to any custom app

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

يسرني أن ذلك نجح!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.