diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx index 7f1e66473c7..82db252aea0 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/workspace-header.tsx @@ -747,33 +747,41 @@ function WorkspaceHeaderImpl({ {workspace.name} - {pinnedWorkspaceIds.has(workspace.id) && ( - - )} - { - isContextMenuOpeningRef.current = true - }} - onClick={(e) => { - e.preventDefault() - e.stopPropagation() - const rect = e.currentTarget.getBoundingClientRect() - openContextMenuAt(workspace, rect.right, rect.top) - }} - className={cn( - 'flex size-[18px] flex-shrink-0 items-center justify-center rounded-sm opacity-0 transition-opacity group-hover:opacity-100', - isMenuOpen && 'opacity-100' + {/* Pin and options share one fixed slot, as the chat rows do: + the trailing width never changes, so pinning cannot re-truncate + the name under the user's cursor. */} + + {pinnedWorkspaceIds.has(workspace.id) && ( + )} - > - - + { + isContextMenuOpeningRef.current = true + }} + onClick={(e) => { + e.preventDefault() + e.stopPropagation() + const rect = e.currentTarget.getBoundingClientRect() + openContextMenuAt(workspace, rect.right, rect.top) + }} + className={cn( + 'absolute inset-0 flex items-center justify-center rounded-sm opacity-0 transition-opacity group-hover:opacity-100', + isMenuOpen && 'opacity-100' + )} + > + + + )}