diff --git a/apps/admin/app/dashboard/servers/page.tsx b/apps/admin/app/dashboard/servers/page.tsx
index 61f1d97..18e2d5c 100644
--- a/apps/admin/app/dashboard/servers/page.tsx
+++ b/apps/admin/app/dashboard/servers/page.tsx
@@ -155,9 +155,7 @@ export default function ServersPage() {
accessorKey: 'protocols',
header: t('protocols'),
cell: ({ row }) => {
- const list = row.original.protocols.filter(
- (p) => p.enable !== false,
- ) as API.Protocol[];
+ const list = row.original.protocols.filter((p) => p.enable) as API.Protocol[];
if (!list.length) return '—';
return (
diff --git a/apps/admin/app/dashboard/servers/server-form.tsx b/apps/admin/app/dashboard/servers/server-form.tsx
index 4ed566e..f2a5e77 100644
--- a/apps/admin/app/dashboard/servers/server-form.tsx
+++ b/apps/admin/app/dashboard/servers/server-form.tsx
@@ -492,7 +492,7 @@ export default function ServerForm(props: {
PROTOCOLS.findIndex((t) => t === type),
);
const current = (protocolsValues[i] || {}) as Record
;
- const isEnabled = current?.enable !== false;
+ const isEnabled = current?.enable;
const fields = PROTOCOL_FIELDS[type] || [];
return (
@@ -529,7 +529,8 @@ export default function ServerForm(props: {
checked={!!isEnabled}
disabled={Boolean(
initialValues?.id &&
- isProtocolUsedInNodes(initialValues?.id || 0, type),
+ isProtocolUsedInNodes(initialValues?.id || 0, type) &&
+ isEnabled,
)}
onCheckedChange={(checked) => {
form.setValue(`protocols.${i}.enable`, checked);
diff --git a/apps/admin/store/server.ts b/apps/admin/store/server.ts
index 143f8b3..ad5b98b 100644
--- a/apps/admin/store/server.ts
+++ b/apps/admin/store/server.ts
@@ -65,7 +65,7 @@ export const useServerStore = create((set, get) => ({
getServerEnabledProtocols: (serverId: number) => {
const server = get().servers.find((s) => s.id === serverId);
- return server?.protocols?.filter((p) => p.enable !== false) || [];
+ return server?.protocols?.filter((p) => p.enable) || [];
},
getProtocolPort: (serverId?: number, protocol?: string) => {