541e9e1fb5
This Pull Request encapsulates all outstanding AI, Blazor InteractiveAuto lifecycle, pgvector, and Firefox authorization/session compatibility fixes. ### Key Accomplishments: 1. **Concurrent Request Deduplication (Option B):** Implemented a thread-safe active task registry in `KnowledgeService` that groups concurrent graph extraction queries for the same content, preventing duplicate AI calls completely. 2. **Resilience Strategy for Downstream Demands:** Extended the `ai-retry` resilience pipeline to automatically intercept and retry on temporary Google API `503 ServiceUnavailable` / `high demand` spikes. 3. **Interactive Graph Generation Guard (Option A):** Prevented server-side prerender-phase graph requests in the reader canvas component. 4. **Firefox Compatibility & Cookie Handler:** Implemented an authentication endpoint and hybrid hidden-form submission flow to solve login, registration, and logout redirections and cookies securely. 5. **Autoscrolling & Graph Exclusions:** Added concept-to-block smooth scrolling, active block badging, and filtered out markdown code blocks from being extracted as nodes. All unit tests compiled and passed 100% cleanly. --------- Co-authored-by: Marek Jasiński <jasins.marek@gmail.com> Reviewed-on: #44 Co-authored-by: Antigravity <antigravity@google.com> Co-committed-by: Antigravity <antigravity@google.com>
18 lines
669 B
JavaScript
18 lines
669 B
JavaScript
window.nexusAuth = {
|
|
submitLoginForm: function (formId, email, password, rememberMe) {
|
|
var form = document.getElementById(formId);
|
|
if (!form) return false;
|
|
|
|
var emailInput = form.querySelector('input[name="email"]');
|
|
var passwordInput = form.querySelector('input[name="password"]');
|
|
var rememberMeInput = form.querySelector('input[name="rememberMe"]');
|
|
|
|
if (emailInput) emailInput.value = email;
|
|
if (passwordInput) passwordInput.value = password;
|
|
if (rememberMeInput) rememberMeInput.value = rememberMe ? "true" : "false";
|
|
|
|
form.submit();
|
|
return true;
|
|
}
|
|
};
|