@lobehub/chat 1.79.2 → 1.79.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.desktop +7 -0
- package/.github/scripts/pr-release-body.js +3 -0
- package/CHANGELOG.md +50 -0
- package/changelog/v1.json +18 -0
- package/package.json +15 -7
- package/packages/electron-client-ipc/src/events/file.ts +5 -0
- package/packages/electron-client-ipc/src/events/index.ts +19 -1
- package/packages/electron-client-ipc/src/events/shortcut.ts +4 -0
- package/packages/electron-client-ipc/src/events/system.ts +5 -0
- package/packages/electron-client-ipc/src/events/update.ts +20 -0
- package/packages/electron-client-ipc/src/events/windows.ts +9 -0
- package/packages/electron-client-ipc/src/index.ts +1 -0
- package/packages/electron-client-ipc/src/types/file.ts +14 -0
- package/packages/electron-client-ipc/src/types/index.ts +4 -0
- package/packages/electron-client-ipc/src/types/route.ts +46 -0
- package/packages/electron-client-ipc/src/types/shortcut.ts +11 -0
- package/packages/electron-client-ipc/src/types/update.ts +23 -0
- package/packages/electron-client-ipc/src/useWatchBroadcast.ts +37 -0
- package/packages/electron-server-ipc/src/events/database.ts +4 -0
- package/packages/electron-server-ipc/src/events/file.ts +6 -0
- package/packages/electron-server-ipc/src/events/index.ts +29 -0
- package/packages/electron-server-ipc/src/events/storagePath.ts +4 -0
- package/packages/electron-server-ipc/src/index.ts +1 -0
- package/packages/electron-server-ipc/src/ipcClient.test.ts +3 -4
- package/packages/electron-server-ipc/src/ipcClient.ts +52 -24
- package/packages/electron-server-ipc/src/ipcServer.ts +6 -14
- package/packages/electron-server-ipc/src/types/file.ts +4 -0
- package/packages/electron-server-ipc/src/types/index.ts +14 -1
- package/scripts/electronWorkflow/buildElectron.ts +52 -0
- package/scripts/electronWorkflow/moveNextStandalone.ts +69 -0
- package/scripts/electronWorkflow/setDesktopVersion.ts +96 -0
- package/scripts/prebuild.mts +77 -0
- package/src/config/aiModels/xai.ts +79 -18
- package/src/libs/agent-runtime/azureai/index.ts +3 -1
- package/src/prompts/files/file.ts +6 -4
- package/src/prompts/files/image.ts +6 -3
- package/src/prompts/files/index.test.ts +50 -0
- package/src/prompts/files/index.ts +4 -2
- package/src/services/chat.ts +4 -2
- package/src/store/global/actions/general.ts +13 -6
- package/packages/electron-server-ipc/src/types/event.ts +0 -18
@@ -5,7 +5,7 @@ import { SWRResponse } from 'swr';
|
|
5
5
|
import type { StateCreator } from 'zustand/vanilla';
|
6
6
|
|
7
7
|
import { LOBE_THEME_APPEARANCE } from '@/const/theme';
|
8
|
-
import { CURRENT_VERSION } from '@/const/version';
|
8
|
+
import { CURRENT_VERSION, isDesktop } from '@/const/version';
|
9
9
|
import { useOnlyFetchOnceSWR } from '@/libs/swr';
|
10
10
|
import { globalService } from '@/services/global';
|
11
11
|
import type { SystemStatus } from '@/store/global/initialState';
|
@@ -37,6 +37,18 @@ export const generalActionSlice: StateCreator<
|
|
37
37
|
get().updateSystemStatus({ language: locale });
|
38
38
|
|
39
39
|
switchLang(locale);
|
40
|
+
|
41
|
+
if (isDesktop) {
|
42
|
+
(async () => {
|
43
|
+
try {
|
44
|
+
const { dispatch } = await import('@lobechat/electron-client-ipc');
|
45
|
+
|
46
|
+
await dispatch('updateLocale', locale);
|
47
|
+
} catch (error) {
|
48
|
+
console.error('Failed to update locale in main process:', error);
|
49
|
+
}
|
50
|
+
})();
|
51
|
+
}
|
40
52
|
},
|
41
53
|
switchThemeMode: (themeMode) => {
|
42
54
|
get().updateSystemStatus({ themeMode });
|
@@ -44,7 +56,6 @@ export const generalActionSlice: StateCreator<
|
|
44
56
|
setCookie(LOBE_THEME_APPEARANCE, themeMode === 'auto' ? undefined : themeMode);
|
45
57
|
},
|
46
58
|
updateSystemStatus: (status, action) => {
|
47
|
-
// Status cannot be modified when it is not initialized
|
48
59
|
if (!get().isStatusInit) return;
|
49
60
|
|
50
61
|
const nextStatus = merge(get().status, status);
|
@@ -60,19 +71,15 @@ export const generalActionSlice: StateCreator<
|
|
60
71
|
enabledCheck ? 'checkLatestVersion' : null,
|
61
72
|
async () => globalService.getLatestVersion(),
|
62
73
|
{
|
63
|
-
// check latest version every 30 minutes
|
64
74
|
focusThrottleInterval: 1000 * 60 * 30,
|
65
75
|
onSuccess: (data: string) => {
|
66
76
|
if (!valid(CURRENT_VERSION) || !valid(data)) return;
|
67
77
|
|
68
|
-
// Parse versions to ensure we're working with valid SemVer objects
|
69
78
|
const currentVersion = parse(CURRENT_VERSION);
|
70
79
|
const latestVersion = parse(data);
|
71
80
|
|
72
81
|
if (!currentVersion || !latestVersion) return;
|
73
82
|
|
74
|
-
// only compare major and minor versions
|
75
|
-
// solve the problem of frequent patch updates
|
76
83
|
const currentMajorMinor = `${currentVersion.major}.${currentVersion.minor}.0`;
|
77
84
|
const latestMajorMinor = `${latestVersion.major}.${latestVersion.minor}.0`;
|
78
85
|
|
@@ -1,18 +0,0 @@
|
|
1
|
-
/* eslint-disable typescript-sort-keys/interface, sort-keys-fix/sort-keys-fix */
|
2
|
-
export const ElectronIPCMethods = {
|
3
|
-
getDatabasePath: 'getDatabasePath',
|
4
|
-
getUserDataPath: 'getUserDataPath',
|
5
|
-
|
6
|
-
getDatabaseSchemaHash: 'getDatabaseSchemaHash',
|
7
|
-
setDatabaseSchemaHash: 'setDatabaseSchemaHash',
|
8
|
-
} as const;
|
9
|
-
|
10
|
-
export type IElectronIPCMethods = keyof typeof ElectronIPCMethods;
|
11
|
-
|
12
|
-
export interface IpcDispatchEvent {
|
13
|
-
getDatabasePath: () => Promise<string>;
|
14
|
-
getUserDataPath: () => Promise<string>;
|
15
|
-
|
16
|
-
getDatabaseSchemaHash: () => Promise<string | undefined>;
|
17
|
-
setDatabaseSchemaHash: (hash: string) => Promise<void>;
|
18
|
-
}
|