سجل التغييرات
ما الجديد؟
كل تحسين للمنصة، كما هو الشحن.
· kamo-internal
سجل الملكية الخاص بمجالات TXT في نظام إدارة الأمن الوطني
- DomainData/DnsStatus: add verificationToken, ownershipVerified, type fields (أظهروا (تيكستونر سينارد فوق طاولة (سي إم indigo pending / green verified styling; filters TXT from CNAME verified count - الدليل: يقبل التحقق (أ) يُظهر سجل TXT بوصفه الخطوة 3(أ) (Step 3b) with inline copy blue - DnsProgressView: pass domain.verificationToken to ManualDnsGuide
· SecurityService
Generate TXT verification token on domain create, check in verify-dns
- createDomain: generate 32-char UUID token and store via setVerificationToken - verifyDns: check _kamo-verify TXT record for kamo-site-verification=<token> - TXT verification counts toward requiredTotal/requiredVerified - Once ownership_verified=true, cache result so member can remove TXT record - CNAME statuses now include type="CNAME"; TXT status includes type="TXT"
· InitializerService
Add verification_token and ownership_verified columns to org_domains
· kamo-shared-library
مضافا إليها التحقق من الملكية العقارية عن طريق سجل TXT
- OrgDomain: add verificationToken and ownershipVerified fields - DomainService: add setVerificationToken - DomainDTO: expose verificationToken and ownershipVerified in API responses - DnsStatusDTO: add type field to distinguish TXT from CNAME statuss
· kamo-internal
رئيس مركّز، أسماء مستعارة مُحدّثة، دليل مرئي دائمًا من النُظم الاصطناعية
· SecurityService
Update required aliases — add app, capcha, docs, sign; remove legacy
· kamo-internal
دائماً يُظهر زرّ الـ دي إن إس للمالكين، يُضِعُ تدفقاً مُتغيراً
· kamo-internal
مرر orgId through setup/dns flow for cross-org domain management
· SecurityService
Allow cross-org domain management by verifying user ownership
· kamo-internal
مضافا إليه/موقع/ملحقات وتدفقات النطاقات إلى الشبكة
- صفحة جديدة/موقعة/مقدمة مع تدفق مرحلتين: التحقق من خلال عملية الاستقطاب الثانية والستين وإقرار نظام SSL - دليل الـ "دينز غيدي" : تعليمات خطية بخطوة مستويات المهارات مع أزرار النسخ للأسماء المسجلة والقيمة المستهدفة - AliasStatusTable: live peralias CNAME verification status with رقائق مصدق عليها/لم يبت فيها/شرائح خاطئة وشارة اختيارية على الموقع: - DnsProgressView: phase indicator (DNS → SSL, Ready), progress bar, موقّت العد التنازلي، تأكّد الآن زرّ، مؤامرة للنجاح - DomainEntryForm: domain input with www toggle and plain-language UX - صفحة /الشبكات: زر دخول غير قابل للتفكيك لأورام مع عادات غير مؤكدة النطاق؛ تحديد الزر الرئيسي للملاك الذين يحتاجون إلى تشكيلة
· SecurityService
Add /setup/dns backend — one-domain enforcement, SSL probe, new aliases
- Enforce one custom domain per org in POST /api/security/domains - Add capcha, docs, sign to standard aliases; remove legacy aliases - Update verify-dns to track required vs optional CNAMEs, auto-trigger HTTP seeds to Traefik logs when all required CNAMEs verified, and HTTPS-probe for SSL confirmation (marks sslConfirmed on parent domain) - Add SslProbeService with triggerHttpSeed() and probeHttps() methods - Expose domainSetupComplete per org in GET /api/security/org/my-networks
· InitializerService
Add ssl_confirmed and ssl_confirmed_at columns to org_domains
Adds idempotent ALTER TABLE statements to provision the two new columns needed for DNS setup SSL confirmation tracking.
· kamo-shared-library
يضاف حقول مؤكدة/مؤكدة إلى أورغوماين ودومينيكا
يضاف حقلين جديدين إلى كيان أورغوماين ودومينيكا لتتبع SSL حالة التصديق على الشهادة بعد المسائل المتعلقة بخدمة السيارات شهادة ويضيف أيضاً مساعداً إلى شركة (دومين سيرفيك).
· kamo-marketing
إزالة أجهزة الاستشعار من جانب العملاء - التي تعالج الآن بالتخلف
الاستبدال الوردي والتكرير السري انتقل إلى "تغييرلولوجي" الخدمات (SecurityService) so sanitization happen before DB storage and translation. الواجهة لم تعد بحاجة لمس النص.
· SecurityService
Move changelog word replacement to backend before translation
Text replacements (Docs→Docs, Meet→Meet, etc.) and secret name redaction (K8s secret names→***) were previously applied client-side in ChangelogClient.tsx, meaning the raw sensitive terms were stored in the database and transmitted to the translation service — so translated records could expose internal names in other languages. Both lists are now applied in ChangelogSanitizationService before the commit is persisted. replaceText() covers titles; sanitize() covers descriptions (strip-patterns run first, then replaceText). The frontend no longer needs to do any censoring.
· kamo-internal
Replace storage add-on toggle with quantity slider
Additional Storage is usage-based ($4/25GB block), not a simple on/off add-on. Replaced the toggle switch with a slider (0-1000GB in 25GB steps) plus a numeric input field. Cost breakdown now shows storage as a separate line item. PlanSelection includes additionalStorageGB for the backend to set up metered billing accordingly.
· kamo-internal
Wire BillingManager and RelationshipManager to real backends
بيلينغ ماناجر (حساب فواتير) - استبدال 100 في المائة من راكب الولايات المحلية بطريقة حقيقية للدفع المدعوم من القطاع الإدارة عن طريق فواتير آبي - طرق تسديد القروض من GET/api/billing/payment-methods on mount - إضافة استخدامات التدفق في طريقة الدفع PaymentMethodForm confirmCardSetup → attachPaymentMethod (identical التدفق إلى كوكب بلينغ تاب -استعدوا للخطأ عن طريق ************ النجم الأيقونة و العمود الفقري - تحذف عن طريق الفاتورة Api.delete PaymentMethod مع تأكيد ديولوجيا؛ مسحة البطاقة الافتراضية محجوبة بأداة - علامات تجارية (Visa/Mastercard/Amex/Discover) مبينة من القائمة SVG assets; generic CreditCard icon fallback for unknown brands - تحميل الهيكل العظمي، الخطأ في كل قسم مع إعادة التجفيف، التغذية المرتدة العلاقة بين المانجر (خط علاقات الحساب): - الاستعاضة عن الدولة المحلية الفارغة بنظام GET /api/security/org/my-networks - تصنف الشبكات: شبكة الأبوين (Owner=false the) ينتمي إلى، أيزونار = الحقيقي → شبكات الأطفال (orgs the user manages) - يُشوّفُ أفاتار الأوّلية، عنوان org، نوع/دومان ميتا، ورقاقة الدور - وصلات عمل بارزة بمجال org عند توافرها - العمل في مجال حقوق الوصول معوق بالأدوات (يدير عن طريق org - تُظهر الرقائق الملخصة أعداداً حية من الوالدين/الأطفال - الإضافة/النقل متعمدة القراءة فقط؛ وتوجيهات تنبيه المعلومات إلى الشبكة Page for relationship management (no backend CRUD endpoint exists)
· KlusterServices
Restore bergamot with working model sources and correct image
- replicas: 1 - Init container (alpine): downloads 4 pairs from data.statmt.org (tarballs for enes/enfr/ende/enpl) and 2 from firefox-translations-models GitHub LFS (individual .gz files for enru/enar) - Image: mozilla/translation-service (proper HTTP server, was WASM library) - Port: 8080 via PORT env var (service defaults to 8000) - Health probes: TCP socket (service has no /health HTTP endpoint) - Remaining 7 locales (pt/it/uk/tr/ro/id/vi) fall through to LibreTranslate
· kamo-internal
يستعاض عن صفحة إحصاءات الطوابق باللوحة الحية لاشتراك الآلية
إعادة بناء/ملفات/حسابات؟ لوحة. يستعاض عن جميع البيانات المتحركة بالمكالمات الموازية إلى شركة بيلينغ سيرفيك عن طريق عميل (بيلينغ آبي) الحالي ليوت: - الشبكة الثانية: بطاقة استعراض الخطة (اسم الخطة، شارة المركز، عدد المقاعد، دورة إعداد الفواتير، الفترة، إلغاء الإنذار، قائمة المعالم موجز الفواتير البطاقة (مبلغ فاتورة صافية، سعر الوحدة، مضافات نشطة، رصيد ائتماني، مدفوعات الطريقة الرابعة الأخيرة - قسم استخدام الترددات الكاملة: البطاقات المرحلية للمتر الواحد (البريد الإلكتروني: التخزين، تخزين الملفات، الوثائق) مع القضبان المتقدمة الملونة بالألوان من حدود سمات الخطة - الحد الأخضر/الإنذار/الدرجة عند عتبة 70 في المائة/90 في المائة - الجدول التاريخي للفاتورة الكاملة: رقم الفواتير، الفترة، رقاقة الحالة Subtotal/tax/total, PDF download link; up to 20 most recent invoices البيانات: الحصول على اشتراك كورينت، الحصول على Plans المتوفر، الحصول على استخدام الكرينت، الحصول على فواتير، الحصول على الميدالية، كل ذلك عبر الوعد. ثابتة لذا كل قسم ينحرف بشكل مستقل عن الخطأ MUI Skeleton loaders per القسم بينما يجلب.
· kamo-internal
الاختيار الكامل لتدفق الخطة من النهاية إلى النهاية
- جهاز لاستقبال الأسلاك إلى نظام بلينج تاب (محل أماكن إقامة) - الحصول على الخطط المتاحة من إعداد فواتير تسجيل الدخول على الصفحات - تقديم الخطة الميسرة: إنشاء اشتراكات أو تحديثات جديدة - طلب طريقة الدفع قبل الاشتراك (إعادة توجيه لإضافة المدفوعات) - إظهار حالة التحميل برسالة معالجة مقطعية أثناء التقديم - سياق خطة المرور (الخطة الحالية، الدورة، المقاعد، الإضافات) - Fix PaymentMethodForm to accept clientSecret as prop rather than الوصول إلى عناصر قطاعية داخلية
· kamo-internal
مخططات الاختباء ' ' تصاميم المبيعات من أجل الجذر (KmoCRM org)
مالكو شركة "كامومو سي آر أورغ" لديهم كل ما يُمكنهم بدون تكلفة لا أرى حساب الفواتير التابوت أصبح الآن مشروطاً بالنسبة لمنظمات الأطفال (حيث تكون المنظمة. الطفل رأوا مالكي org فواتيرهم الأعضاء يرون الفواتير بناء على تفويض.
· SecurityService
إضافة بيلينغ سيرفيك لتغيير المشاريع العامة
· kamo-internal
Integrate Stripe billing system across the platform
-موكلة فواتير جديدة لها أنواع كاملة من الفاتورة نقاط نهاية (الاشتراكات، وطرائق الدفع، والفواتير، والائتمان، والاستعمال، config, admin) - المكونات الجديدة للعناصر المتسلسلة: موزع قطاعي، نظام الدفع كاتب تخطيط مع توزيع كامل للتكلفة، وخصمات الحجم، والحزم - إعادة كتابة خطط تبلينج بتكامل قطاعي حقيقي: إدارة الخطة، طرق تسديد العناصر القطاعية، تاريخ الفواتير، رصيد الائتمان، قياس الاستخدام، والوفد المتأخر، وعضو الفريق - Update FeaturesManager with plan-based gating: lock icons and upgrade الاتفاقات التجارية الشاملة لملامح غير مدرجة في خطة الاشتراك الحالية - إلغاء رسوم فواتير من الحسابات (متنقلة إلى صفحة الأعضاء) - Install @stripe/stripe-js and @stripe/react-stripe-js
· BillingService
المبيعات الأولية - فواتير مدمجة لقطاع كامو -
خدمة الربيع الكاملة لإدارة فواتير شركة (كاموموكس) عبر (روي) - زبون قطاعي، اشتراك، دفع ميثود، إدارة دورة حياة الفواتير - نظام الائتمان مع مراجعة حسابات دفتر الأستاذ (التوازن بين مستعملي الأصفاد) - القياس في كامويل ودوكمانجر (التزامن اليومي مع تراي) - وفد بيلينغ (الآب/أغسطس) - إنفاذ الانحرافات القابلة للتداول - تجهيز شبكة ويب رويدية في الوقت الحقيقي - السعر القطاعي/التجهيز الآلي من قائمة الاشتراكات - تطبيق نظام الأفضليات المعينة بالكامل: الزبائن، الاشتراكات، أساليب الدفع، الفواتير، الائتمانات، والاستعمال، والثقة، والنقاط النهائية - بيانات نشر K8s + Forgejo CI/CD - خدمة داخلية فقط (لا طريق إنغريس)، مدخلة عبر بوابة APIService
· APIService
Add Stripe webhook forwarding and billing API gateway routing
- POST /api/billing/webhooks/stripe receives Stripe webhooks and forwards to BillingService with Stripe-Signature header preserved - /api/billing/** gateway routes proxy authenticated billing API calls to BillingService through the existing forward() mechanism - Adds billing.service.url and stripe.webhook.secret configuration - Adds stripe-webhook-secret k8s secret reference
· InitializerService
Add billing config initialization to KamoCRMPricingLoader
Seeds a default BillingConfig (ORG_PAYS_ALL, SOFT_LOCK, 7-day grace) for the KamoCRM organization during pricing loader startup. Supports the new Stripe billing system.
· kamo-shared-library
إضافة كيانات فواتير ومخازن للتكامل القطاعي
حزمة جديدة (BillingCustomer, BillingSubscription, Billing Payment) الطريقة، (بيلينغ فواتير)، (بيلينغ كريديت)، (بيلينغ كريد) BillingUsageSnapshot, BillingStripePriceMapping) and 9 corresponding مستودعات الجيش الشعبي الياباني هذه الكيانات مرآة ولاية (روي) محلياً نظام فواتير جديد لـ (كاموموكسين).
· kamo-marketing
يضاف /الحاسبة و//الحجز/العرض إلى جميع المواقع؛
- تطبيقات/بنود: إضافة / pricing/offer and /calculator entries with locale alternates - التلميذ/القطعة/السدود/التحويلات: إضافة محاسبة خاصة - SitemapClient.tsx: move staticSections inside component with tlock for all labels/descriptions; يضاف وصلة حاسبية تحت باب المنتجات - الرسائل/en.json: يضاف 38 مفتاحا جديدا لربط الموقع/الوصف
· kamo-marketing
مستخرج كامل من سلاسل الجسم المتبقية من المنتج، والمدونات، والتسعير، والخفض، والاتصال، والحاسبة
· kamo-marketing
سلاسل الجسم المستخرجة كاملة من الملامح، حول، المنزل

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