|
13 | 13 | import { get, type Unsubscriber, type Writable } from 'svelte/store'; |
14 | 14 | import type { i18n as i18nType } from 'i18next'; |
15 | 15 | import { WEBUI_BASE_URL } from '$lib/constants'; |
| 16 | + import equal from 'fast-deep-equal'; |
16 | 17 |
|
17 | 18 | import { |
18 | 19 | chatId, |
|
277 | 278 | }; |
278 | 279 |
|
279 | 280 | let oldSelectedModelIds = ['']; |
280 | | - $: if (JSON.stringify(selectedModelIds) !== JSON.stringify(oldSelectedModelIds)) { |
| 281 | + $: if (!equal(selectedModelIds, oldSelectedModelIds)) { |
281 | 282 | onSelectedModelIdsChange(); |
282 | 283 | } |
283 | 284 |
|
|
674 | 675 | if ( |
675 | 676 | $selectedFolder && |
676 | 677 | selectedModels.filter((modelId) => modelId !== '').length > 0 && |
677 | | - JSON.stringify($selectedFolder?.data?.model_ids) !== JSON.stringify(selectedModels) |
| 678 | + !equal($selectedFolder?.data?.model_ids, selectedModels) |
678 | 679 | ) { |
679 | 680 | const res = await updateFolderById(localStorage.token, $selectedFolder.id, { |
680 | 681 | data: { |
|
758 | 759 | await tick(); |
759 | 760 | if ( |
760 | 761 | folder?.data?.model_ids && |
761 | | - JSON.stringify(selectedModels) !== JSON.stringify(folder.data.model_ids) |
| 762 | + !equal(selectedModels, folder.data.model_ids) |
762 | 763 | ) { |
763 | 764 | selectedModels = folder.data.model_ids; |
764 | 765 |
|
|
1851 | 1852 | chatFiles = chatFiles.filter( |
1852 | 1853 | // Remove duplicates |
1853 | 1854 | (item, index, array) => |
1854 | | - array.findIndex((i) => JSON.stringify(i) === JSON.stringify(item)) === index |
| 1855 | + array.findIndex((i) => equal(i, item)) === index |
1855 | 1856 | ); |
1856 | 1857 |
|
1857 | 1858 | // Create user message |
|
1895 | 1896 | $models.map((m) => m.id).includes(modelId) ? modelId : '' |
1896 | 1897 | ); |
1897 | 1898 |
|
1898 | | - if (JSON.stringify(selectedModels) !== JSON.stringify(_selectedModels)) { |
| 1899 | + if (!equal(selectedModels, _selectedModels)) { |
1899 | 1900 | selectedModels = _selectedModels; |
1900 | 1901 | } |
1901 | 1902 |
|
|
2192 | 2193 | // Remove duplicates |
2193 | 2194 | files = files.filter( |
2194 | 2195 | (item, index, array) => |
2195 | | - array.findIndex((i) => JSON.stringify(i) === JSON.stringify(item)) === index |
| 2196 | + array.findIndex((i) => equal(i, item)) === index |
2196 | 2197 | ); |
2197 | 2198 |
|
2198 | 2199 | scrollToBottom(); |
|
0 commit comments