Improve cleanup and state reset logic in GraphViewer and NavigationService.

- Add proper Sigma instance cleanup on unmount
- Ensure error handling for Sigma cleanup
This commit is contained in:
yangdx
2025-03-19 01:03:24 +08:00
parent 77cb9da384
commit bc4c16b06a
4 changed files with 141 additions and 133 deletions

View File

@@ -19,21 +19,21 @@ class NavigationService {
*/
resetAllApplicationState() {
console.log('Resetting all application state...');
// Clear authentication state
localStorage.removeItem('LIGHTRAG-API-TOKEN');
sessionStorage.clear();
useAuthStore.getState().logout();
// Reset graph state
const graphStore = useGraphStore.getState();
graphStore.reset();
graphStore.setGraphDataFetchAttempted(false);
graphStore.setLabelsFetchAttempted(false);
// Reset backend state
useBackendState.getState().clear();
// Reset retrieval history while preserving other user preferences
useSettingsStore.getState().setRetrievalHistory([]);
}
@@ -45,7 +45,7 @@ class NavigationService {
navigateToLogin() {
// Reset state before navigation
this.resetAllApplicationState();
if (this.navigate) {
this.navigate('/login');
}