@lobehub/lobehub 2.0.0-next.223 → 2.0.0-next.224
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/.github/workflows/test.yml +32 -68
- package/CHANGELOG.md +25 -0
- package/changelog/v1.json +5 -0
- package/package.json +1 -1
- package/src/app/[variants]/router/index.tsx +8 -12
|
@@ -6,6 +6,10 @@ permissions:
|
|
|
6
6
|
actions: write
|
|
7
7
|
contents: read
|
|
8
8
|
|
|
9
|
+
concurrency:
|
|
10
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
11
|
+
cancel-in-progress: true
|
|
12
|
+
|
|
9
13
|
jobs:
|
|
10
14
|
# Check for duplicate runs
|
|
11
15
|
pre_job:
|
|
@@ -16,69 +20,18 @@ jobs:
|
|
|
16
20
|
- id: skip_check
|
|
17
21
|
uses: fkirc/skip-duplicate-actions@v5
|
|
18
22
|
with:
|
|
19
|
-
concurrent_skipping:
|
|
20
|
-
skip_after_successful_duplicate:
|
|
23
|
+
concurrent_skipping: "same_content_newer"
|
|
24
|
+
skip_after_successful_duplicate: "true"
|
|
21
25
|
do_not_skip: '["workflow_dispatch", "schedule"]'
|
|
22
26
|
|
|
23
|
-
# Package tests -
|
|
24
|
-
test-intenral-packages:
|
|
25
|
-
needs: pre_job
|
|
26
|
-
if: needs.pre_job.outputs.should_skip != 'true'
|
|
27
|
-
runs-on: ubuntu-latest
|
|
28
|
-
strategy:
|
|
29
|
-
matrix:
|
|
30
|
-
package:
|
|
31
|
-
- file-loaders
|
|
32
|
-
- prompts
|
|
33
|
-
- model-runtime
|
|
34
|
-
- web-crawler
|
|
35
|
-
- electron-server-ipc
|
|
36
|
-
- utils
|
|
37
|
-
- python-interpreter
|
|
38
|
-
- context-engine
|
|
39
|
-
- agent-runtime
|
|
40
|
-
- conversation-flow
|
|
41
|
-
- ssrf-safe-fetch
|
|
42
|
-
- memory-user-memory
|
|
43
|
-
|
|
44
|
-
name: Test package ${{ matrix.package }}
|
|
45
|
-
|
|
46
|
-
steps:
|
|
47
|
-
- uses: actions/checkout@v6
|
|
48
|
-
|
|
49
|
-
- name: Setup Node.js
|
|
50
|
-
uses: actions/setup-node@v6
|
|
51
|
-
with:
|
|
52
|
-
node-version: 24.11.1
|
|
53
|
-
package-manager-cache: false
|
|
54
|
-
|
|
55
|
-
- name: Install bun
|
|
56
|
-
uses: oven-sh/setup-bun@v2
|
|
57
|
-
with:
|
|
58
|
-
bun-version: ${{ secrets.BUN_VERSION }}
|
|
59
|
-
|
|
60
|
-
- name: Install deps
|
|
61
|
-
run: bun i
|
|
62
|
-
|
|
63
|
-
- name: Test ${{ matrix.package }} package with coverage
|
|
64
|
-
run: bun run --filter @lobechat/${{ matrix.package }} test:coverage
|
|
65
|
-
|
|
66
|
-
- name: Upload ${{ matrix.package }} coverage to Codecov
|
|
67
|
-
uses: codecov/codecov-action@v5
|
|
68
|
-
with:
|
|
69
|
-
token: ${{ secrets.CODECOV_TOKEN }}
|
|
70
|
-
files: ./packages/${{ matrix.package }}/coverage/lcov.info
|
|
71
|
-
flags: packages/${{ matrix.package }}
|
|
72
|
-
|
|
27
|
+
# Package tests - all packages in single job to save runner resources
|
|
73
28
|
test-packages:
|
|
74
29
|
needs: pre_job
|
|
75
30
|
if: needs.pre_job.outputs.should_skip != 'true'
|
|
76
31
|
runs-on: ubuntu-latest
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
name: Test package ${{ matrix.package }}
|
|
32
|
+
name: Test Packages
|
|
33
|
+
env:
|
|
34
|
+
PACKAGES: "@lobechat/file-loaders @lobechat/prompts @lobechat/model-runtime @lobechat/web-crawler @lobechat/electron-server-ipc @lobechat/utils @lobechat/python-interpreter @lobechat/context-engine @lobechat/agent-runtime @lobechat/conversation-flow @lobechat/ssrf-safe-fetch @lobechat/memory-user-memory model-bank"
|
|
82
35
|
|
|
83
36
|
steps:
|
|
84
37
|
- uses: actions/checkout@v6
|
|
@@ -92,20 +45,32 @@ jobs:
|
|
|
92
45
|
- name: Install bun
|
|
93
46
|
uses: oven-sh/setup-bun@v2
|
|
94
47
|
with:
|
|
95
|
-
bun-version:
|
|
48
|
+
bun-version: ${{ secrets.BUN_VERSION }}
|
|
96
49
|
|
|
97
50
|
- name: Install deps
|
|
98
51
|
run: bun i
|
|
99
52
|
|
|
100
|
-
- name: Test
|
|
101
|
-
run:
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
53
|
+
- name: Test packages with coverage
|
|
54
|
+
run: |
|
|
55
|
+
for package in $PACKAGES; do
|
|
56
|
+
echo "::group::Testing $package"
|
|
57
|
+
bun run --filter $package test:coverage
|
|
58
|
+
echo "::endgroup::"
|
|
59
|
+
done
|
|
60
|
+
|
|
61
|
+
- name: Upload coverage to Codecov
|
|
62
|
+
if: always()
|
|
63
|
+
run: |
|
|
64
|
+
for package in $PACKAGES; do
|
|
65
|
+
# Extract directory name: @lobechat/file-loaders -> file-loaders, model-bank -> model-bank
|
|
66
|
+
dir="${package#@lobechat/}"
|
|
67
|
+
if [ -f "./packages/$dir/coverage/lcov.info" ]; then
|
|
68
|
+
echo "Uploading coverage for $package..."
|
|
69
|
+
npx codecov --token=${{ secrets.CODECOV_TOKEN }} \
|
|
70
|
+
--file=./packages/$dir/coverage/lcov.info \
|
|
71
|
+
--flags=packages/$dir
|
|
72
|
+
fi
|
|
73
|
+
done
|
|
109
74
|
|
|
110
75
|
# App tests
|
|
111
76
|
test-website:
|
|
@@ -199,7 +164,6 @@ jobs:
|
|
|
199
164
|
options: >-
|
|
200
165
|
--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
|
201
166
|
|
|
202
|
-
|
|
203
167
|
ports:
|
|
204
168
|
- 5432:5432
|
|
205
169
|
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
# Changelog
|
|
4
4
|
|
|
5
|
+
## [Version 2.0.0-next.224](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.223...v2.0.0-next.224)
|
|
6
|
+
|
|
7
|
+
<sup>Released on **2026-01-06**</sup>
|
|
8
|
+
|
|
9
|
+
#### ♻ Code Refactoring
|
|
10
|
+
|
|
11
|
+
- **router**: Replace client-side rendering with dynamic import for DesktopClientRouter.
|
|
12
|
+
|
|
13
|
+
<br/>
|
|
14
|
+
|
|
15
|
+
<details>
|
|
16
|
+
<summary><kbd>Improvements and Fixes</kbd></summary>
|
|
17
|
+
|
|
18
|
+
#### Code refactoring
|
|
19
|
+
|
|
20
|
+
- **router**: Replace client-side rendering with dynamic import for DesktopClientRouter, closes [#11276](https://github.com/lobehub/lobe-chat/issues/11276) ([f50305b](https://github.com/lobehub/lobe-chat/commit/f50305b))
|
|
21
|
+
|
|
22
|
+
</details>
|
|
23
|
+
|
|
24
|
+
<div align="right">
|
|
25
|
+
|
|
26
|
+
[](#readme-top)
|
|
27
|
+
|
|
28
|
+
</div>
|
|
29
|
+
|
|
5
30
|
## [Version 2.0.0-next.223](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.222...v2.0.0-next.223)
|
|
6
31
|
|
|
7
32
|
<sup>Released on **2026-01-06**</sup>
|
package/changelog/v1.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobehub/lobehub",
|
|
3
|
-
"version": "2.0.0-next.
|
|
3
|
+
"version": "2.0.0-next.224",
|
|
4
4
|
"description": "LobeHub - an open-source,comprehensive AI Agent framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"framework",
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import dynamic from 'next/dynamic';
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import Loading from '@/components/Loading/BrandTextLoading';
|
|
6
|
+
|
|
7
|
+
const DesktopRouterClient = dynamic(() => import('./DesktopClientRouter'), {
|
|
8
|
+
loading: () => <Loading debugId="DesktopRouter" />,
|
|
9
|
+
ssr: false,
|
|
10
|
+
});
|
|
6
11
|
|
|
7
|
-
const useIsClient = () => {
|
|
8
|
-
const [isClient, setIsClient] = useState(false);
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
setIsClient(true);
|
|
11
|
-
}, []);
|
|
12
|
-
return isClient;
|
|
13
|
-
};
|
|
14
12
|
const DesktopRouter = () => {
|
|
15
|
-
|
|
16
|
-
if (!isClient) return null;
|
|
17
|
-
return <DesktopClientRouter />;
|
|
13
|
+
return <DesktopRouterClient />;
|
|
18
14
|
};
|
|
19
15
|
|
|
20
16
|
export default DesktopRouter;
|