@@ -267,7 +288,7 @@ export function ModelSelector({
if (isMobile) {
return (
-
+
{trigger}
@@ -281,7 +302,7 @@ export function ModelSelector({
}
return (
-
+
{trigger}
{content}
From e38c569e8912e4933f1d25fb61bc98a0153f2950 Mon Sep 17 00:00:00 2001
From: Anish Sarkar <104695310+AnishSarkar22@users.noreply.github.com>
Date: Sun, 14 Jun 2026 21:40:59 +0530
Subject: [PATCH 4/5] fix(DocumentsSidebar): simplify connector button label
logic for clarity
---
.../components/layout/ui/sidebar/DocumentsSidebar.tsx | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/surfsense_web/components/layout/ui/sidebar/DocumentsSidebar.tsx b/surfsense_web/components/layout/ui/sidebar/DocumentsSidebar.tsx
index 6c6668319..dfb5e88fc 100644
--- a/surfsense_web/components/layout/ui/sidebar/DocumentsSidebar.tsx
+++ b/surfsense_web/components/layout/ui/sidebar/DocumentsSidebar.tsx
@@ -1149,6 +1149,7 @@ function AuthenticatedDocumentsSidebarBase({
const showCloudSkeleton =
currentFilesystemTab === "cloud" &&
(zeroFoldersResult.type !== "complete" || zeroAllDocsResult.type !== "complete");
+ const connectorButtonLabel = connectorCount > 0 ? "Manage connectors" : "Connect your connectors";
const cloudContent = (
<>
@@ -1161,9 +1162,7 @@ function AuthenticatedDocumentsSidebarBase({
className="shrink-0 mx-4 mt-6 mb-2.5 h-auto select-none justify-start gap-2 bg-muted px-3 py-1.5 text-xs text-muted-foreground"
>
-
- {connectorCount > 0 ? "Manage connectors" : "Connect your connectors"}
-
+ {connectorButtonLabel}
{connectorCount > 0 && (
{connectorCount}
From 792f6eba92c8dc5ae16fe6cb895e85e8f0223e69 Mon Sep 17 00:00:00 2001
From: Anish Sarkar <104695310+AnishSarkar22@users.noreply.github.com>
Date: Sun, 14 Jun 2026 21:59:06 +0530
Subject: [PATCH 5/5] fix(model-selector): update chat model display logic and
replace icon for manage models button
---
.../components/new-chat/model-selector.tsx | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/surfsense_web/components/new-chat/model-selector.tsx b/surfsense_web/components/new-chat/model-selector.tsx
index 23c98889c..22d86aa92 100644
--- a/surfsense_web/components/new-chat/model-selector.tsx
+++ b/surfsense_web/components/new-chat/model-selector.tsx
@@ -1,7 +1,7 @@
"use client";
import { useAtom, useAtomValue } from "jotai";
-import { Check, ChevronDown, Search, Settings2 } from "lucide-react";
+import { Check, ChevronDown, Search, SlidersHorizontal } from "lucide-react";
import { useRouter } from "next/navigation";
import type { UIEvent } from "react";
import { useCallback, useMemo, useState } from "react";
@@ -130,6 +130,7 @@ export function ModelSelector({
const selected = chatModelsById.get(selectedModelId);
const groups = useMemo(() => groupedModels(visibleChatModels), [visibleChatModels]);
const loading = globalLoading || connectionsLoading;
+ const hasSearchQuery = search.trim().length > 0;
function handleOpenChange(nextOpen: boolean) {
if (!nextOpen) setSearch("");
@@ -197,7 +198,9 @@ export function ModelSelector({
) : Object.keys(groups).length === 0 ? (
- No enabled chat models. Add or enable models in Settings.
+ {hasSearchQuery
+ ? "No matching chat models."
+ : "No enabled chat models. Add or enable models in Settings."}
) : (
Object.entries(groups).map(([connection, models]) => (
@@ -257,7 +260,7 @@ export function ModelSelector({
className="w-full justify-start rounded-md bg-foreground/5 hover:bg-foreground/10 hover:text-foreground"
onClick={manageModelConnections}
>
-