diff --git a/src/components/ParserOpenRPC/DetailsBox/RenderParams.tsx b/src/components/ParserOpenRPC/DetailsBox/RenderParams.tsx index fdc8398f680..7c0315b6514 100644 --- a/src/components/ParserOpenRPC/DetailsBox/RenderParams.tsx +++ b/src/components/ParserOpenRPC/DetailsBox/RenderParams.tsx @@ -12,13 +12,18 @@ const getRefSchemaFromComponents = (initRef, components) => { const renderSchema = (schemaItem, schemas, name) => { if (!schemaItem) return
Invalid schema
- const resolveRef = ref => { + const resolveRef = (ref, originalItem) => { const newSchema = getRefSchemaFromComponents(ref, schemas) - return renderSchema(newSchema, schemas, name) + // Preserve the original parameter's description when resolving references + const resolvedSchema = { + ...newSchema, + description: originalItem?.description || newSchema.description || newSchema.title || '', + } + return renderSchema(resolvedSchema, schemas, name) } - if (schemaItem?.schema?.$ref) return resolveRef(schemaItem.schema.$ref) - if (schemaItem?.$ref) return resolveRef(schemaItem.$ref) + if (schemaItem?.schema?.$ref) return resolveRef(schemaItem.schema.$ref, schemaItem) + if (schemaItem?.$ref) return resolveRef(schemaItem.$ref, schemaItem) const renderObject = (item, itemName) => { const requiredFields = Array.isArray(item.required) ? item.required : []