The Functions page was not updating after a function was deleted. This was because the local `functions` variable was not being updated after a successful deletion.
This commit fixes the bug by filtering the deleted function from the local `functions` array, which triggers a UI refresh.
This commit fixes a bug in the search modal where the chat preview would fail to load for the bottom search results, especially when using tags to filter.
The issue was caused by an incorrect index calculation in the `loadChatPreview` function, which resulted in an out-of-bounds error when accessing the `chatList` array.
This commit resolves the issue by adding a guard clause to the `loadChatPreview` function to ensure that the `selectedChatIdx` is always a valid index. This prevents the out-of-bounds error and ensures that the chat preview is always displayed for the selected chat.
* fix: de-duplicate model tags case-insensitively
This change updates the `setTags` function in the `Models.svelte` component and the `onMount` function in the `Selector.svelte` component to convert all model tags to lowercase before removing duplicates. This ensures that tags with different capitalization (e.g., "Best" and "best") are treated as a single tag, preventing duplicate entries in the tag filter dropdown on both the workspace models page and the new chat page.
* Update Selector.svelte
* refac
Fixes a bug where the UI would freeze when processing citation sources with mixed distance metrics.
The `Citations.svelte` component was attempting to call `.push()` on an `undefined` `distances` array. This happened when the first document for a source had no distance value, but a subsequent document for the same source did.
This patch ensures the `distances` array is always initialized as an empty array `[]` instead of `undefined`, preventing the `TypeError` and resolving the UI freeze.
Updates the ShortcutsModal to dynamically display the correct physical keys for users with non-US keyboard layouts.
The `ShortcutItem` component now uses `navigator.keyboard.getLayoutMap()` to resolve `KeyboardEvent.code` values (e.g., "Slash") to the character they produce on the user's active keyboard layout (e.g., "-").
This ensures the displayed shortcuts match the keys the user needs to press. A fallback is included for older browsers that do not support this API.