@lobehub/chat 1.88.19 → 1.88.20

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/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 1.88.20](https://github.com/lobehub/lobe-chat/compare/v1.88.19...v1.88.20)
6
+
7
+ <sup>Released on **2025-05-31**</sup>
8
+
9
+ #### 🐛 Bug Fixes
10
+
11
+ - **misc**: Agent automatic completion meta not working error.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### What's fixed
19
+
20
+ - **misc**: Agent automatic completion meta not working error, closes [#8003](https://github.com/lobehub/lobe-chat/issues/8003) ([c5307bf](https://github.com/lobehub/lobe-chat/commit/c5307bf))
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.88.19](https://github.com/lobehub/lobe-chat/compare/v1.88.18...v1.88.19)
6
31
 
7
32
  <sup>Released on **2025-05-30**</sup>
package/changelog/v1.json CHANGED
@@ -1,4 +1,13 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "fixes": [
5
+ "Agent automatic completion meta not working error."
6
+ ]
7
+ },
8
+ "date": "2025-05-31",
9
+ "version": "1.88.20"
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.88.19",
3
+ "version": "1.88.20",
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",
@@ -2,10 +2,12 @@ import { ColorSwatches, NeutralColors, findCustomThemeName, neutralColors } from
2
2
  import { memo } from 'react';
3
3
  import { useTranslation } from 'react-i18next';
4
4
 
5
- const ThemeSwatchesNeutral = memo<{
5
+ interface IProps {
6
6
  onChange?: (v: NeutralColors) => void;
7
7
  value?: NeutralColors;
8
- }>(({ value, onChange }) => {
8
+ }
9
+
10
+ const ThemeSwatchesNeutral = memo<IProps>(({ value, onChange }) => {
9
11
  const { t } = useTranslation('color');
10
12
 
11
13
  const handleSelect = (v: any) => {
@@ -2,10 +2,12 @@ import { ColorSwatches, PrimaryColors, findCustomThemeName, primaryColors } from
2
2
  import { memo } from 'react';
3
3
  import { useTranslation } from 'react-i18next';
4
4
 
5
- const ThemeSwatchesPrimary = memo<{
5
+ interface IProps {
6
6
  onChange?: (v: PrimaryColors) => void;
7
7
  value?: PrimaryColors;
8
- }>(({ onChange, value }) => {
8
+ }
9
+
10
+ const ThemeSwatchesPrimary = memo<IProps>(({ onChange, value }) => {
9
11
  const { t } = useTranslation('color');
10
12
 
11
13
  const handleSelect = (v: any) => {
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { Button, Form, type FormGroupItemType, type FormItemProps, Tooltip } from '@lobehub/ui';
4
+ import { useUpdateEffect } from 'ahooks';
4
5
  import isEqual from 'fast-deep-equal';
5
6
  import { Wand2 } from 'lucide-react';
6
7
  import { memo, useState } from 'react';
@@ -30,6 +31,10 @@ const AgentMeta = memo(() => {
30
31
  const meta = useStore(selectors.currentMetaConfig, isEqual);
31
32
  const [background, setBackground] = useState(meta.backgroundColor);
32
33
 
34
+ useUpdateEffect(() => {
35
+ form.setFieldsValue(meta);
36
+ }, [meta]);
37
+
33
38
  if (isInbox) return;
34
39
 
35
40
  const basic = [
@@ -4,7 +4,7 @@ import type { ItemType } from 'antd/es/menu/interface';
4
4
  import { LucideArrowRight, LucideBolt } from 'lucide-react';
5
5
  import Link from 'next/link';
6
6
  import { useRouter } from 'next/navigation';
7
- import { PropsWithChildren, memo, useMemo } from 'react';
7
+ import { type ReactNode, memo, useMemo } from 'react';
8
8
  import { useTranslation } from 'react-i18next';
9
9
  import { Flexbox } from 'react-layout-kit';
10
10
 
@@ -40,14 +40,15 @@ const useStyles = createStyles(({ css, prefixCls }) => ({
40
40
 
41
41
  const menuKey = (provider: string, model: string) => `${provider}-${model}`;
42
42
 
43
- const ModelSwitchPanel = memo<
44
- PropsWithChildren<{
45
- onOpenChange?: (open: boolean) => void;
46
- open?: boolean;
47
- setUpdating?: (updating: boolean) => void;
48
- updating?: boolean;
49
- }>
50
- >(({ children, setUpdating, onOpenChange, open }) => {
43
+ interface IProps {
44
+ children?: ReactNode;
45
+ onOpenChange?: (open: boolean) => void;
46
+ open?: boolean;
47
+ setUpdating?: (updating: boolean) => void;
48
+ updating?: boolean;
49
+ }
50
+
51
+ const ModelSwitchPanel = memo<IProps>(({ children, setUpdating, onOpenChange, open }) => {
51
52
  const { t } = useTranslation('components');
52
53
  const { styles, theme } = useStyles();
53
54
  const [model, provider, updateAgentConfig] = useAgentStore((s) => [
@@ -141,7 +141,9 @@ const MCPManifestForm = ({ form, isEditMode }: MCPManifestFormProps) => {
141
141
  ...(mcpType === 'http' ? [HTTP_URL_KEY] : [STDIO_COMMAND, STDIO_ARGS]),
142
142
  ]);
143
143
  isValid = true;
144
- } catch {}
144
+ } catch {
145
+ // no-thing
146
+ }
145
147
 
146
148
  if (!isValid) {
147
149
  setIsTesting(false);