@lobehub/chat 1.108.0 → 1.108.2
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/.cursor/rules/testing-guide/testing-guide.mdc +18 -0
- package/CHANGELOG.md +58 -0
- package/README.md +3 -2
- package/README.zh-CN.md +3 -2
- package/changelog/v1.json +21 -0
- package/package.json +3 -3
- package/src/app/(backend)/trpc/desktop/[trpc]/route.ts +1 -1
- package/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/Checker.tsx +15 -2
- package/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/index.tsx +30 -3
- package/src/app/[variants]/layout.tsx +1 -0
- package/src/components/Analytics/LobeAnalyticsProvider.tsx +10 -13
- package/src/components/Analytics/LobeAnalyticsProviderWrapper.tsx +16 -4
- package/src/database/models/__tests__/_test_template.ts +1 -1
- package/src/database/models/__tests__/agent.test.ts +1 -1
- package/src/database/models/__tests__/aiModel.test.ts +1 -1
- package/src/database/models/__tests__/aiProvider.test.ts +1 -1
- package/src/database/models/__tests__/asyncTask.test.ts +1 -1
- package/src/database/models/__tests__/chunk.test.ts +1 -1
- package/src/database/models/__tests__/file.test.ts +1 -1
- package/src/database/models/__tests__/generationTopic.test.ts +1 -1
- package/src/database/models/__tests__/knowledgeBase.test.ts +1 -1
- package/src/database/models/__tests__/message.test.ts +1 -1
- package/src/database/models/__tests__/session.test.ts +1 -1
- package/src/database/models/__tests__/sessionGroup.test.ts +1 -1
- package/src/database/models/__tests__/topic.test.ts +1 -1
- package/src/database/models/_template.ts +1 -1
- package/src/database/models/agent.ts +1 -1
- package/src/database/models/aiModel.ts +1 -1
- package/src/database/models/aiProvider.ts +1 -1
- package/src/database/models/apiKey.ts +1 -1
- package/src/database/models/asyncTask.ts +1 -1
- package/src/database/models/chunk.ts +1 -2
- package/src/database/models/document.ts +1 -1
- package/src/database/models/embedding.ts +1 -2
- package/src/database/models/file.ts +1 -2
- package/src/database/models/generationTopic.ts +1 -1
- package/src/database/models/knowledgeBase.ts +1 -1
- package/src/database/models/message.ts +1 -2
- package/src/database/models/plugin.ts +1 -1
- package/src/database/models/session.ts +15 -2
- package/src/database/models/sessionGroup.ts +1 -1
- package/src/database/models/thread.ts +1 -1
- package/src/database/models/topic.ts +1 -2
- package/src/database/models/user.ts +1 -1
- package/src/database/repositories/dataExporter/index.ts +1 -1
- package/src/database/repositories/dataImporter/__tests__/index.test.ts +1 -1
- package/src/database/repositories/dataImporter/deprecated/__tests__/index.test.ts +1 -1
- package/src/database/repositories/dataImporter/deprecated/index.ts +1 -2
- package/src/database/repositories/dataImporter/index.ts +1 -1
- package/src/database/server/models/__tests__/adapter.test.ts +1 -1
- package/src/database/server/models/__tests__/nextauth.test.ts +1 -1
- package/src/database/server/models/__tests__/user.test.ts +1 -1
- package/src/database/server/models/ragEval/dataset.ts +1 -1
- package/src/database/server/models/ragEval/datasetRecord.ts +1 -1
- package/src/database/server/models/ragEval/evaluation.ts +1 -2
- package/src/database/server/models/ragEval/evaluationRecord.ts +1 -1
- package/src/database/utils/genWhere.ts +1 -2
- package/src/features/User/UserAvatar.tsx +18 -2
- package/src/libs/model-runtime/RouterRuntime/createRuntime.test.ts +538 -0
- package/src/libs/model-runtime/RouterRuntime/createRuntime.ts +50 -13
- package/src/libs/model-runtime/RouterRuntime/index.ts +1 -1
- package/src/libs/model-runtime/aihubmix/index.ts +10 -5
- package/src/libs/model-runtime/ppio/index.test.ts +3 -6
- package/src/libs/model-runtime/utils/openaiCompatibleFactory/index.ts +8 -6
- package/src/libs/next-auth/adapter/index.ts +1 -1
- package/src/libs/oidc-provider/adapter.ts +1 -2
- package/src/server/globalConfig/genServerAiProviderConfig.test.ts +22 -25
- package/src/server/globalConfig/genServerAiProviderConfig.ts +34 -22
- package/src/server/globalConfig/index.ts +1 -1
- package/src/server/routers/lambda/chunk.ts +1 -1
- package/src/server/services/discover/index.ts +11 -2
- package/src/services/chat.ts +1 -1
- package/src/services/session/client.test.ts +1 -1
- package/src/store/aiInfra/slices/aiProvider/__tests__/action.test.ts +211 -0
- package/src/store/aiInfra/slices/aiProvider/action.ts +46 -35
- package/src/store/user/slices/modelList/action.test.ts +5 -5
- package/src/store/user/slices/modelList/action.ts +4 -4
- package/src/styles/antdOverride.ts +6 -0
- package/src/utils/getFallbackModelProperty.test.ts +52 -45
- package/src/utils/getFallbackModelProperty.ts +4 -3
- package/src/utils/parseModels.test.ts +107 -98
- package/src/utils/parseModels.ts +10 -8
@@ -1,5 +1,4 @@
|
|
1
|
-
import { count, sql } from 'drizzle-orm';
|
2
|
-
import { and, desc, eq, gt, ilike, inArray, isNull } from 'drizzle-orm/expressions';
|
1
|
+
import { and, count, desc, eq, gt, ilike, inArray, isNull, sql } from 'drizzle-orm';
|
3
2
|
|
4
3
|
import { LobeChatDatabase } from '@/database/type';
|
5
4
|
import {
|
@@ -5,7 +5,7 @@ import type {
|
|
5
5
|
AdapterUser,
|
6
6
|
VerificationToken,
|
7
7
|
} from '@auth/core/adapters';
|
8
|
-
import { eq } from 'drizzle-orm
|
8
|
+
import { eq } from 'drizzle-orm';
|
9
9
|
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
|
10
10
|
|
11
11
|
import { getTestDBInstance } from '@/database/core/dbForTest';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { TRPCError } from '@trpc/server';
|
2
2
|
import dayjs from 'dayjs';
|
3
|
-
import { eq } from 'drizzle-orm
|
3
|
+
import { eq } from 'drizzle-orm';
|
4
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
5
5
|
|
6
6
|
import { INBOX_SESSION_ID } from '@/const/session';
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import dayjs, { Dayjs } from 'dayjs';
|
2
|
-
import { SQL } from 'drizzle-orm';
|
3
|
-
import { and, gte, lte } from 'drizzle-orm/expressions';
|
2
|
+
import { SQL, and, gte, lte } from 'drizzle-orm';
|
4
3
|
|
5
4
|
export const genWhere = (sqls: (SQL<any> | undefined)[]): SQL<any> | undefined => {
|
6
5
|
const where = sqls.filter(Boolean);
|
@@ -2,10 +2,13 @@
|
|
2
2
|
|
3
3
|
import { Avatar, type AvatarProps } from '@lobehub/ui';
|
4
4
|
import { createStyles } from 'antd-style';
|
5
|
-
import { forwardRef } from 'react';
|
5
|
+
import { forwardRef, useMemo } from 'react';
|
6
6
|
|
7
7
|
import { BRANDING_NAME } from '@/const/branding';
|
8
8
|
import { DEFAULT_USER_AVATAR_URL } from '@/const/meta';
|
9
|
+
import { isDesktop } from '@/const/version';
|
10
|
+
import { useElectronStore } from '@/store/electron';
|
11
|
+
import { electronSyncSelectors } from '@/store/electron/selectors';
|
9
12
|
import { useUserStore } from '@/store/user';
|
10
13
|
import { authSelectors, userProfileSelectors } from '@/store/user/selectors';
|
11
14
|
|
@@ -54,11 +57,24 @@ const UserAvatar = forwardRef<HTMLDivElement, UserAvatarProps>(
|
|
54
57
|
]);
|
55
58
|
|
56
59
|
const isSignedIn = useUserStore(authSelectors.isLogin);
|
60
|
+
const remoteServerUrl = useElectronStore(electronSyncSelectors.remoteServerUrl);
|
61
|
+
|
62
|
+
// Process avatar URL for desktop environment
|
63
|
+
const avatarUrl = useMemo(() => {
|
64
|
+
if (!isSignedIn || !avatar) return DEFAULT_USER_AVATAR_URL;
|
65
|
+
|
66
|
+
// If in desktop environment and avatar starts with /, prepend the remote server URL
|
67
|
+
if (isDesktop && avatar.startsWith('/') && remoteServerUrl) {
|
68
|
+
return remoteServerUrl + avatar;
|
69
|
+
}
|
70
|
+
|
71
|
+
return avatar;
|
72
|
+
}, [isSignedIn, avatar, remoteServerUrl]);
|
57
73
|
|
58
74
|
return (
|
59
75
|
<Avatar
|
60
76
|
alt={isSignedIn && !!username ? username : BRANDING_NAME}
|
61
|
-
avatar={
|
77
|
+
avatar={avatarUrl}
|
62
78
|
background={isSignedIn && avatar ? background : 'transparent'}
|
63
79
|
className={cx(clickable && styles.clickable, className)}
|
64
80
|
ref={ref}
|