@lobehub/chat 1.77.6 → 1.77.7

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.
Files changed (45) hide show
  1. package/.github/scripts/pr-comment.js +80 -0
  2. package/.github/scripts/pr-release-body.js +59 -0
  3. package/.github/workflows/release-desktop.yml +331 -0
  4. package/.github/workflows/test.yml +1 -1
  5. package/CHANGELOG.md +25 -0
  6. package/changelog/v1.json +9 -0
  7. package/next.config.ts +16 -11
  8. package/package.json +92 -89
  9. package/packages/electron-client-ipc/README.md +48 -0
  10. package/packages/electron-client-ipc/package.json +7 -0
  11. package/packages/electron-client-ipc/src/events/devtools.ts +6 -0
  12. package/packages/electron-client-ipc/src/events/index.ts +13 -0
  13. package/packages/electron-client-ipc/src/index.ts +2 -0
  14. package/packages/electron-client-ipc/src/types/dispatch.ts +10 -0
  15. package/packages/electron-client-ipc/src/types/index.ts +1 -0
  16. package/packages/electron-server-ipc/README.md +1 -1
  17. package/pnpm-workspace.yaml +1 -0
  18. package/scripts/setup-test-postgres-db.sh +21 -0
  19. package/src/app/desktop/devtools/page.tsx +89 -0
  20. package/src/app/desktop/layout.tsx +31 -0
  21. package/src/app/layout.tsx +11 -0
  22. package/src/app/not-found.tsx +1 -0
  23. package/src/const/desktop.ts +1 -0
  24. package/src/const/version.ts +2 -0
  25. package/src/database/client/db.ts +3 -10
  26. package/src/database/models/__tests__/message.test.ts +97 -26
  27. package/src/database/models/__tests__/session.test.ts +2 -0
  28. package/src/database/models/drizzleMigration.ts +15 -0
  29. package/src/database/models/message.ts +10 -5
  30. package/src/database/models/user.ts +3 -0
  31. package/src/features/DevPanel/features/FloatPanel.tsx +23 -6
  32. package/src/features/User/UserPanel/index.tsx +10 -6
  33. package/src/libs/trpc/middleware/userAuth.ts +10 -0
  34. package/src/server/routers/tools/__tests__/search.test.ts +1 -0
  35. package/src/server/translation.test.ts +72 -52
  36. package/src/server/translation.ts +2 -11
  37. package/src/services/electron/devtools.ts +9 -0
  38. package/src/styles/electron.ts +14 -0
  39. package/src/tools/web-browsing/Portal/Search/ResultList/SearchItem/index.tsx +3 -8
  40. package/src/tools/web-browsing/Render/Search/SearchResult/ShowMore.tsx +2 -4
  41. package/src/types/electron.ts +11 -0
  42. package/src/utils/electron/dispatch.ts +10 -0
  43. package/tsconfig.json +6 -6
  44. package/vitest.config.ts +3 -1
  45. package/vitest.server.config.ts +7 -3
@@ -14,12 +14,12 @@ const useStyles = createStyles(({ css, token }) => ({
14
14
 
15
15
  height: 100%;
16
16
  padding: 8px;
17
+ border-radius: 8px;
17
18
 
18
19
  font-size: 12px;
19
20
  color: initial;
20
21
 
21
22
  background: ${token.colorFillQuaternary};
22
- border-radius: 8px;
23
23
 
24
24
  &:hover {
25
25
  background: ${token.colorFillTertiary};
@@ -27,13 +27,11 @@ const useStyles = createStyles(({ css, token }) => ({
27
27
  `,
28
28
  title: css`
29
29
  overflow: hidden;
30
- { /* stylelint-disable-line */ }
31
30
  display: -webkit-box;
32
31
  -webkit-box-orient: vertical;
32
+ -webkit-line-clamp: 2;
33
33
 
34
34
  text-overflow: ellipsis;
35
-
36
- -webkit-line-clamp: 2;
37
35
  `,
38
36
  }));
39
37
 
@@ -0,0 +1,11 @@
1
+ import type { DispatchInvoke } from '@lobechat/electron-client-ipc';
2
+
3
+ export interface IElectronAPI {
4
+ invoke: DispatchInvoke;
5
+ }
6
+
7
+ declare global {
8
+ interface Window {
9
+ electronAPI: IElectronAPI;
10
+ }
11
+ }
@@ -0,0 +1,10 @@
1
+ import { DispatchInvoke } from '@lobechat/electron-client-ipc';
2
+
3
+ /**
4
+ * client 端请求 sketch 端 event 数据的方法
5
+ */
6
+ export const dispatch: DispatchInvoke = async (event, ...data) => {
7
+ if (!window.electronAPI) throw new Error('electronAPI not found');
8
+
9
+ return window.electronAPI.invoke(event, ...data);
10
+ };
package/tsconfig.json CHANGED
@@ -27,16 +27,16 @@
27
27
  }
28
28
  ]
29
29
  },
30
- "exclude": ["node_modules", "public/sw.js"],
30
+ "exclude": ["node_modules", "public/sw.js", "apps/desktop"],
31
31
  "include": [
32
+ "**/*.d.ts",
33
+ "**/*.ts",
34
+ "**/*.tsx",
35
+ ".next/types/**/*.ts",
32
36
  "next-env.d.ts",
33
- "vitest.config.ts",
34
37
  "src",
35
38
  "tests",
36
- "**/*.ts",
37
- "**/*.d.ts",
38
- "**/*.tsx",
39
- ".next/types/**/*.ts"
39
+ "vitest.config.ts"
40
40
  ],
41
41
  "ts-node": {
42
42
  "compilerOptions": {
package/vitest.config.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { resolve } from 'node:path';
2
- import { defineConfig } from 'vitest/config';
2
+ import { coverageConfigDefaults, defineConfig } from 'vitest/config';
3
3
 
4
4
  export default defineConfig({
5
5
  optimizeDeps: {
@@ -14,6 +14,8 @@ export default defineConfig({
14
14
  coverage: {
15
15
  all: false,
16
16
  exclude: [
17
+ // https://github.com/lobehub/lobe-chat/pull/7265
18
+ ...coverageConfigDefaults.exclude,
17
19
  '__mocks__/**',
18
20
  // just ignore the migration code
19
21
  // we will use pglite in the future
@@ -1,5 +1,5 @@
1
1
  import { resolve } from 'node:path';
2
- import { defineConfig } from 'vitest/config';
2
+ import { coverageConfigDefaults, defineConfig } from 'vitest/config';
3
3
 
4
4
  export default defineConfig({
5
5
  test: {
@@ -8,8 +8,12 @@ export default defineConfig({
8
8
  },
9
9
  coverage: {
10
10
  all: false,
11
- exclude: ['src/database/server/core/dbForTest.ts'],
12
- include: ['src/database/server/**/*.ts'],
11
+ exclude: [
12
+ // https://github.com/lobehub/lobe-chat/pull/7265
13
+ ...coverageConfigDefaults.exclude,
14
+ 'src/database/server/core/dbForTest.ts',
15
+ ],
16
+ include: ['src/database/models/**/*.ts', 'src/database/server/**/*.ts'],
13
17
  provider: 'v8',
14
18
  reporter: ['text', 'json', 'lcov', 'text-summary'],
15
19
  reportsDirectory: './coverage/server',