سجل التغييرات
ما الجديد؟
كل تحسين للمنصة، كما هو الشحن.
· APIService
Add /api/esig/** gateway routing to ESigService
Route all /api/esig/** requests through the existing API gateway to the dedicated ESigService (kamowsesig-service) instead of the non-existent proxy target. Adds esig.service.url config property with the correct K8s internal service URL as default.
· kamo-internal
يضاف خيار وضع طبقة إلى مُحدِّد ووترمارك (خلف/محتوى أعلى)
موديفيير يكسب حقل مبتدئ موديفير لايير الآن يَأْخذُ a ' ممرّ ' يَتحمّلُ ' فوق ' تُصدر أرقام الصفحات و العلامات وعلامات المياه مع طبقة -فوق المرور، يجعل فقط علامات الماء مع طبقة أعلى - PdfCanvas renders two ModifierLayer passes - one before FieldOverlay/Annotation لاير وواحد بعد - حتى يمكن أن تجلس العلامات المائية إما خلفها أو فوقها مُتَغَطَّلَة مِنْ قِبَلِ مُتَوَقَّدَة مَنْ يَنَاقَبُ "مُحتَلَة خلفيَة"
· kamo-internal
مُعَدِّل للعلامة المائية إلى مجموعة أدوات التصميم
- من النوع المزود بعلامات مائية: لوت تايب (فول/بساطة)، البداية، نهاية العمر، التناوب (180-180)، الحجم (10-90 في المائة من عرض الصفحات)، القدوة (2-60 في المائة)، النسيج الصلب، اللون (hex) - التخلف عن سداد رسوم جمجمة كاملة، تناوب 45 درجة، 50 في المائة، 15 في المائة - ModifierLayer: WatermarkOverlay renders the org theme logo centered + rotated on the page. عندما يُمكّن (كولور) الصلب، مُرشّح (س.ف.ج) يُستبدل كل لون (بيكسل) بينما يُحافظ على قناة (ألفا) -الصندوق: - مختار من نوع لوجو (أعمدة بصرية تظهر شعارات org الفعلية) - مدخلات النطاق الصفحة - التناوب، الحجم، ومزلاجات الظلمة -اللوحة الصلبة - طلاءات لون سريع (Primary, Secondary, Black, White) يُقرأ من زهرية CSS - موصل حديث لللون العادى عندما تكون الطريقة الصلبة نشطة - إضافة مكافآت معدّلة من مكافآت قائمة الموازين؛ وقائمة البطاقات تُظهِر مقياساً للاضطهاد
· kamo-internal
Extend Label modifier to full 8-position grid with LM/RM circulation
- Label Modifier.position now uses ModifierPosition8 (same 8-position grid as Page Numbers) - LM (Middle left): Each line rendered as a spiritual pill with writing-mode: column-rl + rotate(180deg) - text reads CCW (bottom-to-top); lines stack left toright so line is closest to page edge, line 3 is most inward RM (Middle Right): Each line uses writing-mode: column-rl (no extra circulation) - text reads CW (top to-bottom); row-reverse so line 1 is at the right edge, lines come inward - TM/BM الآن متاح على لابلز (الحبوب الأفقي الموحد، المركز) - نقل الموقع Grid4 من Toolbox; Labels use PositionGrid8 with a hint shown when LM/RM is selected - النوع 4 (لم تعد هناك حاجة)
· kamo-internal
إضافة أدوات/مزيلات للتوقيع على تول بوكس بنفقات حية
- تولبت تولبوكس ترك جانبيا في توابل ومكبرات - جدول المكيفات: قائمة مقسمة + لوحة (الخيار باء) - عدد المُحدِّد: صفحة البداية/الصفحة النهائية، وشبكة 8 مواقع (TL/TM/TR/LM/RM/BL/BM/BR)، ومفتوحات الشكل + العرف ({n}/{total} tokens) - مُحدِّد لابل: صفحة البداية/النهاية، شبكة 4كورن، حتى 3 خطوط نص مُصفّاة - حالات متعددة مدعومة من كل نوع - تُظهر البطاقات من النوع " icon + الموجز " (النوع، الموقف، النص التمهيدي) - ملامح البطاقات المختارة باللون الأولي؛ - عنصر المكيف: تجاوزات في المكشوفات الحية التي تصدر في كل صفحة ضمن النطاق المحدد، المناسبات المحددة: لا شيء، z-index تحت الحقول/الشروح - DesignData extended with modifiers[] - persisted through save/load/version/undo-redo
· kamo-marketing
اظهروا عدد تغيرات اليوم في مأدبة ما قبل المقابلة مع وصلة إلى /
· kamo-internal
Fix floating zoom control visibility and polish thumbnail placeholders
- Move floating zoom controls outside the scroll container and use position:absolute so they remain visible at all times regardless of scroll position; offset 28px from right to account for scrollbar gutter - Rewrite ThumbnailCanvas placeholder logic: containers now render at US Letter aspect ratio before any image loads, then animate to the true aspect ratio once the thumbnail resolves; paddingTop is applied imperatively via a ref to bypass MUI's spacing system - Aspect ratio transitions smoothly with a spring curve when rotation changes (portrait ↔ landscape morph) - Spinner fades/shrinks out and thumbnail fades/scales in with a polished keyframe sequence on load
· kamo-internal
Page selection with animated glow border synced between canvas and thumbnail sidebar
- DesignTab holds selectedPageIndex as the single source of truth - Clicking any page in the main canvas selects it (onPageSelect) - Clicking a thumbnail selects the page AND scrolls to it in the main canvas - Selected page in the main canvas gets a 2.2s pulsing theme-colored glow: three-layer box-shadow (solid ring + spread + ambient) breathing from dim to bright - Selected thumbnail in the sidebar gets a matching but proportionally smaller glow - When a page is selected via the main canvas, the thumbnail sidebar auto-scrolls the corresponding thumbnail into view (scrollIntoView nearest) - Replaced the broken useVisiblePage stub (always returned 0) with real selectedPageIndex prop - Page container converted from plain <div> to MUI Box to support sx/@keyframes - Unselected pages gain a subtle hover shadow for discoverability
· kamo-internal
Auto-select first signer, fix zoom control scrollbar gap, animate properties panel
- Toolbox auto-selects the first signer's UID when signers go from 0→1 - Canvas container uses scrollbar-gutter: stable so the sticky zoom/undo control maintains a consistent right-edge gap regardless of scrollbar visibility - Properties panel slides up (spring easing, 380ms) on open and slides down (ease-in, 240ms) on close using MUI Slide with cubic-bezier(0.34,1.56,0.64,1) - Switching between fields triggers a subtle fade+translate keyframe (220ms) via React key on the inner content wrapper, keeping the outer container mounted - Panel gains a soft top shadow (0 -8px 32px) to lift it visually off the canvas
· kamo-internal
Reorder tabs, gate field tools by signer, redesign Settings & Signers tab
- Design is now the first tab; Settings & Signers is second - Toolbox shows "Add Signer" CTA (navigates to Settings) when no signers exist - Signature Tools, Identity Fields, and Input Fields are disabled (grayed out with lock icon) until a signer is selected; Annotation Tools remain always available - Settings & Signers tab fully redesigned: two-column full-height layout — left panel (380px) for template name, scope selector, and association type; right panel (flex) for the scrollable signers list with sticky header, empty state, and add-another footer
· kamo-internal
Render field controls as actual-looking form elements with signer color tinting
Each field type now renders a visual representation of the real control (text input, checkbox, toggle, dropdown, radio group, date picker, etc.) tinted with the assigned signer's color. Resize handles are now 4 corner-only circular dots instead of 8 directional handles.
· DocsService
Add imaging management endpoints — move all non-upload imaging from SecurityService
- Add 17 imaging DTOs to beans/imaging/ (folders, documents, templates, updates) - Add ImagingController at /api/docs/imaging with all management + download endpoints: - Folders: GET/POST list+create, PATCH rename, DELETE, POST move-doc - Config: GET assoc-config, GET doc-types - Documents: GET download, DELETE delete, GET metadata, POST list - Updates: PATCH update/description, filename, hidden, access-level, doc-type, folder - Trash: PATCH trash/restore - History: GET history/changes, GET history/downloads - Templates: POST templates/list, PATCH templates/{id}/status, GET templates/{id}/converted-pdf, GET templates/{id}/thumbnail/{page}
· ConversionService
Add imaging upload endpoints — move all upload logic from SecurityService
- Add JPA, Redis, NATS, kamo-shared-library, JJWT, commons-io, jackson-hibernate6 to pom.xml - Add datasource, Redis master/replica, NATS, MinIO config to application.yml - Add OTKPreAuthFilter + KSessionService for OTK-based auth - Add ImagingUploadController at /api/conversion/imaging: - POST /upload — regular document upload - POST /templates/upload — full synchronous pipeline (upload → Docs convert → thumbnail generation → NATS WebSocket progress events) - Fix thumbnail object naming to use originalDat.getId() consistently with DaemonService and the download endpoint
· ConversionService
Add ThumbnailService and POST **************** endpoint
Accepts a PDF file, renders each page at 150 DPI via PDFBox, packs per-page PNGs into a ZIP (thumb_p0.png, thumb_p1.png, …) and returns it. Centralises all thumbnail generation logic in ConversionService; callers store the ZIPed results themselves.
· kamo-internal
يضاف الإبهام خطوة إلى رفع مؤشر التقدم المحرز، وتعقب توليد - مرحلة الإبهام
· SecurityService
توليد الإبهام في كل صفحة أثناء تحميل النموذج مع تقدم المراعي
- إضافة PDFBox dependency to pom.xml - بعد التخزين المحوّل PDF، يُصدر جميع الصفحات عن طريق PDFRenderer ويُحمّلُ كـ {id} thumb p{n}.png. - نشرة تُولّدُ thumbnails WS تَحْدثُ التقدميَ في الصفحةِ (72-95% مدى) مَع "إبهامِ مُتَزَوَّلِ مِنْ M" - إعادة تحديد جميع النسب المئوية للمرحلة السابقة لفسح المجال: تنزيل 0-10، وإعداد 10-15، وتحويل 15-55، والتحقق من 55-63، وتخزين 63-72، وإبهام 72-95، ووضع الصيغة النهائية لـ 95-100
· SecurityService
مضافا إليه لا أعرف نقطة نهاية للخدمة في كل صفحة
· DaemonService
Generate per-page thumbnails for all PDF pages, store as {id}_thumb_p{n}.png
· kamo-shared-library
Add thumbPageCount field and findNeedingPageThumbnails query for perpage thumbnail support
· ESigService
Add template init endpoint to find-or-create templates by imgId
The create page uploads to the imaging system and redirects with imgId. The edit page now calls POST /api/esig/templates/init with the imgId to find an existing template or create a new one in DRAFT status.
· kamo-internal
يضاف محرر نموذج التوقيعات الإلكترونية بملفات التصميم واللافتات والنسخ
(أ) إعادة كتابة كاملة للموقع/التوقيع/الصفحة مع الوصلات البينية المشبوهة (سيتينغز) Design), PDF.js canvas with draggable field overlay, annotation tools, signer الإدارة، الصفحة الجانبية من الإبهام، تاريخ النسخ، والتراجع/الإعادة. Includes مخازن الزواد، وطرق إدارة شؤون الهجرة والزوارق و13 عنصراً جديداً.
· ESigService
Initial ESigService Spring Boot project for e-signature template management
New microservice with REST API for e-signature template CRUD, signer management, design version snapshots, and field link tracking. Includes OTK auth filter, Forgejo CI/CD pipeline, and K8s deployment manifests.
· kamo-shared-library
إضافة كيانات نموذجية للتوقيعات الإلكترونية، وملحقات، ومخازن
New JPA entities for the e-signature template design system: ESignTemplate, ESignTemplateSigner, ESignTemplateDesignVersion, and ESignTemplate fieldLink مع مداخل الدعم ومستودعات بيانات الربيع.
· kamo-marketing
(ريدك ك 8) اسماء سرية في عرض متغير، يستعاض عنها بـ ***
· kamo-marketing
إحصائيات السيرفر الجانبية للمجاميع الحقيقية، اللمسات النهائية، تصفية دقيقة
عدد حبوب منع الحمل والمصفوفات يأتي الآن من /api/changelog/public/stats (مجاميع الـ دي بي الحقيقي، وليس عدد الصفحات المحشوة). الزر البديل مع مراقِب تقاطعِ مُراقبِ لا نهائيِ الذي يُسبّبُ 600px قبل أسفل.
· SecurityService
مضافا إليه: نقطة نهاية العرض/التغيير/العام/الإحصاءات الإجمالية حسب النوع والمشروع
· kamo-shared-library
أضف استفساراً عن مشروع " بي " (ByProjectIn query to CommitLogRepository for stats endpoint
· SecurityService
إضافة المصادقة السرية على الموقع الشبكي لتغيير نقطة النهاية
الدفاع المتعمق: المصادقة*** SecurityService side in addition to APIService gateway validation.
· APIService
Expose changelog webhook through APIService with secret key auth
Adds POST /api/changelog/webhook route that validates *** header before forwarding to SecurityService. Secret configured via CHANGELOG_WEBHOOK_SECRET env var / K8s secret.
· SecurityService
مشروعات عامة لتغيير الثقة مع جميع مشاريع فورجو الـ 23

كونك ينتظرك
ابدأ مجانا في دقائق. أضف المنتجات كلما كنت مستعدا - لا هجرة، لا دخول جديد.
مجانا إلى الأبد - لا حاجة إلى بطاقة ائتمان