Skip to content

Object tag value which key contains dot(s) not displayed in object detail panel #3579

@christian-draeger

Description

@christian-draeger

Expected Behavior

When viewing an object's details in the Console, the "Tags" section should correctly display both the key and the value for all tags associated with the object, even if the tag key contains dots (e.g., app.version: 1.0.0).

Current Behavior

If an object tag has a key that contains one or more dots (e.g., "some.key.with.dots"), its value is not displayed in the object details panel. The UI only shows the key followed by a colon (e.g., "some.key.with.dots:"), making it appear as if the value is empty.

Tags with keys that do not contain dots are displayed correctly (e.g., "keywithoutdots: somevalue").

Possible Solution

The issue is located in the ObjectDetailPanel.tsx component. The code uses lodash/get to retrieve the tag's value:

{tagKeys.map((tagKey, index) => {
  return (
    <span key={`key-vs-${index.toString()}`}>
      {tagKey}:{get(actualInfo, `tags.${tagKey}`, "")}
      {index < tagKeys.length - 1 ? ", " : ""}
    </span>
  );
})}

The get function interprets dots in the tagKey as accessors for nested properties. For a key like "some.key.with.dots", it attempts to resolve actualInfo.tags.some.key.with.dots instead of actualInfo.tags['some.key.with.dots']. Since the nested path doesn't exist, it returns the default empty string.

The fix is to access the property directly, as the key is already known to exist in the tags object:

{tagKeys.map((tagKey, index) => {
  return (
    <span key={`key-vs-${index.toString()}`}>
      {tagKey}:{get(actualInfo.tags, [tagKey], "")}
      {index < tagKeys.length - 1 ? ", " : ""}
    </span>
  );
})}

Steps to Reproduce (for bugs)

  1. add tags to an object Image
  2. view tags in the object detail panel Image Image

Context

This is a UI display bug that can cause confusion for users managing object metadata. It makes it difficult to verify tags directly from the Console UI, as users might mistakenly believe, as i did when finding the bug, that a tag's value is missing or was not saved correctly, when in fact it is stored properly in the backend.

Regression

No

Your Environment

  • MinIO version used (minio --version): docker minio/minio:latest (RELEASE.2025-07-23T15-54-02Z)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions