سجل التغييرات

ما شُحن، متى، ولماذا.

الإصدارات تنزل هنا يوم خروجها. الإصدار يتبع semver — تصحيحات كل أسبوعين، تحديثات صغرى عند ما يستحقّ، وكبرى عند تغيير عقد.

  • ميزة v1.3.0

    حارس وجود مساحة العمل، تمرير نيّة الخطّة، نقطة API عامّة لطلبات المبيعات

    يشحن مسار التسجيل من الموقع التسويقي خلف علم ميزة — تطبيق الويب جاهز حين يفتحه الباب الأمامي.

    • حارس وجود مساحة العمل في _authenticated.tsx beforeLoad بمصفوفة قرار صريحة (دعوة معلّقة → /invitations/<token>؛ ≥1 مساحة → استمرار؛ 0 مساحة + 0 دعوة → /onboarding).
    • مسار عام جديد /<locale>/get-started يلتقط نيّة الخطّة في sessionStorage:rqd:plan-intent ويرتدّ إلى Keycloak.
    • مسار جديد /<locale>/_authenticated/onboarding — إنشاء مساحة عمل بمبادرة مالك صريحة فقط. لا توليد تلقائي إطلاقًا.
    • subscription.tsx لم يعد جذعًا — يعرض مستويات الخطط من plansQueryOptions()، يقرأ ?plan من الرابط، ويربط زرّ “تطبيق” بـ POST /subscriptions/resubscribe.
    • نقطة API عامّة جديدة POST /api/v1/public/sales-leads. التحقّق من Cloudflare Turnstile على الخادم، تنشئ تذكرة في مشروع المبيعات الداخلي المُمَهَّد، وتُطلق إشعارًا.
    • يحلّ خلل سياق مساحة العمل في الدعوات: الأعضاء المدعوّون يصلون الآن إلى مساحة العمل المدعوّة، لا إلى مساحتهم النشطة السابقة.
  • إصلاح v1.2.22

    بناء IIFE للودجت يُدمج ofetch داخليًا من جديد

    يصلح ReferenceError في 1.2.20 و1.2.21. الإصداران المكسوران مشطوبان من الـ CDN؛ على المستهلكين المثبّتين الترقية.

    • بناء IIFE في الودجت يُدمج الآن ofetch وأشقاء مساحة العمل — يصلح ReferenceError الذي يُرمى عند أوّل تفاعل في 1.2.20 و1.2.21.
    • 1.2.20 و1.2.21 مستبعدان عمدًا من قائمة الاحتفاظ في الـ CDN. المواقع المثبّتة عليهما ستحصل على 404 بدل 500 صامت.
    • أُضيف اختبار Vitest لبناء IIFE يُحمّله في JSDOM ويتأكّد من الرسم. يعمل على كل تغيير في الودجت.
    • رُفعت قيمة script_url_default في إضافة Filament إلى 1.2.22 — وسم جديد للإضافة قيد الإصدار.
  • ميزة v1.2.0

    إيقاف SLA عند انتظار العميل، وتنبيهات قبل الانتهاك

    تتوقّف عدّادات SLA الآن حين تنتظر التذكرة العميل، ويصل المسؤول تنبيه قبل الانتهاك بـ15 دقيقة.

    • تتوقّف عدّادات SLA تلقائيًا حين تنتقل التذكرة إلى “في انتظار العميل”، وتستأنف عند ردّه. الزمن المحسوب يستثني انتظار العميل.
    • يصل المسؤول إشعار قبل موعد أيّ هدف SLA بـ15 دقيقة. ويصل مديره إشعار قبله بـ5 دقائق. كلاهما قابل للضبط لكل مساحة عمل.
    • ترتيب فرز جديد “قرب SLA” على عرض القائمة — الأكثر إلحاحًا أوّلاً.
    • أصبحت أهداف SLA لكل فئة قابلة للضبط من الواجهة (كانت سابقًا في ملفات الإعدادات فقط).
  • ميزة v1.1.0

    عرض الخط الزمني، الشرائح المحفوظة، الإجراءات الجماعية

    عرض رابع (الخط الزمني) ينضمّ إلى القائمة واللوحة والجدول. المرشّحات روابط. والإجراءات الجماعية بلا متاهة قوائم.

    • عرض الخط الزمني — تقويم أفقي لمتى فُتحت التذاكر، ورُدّ عليها، وأُغلقت. مفيد لرصد أنماط الوقت ولتقارير الإدارة.
    • الشرائح المحفوظة — كل توليفة مرشّحات تنتج رابطًا مستقرًّا. ضعها في إشارة، شاركها، أدرجها في دليل تشغيل. يستطيع المالكون تثبيت الشرائح المشتركة على الشريط الجانبي.
    • الإجراءات الجماعية على عرضَي القائمة والجدول — اختر حتى 250 تذكرة، ضبّ الحالة / المسؤول / الأولوية / الوسم دون التنقّل بين القوائم. كل إجراء جماعي صفّ في سجل التدقيق.
    • الأداء: رسم القائمة أسرع بحوالي 3 أضعاف على مساحات تتجاوز 5,000 تذكرة مفتوحة.
  • ميزة v1.0.0

    Reqdesk 1.0 — ثنائي اللغة من اليوم الأوّل

    أوّل إصدار عام. التذاكر، الودجت القابل للتضمين، بوّابة العميل، العروض الأربعة، RBAC، سجلّ التدقيق، بالعربية والإنجليزية.

    • التذاكر — CRUD كاملة، الردود، المرفقات، الوسوم، الفئات، الحقول المخصّصة، سجل تدقيق على كل تغيير.
    • الودجت — بناء IIFE قابل للتضمين على cdn.reqdesk.support/widget/<version>/، يدعم العربية والمظاهر، محميّ بـ Turnstile.
    • بوّابة العميل — كل تذكرة قابلة للوصول من العميل الذي فتحها. أهداف SLA ظاهرة. لا تسجيل دخول ثانٍ.
    • أربعة عروض — قائمة، لوحة، جدول؛ الخط الزمني يتبع في 1.1.
    • RBAC — أدوار مالك / موظّف / عضو / عميل، عزل لكل مساحة عمل مفروض على طبقة الاستعلام.
    • سجل التدقيق — كل تغيير في تذكرة وعضوية وإعداد مشروع مسجّل بمنفّذ وهدف ونتيجة.
    • واجهة ثنائية اللغة — العربية والإنجليزية، مع RTL أصلي عبر CSS Logical Properties.
    • Keycloak SSO — تسجيل الدخول عبر auth.mod-sol-sa.com، مُموَّه بمظهر Reqdesk.