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 : []