mirror of
https://github.com/lobehub/lobehub.git
synced 2026-03-27 13:29:15 +07:00
🐛 fix(topic): use responseLanguage for topic/thread title summarization (#12627)
This commit is contained in:
@@ -79,6 +79,9 @@ vi.mock('@/store/user/selectors', () => ({
|
||||
systemAgentSelectors: {
|
||||
thread: vi.fn(() => ({})),
|
||||
},
|
||||
userGeneralSettingsSelectors: {
|
||||
responseLanguage: vi.fn(() => undefined),
|
||||
},
|
||||
userProfileSelectors: {
|
||||
userAvatar: vi.fn(() => 'avatar-url'),
|
||||
},
|
||||
|
||||
@@ -18,7 +18,7 @@ import { type ChatStore } from '@/store/chat/store';
|
||||
import { globalHelpers } from '@/store/global/helpers';
|
||||
import { type StoreSetter } from '@/store/types';
|
||||
import { useUserStore } from '@/store/user';
|
||||
import { systemAgentSelectors } from '@/store/user/selectors';
|
||||
import { systemAgentSelectors, userGeneralSettingsSelectors } from '@/store/user/selectors';
|
||||
import { merge } from '@/utils/merge';
|
||||
import { setNamespace } from '@/utils/storeDebug';
|
||||
|
||||
@@ -202,7 +202,14 @@ export class ChatThreadActionImpl {
|
||||
|
||||
internal_updateThreadTitleInSummary(threadId, output);
|
||||
},
|
||||
params: merge(threadConfig, chainSummaryTitle(messages, globalHelpers.getCurrentLanguage())),
|
||||
params: merge(
|
||||
threadConfig,
|
||||
chainSummaryTitle(
|
||||
messages,
|
||||
userGeneralSettingsSelectors.responseLanguage(useUserStore.getState()) ||
|
||||
globalHelpers.getCurrentLanguage(),
|
||||
),
|
||||
),
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ import { useGlobalStore } from '@/store/global';
|
||||
import { globalHelpers } from '@/store/global/helpers';
|
||||
import { type StoreSetter } from '@/store/types';
|
||||
import { useUserStore } from '@/store/user';
|
||||
import { systemAgentSelectors } from '@/store/user/selectors';
|
||||
import { systemAgentSelectors, userGeneralSettingsSelectors } from '@/store/user/selectors';
|
||||
import { type ChatTopic, type CreateTopicParams } from '@/types/topic';
|
||||
import { merge } from '@/utils/merge';
|
||||
import { setNamespace } from '@/utils/storeDebug';
|
||||
@@ -221,7 +221,14 @@ export class ChatTopicActionImpl {
|
||||
|
||||
internal_updateTopicTitleInSummary(topicId, output);
|
||||
},
|
||||
params: merge(topicConfig, chainSummaryTitle(messages, globalHelpers.getCurrentLanguage())),
|
||||
params: merge(
|
||||
topicConfig,
|
||||
chainSummaryTitle(
|
||||
messages,
|
||||
userGeneralSettingsSelectors.responseLanguage(useUserStore.getState()) ||
|
||||
globalHelpers.getCurrentLanguage(),
|
||||
),
|
||||
),
|
||||
trace: this.#get().getCurrentTracePayload({
|
||||
traceName: TraceNameMap.SummaryTopicTitle,
|
||||
topicId,
|
||||
|
||||
@@ -47,6 +47,9 @@ vi.mock('@/store/user/selectors', () => ({
|
||||
provider: 'openai',
|
||||
}),
|
||||
},
|
||||
userGeneralSettingsSelectors: {
|
||||
responseLanguage: vi.fn(() => undefined),
|
||||
},
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
||||
@@ -10,7 +10,7 @@ import { generationTopicService } from '@/services/generationTopic';
|
||||
import { globalHelpers } from '@/store/global/helpers';
|
||||
import { type StoreSetter } from '@/store/types';
|
||||
import { useUserStore } from '@/store/user';
|
||||
import { systemAgentSelectors } from '@/store/user/selectors';
|
||||
import { systemAgentSelectors, userGeneralSettingsSelectors } from '@/store/user/selectors';
|
||||
import { type ImageGenerationTopic } from '@/types/generation';
|
||||
import { merge } from '@/utils/merge';
|
||||
import { setNamespace } from '@/utils/storeDebug';
|
||||
@@ -108,7 +108,12 @@ export class GenerationTopicActionImpl {
|
||||
await chatService.fetchPresetTaskResult({
|
||||
params: merge(
|
||||
generationTopicAgentConfig,
|
||||
chainSummaryGenerationTitle(prompts, 'image', globalHelpers.getCurrentLanguage()),
|
||||
chainSummaryGenerationTitle(
|
||||
prompts,
|
||||
'image',
|
||||
userGeneralSettingsSelectors.responseLanguage(useUserStore.getState()) ||
|
||||
globalHelpers.getCurrentLanguage(),
|
||||
),
|
||||
),
|
||||
onError: async () => {
|
||||
const fallbackTitle = generateFallbackTitle();
|
||||
|
||||
@@ -17,6 +17,7 @@ const contextMenuMode = (s: UserStore) => {
|
||||
if (config !== undefined) return config;
|
||||
return isDesktop ? 'default' : 'disabled';
|
||||
};
|
||||
const responseLanguage = (s: UserStore) => generalConfig(s).responseLanguage;
|
||||
const telemetry = (s: UserStore) => generalConfig(s).telemetry;
|
||||
const enableAutoScrollOnStreaming = (s: UserStore) =>
|
||||
generalConfig(s).enableAutoScrollOnStreaming ?? true;
|
||||
@@ -31,6 +32,7 @@ export const userGeneralSettingsSelectors = {
|
||||
mermaidTheme,
|
||||
neutralColor,
|
||||
primaryColor,
|
||||
responseLanguage,
|
||||
telemetry,
|
||||
transitionMode,
|
||||
};
|
||||
|
||||
@@ -10,7 +10,7 @@ import { chatService } from '@/services/chat';
|
||||
import { generationTopicService } from '@/services/generationTopic';
|
||||
import { globalHelpers } from '@/store/global/helpers';
|
||||
import { useUserStore } from '@/store/user';
|
||||
import { systemAgentSelectors } from '@/store/user/selectors';
|
||||
import { systemAgentSelectors, userGeneralSettingsSelectors } from '@/store/user/selectors';
|
||||
import { type ImageGenerationTopic } from '@/types/generation';
|
||||
import { merge } from '@/utils/merge';
|
||||
import { setNamespace } from '@/utils/storeDebug';
|
||||
@@ -252,7 +252,12 @@ export const createGenerationTopicSlice: StateCreator<
|
||||
},
|
||||
params: merge(
|
||||
generationTopicAgentConfig,
|
||||
chainSummaryGenerationTitle(prompts, 'video', globalHelpers.getCurrentLanguage()),
|
||||
chainSummaryGenerationTitle(
|
||||
prompts,
|
||||
'video',
|
||||
userGeneralSettingsSelectors.responseLanguage(useUserStore.getState()) ||
|
||||
globalHelpers.getCurrentLanguage(),
|
||||
),
|
||||
),
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user