mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-27 04:36:12 +01:00
💾 chore: Enhance Local Storage Handling and Update MCP SDK (#6809)
* feat: Update MCP package version and dependencies; refactor ToolContentPart type * refactor: Change module type to commonjs and update rollup configuration, remove unused dev dependency * refactor: Change async calls to synchronous for MCP and FlowStateManager retrieval * chore: Add eslint disable comment for i18next rule in DropdownPopup component * fix: improve statefulness of mcp servers selected if some were removed since last session * feat: implement conversation storage cleanup functions and integrate them into mutation success handlers * feat: enhance storage condition logic in useLocalStorageAlt to prevent unnecessary local storage writes * refactor: streamline local storage update logic in useLocalStorageAlt
This commit is contained in:
parent
24c0433dcf
commit
e16a6190a5
18 changed files with 420 additions and 382 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import { LocalStorageKeys, TConversation } from 'librechat-data-provider';
|
||||
import { LocalStorageKeys, TConversation, isUUID } from 'librechat-data-provider';
|
||||
|
||||
export function getLocalStorageItems() {
|
||||
const items = {
|
||||
|
|
@ -45,3 +45,36 @@ export function clearLocalStorage(skipFirst?: boolean) {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function clearConversationStorage(conversationId?: string | null) {
|
||||
if (!conversationId) {
|
||||
return;
|
||||
}
|
||||
if (!isUUID.safeParse(conversationId)?.success) {
|
||||
console.warn(
|
||||
`Conversation ID ${conversationId} is not a valid UUID. Skipping local storage cleanup.`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
const keys = Object.keys(localStorage);
|
||||
keys.forEach((key) => {
|
||||
if (key.includes(conversationId)) {
|
||||
localStorage.removeItem(key);
|
||||
}
|
||||
});
|
||||
}
|
||||
export function clearAllConversationStorage() {
|
||||
const keys = Object.keys(localStorage);
|
||||
keys.forEach((key) => {
|
||||
if (
|
||||
key.startsWith(LocalStorageKeys.LAST_MCP_) ||
|
||||
key.startsWith(LocalStorageKeys.LAST_CODE_TOGGLE_) ||
|
||||
key.startsWith(LocalStorageKeys.TEXT_DRAFT) ||
|
||||
key.startsWith(LocalStorageKeys.ASST_ID_PREFIX) ||
|
||||
key.startsWith(LocalStorageKeys.AGENT_ID_PREFIX) ||
|
||||
key.startsWith(LocalStorageKeys.LAST_CONVO_SETUP)
|
||||
) {
|
||||
localStorage.removeItem(key);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue