fix(critique): 2 régressions introduites par les fixes précédents
All checks were successful
CI / Lint, Unit Tests & Build (push) Successful in 6m13s
CI / Deploy production (on server) (push) Successful in 24s

Bug #1 — Memory Echo cassé (runtime crash):
- lib/ai/services/memory-echo.service.ts: lignes adjustedThreshold restaurées
- Cause: sed console.log avait supprimé les lignes de définition
- Effet: findConnections() crashait (ReferenceError)

Bug #2 — Auth mobile totalement cassée (sécurité):
- 14 routes app/api/mobile/*/: getMobileUserId(req) → await getMobileUserId(req)
- Cause: verifyMobileToken devenu async mais callers non mis à jour
- Effet: auth bypassée (Promise truthy au lieu de string)

i18n:
- searchModal.* + insightsView.* propagés dans 13 locales (EN fallback)
This commit is contained in:
Antigravity
2026-07-05 16:53:36 +00:00
parent a9e43d7594
commit a84c7e80d6
28 changed files with 306 additions and 17 deletions

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3046,5 +3046,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}

View File

@@ -3007,5 +3007,27 @@
"listView": "List",
"graphAriaLabel": "Semantic network: {clusters} clusters, {notes} notes, {bridges} bridge notes. Switch to List view for accessible navigation.",
"listAriaLabel": "Accessible cluster list with notes and bridge connections"
},
"searchModal": {
"search_ariaLabel": "Search",
"search_placeholder": "Search across all your notes…",
"search_caseSensitive": "Case sensitive",
"search_regexMode": "Regex mode",
"search_trashIncluded": "Trash included",
"search_openInEditor": "Open in editor",
"search_title": "Memento Search",
"search_favorites": "Favorites:",
"search_searching": "Searching…",
"search_noResults": "No results",
"search_typeToSearch": "Type to search",
"search_aiAnalysis": "Analyzing…",
"search_aiResponse": "AI Response",
"search_resultsSummary": "Results summary…",
"search_documentPreview": "Document preview",
"search_noMatch": "No note matches.",
"search_typeForResults": "Type to get instant results.",
"search_hintNavigate": "navigate",
"search_hintOpen": "open",
"search_hintClose": "close"
}
}