Skip to content

پایگاه دانش: مشکخیرت شناخته‌شده

مشکخیرت شناخته‌شده الحالية وحلولها البديلة. تُحدَّث این الصفحة هرما اكتُشفت مشكخیرت وحُلّت.


Email: خیر يوجد إعادة اتصال IMAP

الحالة: مفتوح

يستطلع محول کانال ایمیل الپیام‌ها الجديدة هر 30 ثانية از طریق IMAP. إذا انقطع اتصال IMAP (انقطاع شبكة، إعادة تشغيل خادم، مهلة خمول)، تفشل حلقة اخیرستطخیرع بصمت وخیر تحاول إعادة اخیرتصال.

الأعراض:

  • کانال ایمیل تتوقف عن استقبال پیام‌ها جديدة
  • يظهر IMAP unseen email poll failed در السجخیرت
  • خیر يوجد استرداد خودکار

الحل البديل: أعد تشغيل الخدمة الخلدرة:

bash
triggerfish stop && triggerfish start

السبب الجذري: حلقة استطخیرع IMAP خیر تحتوي روی ازطق إعادة اتصال. يستمر setInterval در العمل لكن هر استطخیرع يفشل لأن اخیرتصال ميت.


Slack/Discord SDK: تسريب عمليات غير متزاازة

الحالة: مشهرة باروفة در المصدر الأصلي

يُسرّب SDK الخاص بـ Slack (@slack/bolt) وDiscord (discord.js) عمليات غير متزاازة عند اخیرستيراد. يؤثر این روی اخیرختبارات (يتدرخواست sanitizeOps: false) لكنه خیر يؤثر روی استفاده الإنتاجي.

الأعراض:

  • فشل اخیرختبارات بـ "leaking async ops" عند اختبار محوخیرت کانال‌ها
  • خیر يوجد تأثير إنتاجي

الحل البديل: ملفات اخیرختبار التي تستورد محوخیرت Slack یا Discord باید أن تضبط:

typescript
Deno.test({
  name: "test name",
  sanitizeOps: false,
  sanitizeResources: false,
  fn: async () => { ... }
});

Slack: اقتطاع الپیام‌ها بدخیرً از التقسيم

الحالة: بالتصميم

تُقتطع پیام‌ها Slack عند 40,000 حرف بدخیرً از تقسيمها به پیام‌ها متعددة (كما يفعل Telegram وDiscord). استجابات عامل الطويلة جداً تفقد محتواها در النهاية.

الحل البديل: ادرخواست از عامل إنتاج استجابات أقصر، یا استخدم کانال مختلفة للمهام التي تُنتج مخرجات كبيرة.


WhatsApp: تمام المستخدمين يُعامَلون كمالك عند فقدان ownerPhone

الحالة: بالتصميم (با هشدار)

إذا لم يُكوَّن حقل ownerPhone لکانال WhatsApp، يُعامَل تمام مرسلي الپیام‌ها كمالك، مما يازحهم وصوخیرً كامخیرً لخیربزارها.

الأعراض:

  • WhatsApp ownerPhone not configured, defaulting to non-owner (هشدار السجل مُضلّل در الواقع؛ السلوك يازح وصول المالك)
  • هر مستخدم WhatsApp يمكنه الوصول لتمام ابزارها

الحل البديل: اضبط ownerPhone همیشه:

yaml
channels:
  whatsapp:
    ownerPhone: "+1234567890"

systemd: خیر يُحدَّث PATH بعد تثبيت ابزارها

الحالة: بالتصميم

يلتقط ملف وحدة systemd PATH لـ shell الخاص بك وقت تثبيت الخدمة الخلدرة. إذا ثبّتت ابزارها جديدة (ملفات تندرذ خادم MCP، npx، إلخ) بعد تثبيت الخدمة الخلدرة، لن تجدها الخدمة الخلدرة.

الأعراض:

  • فشل إنشاء خوادم MCP
  • الملفات التندرذية لخیربزارها "غير موجودة" رغم أنها تعمل در طردرتك

الحل البديل: أعد تثبيت الخدمة الخلدرة لتحديث PATH الملتقط:

bash
triggerfish stop
triggerfish dive --install-daemon

ينطبق این روی launchd (macOS) همچنین.


مرورگر: قيود CDP در Flatpak Chrome

الحالة: قيد ازصة

بعض بناءات Flatpak لـ Chrome یا Chromium تقيّد عخیرمة --remote-debugging-port، مما يازع Triggerfish از اخیرتصال از طریق Chrome DevTools Protocol.

الأعراض:

  • CDP endpoint on port X not ready after Yms
  • مرورگر يُشغَّل لكن Triggerfish خیر يستطيع التحكم دره

الحل البديل: ثبّت Chrome یا Chromium كحزمة أصلية بدخیرً از Flatpak:

bash
# Fedora
sudo dnf install chromium

# Ubuntu/Debian
sudo apt install chromium-browser

Docker: أذونات وحدات ذخیره‌سازی با Podman

الحالة: خاص بالازصة

عند استخدام Podman با حاويات بدون صخیرحيات جذر، قد يازع تعيين UID الحاوية (التي تعمل كـ UID 65534) از الكتابة در وحدة ذخیره‌سازی البيانات.

الأعراض:

  • أخطاء Permission denied عند بدء التشغيل
  • نمی‌توان إنشاء ملف پیکربندی یا قانون البيانات یا السجخیرت

الحل البديل: استخدم عخیرمة تركيب وحدة ذخیره‌سازی :Z لإعادة تسمية SELinux، وتأكد از أن مجلد وحدة ذخیره‌سازی قابل للكتابة:

bash
podman run -v triggerfish-data:/data:Z ...

یا أنشئ وحدة ذخیره‌سازی بالملكية الصحیحة. یاخیرً، اعثر روی مسار تركيب وحدة ذخیره‌سازی، ثم غيّر ملكيته:

bash
podman volume create triggerfish-data
podman volume inspect triggerfish-data   # خیرحظ مسار "Mountpoint"
podman unshare chown 65534:65534 /path/from/above

Windows: .NET Framework csc.exe غير موجود

الحالة: خاص بالازصة

يُجمّع مُثبّت Windows مُغلّف خدمة C# وقت نصب. إذا لم يُعثر روی csc.exe (.NET Framework مفقود یا مسار تثبيت غير قياسي)، يفشل تثبيت الخدمة.

الأعراض:

  • يكتمل المُثبّت لكن الخدمة غير مُسجَّلة
  • triggerfish status يُظهر أن الخدمة غير موجودة

الحل البديل: ثبّت .NET Framework 4.x، یا شغّل Triggerfish در وضع المقدمة:

powershell
triggerfish run

أبقِ الطردرة مفتوحة. تعمل الخدمة الخلدرة حتى تغلقها.


CalDAV: تعارضات ETag با عمخیرء متزاازين

الحالة: بالتصميم (مواصفة CalDAV)

عند تحديث یا حذف أحداث التقويم، يستخدم CalDAV عخیرمات ETag للتحكم در التزااز المتفائل. إذا عدّل عميل آخر (تطبيق هاتف، واجهة ويب) الحدث بین قراءتك وكتابتك، تفشل العملية:

ETag mismatch — the event was modified by another client. Fetch the latest version and retry.

الحل البديل: باید أن يُعيد عامل المحاولة به‌صورت خودکار بجلب أحدث إصدار از الحدث. إذا لم يفعل، ادرخواست ازه "جلب أحدث إصدار از الحدث والمحاولة مرة أخرى."


البديل در حافظه: فقدان رمزها عند إعادة التشغيل

الحالة: بالتصميم

عند استخدام TRIGGERFISH_SECRETS_MEMORY_FALLBACK=true، تُخزَّن رمزها در حافظه فقط وتُفقد عند إعادة تشغيل الخدمة الخلدرة. این الوضع مخصص فقط لخیرختبار.

الأعراض:

  • رمزها تعمل حتى إعادة تشغيل الخدمة الخلدرة
  • بعد إعادة التشغيل: أخطاء Secret not found

الحل البديل: أعدّ واجهة رمزها خلدرة ازاسبة. روی Linux بدون واجهة رسومية، ثبّت gnome-keyring:

bash
sudo apt install gnome-keyring libsecret-tools
eval $(gnome-keyring-daemon --start --components=secrets)

Google OAuth: خیر يُصدَر رمز التحديث عند إعادة تفویض

الحالة: سلوك Google API

يُصدر Google رمز التحديث فقط عند یال تفویض. إذا سبق أن أذنت للتطبيق وأعدت تشغيل triggerfish connect google، تحصل روی رمز وصول لكن بدون رمز تحديث.

الأعراض:

  • Google API کار می‌کند مبدئياً لكنه يفشل بعد انتهاء صخیرحية رمز الوصول (ساعة واحدة)
  • خطأ No refresh token

الحل البديل: ألغِ وصول التطبيق یاخیرً، ثم أعد تفویض:

  1. اذهب به أذونات حساب Google
  2. اعثر روی Triggerfish وانقر "إزالة الوصول"
  3. شغّل triggerfish connect google مرة أخرى
  4. سيُصدر Google الآن رمز تحديث جديد

الإبخیرغ عن مشكخیرت جديدة

إذا واجهت مشهرة غير مدرجة اینجا، تحقق از صفحة GitHub Issues. إذا لم تكن مُبلَّغة در واقع، قدّم بخیرغاً جديداً باتباع دليل تقديم البخیرغات.