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

@@ -890,7 +890,7 @@
"recentNotesUpdateFailed": "Nie udało się zaktualizować ustawienia ostatnich notatek"
},
"aiSettings": {
"title": "Ustawienia AI",
"title": "AI",
"description": "Skonfiguruj swoje funkcje AI i preferencje",
"features": "Funkcje AI",
"provider": "Dostawca AI",
@@ -917,7 +917,8 @@
"autoLabeling": "Sugestie dotyczące etykiet",
"autoLabelingDesc": "Automatycznie sugeruje i stosuje etykiety do notatek",
"noteHistory": "Uwaga na historię",
"noteHistoryDesc": "Włącz migawki wersji i przywracanie z Historii"
"noteHistoryDesc": "Włącz migawki wersji i przywracanie z Historii",
"titleSuggestions": "Sugestie tytułów"
},
"general": {
"loading": "Ładowanie...",
@@ -1115,7 +1116,13 @@
"languageDetection": "Wykrywanie języka",
"languageDetectionDesc": "Automatycznie wykrywa język każdej notatki",
"autoLabeling": "Automatyczne etykietowanie",
"autoLabelingDesc": "Automatycznie sugeruje i stosuje etykiety"
"autoLabelingDesc": "Automatycznie sugeruje i stosuje etykiety",
"fallbackSectionTitle": "Zapasowy dostawca (opcjonalnie)",
"fallbackSectionDescription": "Używany automatycznie przy błędach dostawcy (429, 5xx). Jedna ponowna próba w 1,5 s.",
"fallbackProvider": "Zapasowy dostawca",
"fallbackModel": "Zapasowy model",
"fallbackNone": "Brak (wyłączone)",
"fallbackModelPlaceholder": "np. gpt-4o-mini"
},
"resend": {
"title": "Resend (Zalecane)",
@@ -1173,6 +1180,8 @@
"deleteFailed": "Nie udało się usunąć",
"roleUpdateSuccess": "Rola użytkownika zmieniona na {role}",
"roleUpdateFailed": "Nie udało się zaktualizować roli",
"tierUpdateSuccess": "Subscription updated to {tier}",
"tierUpdateFailed": "Failed to update subscription",
"demote": "Zdegraduj",
"promote": "Awansuj",
"confirmDelete": "Czy na pewno chcesz usunąć tego użytkownika?",
@@ -1180,6 +1189,7 @@
"name": "Imię",
"email": "E-mail",
"role": "Rola",
"subscription": "Subscription",
"createdAt": "Utworzono",
"actions": "Akcje"
},
@@ -1371,7 +1381,7 @@
"loading": "Ładowanie..."
},
"dataManagement": {
"title": "Zarządzanie danymi",
"title": "Data",
"toolsDescription": "Narzędzia do utrzymania kondycji bazy danych",
"exporting": "Eksportowanie...",
"importing": "Importowanie...",
@@ -1436,7 +1446,7 @@
"fontJetBrainsMono": "JetBrains Mono"
},
"generalSettings": {
"title": "Ustawienia ogólne",
"title": "General",
"description": "Ogólne ustawienia aplikacji"
},
"toast": {
@@ -1622,7 +1632,7 @@
"collapse": "Zwiń"
},
"mcpSettings": {
"title": "Ustawienia MCP",
"title": "MCP",
"description": "Zarządzaj kluczami API i konfiguruj narzędzia zewnętrzne",
"whatIsMcp": {
"title": "Czym jest MCP?",
@@ -2211,7 +2221,9 @@
"exportDefaultNoteTitle": "Synthesis",
"exportOpening": "Opening…",
"ownerBadge": "Owner",
"waveBadge": "Wave {wave}"
"waveBadge": "Wave {wave}",
"quotaGuest": "Gospodarz sesji wyczerpał limit AI. Poproś go o ulepszenie planu.",
"quotaHost": "Osiągnąłeś limit AI dla tego brainstormu. Ulepsz plan, aby kontynuować."
},
"usageMeter": {
"packName": "AI Discovery Pack",
@@ -2323,6 +2335,215 @@
"checkoutSuccessBody": "Witamy w {tier}. Twoje funkcje są teraz odblokowane.",
"subscriptionType": "subscriptionType",
"renewalDate": "renewalDate",
"noRenewalDate": "—"
"noRenewalDate": "—",
"currentUsage": "Bieżące użycie",
"currentPeriod": "Bieżący okres",
"aiCredits": "Kredyty AI",
"used": "użyte",
"billing": "Rozliczenia",
"renewal": "Odnowienie",
"paidPlanDesc": "Twoja subskrypcja odnawia się automatycznie.",
"businessDescription": "Dla zespołów i kierowników produktu."
},
"landing": {
"nav": {
"features": "Funkcje",
"agents": "Agenci AI",
"brainstorm": "Brainstorm",
"pricing": "Cennik",
"tech": "Architektura",
"login": "Zaloguj się",
"cta": "Rozpocznij"
},
"hero": {
"badge": "Napędzane sztuczną inteligencją",
"title1": "Twój drugi mózg,",
"title2": "wreszcie wzmocniony.",
"subtitle": "Momento to coś więcej niż aplikacja do notatek. To inteligentny ekosystem, który łączy, analizuje i rozwija Twoje pomysły w czasie rzeczywistym dzięki 6 typom agentów AI i zaawansowanemu wyszukiwaniu semantycznemu.",
"cta": "Zarejestruj się teraz",
"secondary": "Zobacz funkcje",
"memoryEcho": "Memory Echo",
"memoryEchoText": "\"Wykryto powiązanie z Twoim projektem zrównoważonego designu z marca 2024...\"",
"brainstormLive": "Brainstorm Live",
"ideasGenerated": "+12 wygenerowanych pomysłów"
},
"features": {
"label": "Możliwości AI",
"title": "Płynna inteligencja,",
"title2": "wpleciona w każde słowo.",
"desc": "Momento orkiestruje Twoje pomysły dzięki architekturze multi-provider.",
"f1Title": "Wyszukiwanie semantyczne",
"f1Desc": "Koniec z wyszukiwaniem po słowach kluczowych. Szukaj po pojęciu. Nasz hybrydowy silnik Vector + FTS rozumie intencję za Twoimi notatkami.",
"f2Title": "Kontekstowy czat RAG",
"f2Desc": "Rozmawiaj ze swoją wiedzą. Nasi agenci czytają notatki, eksplorują sieć i analizują dokumenty, by odpowiadać precyzyjnie.",
"f3Title": "Wzmocnione pisanie",
"f3Desc": "Przeformułowania, sugestie tytułów, automatyczne tagowanie i podsumowania. AI porządkuje Twoje myślenie w tle."
},
"agents": {
"label": "Wyspecjalizowani agenci",
"title": "Deleguj złożoną pracę.",
"desc": "6 typów autonomicznych agentów AI do automatyzacji badań, streszczeń i prezentacji.",
"scraper": {
"title": "Scraper",
"desc": "Pobiera URL-e, parsuje kanały RSS i syntetyzuje informacje z inteligentnym układem obrazów."
},
"researcher": {
"title": "Researcher",
"desc": "Generuje złożone zapytania, eksploruje źródła web i pisze ustrukturyzowane notatki badawcze."
},
"slideGen": {
"title": "Slide Gen",
"desc": "Zamienia notatki w profesjonalne prezentacje PowerPoint lub interaktywne slajdy HTML."
},
"monitor": {
"title": "Monitor",
"desc": "Ciągle analizuje zeszyty, by wykrywać trendy i nowe spostrzeżenia."
},
"diagramGen": {
"title": "Diagram Gen",
"desc": "Zamienia pomysły w płynne diagramy Excalidraw (mapy myśli, schematy) z auto-layout."
},
"custom": {
"title": "Custom",
"desc": "Zdefiniuj własnych agentów z określonymi rolami i źródłami danych."
}
},
"brainstorm": {
"label": "Fale myśli",
"title": "Radialny brainstorming w czasie rzeczywistym.",
"waveGeneration": {
"title": "Generacja falowa",
"desc": "Wariacje, analogie, potem dysrupcje. AI popycha początkowy koncept do granic możliwości."
},
"collaboration": {
"title": "Natywna współpraca",
"desc": "Duchowe kursory AI, zsynchronizowane awatary i ruch węzłów w czasie rzeczywistym."
},
"export": {
"title": "Eksport semantyczny",
"desc": "Zamień cały brainstorming w ustrukturyzowane notatki jednym kliknięciem."
},
"disruptionLabel": "DYSRUPCJA",
"disruptionText": "Architektura modułowa 2.0",
"analogyLabel": "ANALOGIA",
"analogyText": "Cykl pływów"
},
"tech": {
"label": "Architektura i dostawcy",
"title": "Podłącz własny model AI.",
"tags": {
"title": "Tagi",
"desc": "Niezależnie konfigurowalne z dowolnym modelem."
},
"embeddings": {
"title": "Embeddings",
"desc": "Niezależnie konfigurowalne z dowolnym modelem."
},
"chatRag": {
"title": "Chat RAG",
"desc": "Niezależnie konfigurowalne z dowolnym modelem."
}
},
"pricing": {
"label": "Plany i ceny",
"title": "Wybierz poziom wzmocnienia.",
"desc": "Elastyczne opcje dla kreatywnych umysłów — od użytku indywidualnego po duże organizacje.",
"monthly": "Miesięcznie",
"annual": "Rocznie",
"perMonth": "/mies.",
"perMonthAnnual": "/mies., rozliczane rocznie",
"perUser": "+ 3.90€/user",
"perUserAnnual": "+ 2.90€/user, billed annually",
"popular": "Najpopularniejszy",
"basic": {
"name": "Basic",
"desc": "Odkryj magię Momento.",
"cta": "Zacznij",
"feature0": "Maks. 100 notatek",
"feature1": "3 zeszyty",
"feature2": "50 kredytów AI (dożywotnio)",
"feature3": "Wyszukiwanie semantyczne",
"feature4": "Historia 7 dni"
},
"pro": {
"name": "Pro",
"desc": "Dla wymagających konsultantów i twórców.",
"cta": "Przejdź na Pro",
"feature0": "Nieograniczone notatki",
"feature1": "BYOK (OpenAI/Anthropic)",
"feature2": "200 wyszukiwań semantycznych",
"feature3": "Agenci (12 uruchomień/mies.)",
"feature4": "Historia 30 dni",
"feature5": "Wsparcie e-mail"
},
"business": {
"name": "Business",
"desc": "Dla zespołów i product managerów.",
"cta": "Wybierz Business",
"feature0": "10 współpracowników w cenie",
"feature1": "BYOK (13 dostawców)",
"feature2": "1000 wyszukiwań semantycznych",
"feature3": "Agenci (60 uruchomień/mies.)",
"feature4": "Nieograniczony brainstorm",
"feature5": "Dostęp API"
},
"enterprise": {
"name": "Enterprise",
"desc": "Bezpieczna pamięć organizacyjna.",
"cta": "Kontakt ze sprzedażą",
"feature0": "Wszystko z Business",
"feature1": "Nieograniczeni agenci",
"feature2": "SSO / SAML",
"feature3": "Audit Logs i SLA",
"feature4": "Dedykowane wsparcie",
"feature5": "Onboarding na żywo"
}
},
"byok": {
"label": "Otwarta technologia chmurowa",
"title": "Strategia BYOK",
"desc": "Masz już klucze API OpenAI, Anthropic lub Google? Podłącz je bezpośrednio do Momento. Korzystaj z AI bez narzuconych limitów kredytów, płacąc tylko za faktyczne zużycie u ulubionego dostawcy.",
"noLockin": "Bez lock-in",
"noLockinDesc": "Zmień dostawcę jednym kliknięciem.",
"cost": "Zoptymalizowane koszty",
"costDesc": "Płać bezpośrednią cenę API.",
"configLabel": "Konfiguracja multi-provider"
},
"cta": {
"title1": "Gotowy, by uwolnić swój",
"title2": "pełny potencjał?",
"desc": "Dołącz do tysięcy badaczy, designerów i myślicieli, którzy już budują przyszłość z Momento.",
"button": "Uruchom Momento"
},
"footer": {
"desc": "Drugie mózg wzmocnione przez AI. Stworzone dla kreatywnych umysłów.",
"product": {
"title": "Produkt",
"link0": "Changelog",
"link1": "Dokumentacja",
"link2": "Roadmapa",
"link0Href": "#",
"link1Href": "#",
"link2Href": "#"
},
"community": {
"title": "Społeczność",
"link0": "Discord",
"link1": "Twitter / X",
"link2": "LinkedIn",
"link0Href": "#",
"link1Href": "#",
"link2Href": "#"
},
"legal": {
"title": "Prawne",
"link0": "Polityka prywatności",
"link1": "Regulamin",
"link2": "Polityka cookies",
"link0Href": "#",
"link1Href": "#",
"link2Href": "#"
}
}
}
}
}