• v3.1.1 a58554ba63

    v3.1.1
    All checks were successful
    build-and-release / docker (push) Successful in 3s
    Stable

    debe released this 2026-10-12 08:13:17 +00:00 | 11 commits to main since this release

    Fixed

    • JSON extraction is now robust across models. A local Qwen build returns an extra
      opening brace ({{"summary_ar": ...}) and reasoning models prepend a thinking block;
      both made every analysis fail with "Could not parse the JSON from the AI response".
      The extractor now strips thinking blocks and markdown fences, tries the whole string
      first, then scans for the first balanced {...} span that actually parses —
      ignoring braces inside string values.
    • An empty model response now reports "The AI returned an empty response" instead of a
      generic parse error.

    Added

    • Five regression tests for the extractor: extra opening brace, thinking block, prose
      around the JSON, braces inside strings, and the empty-response case.
    Downloads
  • v3.1.0 181c04abe2

    v3.1.0
    All checks were successful
    build-and-release / docker (push) Successful in 3s
    Stable

    debe released this 2026-10-12 07:42:46 +00:00 | 12 commits to main since this release

    Changed

    • The repository source is now English-only. Every comment, log line, test title, CLI
      message, Dockerfile, compose file and .env.example note was translated from Arabic to
      English. Arabic now lives in exactly one place: the UI translation dictionary
      (public/i18n.js) plus the data-i18n fallback strings in public/index.html.
    • The API returns stable error codes. Responses changed from a bare Arabic message to
      {"error": "<snake_case_code>", "message": "<English text>"}. The browser translates the
      code through the err.<code> keys in the i18n dictionary, so the Arabic UI still shows
      Arabic errors and any other API consumer gets a machine-readable code.
    • The AI prompts are now written in English while still requiring Modern Standard Arabic
      for the *_ar fields and clear English for the *_en fields — same field names and order,
      same JSON-only instruction.

    Added

    • test/english-only.test.js guards the rule: it fails if Arabic appears in any tracked file
      other than the UI translation, checks that the Arabic and English dictionaries stay in sync,
      verifies the API speaks error codes, and asserts the AI prompts still demand Arabic output.
    • README section explaining the SAUTH_* (your .env) versus AUTH_* (inside the container)
      naming, and a note that these runtime settings are seeded on the first run only.

    Fixed

    • README no longer claims the app has its own "app password" — that was removed in 3.0.0.
    • Corrected README/CHANGELOG to reference the SAUTH_* variable names you actually set in
      .env, instead of the in-container AUTH_* names.
    Downloads
  • v3.0.1 c26888c0c4

    v3.0.1
    All checks were successful
    build-and-release / docker (push) Successful in 3s
    Stable

    debe released this 2026-10-12 07:05:09 +00:00 | 13 commits to main since this release

    Added

    • AUTH_DEPLOYMENT_NAME في docker-compose و .env.example: يسمّي حساب خدمة AD
      ‏(svc-sauth-{الاسم})، بحد ٦ أحرف إنجليزية. موثّق في README مع تنبيه أنه
      إعداد «وقت تشغيل» يُقرأ في أول تشغيل فقط ثم يُدار من اللوحة (Settings → General).
    • إعدادات AD الجاهزة مسبقًا في الـ compose: AUTH_DIRECTORY_OUTAGE_POLICY
      و AUTH_DIRECTORY_OUTAGE_GRACE و AUTH_AUTO_SSO و AUTH_AUTO_SSO_DELAY.
    Downloads
  • v3.0.0 dfb18502ee

    v3.0.0
    All checks were successful
    build-and-release / docker (push) Successful in 3s
    Stable

    debe released this 2026-10-12 06:58:25 +00:00 | 14 commits to main since this release

    ⚠️ تغيير جذري في المصادقة

    أُزيلت بوابة كلمة المرور الواحدة نهائيًا. الهوية كلها الآن من SimpleAuth عبر OIDC.

    Added

    • دخول موحّد عبر SimpleAuth (OIDC authorization code + PKCE S256)، مع تجديد صامت للجلسة.
    • تحقق محلي من الرموز بتوقيع RS256 عبر node:crypto ومفاتيح JWKS — بلا أي حزمة npm، وبلا طلب شبكة لكل طلب.
    • أدوار: دور المدير (SAUTH_ADMIN_ROLE) يفتح الإعدادات والحذف النهائي والاستعادة؛ غيره للمواضيع والتحديثات.
    • اسم الكاتب مثبّت على المستخدم المسجّل — لا يمكن انتحال اسم غيره (كان حقلًا حرًا).
    • عميل OIDC كامل في lib/simpleauth.js: اكتشاف، PKCE، تبادل الرمز، تجديد، JWKS مع تحديث عند تدوير المفاتيح، وجلب الملف الشخصي.
    • جدول جلسات في قاعدة البيانات (كوكي عشوائي HttpOnly، قابل للإبطال، ويُنظَّف تلقائيًا).
    • صورة SimpleAuth في docker/simpleauth.Dockerfile من الثنائي الرسمي مع تحقق sha256 وقت البناء.
    • docker-compose يشغّل الخدمتين معًا مع ربط شهادات TLS الخاصة بك من ./certs.
    • واجهة: شارة المستخدم ودوره، شاشة دخول جديدة، وإخفاء الإعدادات عن غير المدير.
    • 14 اختبار تكامل مع mock كامل لـ SimpleAuth (JWKS حقيقي، PKCE، انتحال، أدوار، تجديد، حالات فشل).

    Removed

    • كلمة مرور التطبيق وكل ما يتعلق بها (hashPassword/verifyPassword، scripts/reset-password.mjs، حقول الإعدادات).

    Changed

    • updates.author لم يعد يُقبل من العميل؛ يُشتق من الجلسة.
    • نقطة /api/health تُبلّغ authRequired بدل passwordSet، وأُضيفت /api/me.
    • جاهز لـ Active Directory: عند ربط AD لاحقًا لا يتغير أي كود في التطبيق، وأي حساب معطّل في AD يُمنع عند أول تجديد.
    Downloads
  • v2.10.1 221eebcf72

    v2.10.1
    All checks were successful
    build-and-release / docker (push) Successful in 3s
    Stable

    debe released this 2026-09-28 07:17:15 +00:00 | 15 commits to main since this release

    Fixed

    • مقياس عناوين التقرير: النماذج تستخدم #### لأقسام التقرير، وكانت تظهر بحجم صغير جدًا (h6). صار التدرّج #→h2 … ####→h5 مع تنسيق واضح لكل المستويات.
    Downloads
  • v2.10.0 210afb2f34

    v2.10.0
    All checks were successful
    build-and-release / docker (push) Successful in 3s
    Stable

    debe released this 2026-09-28 07:15:49 +00:00 | 16 commits to main since this release

    Added

    • دعم Markdown كامل لعرض التقرير: عناوين بكل المستويات، نص غامق ومائل، كود مضمّن وكتل كود، قوائم نقطية ومرقّمة مع تداخل، جداول، اقتباسات، فواصل أفقية، وروابط.
    • عارض Markdown في ملف مستقل public/markdown.js مع 10 اختبارات (تشمل منع حقن HTML من محتوى الـ AI).
    Downloads
  • v2.9.0 c8a4829d76

    v2.9.0
    All checks were successful
    build-and-release / docker (push) Successful in 3s
    Stable

    debe released this 2026-09-28 05:11:16 +00:00 | 17 commits to main since this release

    Added

    • محتوى بلغتين: الـ AI ينتج ملخص كل تحديث، وملخص الموضوع، والتقرير الكامل، والخطوة التالية، وتفاصيل الموضوع — بالعربية والإنجليزية معًا في نفس التحليل.
    • الواجهة تعرض المحتوى المطابق للغة الصفحة: عربي مع الواجهة العربية، وإنجليزي مع الإنجليزية — فوريًا عند تبديل اللغة بدون أي طلب إضافي.
    Downloads
  • v2.8.0 d533ecbe46

    v2.8.0
    All checks were successful
    build-and-release / docker (push) Successful in 3s
    Stable

    debe released this 2026-09-28 04:48:26 +00:00 | 18 commits to main since this release

    Added

    • جلب قائمة النماذج المتاحة من واجهة الـ AI (GET /models) وعرضها في قائمة منسدلة داخل الإعدادات، بدل كتابة اسم النموذج يدويًا.
    • زر «جلب النماذج» + جلب تلقائي عند فتح الإعدادات، مع إبقاء إمكانية الكتابة اليدوية إن لم تدعم الخدمة قائمة النماذج.
    Downloads
  • v2.7.0 5bfd65fc17

    v2.7.0
    All checks were successful
    build-and-release / docker (push) Successful in 3s
    Stable

    debe released this 2026-09-28 04:40:12 +00:00 | 19 commits to main since this release

    Added

    • دعم خدمة AI محلية على الشبكة بدون مفتاح: المفتاح صار اختياريًا تمامًا، ولا تُرسل ترويسة Authorization إن لم يوجد مفتاح.
    • زر «مسح المفتاح المحفوظ» في الإعدادات (ما كان فيه طريقة لمسحه سابقًا).
    • توافق أوسع مع الخدمات المحلية: لو رفضت الخدمة response_format (وهو شائع في بعض خوادم النماذج المحلية) يعيد التطبيق المحاولة تلقائيًا بدونها بدل ما يفشل.

    Changed

    • إعدادات المفتاح توضّح أنه اختياري، وحالة «بدون مفتاح» تُعرض كحالة طبيعية لا كخطأ.
    • .env.example يشرح أمثلة عناوين الخدمات المحلية (Ollama / LM Studio / llama.cpp).
    Downloads
  • v2.6.0 fbffeca80a

    v2.6.0
    All checks were successful
    build-and-release / docker (push) Successful in 3s
    Stable

    debe released this 2026-09-28 04:29:39 +00:00 | 20 commits to main since this release

    Added

    • حفظ التحديث قبل التحليل: التحديث يُحفظ فورًا، ولو فشل تحليل الـ AI يبقى محفوظًا بعلامة «تعذّر التحليل» مع زر إعادة محاولة — لا يضيع كلام أي شخص.
    • بحث وفلترة وترتيب في المواضيع (بحث نصي، فلترة بالحالة/متأخر/مواضيعي، وترتيب بالتحديث/الإنشاء/العنوان/النسبة).
    • مؤشر «متأخر» للمواضيع النشطة التي لم يصله تحديث منذ 7 أيام.
    • المسؤول عن الموضوع مع فلترة «مواضيعي».
    • تصدير التقرير: نسخ أو تنزيل ملخص الموضوع وتقريره (Markdown).
    • أرشيف منفصل عن سلة المهملات (إخفاء بدون حذف، مع إلغاء الأرشفة).
    • نسخ احتياطي: تنزيل نسخة JSON كاملة واستعادتها من الإعدادات.
    • تحميل تدريجي للتحديثات: آخر 20 تحديث مع زر «عرض المزيد».
    • Ctrl+Enter لإرسال التحديث.

    Fixed

    • توقيت الحاوية: ضبط TZ=Asia/Riyadh وتثبيت tzdata في الصورة، لأن الأوقات كانت تُخزَّن وتُعرض بتوقيت UTC (متأخرة 3 ساعات).
    • رفع حد حجم الطلب إلى 10MB ليسمح باستيراد النسخ الاحتياطية.
    Downloads