From 359590ca9d06ee89f616b8a3caebdade93f6228b Mon Sep 17 00:00:00 2001 From: Classic298 <27028174+Classic298@users.noreply.github.com> Date: Fri, 15 May 2026 02:34:23 +0200 Subject: [PATCH] fix: wire workspace.skills into the sidebar + workspace-index gates (#24729) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported by bwgabrielsusai on #24719: granting a user only `workspace.skills` doesn't show the Workspace menu, and visiting `/workspace` directly bounces them to `/`. The per-route guard in `/workspace/+layout.svelte` already covered skills, but two earlier gates in the chain didn't: * `Sidebar.svelte` case 'workspace' OR'd models/knowledge/prompts/tools to decide menu visibility — skills was missing, so the entry never rendered for skills-only users. * `/workspace/+page.svelte` redirect chain picked the first available section — skills was missing, so the fallback `goto('/')` fired. Adding skills to both. --- src/lib/components/layout/Sidebar.svelte | 3 ++- src/routes/(app)/workspace/+page.svelte | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index fcea714f02..ec470c4161 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -119,7 +119,8 @@ $user?.permissions?.workspace?.models || $user?.permissions?.workspace?.knowledge || $user?.permissions?.workspace?.prompts || - $user?.permissions?.workspace?.tools + $user?.permissions?.workspace?.tools || + $user?.permissions?.workspace?.skills ); case 'automations': return ( diff --git a/src/routes/(app)/workspace/+page.svelte b/src/routes/(app)/workspace/+page.svelte index 65f9d4cef3..af9c6eef62 100644 --- a/src/routes/(app)/workspace/+page.svelte +++ b/src/routes/(app)/workspace/+page.svelte @@ -13,6 +13,8 @@ goto('/workspace/prompts'); } else if ($user?.permissions?.workspace?.tools) { goto('/workspace/tools'); + } else if ($user?.permissions?.workspace?.skills) { + goto('/workspace/skills'); } else { goto('/'); }