@lobehub/chat 0.119.7 โ†’ 0.119.9

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.
@@ -1,22 +1,35 @@
1
- name: '๐Ÿ› ๅ้ฆˆ็ผบ้™ท Bug Report'
2
- description: 'ๅ้ฆˆไธ€ไธช้—ฎ้ข˜็ผบ้™ท | Report an bug'
1
+ name: '๐Ÿ› Bug Report'
2
+ description: 'Report an bug'
3
3
  title: '[Bug] '
4
- labels: '๐Ÿ› Bug'
4
+ labels: ['๐Ÿ› Bug']
5
5
  body:
6
6
  - type: dropdown
7
7
  attributes:
8
- label: '๐Ÿ’ป ็ณป็ปŸ็Žฏๅขƒ | Operating System'
8
+ label: '๐Ÿ’ป Operating System'
9
9
  options:
10
10
  - Windows
11
11
  - macOS
12
12
  - Ubuntu
13
13
  - Other Linux
14
+ - iOS
15
+ - Android
14
16
  - Other
15
17
  validations:
16
18
  required: true
17
19
  - type: dropdown
18
20
  attributes:
19
- label: '๐ŸŒ ๆต่งˆๅ™จ | Browser'
21
+ label: '๐Ÿ“ฆ Environment'
22
+ options:
23
+ - Official Preview
24
+ - Vercel / Zeabur / Sealos
25
+ - Docker
26
+ - Other
27
+ validations:
28
+ required: true
29
+
30
+ - type: dropdown
31
+ attributes:
32
+ label: '๐ŸŒ Browser'
20
33
  options:
21
34
  - Chrome
22
35
  - Edge
@@ -27,19 +40,19 @@ body:
27
40
  required: true
28
41
  - type: textarea
29
42
  attributes:
30
- label: '๐Ÿ› ้—ฎ้ข˜ๆ่ฟฐ | Bug Description'
43
+ label: '๐Ÿ› Bug Description'
31
44
  description: A clear and concise description of the bug.
32
45
  validations:
33
46
  required: true
34
47
  - type: textarea
35
48
  attributes:
36
- label: '๐Ÿšฆ ๆœŸๆœ›็ป“ๆžœ | Expected Behavior'
49
+ label: '๐Ÿšฆ Expected Behavior'
37
50
  description: A clear and concise description of what you expected to happen.
38
51
  - type: textarea
39
52
  attributes:
40
- label: '๐Ÿ“ท ๅค็Žฐๆญฅ้ชค | Recurrence Steps'
53
+ label: '๐Ÿ“ท Recurrence Steps'
41
54
  description: A clear and concise description of how to recurrence.
42
55
  - type: textarea
43
56
  attributes:
44
- label: '๐Ÿ“ ่กฅๅ……ไฟกๆฏ | Additional Information'
57
+ label: '๐Ÿ“ Additional Information'
45
58
  description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here.
@@ -0,0 +1,59 @@
1
+ name: '๐Ÿ› ๅ้ฆˆ็ผบ้™ท'
2
+ description: 'ๅ้ฆˆไธ€ไธช้—ฎ้ข˜็ผบ้™ท'
3
+ title: '[Bug] '
4
+ labels: ['๐Ÿ› Bug']
5
+ body:
6
+ - type: dropdown
7
+ attributes:
8
+ label: '๐Ÿ’ป ็ณป็ปŸ็Žฏๅขƒ'
9
+ options:
10
+ - Windows
11
+ - macOS
12
+ - Ubuntu
13
+ - Other Linux
14
+ - iOS
15
+ - Android
16
+ - Other
17
+ validations:
18
+ required: true
19
+
20
+ - type: dropdown
21
+ attributes:
22
+ label: '๐Ÿ“ฆ ้ƒจ็ฝฒ็Žฏๅขƒ'
23
+ options:
24
+ - Official Preview
25
+ - Vercel / Zeabur / Sealos
26
+ - Docker
27
+ - Other
28
+ validations:
29
+ required: true
30
+
31
+ - type: dropdown
32
+ attributes:
33
+ label: '๐ŸŒ ๆต่งˆๅ™จ'
34
+ options:
35
+ - Chrome
36
+ - Edge
37
+ - Safari
38
+ - Firefox
39
+ - Other
40
+ validations:
41
+ required: true
42
+ - type: textarea
43
+ attributes:
44
+ label: '๐Ÿ› ้—ฎ้ข˜ๆ่ฟฐ'
45
+ description: ่ฏทๆไพ›ไธ€ไธชๆธ…ๆ™ฐไธ”็ฎ€ๆด็š„้—ฎ้ข˜ๆ่ฟฐใ€‚
46
+ validations:
47
+ required: true
48
+ - type: textarea
49
+ attributes:
50
+ label: '๐Ÿšฆ ๆœŸๆœ›็ป“ๆžœ'
51
+ description: ่ฏทๆไพ›ไธ€ไธชๆธ…ๆ™ฐไธ”็ฎ€ๆด็š„ๆ่ฟฐ๏ผŒ่ฏดๆ˜Žๆ‚จๆœŸๆœ›ๅ‘็”Ÿไป€ไนˆใ€‚
52
+ - type: textarea
53
+ attributes:
54
+ label: '๐Ÿ“ท ๅค็Žฐๆญฅ้ชค'
55
+ description: ่ฏทๆไพ›ไธ€ไธชๆธ…ๆ™ฐไธ”็ฎ€ๆด็š„ๆ่ฟฐ๏ผŒ่ฏดๆ˜Žๅฆ‚ไฝ•ๅค็Žฐ้—ฎ้ข˜ใ€‚
56
+ - type: textarea
57
+ attributes:
58
+ label: '๐Ÿ“ ่กฅๅ……ไฟกๆฏ'
59
+ description: ๅฆ‚ๆžœๆ‚จ็š„้—ฎ้ข˜้œ€่ฆ่ฟ›ไธ€ๆญฅ่ฏดๆ˜Ž๏ผŒๆˆ–่€…ๆ‚จ้‡ๅˆฐ็š„้—ฎ้ข˜ๆ— ๆณ•ๅœจไธ€ไธช็ฎ€ๅ•็š„็คบไพ‹ไธญๅค็Žฐ๏ผŒ่ฏทๅœจ่ฟ™้‡ŒๆทปๅŠ ๆ›ดๅคšไฟกๆฏใ€‚
@@ -1,21 +1,21 @@
1
- name: '๐ŸŒ  ๅŠŸ่ƒฝ้œ€ๆฑ‚ Feature Request'
2
- description: '้œ€ๆฑ‚ๆˆ–ๅปบ่ฎฎ | Suggest an idea'
1
+ name: '๐ŸŒ  Feature Request'
2
+ description: 'Suggest an idea'
3
3
  title: '[Request] '
4
- labels: '๐ŸŒ  Feature Request'
4
+ labels: ['๐ŸŒ  Feature Request']
5
5
  body:
6
6
  - type: textarea
7
7
  attributes:
8
- label: '๐Ÿฅฐ ้œ€ๆฑ‚ๆ่ฟฐ | Feature Description'
8
+ label: '๐Ÿฅฐ Feature Description'
9
9
  description: Please add a clear and concise description of the problem you are seeking to solve with this feature request.
10
10
  validations:
11
11
  required: true
12
12
  - type: textarea
13
13
  attributes:
14
- label: '๐Ÿง ่งฃๅ†ณๆ–นๆกˆ | Proposed Solution'
14
+ label: '๐Ÿง Proposed Solution'
15
15
  description: Describe the solution you'd like in a clear and concise manner.
16
16
  validations:
17
17
  required: true
18
18
  - type: textarea
19
19
  attributes:
20
- label: '๐Ÿ“ ่กฅๅ……ไฟกๆฏ | Additional Information'
20
+ label: '๐Ÿ“ Additional Information'
21
21
  description: Add any other context about the problem here.
@@ -0,0 +1,21 @@
1
+ name: '๐ŸŒ  ๅŠŸ่ƒฝ้œ€ๆฑ‚'
2
+ description: 'ๆๅ‡บ้œ€ๆฑ‚ๆˆ–ๅปบ่ฎฎ'
3
+ title: '[Request] '
4
+ labels: ['๐ŸŒ  ๅŠŸ่ƒฝ้œ€ๆฑ‚']
5
+ body:
6
+ - type: textarea
7
+ attributes:
8
+ label: '๐Ÿฅฐ ้œ€ๆฑ‚ๆ่ฟฐ'
9
+ description: ่ฏทๆทปๅŠ ไธ€ไธชๆธ…ๆ™ฐไธ”็ฎ€ๆด็š„้—ฎ้ข˜ๆ่ฟฐ๏ผŒ้˜่ฟฐๆ‚จๅธŒๆœ›้€š่ฟ‡่ฟ™ไธชๅŠŸ่ƒฝ้œ€ๆฑ‚่งฃๅ†ณ็š„้—ฎ้ข˜ใ€‚
10
+ validations:
11
+ required: true
12
+ - type: textarea
13
+ attributes:
14
+ label: '๐Ÿง ่งฃๅ†ณๆ–นๆกˆ'
15
+ description: ่ฏทๆธ…ๆ™ฐไธ”็ฎ€ๆดๅœฐๆ่ฟฐๆ‚จๆƒณ่ฆ็š„่งฃๅ†ณๆ–นๆกˆใ€‚
16
+ validations:
17
+ required: true
18
+ - type: textarea
19
+ attributes:
20
+ label: '๐Ÿ“ ่กฅๅ……ไฟกๆฏ'
21
+ description: ๅœจ่ฟ™้‡ŒๆทปๅŠ ๅ…ณไบŽ้—ฎ้ข˜็š„ไปปไฝ•ๅ…ถไป–่ƒŒๆ™ฏไฟกๆฏใ€‚
@@ -0,0 +1,4 @@
1
+ contact_links:
2
+ - name: Questions and ideas | ้—ฎ้ข˜ๅ’Œๆƒณๆณ•
3
+ url: https://github.com/lobehub/lobe-chat/discussions/new/choose
4
+ about: Please post questions, and ideas in discussions. | ่ฏทๅœจ่ฎจ่ฎบๅŒบๅ‘ๅธƒ้—ฎ้ข˜ๅ’Œๆƒณๆณ•ใ€‚
@@ -7,6 +7,7 @@
7
7
  - [ ] โ™ป๏ธ refactor
8
8
  - [ ] ๐Ÿ’„ style
9
9
  - [ ] ๐Ÿ”จ chore
10
+ - [ ] โšก๏ธ perf
10
11
  - [ ] ๐Ÿ“ docs
11
12
 
12
13
  #### ๐Ÿ”€ ๅ˜ๆ›ด่ฏดๆ˜Ž | Description of Change
package/CHANGELOG.md CHANGED
@@ -2,6 +2,56 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 0.119.9](https://github.com/lobehub/lobe-chat/compare/v0.119.8...v0.119.9)
6
+
7
+ <sup>Released on **2024-01-08**</sup>
8
+
9
+ #### ๐Ÿ’„ Styles
10
+
11
+ - **misc**: Fix ChatInput fullscreen display not correct.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### Styles
19
+
20
+ - **misc**: Fix ChatInput fullscreen display not correct, closes [#982](https://github.com/lobehub/lobe-chat/issues/982) ([e4012c4](https://github.com/lobehub/lobe-chat/commit/e4012c4))
21
+
22
+ </details>
23
+
24
+ <div align="right">
25
+
26
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
27
+
28
+ </div>
29
+
30
+ ### [Version 0.119.8](https://github.com/lobehub/lobe-chat/compare/v0.119.7...v0.119.8)
31
+
32
+ <sup>Released on **2024-01-07**</sup>
33
+
34
+ #### ๐Ÿ› Bug Fixes
35
+
36
+ - **misc**: Fix spotting tool call correctly.
37
+
38
+ <br/>
39
+
40
+ <details>
41
+ <summary><kbd>Improvements and Fixes</kbd></summary>
42
+
43
+ #### What's fixed
44
+
45
+ - **misc**: Fix spotting tool call correctly, closes [#972](https://github.com/lobehub/lobe-chat/issues/972) ([216e700](https://github.com/lobehub/lobe-chat/commit/216e700))
46
+
47
+ </details>
48
+
49
+ <div align="right">
50
+
51
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
52
+
53
+ </div>
54
+
5
55
  ### [Version 0.119.7](https://github.com/lobehub/lobe-chat/compare/v0.119.6...v0.119.7)
6
56
 
7
57
  <sup>Released on **2024-01-07**</sup>
@@ -0,0 +1,70 @@
1
+ # Frequently Asked Questions
2
+
3
+ ## When using a proxy(e.g. Surge), I encounter the `UNABLE_TO_VERIFY_LEAF_SIGNATURE` error
4
+
5
+ ### Problem Description
6
+
7
+ When making network requests during private deployment, certificate validation errors may occur. The error messages may be as follows:
8
+
9
+ ```
10
+ [TypeError: fetch failed] {
11
+ cause: [Error: unable to verify the first certificate] {
12
+ code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
13
+ }
14
+ }
15
+ ```
16
+
17
+ Or:
18
+
19
+ ```
20
+ {
21
+ "endpoint": "https://api.openai.com/v1",
22
+ "error": {
23
+ "cause": {
24
+ "code": "UNABLE_TO_VERIFY_LEAF_SIGNATURE"
25
+ }
26
+ }
27
+ }
28
+ ```
29
+
30
+ This problem typically occurs when using a proxy server with a self-signed certificate or a man-in-the-middle certificate that is not trusted by Node.js by default.
31
+
32
+ ### Solution
33
+
34
+ To resolve this issue, you can add an environment variable to bypass Node.js certificate validation when starting the application. The specific approach is to include `NODE_TLS_REJECT_UNAUTHORIZED=0` in the startup command. For example:
35
+
36
+ ```bash
37
+ NODE_TLS_REJECT_UNAUTHORIZED=0 npm run start
38
+ ```
39
+
40
+ Alternatively, when running in a Docker container, you can set the environment variable in the Dockerfile or docker-compose.yml:
41
+
42
+ ```dockerfile
43
+ # In the Dockerfile
44
+ ENV NODE_TLS_REJECT_UNAUTHORIZED=0
45
+ ```
46
+
47
+ ```yaml
48
+ # In the docker-compose.yml
49
+ environment:
50
+ - NODE_TLS_REJECT_UNAUTHORIZED=0
51
+ ```
52
+
53
+ Example Docker run command:
54
+
55
+ ```bash
56
+ docker run -e NODE_TLS_REJECT_UNAUTHORIZED=0 <other parameters> <image name>
57
+ ```
58
+
59
+ Please note that this method reduces security because it allows Node.js to accept unverified certificates. Therefore, it is only recommended for use in private deployments with fully trusted network environments, and the default certificate validation settings should be restored after resolving the certificate issue.
60
+
61
+ ### More Secure Alternatives
62
+
63
+ If possible, it is recommended to address certificate issues using the following methods:
64
+
65
+ 1. Ensure that all man-in-the-middle certificates are correctly installed on the proxy server and the corresponding clients.
66
+ 2. Replace self-signed or man-in-the-middle certificates with valid certificates issued by trusted certificate authorities.
67
+ 3. Properly configure the certificate chain in the code to ensure that Node.js can validate to the root certificate.
68
+
69
+ Implementing these methods can resolve certificate validation issues without sacrificing security.
70
+
@@ -0,0 +1,69 @@
1
+ # ๅธธ่ง้—ฎ้ข˜
2
+
3
+ ## ไฝฟ็”จไปฃ็†ไธญ่ฝฌ่ฏทๆฑ‚ๆ—ถ๏ผˆไพ‹ๅฆ‚๏ผšSurge๏ผ‰๏ผŒๆŠฅ `UNABLE_TO_VERIFY_LEAF_SIGNATURE` ้”™่ฏฏ
4
+
5
+ ### ้—ฎ้ข˜ๆ่ฟฐ
6
+
7
+ ๅœจ็งๆœ‰ๅŒ–้ƒจ็ฝฒๆ—ถ๏ผŒ่ฟ›่กŒ็ฝ‘็ปœ่ฏทๆฑ‚ๅฏ่ƒฝไผš้‡ๅˆฐ่ฏไนฆ้ชŒ่ฏ้”™่ฏฏใ€‚้”™่ฏฏไฟกๆฏๅฏ่ƒฝๅฆ‚ไธ‹๏ผš
8
+
9
+ ```
10
+ [TypeError: fetch failed] {
11
+ cause: [Error: unable to verify the first certificate] {
12
+ code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
13
+ }
14
+ }
15
+ ```
16
+
17
+ ๆˆ–่€…ๆ˜ฏ๏ผš
18
+
19
+ ```
20
+ {
21
+ "endpoint": "https://api.openai.com/v1",
22
+ "error": {
23
+ "cause": {
24
+ "code": "UNABLE_TO_VERIFY_LEAF_SIGNATURE"
25
+ }
26
+ }
27
+ }
28
+ ```
29
+
30
+ ่ฟ™ไธช้—ฎ้ข˜้€šๅธธๅ‡บ็Žฐๅœจไฝฟ็”จไปฃ็†ๆœๅŠกๅ™จๆ—ถ๏ผŒไปฃ็†ๆœๅŠกๅ™จไฝฟ็”จ็š„่‡ช็ญพๅ่ฏไนฆๆˆ–ไธญ้—ดไบบ่ฏไนฆไธ่ขซ Node.js ้ป˜่ฎคไฟกไปปใ€‚
31
+
32
+ ### ่งฃๅ†ณๆ–นๆกˆ
33
+
34
+ ่ฆ่งฃๅ†ณ่ฟ™ไธช้—ฎ้ข˜๏ผŒๅฏไปฅๅœจๅฏๅŠจๅบ”็”จๆ—ถๆทปๅŠ ็Žฏๅขƒๅ˜้‡๏ผŒ่ทณ่ฟ‡ Node.js ็š„่ฏไนฆ้ชŒ่ฏใ€‚ๅ…ทไฝ“ๅšๆณ•ๆ˜ฏๅœจๅฏๅŠจๅ‘ฝไปคไธญๅŠ ๅ…ฅ `NODE_TLS_REJECT_UNAUTHORIZED=0`ใ€‚ไพ‹ๅฆ‚๏ผš
35
+
36
+ ```bash
37
+ NODE_TLS_REJECT_UNAUTHORIZED=0 npm run start
38
+ ```
39
+
40
+ ๆˆ–่€…ๅœจ Docker ๅฎนๅ™จไธญ่ฟ่กŒๆ—ถ๏ผŒๅฏไปฅๅœจ Dockerfile ๆˆ–่€… docker-compose.yml ไธญ่ฎพ็ฝฎ็Žฏๅขƒๅ˜้‡๏ผš
41
+
42
+ ```dockerfile
43
+ # ๅœจ Dockerfile ไธญ
44
+ ENV NODE_TLS_REJECT_UNAUTHORIZED=0
45
+ ```
46
+
47
+ ```yaml
48
+ # ๅœจ docker-compose.yml ไธญ
49
+ environment:
50
+ - NODE_TLS_REJECT_UNAUTHORIZED=0
51
+ ```
52
+
53
+ Docker ่ฟ่กŒๅ‘ฝไปค็คบไพ‹๏ผš
54
+
55
+ ```bash
56
+ docker run -e NODE_TLS_REJECT_UNAUTHORIZED=0 <ๅ…ถไป–ๅ‚ๆ•ฐ> <้•œๅƒๅ>
57
+ ```
58
+
59
+ ่ฏทๆณจๆ„๏ผŒ่ฟ™็งๆ–นๆณ•ไผš้™ไฝŽๅฎ‰ๅ…จๆ€ง๏ผŒๅ› ไธบๅฎƒๅ…่ฎธ Node.js ๆŽฅๅ—ๆœช็ป้ชŒ่ฏ็š„่ฏไนฆใ€‚ๅ› ๆญค๏ผŒไป…ๅปบ่ฎฎๅœจๅฎŒๅ…จไฟกไปป็ฝ‘็ปœ็Žฏๅขƒ็š„็งๆœ‰ๅŒ–้ƒจ็ฝฒไธญไฝฟ็”จ๏ผŒไธ”้œ€่ฆๅœจ่งฃๅ†ณ่ฏไนฆ้—ฎ้ข˜ๅŽๆขๅค้ป˜่ฎค็š„่ฏไนฆ้ชŒ่ฏ่ฎพ็ฝฎใ€‚
60
+
61
+ ### ๆ›ดๅฎ‰ๅ…จ็š„ๆ›ฟไปฃๆ–นๆกˆ
62
+
63
+ ๅฆ‚ๆžœๅฏ่ƒฝ๏ผŒๅปบ่ฎฎ้€š่ฟ‡ไปฅไธ‹ๆ–นๆณ•่งฃๅ†ณ่ฏไนฆ้—ฎ้ข˜๏ผš
64
+
65
+ 1. ็กฎไฟๆ‰€ๆœ‰็š„ไธญ้—ดไบบ่ฏไนฆ้ƒฝ่ขซๆญฃ็กฎๅœฐๅฎ‰่ฃ…ๅœจไปฃ็†ๆœๅŠกๅ™จๅ’Œ็›ธๅบ”็š„ๅฎขๆˆท็ซฏไธŠใ€‚
66
+ 2. ไฝฟ็”จๆœ‰ๆ•ˆ็š„ใ€็”ฑๅ—ไฟกไปป็š„่ฏไนฆ้ขๅ‘ๆœบๆž„็ญพๅ‘็š„่ฏไนฆๆ›ฟๆข่‡ช็ญพๅๆˆ–ไธญ้—ดไบบ่ฏไนฆใ€‚
67
+ 3. ๅœจไปฃ็ ไธญๆญฃ็กฎ้…็ฝฎ่ฏไนฆ้“พ๏ผŒ็กฎไฟ Node.js ๅฏไปฅ้ชŒ่ฏๅˆฐๆ น่ฏไนฆใ€‚
68
+
69
+ ้‡‡็”จ่ฟ™ไบ›ๆ–นๆณ•ๅฏไปฅๅœจไธ็‰บ็‰ฒๅฎ‰ๅ…จๆ€ง็š„ๅ‰ๆไธ‹่งฃๅ†ณ่ฏไนฆ้ชŒ่ฏ้—ฎ้ข˜ใ€‚
package/docs/Home.md CHANGED
@@ -25,10 +25,11 @@ LobeChat is a open-source, extensible ([Function Calling][fc-url]), high-perform
25
25
 
26
26
  ### ๐Ÿ›ณ Self-Hosting
27
27
 
28
- - [Environment Variables](https://github.com/lobehub/lobe-chat/wiki/Environment-Variable) | [็Žฏๅขƒๅ˜้‡](https://github.com/lobehub/lobe-chat/wiki/Environment-Variable.zh-CN)
29
28
  - [Docker Deployment Guide](https://github.com/lobehub/lobe-chat/wiki/Docker-Deployment) | [Docker ้ƒจ็ฝฒๆŒ‡ๅผ•](https://github.com/lobehub/lobe-chat/wiki/Docker-Deployment.zh-CN)
30
29
  - [Deploying with Azure OpenAI](https://github.com/lobehub/lobe-chat/wiki/Deploy-with-Azure-OpenAI) | [ไฝฟ็”จ Azure OpenAI ้ƒจ็ฝฒ](https://github.com/lobehub/lobe-chat/wiki/Deploy-with-Azure-OpenAI.zh-CN)
30
+ - [Environment Variables](https://github.com/lobehub/lobe-chat/wiki/Environment-Variable) | [็Žฏๅขƒๅ˜้‡](https://github.com/lobehub/lobe-chat/wiki/Environment-Variable.zh-CN)
31
31
  - [Upstream Sync](https://github.com/lobehub/lobe-chat/wiki/Upstream-Sync) | [่‡ช้ƒจ็ฝฒไฟๆŒๆ›ดๆ–ฐ](https://github.com/lobehub/lobe-chat/wiki/Upstream-Sync.zh-CN)
32
+ - [Common Error](https://github.com/lobehub/lobe-chat/wiki/Common-Error) | [ๅธธ่ง้—ฎ้ข˜](https://github.com/lobehub/lobe-chat/wiki/Common-Error.zh-CN)
32
33
  - [Data Statistics](https://github.com/lobehub/lobe-chat/wiki/Analytics) | [ๆ•ฐๆฎ็ปŸ่ฎก](https://github.com/lobehub/lobe-chat/wiki/Analytics.zh-CN)
33
34
 
34
35
  <br/>
package/docs/_Sidebar.md CHANGED
@@ -15,10 +15,11 @@
15
15
 
16
16
  #### ๐Ÿ›ณ Self-Hosting
17
17
 
18
- - [Environment Variables](https://github.com/lobehub/lobe-chat/wiki/Environment-Variable) | [ไธญๆ–‡](https://github.com/lobehub/lobe-chat/wiki/Environment-Variable.zh-CN)
19
18
  - [Docker Deployment Guide](https://github.com/lobehub/lobe-chat/wiki/Docker-Deployment) | [Docker ้ƒจ็ฝฒๆŒ‡ๅผ•](https://github.com/lobehub/lobe-chat/wiki/Docker-Deployment.zh-CN)
20
19
  - [Deploying with Azure OpenAI](https://github.com/lobehub/lobe-chat/wiki/Deploy-with-Azure-OpenAI) | [ไฝฟ็”จ Azure OpenAI ้ƒจ็ฝฒ](https://github.com/lobehub/lobe-chat/wiki/Deploy-with-Azure-OpenAI.zh-CN)
20
+ - [Environment Variables](https://github.com/lobehub/lobe-chat/wiki/Environment-Variable) | [็Žฏๅขƒๅ˜้‡](https://github.com/lobehub/lobe-chat/wiki/Environment-Variable.zh-CN)
21
21
  - [Upstream Sync](https://github.com/lobehub/lobe-chat/wiki/Upstream-Sync) | [่‡ช้ƒจ็ฝฒไฟๆŒๆ›ดๆ–ฐ](https://github.com/lobehub/lobe-chat/wiki/Upstream-Sync.zh-CN)
22
+ - [Common Error](https://github.com/lobehub/lobe-chat/wiki/Common-Error) | [ๅธธ่ง้—ฎ้ข˜](https://github.com/lobehub/lobe-chat/wiki/Common-Error.zh-CN)
22
23
  - [Data Statistics](https://github.com/lobehub/lobe-chat/wiki/Analytics) | [ๆ•ฐๆฎ็ปŸ่ฎก](https://github.com/lobehub/lobe-chat/wiki/Analytics.zh-CN)
23
24
 
24
25
  #### โŒจ๏ธ Development
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "0.119.7",
3
+ "version": "0.119.9",
4
4
  "description": "Lobe Chat - an open-source, high-performance chatbot 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",
@@ -153,7 +153,7 @@
153
153
  "@types/ua-parser-js": "^0.7",
154
154
  "@types/uuid": "^9",
155
155
  "@umijs/lint": "^4",
156
- "@vitest/coverage-v8": "1.1.1",
156
+ "@vitest/coverage-v8": "^1.1.3",
157
157
  "commitlint": "^18",
158
158
  "consola": "^3",
159
159
  "dpdm": "^3",
@@ -177,7 +177,7 @@
177
177
  "typescript": "^5",
178
178
  "unified": "^11",
179
179
  "unist-util-visit": "^5",
180
- "vitest": "1.1.1",
180
+ "vitest": "^1.1.3",
181
181
  "vitest-canvas-mock": "^0.3.3"
182
182
  },
183
183
  "publishConfig": {
@@ -47,11 +47,11 @@ const Conversation = memo<ConversationProps>(({ chatInput, mobile }) => {
47
47
  const fontSize = useGlobalStore((s) => settingsSelectors.currentSettings(s).fontSize);
48
48
  const { styles } = useStyles(fontSize);
49
49
 
50
- // init conversation
51
50
  const init = useInitConversation();
52
51
 
53
52
  return (
54
- <Flexbox data-id={'conversation'} flex={1}>
53
+ // relative is required, ChatInput's absolute position needs it
54
+ <Flexbox flex={1} style={{ position: 'relative' }}>
55
55
  <div className={styles}>
56
56
  {init ? <ChatList mobile={mobile} /> : <SkeletonList mobile={mobile} />}
57
57
  </div>
@@ -11,7 +11,7 @@ interface LocaleLayoutProps extends PropsWithChildren {
11
11
  lang?: string;
12
12
  }
13
13
 
14
- const InnerLocale = memo<LocaleLayoutProps>(({ children, lang }) => {
14
+ const Locale = memo<LocaleLayoutProps>(({ children, lang }) => {
15
15
  const { data: locale } = useSWR(
16
16
  lang,
17
17
  async () =>
@@ -41,10 +41,4 @@ const InnerLocale = memo<LocaleLayoutProps>(({ children, lang }) => {
41
41
  return <ConfigProvider locale={locale}>{children}</ConfigProvider>;
42
42
  });
43
43
 
44
- // const Locale = memo<LocaleLayoutProps>((props) => (
45
- // <Suspense fallback={<Loading />}>
46
- // <InnerLocale {...props} />
47
- // </Suspense>
48
- // ));
49
-
50
- export default InnerLocale;
44
+ export default Locale;
@@ -303,7 +303,13 @@ export const chatMessage: StateCreator<
303
303
  set({ messages }, false, n(`dispatchMessage/${payload.type}`, payload));
304
304
  },
305
305
  fetchAIChatMessage: async (messages, assistantId) => {
306
- const { toggleChatLoading, refreshMessages, updateMessageContent, createSmoothMessage } = get();
306
+ const {
307
+ toggleChatLoading,
308
+ refreshMessages,
309
+ updateMessageContent,
310
+ dispatchMessage,
311
+ createSmoothMessage,
312
+ } = get();
307
313
 
308
314
  const abortController = toggleChatLoading(
309
315
  true,
@@ -403,6 +409,12 @@ export const chatMessage: StateCreator<
403
409
  // is this message is just a function call
404
410
  if (isFunctionMessageAtStart(output)) {
405
411
  stopAnimation();
412
+ dispatchMessage({
413
+ id: assistantId,
414
+ key: 'content',
415
+ type: 'updateMessage',
416
+ value: output,
417
+ });
406
418
  isFunctionCall = true;
407
419
  }
408
420
 
@@ -19,12 +19,6 @@ vi.mock('@/services/plugin', () => ({
19
19
  },
20
20
  }));
21
21
 
22
- // Mock necessary modules and functions
23
- vi.mock('antd', () => ({
24
- notification: {
25
- error: vi.fn(),
26
- },
27
- }));
28
22
  // Mock i18next
29
23
  vi.mock('i18next', () => ({
30
24
  t: vi.fn((key) => key),
@@ -179,6 +173,8 @@ describe('useToolStore:pluginStore', () => {
179
173
 
180
174
  describe('installPlugin', () => {
181
175
  it('should install a plugin with valid manifest', async () => {
176
+ vi.spyOn(notification, 'error');
177
+
182
178
  const pluginIdentifier = 'plugin1';
183
179
 
184
180
  const originalUpdateInstallLoadingState = useToolStore.getState().updateInstallLoadingState;
@@ -253,6 +249,8 @@ describe('useToolStore:pluginStore', () => {
253
249
 
254
250
  const error = new TypeError('noManifest');
255
251
 
252
+ // Mock necessary modules and functions
253
+ vi.spyOn(notification, 'error');
256
254
  (pluginService.getPluginManifest as Mock).mockRejectedValue(error);
257
255
 
258
256
  useToolStore.setState({
@@ -1,15 +0,0 @@
1
- name: '๐Ÿ˜‡ ็–‘้—ฎๆˆ–ๅธฎๅŠฉ Help Wanted'
2
- description: '็–‘้—ฎๆˆ–้œ€่ฆๅธฎๅŠฉ | Need help'
3
- title: '[Question] '
4
- labels: '๐Ÿ˜‡ Help Wanted'
5
- body:
6
- - type: textarea
7
- attributes:
8
- label: '๐Ÿง ้—ฎ้ข˜ๆ่ฟฐ | Proposed Solution'
9
- description: A clear and concise description of the proplem.
10
- validations:
11
- required: true
12
- - type: textarea
13
- attributes:
14
- label: '๐Ÿ“ ่กฅๅ……ไฟกๆฏ | Additional Information'
15
- description: Add any other context about the problem here.
@@ -1,7 +0,0 @@
1
- ---
2
- name: '๐Ÿ“ ๅ…ถไป– Other'
3
- about: 'ๅ…ถไป–้—ฎ้ข˜ | Other issues'
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
- ---
@@ -1,21 +0,0 @@
1
- import { Icon } from '@lobehub/ui';
2
- import { Loader2 } from 'lucide-react';
3
- import { memo } from 'react';
4
- import { Center } from 'react-layout-kit';
5
-
6
- const Loading = memo(() => (
7
- <div
8
- style={{
9
- backdropFilter: 'blur(3px)',
10
- height: '100%',
11
- width: '100vw',
12
- zIndex: 100,
13
- }}
14
- >
15
- <Center flex={1} gap={12} width={'100%'}>
16
- <Icon icon={Loader2} spin />
17
- </Center>
18
- </div>
19
- ));
20
-
21
- export default Loading;