@lobehub/chat 1.87.2 → 1.87.3

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 CHANGED
@@ -6,3 +6,4 @@ DATABASE_URL=postgresql://postgres@localhost:5432/postgres
6
6
  SEARCH_PROVIDERS=search1api
7
7
  NEXT_PUBLIC_SERVICE_MODE='server'
8
8
  NEXT_PUBLIC_IS_DESKTOP_APP=1
9
+ NEXT_PUBLIC_ENABLE_NEXT_AUTH=0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 1.87.3](https://github.com/lobehub/lobe-chat/compare/v1.87.2...v1.87.3)
6
+
7
+ <sup>Released on **2025-05-17**</sup>
8
+
9
+ #### ♻ Code Refactoring
10
+
11
+ - **misc**: Clean code with new antd api.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### Code refactoring
19
+
20
+ - **misc**: Clean code with new antd api, closes [#7870](https://github.com/lobehub/lobe-chat/issues/7870) ([c543884](https://github.com/lobehub/lobe-chat/commit/c543884))
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
+
5
30
  ### [Version 1.87.2](https://github.com/lobehub/lobe-chat/compare/v1.87.1...v1.87.2)
6
31
 
7
32
  <sup>Released on **2025-05-16**</sup>
package/changelog/v1.json CHANGED
@@ -1,4 +1,13 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "improvements": [
5
+ "Clean code with new antd api."
6
+ ]
7
+ },
8
+ "date": "2025-05-17",
9
+ "version": "1.87.3"
10
+ },
2
11
  {
3
12
  "children": {
4
13
  "improvements": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.87.2",
3
+ "version": "1.87.3",
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",
@@ -170,7 +170,7 @@
170
170
  "@xterm/xterm": "^5.5.0",
171
171
  "ahooks": "^3.8.4",
172
172
  "ai": "^3.4.33",
173
- "antd": "^5.24.6",
173
+ "antd": "^5.25.1",
174
174
  "antd-style": "^3.7.1",
175
175
  "brotli-wasm": "^3.0.1",
176
176
  "chroma-js": "^3.1.2",
@@ -28,7 +28,7 @@ const CreateGroupModal = memo<CreateGroupModalProps>(
28
28
  <div onClick={(e) => e.stopPropagation()}>
29
29
  <Modal
30
30
  allowFullscreen
31
- destroyOnClose
31
+ destroyOnHidden
32
32
  okButtonProps={{ loading }}
33
33
  onCancel={(e) => {
34
34
  setInput('');
@@ -29,7 +29,7 @@ const RenameGroupModal = memo<RenameGroupModalProps>(({ id, open, onCancel }) =>
29
29
  return (
30
30
  <Modal
31
31
  allowFullscreen
32
- destroyOnClose
32
+ destroyOnHidden
33
33
  okButtonProps={{ loading }}
34
34
  onCancel={(e) => {
35
35
  setInput(group?.name ?? '');
@@ -3,6 +3,7 @@
3
3
  import { memo } from 'react';
4
4
 
5
5
  import PageTitle from '@/components/PageTitle';
6
+ import { withSuspense } from '@/components/withSuspense';
6
7
  import { useChatStore } from '@/store/chat';
7
8
  import { topicSelectors } from '@/store/chat/selectors';
8
9
  import { useSessionStore } from '@/store/session';
@@ -15,4 +16,4 @@ const Title = memo(() => {
15
16
  return <PageTitle title={[topicTitle, agentTitle].filter(Boolean).join(' · ')} />;
16
17
  });
17
18
 
18
- export default Title;
19
+ export default withSuspense(Title);
@@ -39,7 +39,7 @@ const ModelConfigModal = memo<ModelConfigModalProps>(({ showAzureDeployName, pro
39
39
 
40
40
  return (
41
41
  <Modal
42
- destroyOnClose
42
+ destroyOnHidden
43
43
  footer={[
44
44
  <Button key="cancel" onClick={closeModal}>
45
45
  {tc('cancel')}
@@ -30,7 +30,7 @@ const ModelConfigModal = memo<ModelConfigModalProps>(({ open, setOpen }) => {
30
30
 
31
31
  return (
32
32
  <Modal
33
- destroyOnClose
33
+ destroyOnHidden
34
34
  footer={[
35
35
  <Button key="cancel" onClick={closeModal}>
36
36
  {t('cancel', { ns: 'common' })}
@@ -32,7 +32,7 @@ const ModelConfigModal = memo<ModelConfigModalProps>(({ id, open, setOpen }) =>
32
32
 
33
33
  return (
34
34
  <Modal
35
- destroyOnClose
35
+ destroyOnHidden
36
36
  footer={[
37
37
  <Button key="cancel" onClick={closeModal}>
38
38
  {t('cancel')}
@@ -50,7 +50,32 @@ const CommonSTT = memo<{
50
50
 
51
51
  return (
52
52
  <Dropdown
53
- dropdownRender={
53
+ menu={{
54
+ activeKey: 'time',
55
+ items: [
56
+ {
57
+ key: 'title',
58
+ label: (
59
+ <Flexbox>
60
+ <div style={{ fontWeight: 'bolder' }}>{t('stt.action')}</div>
61
+ </Flexbox>
62
+ ),
63
+ },
64
+ {
65
+ key: 'time',
66
+ label: (
67
+ <Flexbox align={'center'} gap={8} horizontal>
68
+ <div className={styles.recording} />
69
+ {time > 0 ? formattedTime : t(isRecording ? 'stt.loading' : 'stt.prettifying')}
70
+ </Flexbox>
71
+ ),
72
+ },
73
+ ],
74
+ }}
75
+ onOpenChange={handleDropdownVisibleChange}
76
+ open={dropdownOpen || !!error || isRecording || isLoading}
77
+ placement={mobile ? 'topRight' : 'top'}
78
+ popupRender={
54
79
  error
55
80
  ? () => (
56
81
  <Alert
@@ -79,31 +104,6 @@ const CommonSTT = memo<{
79
104
  )
80
105
  : undefined
81
106
  }
82
- menu={{
83
- activeKey: 'time',
84
- items: [
85
- {
86
- key: 'title',
87
- label: (
88
- <Flexbox>
89
- <div style={{ fontWeight: 'bolder' }}>{t('stt.action')}</div>
90
- </Flexbox>
91
- ),
92
- },
93
- {
94
- key: 'time',
95
- label: (
96
- <Flexbox align={'center'} gap={8} horizontal>
97
- <div className={styles.recording} />
98
- {time > 0 ? formattedTime : t(isRecording ? 'stt.loading' : 'stt.prettifying')}
99
- </Flexbox>
100
- ),
101
- },
102
- ],
103
- }}
104
- onOpenChange={handleDropdownVisibleChange}
105
- open={dropdownOpen || !!error || isRecording || isLoading}
106
- placement={mobile ? 'topRight' : 'top'}
107
107
  trigger={['click']}
108
108
  >
109
109
  <ActionIcon
@@ -110,7 +110,7 @@ const DevModal = memo<DevModalProps>(
110
110
  >
111
111
  <Drawer
112
112
  containerMaxWidth={'auto'}
113
- destroyOnClose
113
+ destroyOnHidden
114
114
  footer={footer}
115
115
  height={'100vh'}
116
116
  onClose={(e) => {