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

- 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:
Antigravity
2026-05-16 18:50:34 +00:00
parent ee8e2bda59
commit 8c7ca69640
117 changed files with 11732 additions and 834 deletions

View File

@@ -394,7 +394,7 @@
"transformError": "Error during transformation",
"convertToRichtext": "Convert to Rich Text",
"convertingToRichtext": "Converting...",
"assistant": "AI Assistant",
"assistant": "AI Note",
"generating": "Generating...",
"generateTitles": "Generate titles",
"reformulateText": "Reformulate text",
@@ -457,8 +457,8 @@
"undoAI": "Undo AI transformation",
"undoApplied": "Original text restored",
"minWordsError": "Note must contain at least 5 words to use AI actions.",
"wordCountMin": "Please select at least {min} words to reformulate (currently {current} words)",
"wordCountMax": "Please select at most {max} words to reformulate (currently {current} words)",
"wordCountMin": "Minimum {min} words required ({current} current)",
"wordCountMax": "Maximum {max} words allowed ({current} current)",
"genericError": "AI error",
"actionError": "Error during AI action",
"appliedToNote": "Applied to note",
@@ -467,7 +467,7 @@
"selectContext": "Select context...",
"selectNotebook": "Select notebook",
"chatPlaceholder": "Ask AI to edit, summarize, or draft...",
"assistantTitle": "AI Assistant",
"assistantTitle": "AI Note",
"currentNote": "Current note",
"shrinkPanel": "Shrink panel",
"expandPanel": "Expand panel",
@@ -552,7 +552,7 @@
"insertedInNote": "Diagram inserted in note",
"insertExportError": "Error exporting/uploading diagram"
},
"openAssistant": "Open AI Assistant",
"openAssistant": "Open AI Note",
"poweredByMomento": "Powered by Momento AI",
"welcomeMsg": "Hello! I'm your AI assistant. How can I help you with your notes today? I can help refine tone, expand messaging, or summarize content.",
"summaryLast5": "Summary of your last 5 notes",
@@ -624,7 +624,9 @@
"presentationReadyBadge": "Presentation ready",
"openInLabTitle": "Open in Lab",
"inlineSummaryMarkdown": "**Summary:**",
"networkErrorShort": "Network error."
"networkErrorShort": "Network error.",
"featureLocked": "This feature requires the PRO plan or higher.",
"quotaExceeded": "Monthly limit reached. Resets next month."
},
"titleSuggestions": {
"available": "Title suggestions",
@@ -881,10 +883,11 @@
"showRecentNotes": "Show Recent Notes Section",
"showRecentNotesDescription": "Display recent notes (last 7 days) on the main page",
"recentNotesUpdateSuccess": "Recent notes setting updated successfully",
"recentNotesUpdateFailed": "Failed to update recent notes setting"
"recentNotesUpdateFailed": "Failed to update recent notes setting",
"tab": "Profile"
},
"aiSettings": {
"title": "AI Settings",
"title": "AI",
"description": "Configure your AI-powered features and preferences",
"features": "AI Features",
"provider": "AI Provider",
@@ -911,7 +914,8 @@
"autoLabeling": "Label suggestions",
"autoLabelingDesc": "Automatically suggests and applies labels to your notes",
"noteHistory": "Note history",
"noteHistoryDesc": "Enable version snapshots and restoration from History"
"noteHistoryDesc": "Enable version snapshots and restoration from History",
"titleSuggestions": "Title suggestions"
},
"general": {
"loading": "Loading...",
@@ -1173,6 +1177,8 @@
"deleteFailed": "Failed to delete",
"roleUpdateSuccess": "User role updated to {role}",
"roleUpdateFailed": "Failed to update role",
"tierUpdateSuccess": "Subscription updated to {tier}",
"tierUpdateFailed": "Failed to update subscription",
"demote": "Demote to User",
"promote": "Promote to Admin",
"confirmDelete": "Are you sure? This action cannot be undone.",
@@ -1180,6 +1186,7 @@
"name": "Name",
"email": "Email",
"role": "Role",
"subscription": "Subscription",
"createdAt": "Created At",
"actions": "Actions"
},
@@ -1317,7 +1324,8 @@
"documentation": "Documentation",
"reportIssues": "Report Issues",
"feedback": "Feedback"
}
},
"tab": "About"
},
"support": {
"title": "Support Memento Development",
@@ -1371,7 +1379,7 @@
"loading": "Loading..."
},
"dataManagement": {
"title": "Data Management",
"title": "Data",
"toolsDescription": "Tools to maintain your database health",
"exporting": "Exporting...",
"importing": "Importing...",
@@ -1433,7 +1441,8 @@
"fontSystem": "System Default",
"fontInterDefault": "Inter (default)",
"fontPlayfairDisplay": "Playfair Display",
"fontJetBrainsMono": "JetBrains Mono"
"fontJetBrainsMono": "JetBrains Mono",
"tab": "Appearance"
},
"usageMeter": {
"packName": "AI Discovery Pack",
@@ -1452,10 +1461,15 @@
"proChat": "100 chat messages / month",
"later": "Later",
"upgradePricing": "Upgrade to Pro",
"addApiKey": "Use your own API key (BYOK)"
"addApiKey": "Use your own API key (BYOK)",
"featureReformulate": "Reformulations",
"featureChat": "AI Messages",
"featureBrainstormCreate": "Brainstorm creations",
"featureBrainstormExpand": "Brainstorm expansions",
"featureBrainstormEnrich": "Brainstorm enrichments"
},
"generalSettings": {
"title": "General Settings",
"title": "General",
"description": "General application settings"
},
"toast": {
@@ -1641,7 +1655,7 @@
"collapse": "Collapse"
},
"mcpSettings": {
"title": "MCP Settings",
"title": "MCP",
"description": "Manage API keys and configure external tools",
"whatIsMcp": {
"title": "What is MCP?",
@@ -2325,6 +2339,216 @@
"checkoutSuccessBody": "Welcome to {tier}. Your features are now unlocked.",
"subscriptionType": "subscriptionType",
"renewalDate": "renewalDate",
"noRenewalDate": "—"
"noRenewalDate": "—",
"tab": "Billing",
"currentUsage": "Current usage",
"currentPeriod": "Current period",
"aiCredits": "AI credits",
"used": "used",
"billing": "Billing",
"renewal": "Renewal",
"paidPlanDesc": "Your subscription renews automatically.",
"businessDescription": "For teams and product leaders."
},
"landing": {
"nav": {
"features": "Features",
"agents": "AI Agents",
"brainstorm": "Brainstorm",
"pricing": "Pricing",
"tech": "Architecture",
"login": "Log in",
"cta": "Get started"
},
"hero": {
"badge": "Powered by Artificial Intelligence",
"title1": "Your second brain,",
"title2": "finally amplified.",
"subtitle": "Momento is more than a note-taking app. It's an intelligent ecosystem that connects, analyzes and develops your ideas in real time with 6 types of AI agents and cutting-edge semantic search.",
"cta": "Sign up now",
"secondary": "See features",
"memoryEcho": "Memory Echo",
"memoryEchoText": "\"Connection detected with your sustainable design project from March 2024...\"",
"brainstormLive": "Brainstorm Live",
"ideasGenerated": "+12 ideas generated"
},
"features": {
"label": "AI Capabilities",
"title": "Fluid intelligence,",
"title2": "woven into every word.",
"desc": "Momento orchestrates your ideas through a multi-provider architecture.",
"f1Title": "Semantic Search",
"f1Desc": "Stop searching by keywords. Find by concept. Our hybrid Vector + FTS engine understands the intent behind your notes.",
"f2Title": "Contextual RAG Chat",
"f2Desc": "Chat with your knowledge. Our agents read your notes, explore the web and analyze your documents to respond with precision.",
"f3Title": "Augmented Writing",
"f3Desc": "Reformulation, title suggestions, auto-tagging and summaries. AI works in the background to structure your thinking."
},
"agents": {
"label": "Specialized Agents",
"title": "Delegate the complex work.",
"desc": "6 types of autonomous AI agents to automate your research, summaries and presentations.",
"scraper": {
"title": "Scraper",
"desc": "Scrapes URLs, parses RSS feeds and synthesizes information with smart image placement."
},
"researcher": {
"title": "Researcher",
"desc": "Generates complex queries, explores web sources and writes structured research notes."
},
"slideGen": {
"title": "Slide Gen",
"desc": "Transforms your notes into professional PowerPoint presentations or interactive HTML Slides."
},
"monitor": {
"title": "Monitor",
"desc": "Continuously analyzes your notebooks to detect trends and new insights."
},
"diagramGen": {
"title": "Diagram Gen",
"desc": "Converts your ideas into fluid Excalidraw diagrams (Mindmaps, Flowcharts) with auto-layout."
},
"custom": {
"title": "Custom",
"desc": "Define your own agents with specific roles and data sources."
}
},
"brainstorm": {
"label": "Thought Waves",
"title": "Real-time radial brainstorming.",
"waveGeneration": {
"title": "Wave Generation",
"desc": "Variations, Analogies, then Disruptions. AI pushes your initial concept to its limits."
},
"collaboration": {
"title": "Native Collaboration",
"desc": "AI ghost cursors, synced avatars and real-time node movement."
},
"export": {
"title": "Semantic Export",
"desc": "Convert your entire brainstorm into structured notes in one click."
},
"disruptionLabel": "DISRUPTION",
"disruptionText": "Modular Architecture 2.0",
"analogyLabel": "ANALOGY",
"analogyText": "The tidal cycle"
},
"tech": {
"label": "Architecture & Providers",
"title": "Connect your own AI model.",
"tags": {
"title": "Tags",
"desc": "Independently configurable with any model."
},
"embeddings": {
"title": "Embeddings",
"desc": "Independently configurable with any model."
},
"chatRag": {
"title": "Chat RAG",
"desc": "Independently configurable with any model."
}
},
"pricing": {
"label": "Plans & Pricing",
"title": "Choose your level of amplification.",
"desc": "Flexible options for creative minds, from individual use to large organizations.",
"monthly": "Monthly",
"annual": "Annual",
"perMonth": "/month",
"perMonthAnnual": "/month, billed annually",
"perUser": "+ 3.90€/user",
"perUserAnnual": "+ 2.90€/user, billed annually",
"popular": "Most popular",
"basic": {
"name": "Basic",
"desc": "Discover the magic of Momento.",
"cta": "Get started",
"feature0": "100 Notes max",
"feature1": "3 Notebooks",
"feature2": "50 AI credits (Lifetime)",
"feature3": "Semantic search",
"feature4": "7-day history"
},
"pro": {
"name": "Pro",
"desc": "For demanding consultants and creators.",
"cta": "Upgrade to Pro",
"feature0": "Unlimited notes",
"feature1": "BYOK (OpenAI/Anthropic)",
"feature2": "200 semantic searches",
"feature3": "Agents (12 runs/month)",
"feature4": "30-day history",
"feature5": "Email support"
},
"business": {
"name": "Business",
"desc": "For teams and product managers.",
"cta": "Choose Business",
"feature0": "10 Collaborators included",
"feature1": "BYOK (13 providers)",
"feature2": "1000 semantic searches",
"feature3": "Agents (60 runs/month)",
"feature4": "Unlimited brainstorming",
"feature5": "API access"
},
"enterprise": {
"name": "Enterprise",
"desc": "Secure organizational memory.",
"cta": "Contact Sales",
"feature0": "Everything in Business",
"feature1": "Unlimited agents",
"feature2": "SSO / SAML",
"feature3": "Audit Logs & SLA",
"feature4": "Dedicated support",
"feature5": "Live onboarding"
}
},
"byok": {
"label": "Open Cloud Technology",
"title": "The BYOK Strategy",
"desc": "Already have OpenAI, Anthropic or Google API keys? Connect them directly to Momento. Use AI without imposed credit limits, paying only what you actually consume from your favorite provider.",
"noLockin": "No lock-in",
"noLockinDesc": "Switch providers in 1 click.",
"cost": "Optimized costs",
"costDesc": "Pay the direct API price.",
"configLabel": "Multi-Provider Config"
},
"cta": {
"title1": "Ready to unlock your",
"title2": "full potential?",
"desc": "Join thousands of researchers, designers and thinkers already using Momento to build their future.",
"button": "Launch Momento"
},
"footer": {
"desc": "The AI-amplified second brain. Designed for creative minds.",
"product": {
"title": "Product",
"link0": "Changelog",
"link1": "Documentation",
"link2": "Roadmap",
"link0Href": "#",
"link1Href": "#",
"link2Href": "#"
},
"community": {
"title": "Community",
"link0": "Discord",
"link1": "Twitter / X",
"link2": "LinkedIn",
"link0Href": "#",
"link1Href": "#",
"link2Href": "#"
},
"legal": {
"title": "Legal",
"link0": "Privacy Policy",
"link1": "Terms of Service",
"link2": "Cookie Policy",
"link0Href": "#",
"link1Href": "#",
"link2Href": "#"
}
}
}
}
}