fix: brainstorm infinite loop, ghost cursor, embedding ::vector cast, semantic search, billing stats, usage meter accordion
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 5s
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 5s
- Fix useBrainstormSocket: stable guestId via useRef, remove setState in cleanup - Fix GhostCursor: direct DOM manipulation via refs, no useState re-renders - Fix all SQL embedding queries: add ::vector cast on text columns - Fix embedding truncation to 15000 chars (under 8192 token limit) - Fix NoteEmbedding INSERT: remove non-existent updatedAt column - Fix billing page: show all quota stats in grid instead of single metric - Fix usage meter: accordion expand/collapse, per-feature detail - Fix semantic search: rebuild 103 note embeddings, ::vector cast on vectorSearch - Fix brainstorm expand/manual-idea/create: ::vector cast on embedding SQL
This commit is contained in:
@@ -890,7 +890,7 @@
|
||||
"recentNotesUpdateFailed": "فشل تحديث إعدادات الملاحظات الحديثة"
|
||||
},
|
||||
"aiSettings": {
|
||||
"title": "إعدادات الذكاء الاصطناعي",
|
||||
"title": "AI",
|
||||
"description": "تكوين ميزاتك وتفضيلاتك المدعومة بالذكاء الاصطناعي",
|
||||
"features": "ميزات الذكاء الاصطناعي",
|
||||
"provider": "مزود الذكاء الاصطناعي",
|
||||
@@ -917,7 +917,8 @@
|
||||
"autoLabeling": "اقتراحات التسميات",
|
||||
"autoLabelingDesc": "يقترح ويطبق التسميات تلقائياً على ملاحظاتك",
|
||||
"noteHistory": "سجل الملاحظة",
|
||||
"noteHistoryDesc": "تفعيل لقطات النسخ والاستعادة من السجل"
|
||||
"noteHistoryDesc": "تفعيل لقطات النسخ والاستعادة من السجل",
|
||||
"titleSuggestions": "اقتراحات العناوين"
|
||||
},
|
||||
"general": {
|
||||
"loading": "جاري التحميل...",
|
||||
@@ -1115,7 +1116,13 @@
|
||||
"languageDetection": "اكتشاف اللغة",
|
||||
"languageDetectionDesc": "يكتشف تلقائياً لغة كل ملاحظة",
|
||||
"autoLabeling": "التصنيف التلقائي",
|
||||
"autoLabelingDesc": "يقترح ويطبق التصنيفات تلقائياً"
|
||||
"autoLabelingDesc": "يقترح ويطبق التصنيفات تلقائياً",
|
||||
"fallbackSectionTitle": "مزود احتياطي (اختياري)",
|
||||
"fallbackSectionDescription": "يُستخدم تلقائياً عند أخطاء المزود (429، 5xx). محاولة واحدة خلال 1,5 ثانية.",
|
||||
"fallbackProvider": "مزود احتياطي",
|
||||
"fallbackModel": "نموذج احتياطي",
|
||||
"fallbackNone": "لا شيء (معطّل)",
|
||||
"fallbackModelPlaceholder": "مثال: gpt-4o-mini"
|
||||
},
|
||||
"resend": {
|
||||
"title": "Resend (موصى به)",
|
||||
@@ -1173,6 +1180,8 @@
|
||||
"deleteFailed": "فشل الحذف",
|
||||
"roleUpdateSuccess": "تم تحديث دور المستخدم إلى {role}",
|
||||
"roleUpdateFailed": "فشل تحديث الدور",
|
||||
"tierUpdateSuccess": "Subscription updated to {tier}",
|
||||
"tierUpdateFailed": "Failed to update subscription",
|
||||
"demote": "تخفيض إلى مستخدم",
|
||||
"promote": "ترقية إلى مشرف",
|
||||
"confirmDelete": "هل أنت متأكد؟ لا يمكن التراجع عن هذا الإجراء.",
|
||||
@@ -1180,6 +1189,7 @@
|
||||
"name": "الاسم",
|
||||
"email": "البريد الإلكتروني",
|
||||
"role": "الدور",
|
||||
"subscription": "Subscription",
|
||||
"createdAt": "تاريخ الإنشاء",
|
||||
"actions": "الإجراءات"
|
||||
},
|
||||
@@ -1371,7 +1381,7 @@
|
||||
"loading": "جاري التحميل..."
|
||||
},
|
||||
"dataManagement": {
|
||||
"title": "إدارة البيانات",
|
||||
"title": "Data",
|
||||
"toolsDescription": "أدوات للحفاظ على صحة قاعدة البيانات",
|
||||
"exporting": "جاري التصدير...",
|
||||
"importing": "جاري الاستيراد...",
|
||||
@@ -1436,7 +1446,7 @@
|
||||
"fontJetBrainsMono": "JetBrains Mono"
|
||||
},
|
||||
"generalSettings": {
|
||||
"title": "الإعدادات العامة",
|
||||
"title": "General",
|
||||
"description": "إعدادات التطبيق العامة"
|
||||
},
|
||||
"toast": {
|
||||
@@ -1622,7 +1632,7 @@
|
||||
"collapse": "طي"
|
||||
},
|
||||
"mcpSettings": {
|
||||
"title": "إعدادات MCP",
|
||||
"title": "MCP",
|
||||
"description": "إدارة مفاتيح API وتكوين الأدوات الخارجية",
|
||||
"whatIsMcp": {
|
||||
"title": "ما هو MCP؟",
|
||||
@@ -2211,7 +2221,9 @@
|
||||
"exportDefaultNoteTitle": "Synthesis",
|
||||
"exportOpening": "Opening…",
|
||||
"ownerBadge": "Owner",
|
||||
"waveBadge": "Wave {wave}"
|
||||
"waveBadge": "Wave {wave}",
|
||||
"quotaGuest": "استنفد مضيف الجلسة حدّ الذكاء الاصطناعي. اطلب منه ترقية خطته.",
|
||||
"quotaHost": "لقد وصلت إلى حدّ الذكاء الاصطناعي لهذه الجلسة. رقِّ خطتك للمتابعة."
|
||||
},
|
||||
"usageMeter": {
|
||||
"packName": "AI Discovery Pack",
|
||||
@@ -2323,6 +2335,215 @@
|
||||
"checkoutSuccessBody": "مرحبًا في {tier}. ميزاتك متاحة الآن.",
|
||||
"subscriptionType": "subscriptionType",
|
||||
"renewalDate": "renewalDate",
|
||||
"noRenewalDate": "—"
|
||||
"noRenewalDate": "—",
|
||||
"currentUsage": "الاستخدام الحالي",
|
||||
"currentPeriod": "الفترة الحالية",
|
||||
"aiCredits": "أرصدة الذكاء الاصطناعي",
|
||||
"used": "مستخدم",
|
||||
"billing": "الفواتير",
|
||||
"renewal": "التجديد",
|
||||
"paidPlanDesc": "يتم تجديد اشتراكك تلقائيًا.",
|
||||
"businessDescription": "للفرق وقادة المنتجات."
|
||||
},
|
||||
"landing": {
|
||||
"nav": {
|
||||
"features": "الميزات",
|
||||
"agents": "وكلاء الذكاء الاصطناعي",
|
||||
"brainstorm": "العصف الذهني",
|
||||
"pricing": "الأسعار",
|
||||
"tech": "البنية",
|
||||
"login": "تسجيل الدخول",
|
||||
"cta": "ابدأ الآن"
|
||||
},
|
||||
"hero": {
|
||||
"badge": "مدعوم بالذكاء الاصطناعي",
|
||||
"title1": "عقلك الثاني،",
|
||||
"title2": "مُعزَّز أخيرًا.",
|
||||
"subtitle": "Momento ليست مجرد تطبيق للملاحظات. إنها منظومة ذكية تربط أفكارك وتحللها وتطورها في الوقت الفعلي بفضل 6 أنواع من وكلاء الذكاء الاصطناعي والبحث الدلالي المتقدم.",
|
||||
"cta": "سجّل الآن",
|
||||
"secondary": "استكشف الميزات",
|
||||
"memoryEcho": "Memory Echo",
|
||||
"memoryEchoText": "\"تم رصد ارتباط بمشروع التصميم المستدام الخاص بك من مارس 2024...\"",
|
||||
"brainstormLive": "Brainstorm Live",
|
||||
"ideasGenerated": "+12 فكرة مُولَّدة"
|
||||
},
|
||||
"features": {
|
||||
"label": "قدرات الذكاء الاصطناعي",
|
||||
"title": "ذكاء سلس،",
|
||||
"title2": "منسوج في كل كلمة.",
|
||||
"desc": "تنسّق Momento أفكارك عبر بنية متعددة المزوّدين.",
|
||||
"f1Title": "البحث الدلالي",
|
||||
"f1Desc": "توقّف عن البحث بالكلمات المفتاحية. ابحث بالمفهوم. محركنا الهجين Vector + FTS يفهم القصد وراء ملاحظاتك.",
|
||||
"f2Title": "دردشة RAG السياقية",
|
||||
"f2Desc": "تحدّث مع معرفتك. يقرأ وكلاؤنا ملاحظاتك ويستكشفون الويب ويحللون مستنداتك للإجابة بدقة.",
|
||||
"f3Title": "كتابة معزّزة",
|
||||
"f3Desc": "إعادة الصياغة واقتراح العناوين والوسم التلقائي والملخصات. يعمل الذكاء الاصطناعي في الخلفية لتنظيم تفكيرك."
|
||||
},
|
||||
"agents": {
|
||||
"label": "وكلاء متخصصون",
|
||||
"title": "فوّض العمل المعقّد.",
|
||||
"desc": "6 أنواع من وكلاء الذكاء الاصطناعي المستقلين لأتمتة أبحاثك وملخصاتك وعروضك.",
|
||||
"scraper": {
|
||||
"title": "Scraper",
|
||||
"desc": "يجمع الروابط ويحلل خلاصات RSS ويلخّص المعلومات مع وضع ذكي للصور."
|
||||
},
|
||||
"researcher": {
|
||||
"title": "Researcher",
|
||||
"desc": "يولّد استعلامات معقدة ويستكشف مصادر الويب ويكتب ملاحظات بحث منظمة."
|
||||
},
|
||||
"slideGen": {
|
||||
"title": "Slide Gen",
|
||||
"desc": "يحوّل ملاحظاتك إلى عروض PowerPoint احترافية أو شرائح HTML تفاعلية."
|
||||
},
|
||||
"monitor": {
|
||||
"title": "Monitor",
|
||||
"desc": "يحلل دفاترك باستمرار لاكتشاف الاتجاهات والرؤى الجديدة."
|
||||
},
|
||||
"diagramGen": {
|
||||
"title": "Diagram Gen",
|
||||
"desc": "يحوّل أفكارك إلى مخططات Excalidraw سلسة (خرائط ذهنية، مخططات انسيابية) بتخطيط تلقائي."
|
||||
},
|
||||
"custom": {
|
||||
"title": "Custom",
|
||||
"desc": "عرّف وكلاءك بأدوار ومصادر بيانات مخصّصة."
|
||||
}
|
||||
},
|
||||
"brainstorm": {
|
||||
"label": "موجات الفكر",
|
||||
"title": "عصف ذهني شعاعي في الوقت الفعلي.",
|
||||
"waveGeneration": {
|
||||
"title": "توليد بالموجات",
|
||||
"desc": "تنويعات وتشبيهات ثم اختراقات. يدفع الذكاء الاصطناعي مفهومك الأولي إلى أقصى حدوده."
|
||||
},
|
||||
"collaboration": {
|
||||
"title": "تعاون أصيل",
|
||||
"desc": "مؤشرات شبحية للذكاء الاصطناعي وأفاتار متزامنة وتحريك العقد في الوقت الفعلي."
|
||||
},
|
||||
"export": {
|
||||
"title": "تصدير دلالي",
|
||||
"desc": "حوّل جلسة العصف الذهني بالكامل إلى ملاحظات منظمة بنقرة واحدة."
|
||||
},
|
||||
"disruptionLabel": "اختراق",
|
||||
"disruptionText": "بنية معيارية 2.0",
|
||||
"analogyLabel": "تشبيه",
|
||||
"analogyText": "دورة المد والجزر"
|
||||
},
|
||||
"tech": {
|
||||
"label": "البنية والمزوّدون",
|
||||
"title": "اربط نموذج الذكاء الاصطناعي الخاص بك.",
|
||||
"tags": {
|
||||
"title": "الوسوم",
|
||||
"desc": "قابل للإعداد بشكل مستقل مع أي نموذج."
|
||||
},
|
||||
"embeddings": {
|
||||
"title": "Embeddings",
|
||||
"desc": "قابل للإعداد بشكل مستقل مع أي نموذج."
|
||||
},
|
||||
"chatRag": {
|
||||
"title": "Chat RAG",
|
||||
"desc": "قابل للإعداد بشكل مستقل مع أي نموذج."
|
||||
}
|
||||
},
|
||||
"pricing": {
|
||||
"label": "الخطط والأسعار",
|
||||
"title": "اختر مستوى التعزيز المناسب لك.",
|
||||
"desc": "خيارات مرنة للعقول المبدعة، من الاستخدام الفردي إلى المؤسسات الكبيرة.",
|
||||
"monthly": "شهري",
|
||||
"annual": "سنوي",
|
||||
"perMonth": "/شهر",
|
||||
"perMonthAnnual": "/شهر، يُفوتر سنويًا",
|
||||
"perUser": "+ 3.90€/user",
|
||||
"perUserAnnual": "+ 2.90€/user, billed annually",
|
||||
"popular": "الأكثر شعبية",
|
||||
"basic": {
|
||||
"name": "Basic",
|
||||
"desc": "اكتشف سحر Momento.",
|
||||
"cta": "ابدأ",
|
||||
"feature0": "100 ملاحظة كحد أقصى",
|
||||
"feature1": "3 دفاتر",
|
||||
"feature2": "50 رصيد ذكاء اصطناعي (مدى الحياة)",
|
||||
"feature3": "بحث دلالي",
|
||||
"feature4": "سجل 7 أيام"
|
||||
},
|
||||
"pro": {
|
||||
"name": "Pro",
|
||||
"desc": "للمستشارين والمبدعين الطموحين.",
|
||||
"cta": "الترقية إلى Pro",
|
||||
"feature0": "ملاحظات غير محدودة",
|
||||
"feature1": "BYOK (OpenAI/Anthropic)",
|
||||
"feature2": "200 بحث دلالي",
|
||||
"feature3": "الوكلاء (12 تشغيل/شهر)",
|
||||
"feature4": "سجل 30 يومًا",
|
||||
"feature5": "دعم عبر البريد"
|
||||
},
|
||||
"business": {
|
||||
"name": "Business",
|
||||
"desc": "للفرق ومديري المنتجات.",
|
||||
"cta": "اختر Business",
|
||||
"feature0": "10 متعاونين مشمولين",
|
||||
"feature1": "BYOK (13 مزوّدًا)",
|
||||
"feature2": "1000 بحث دلالي",
|
||||
"feature3": "الوكلاء (60 تشغيل/شهر)",
|
||||
"feature4": "عصف ذهني غير محدود",
|
||||
"feature5": "وصول API"
|
||||
},
|
||||
"enterprise": {
|
||||
"name": "Enterprise",
|
||||
"desc": "ذاكرة مؤسسية آمنة.",
|
||||
"cta": "تواصل مع المبيعات",
|
||||
"feature0": "كل ما في Business",
|
||||
"feature1": "وكلاء غير محدودين",
|
||||
"feature2": "SSO / SAML",
|
||||
"feature3": "سجلات تدقيق وSLA",
|
||||
"feature4": "دعم مخصص",
|
||||
"feature5": "إعداد مباشر"
|
||||
}
|
||||
},
|
||||
"byok": {
|
||||
"label": "تقنية سحابية مفتوحة",
|
||||
"title": "استراتيجية BYOK",
|
||||
"desc": "لديك مفاتيح API من OpenAI أو Anthropic أو Google؟ اربطها مباشرة بـ Momento. استخدم الذكاء الاصطناعي دون حدود ائتمان مفروضة، وادفع فقط ما تستهلكه لدى مزوّدك المفضل.",
|
||||
"noLockin": "بدون قفل",
|
||||
"noLockinDesc": "بدّل المزوّد بنقرة واحدة.",
|
||||
"cost": "تكاليف محسّنة",
|
||||
"costDesc": "ادفع سعر API المباشر.",
|
||||
"configLabel": "إعداد متعدد المزوّدين"
|
||||
},
|
||||
"cta": {
|
||||
"title1": "مستعد لإطلاق",
|
||||
"title2": "إمكاناتك الكاملة؟",
|
||||
"desc": "انضم إلى آلاف الباحثين والمصممين والمفكرين الذين يستخدمون Momento لبناء مستقبلهم.",
|
||||
"button": "تشغيل Momento"
|
||||
},
|
||||
"footer": {
|
||||
"desc": "العقل الثاني المعزّز بالذكاء الاصطناعي. صُمم للعقول المبدعة.",
|
||||
"product": {
|
||||
"title": "المنتج",
|
||||
"link0": "سجل التغييرات",
|
||||
"link1": "التوثيق",
|
||||
"link2": "خارطة الطريق",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
},
|
||||
"community": {
|
||||
"title": "المجتمع",
|
||||
"link0": "Discord",
|
||||
"link1": "Twitter / X",
|
||||
"link2": "LinkedIn",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
},
|
||||
"legal": {
|
||||
"title": "قانوني",
|
||||
"link0": "سياسة الخصوصية",
|
||||
"link1": "شروط الخدمة",
|
||||
"link2": "سياسة ملفات تعريف الارتباط",
|
||||
"link0Href": "#",
|
||||
"link1Href": "#",
|
||||
"link2Href": "#"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user