mirror of
https://github.com/hellodigua/ChatLab.git
synced 2026-05-28 01:57:25 +08:00
fix(sync): refresh sidebar session list after pull completes or data deleted
After a sync finishes (triggerPull/triggerPullAll/onPullResult), reload the session list so newly imported chats appear in the sidebar immediately. Also refresh after removing a subscription with deleteData=true so the deleted session disappears from the sidebar.
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
import { ref, computed } from 'vue'
|
||||
import { defineStore } from 'pinia'
|
||||
import { IS_ELECTRON } from '@/utils/platform'
|
||||
import { useSessionStore } from './session'
|
||||
|
||||
export interface ApiServerConfig {
|
||||
enabled: boolean
|
||||
@@ -440,7 +441,10 @@ export const useApiServerStore = defineStore('apiServer', () => {
|
||||
async function removeImportSession(sourceId: string, sessionId: string, deleteData?: boolean) {
|
||||
try {
|
||||
const ok = await transport.removeImportSession(sourceId, sessionId, deleteData)
|
||||
if (ok) await fetchDataSources()
|
||||
if (ok) {
|
||||
await fetchDataSources()
|
||||
if (deleteData) useSessionStore().loadSessions()
|
||||
}
|
||||
return ok
|
||||
} catch (err) {
|
||||
console.error('[ApiServerStore] Failed to remove import session:', err)
|
||||
@@ -458,6 +462,7 @@ export const useApiServerStore = defineStore('apiServer', () => {
|
||||
try {
|
||||
const result = await transport.triggerPull(sourceId, sessionId)
|
||||
await fetchDataSources()
|
||||
useSessionStore().loadSessions()
|
||||
return result
|
||||
} catch (err) {
|
||||
console.error('[ApiServerStore] Failed to trigger pull:', err)
|
||||
@@ -480,6 +485,7 @@ export const useApiServerStore = defineStore('apiServer', () => {
|
||||
try {
|
||||
const result = await transport.triggerPullAll(sourceId)
|
||||
await fetchDataSources()
|
||||
useSessionStore().loadSessions()
|
||||
return result
|
||||
} catch (err) {
|
||||
console.error('[ApiServerStore] Failed to trigger pull all:', err)
|
||||
@@ -502,6 +508,7 @@ export const useApiServerStore = defineStore('apiServer', () => {
|
||||
function listenPullResult() {
|
||||
return transport.onPullResult(() => {
|
||||
fetchDataSources()
|
||||
useSessionStore().loadSessions()
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user