openclaw - 💡(How to fix) Fix [Feature]: Control UI channel dropdown displays redundant raw IDs instead of friendly names [1 participants]

Official PRs (…)
ON THIS PAGE

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#48895Fetched 2026-04-08 00:51:20
View on GitHub
Comments
0
Participants
1
Timeline
1
Reactions
0
Participants
Timeline (top)
labeled ×1

Improve Control UI channel dropdown to show friendly names instead of raw IDs, and only display unique channels without redundancy.

Root Cause

Improve Control UI channel dropdown to show friendly names instead of raw IDs, and only display unique channels without redundancy.

RAW_BUFFERClick to expand / collapse

Summary

Improve Control UI channel dropdown to show friendly names instead of raw IDs, and only display unique channels without redundancy.

Problem to solve

The Control UI channel dropdown shows raw IDs with severe redundancy and poor readability:

  • Same ID appears multiple times (e.g., Telegram user ID appears 4 times in one row)
  • Only shows raw IDs (ou_xxx, oc_xxx) without friendly names
  • No distinction between DM and group channels
  • Visually cluttered and hard to use

Example: With 5 channels configured (2x Feishu DM, 1x Feishu group, 1x Telegram, 1x WeCom), the dropdown shows confusing redundant information instead of clean 5-line list.

Proposed solutiona

  1. Deduplicate: Show each channel only once
  2. Friendly names: Display user/group name from platform API instead of raw ID
  3. Clean layout: Use platform icons + name + type (DM/Group) format
  4. Consistent format: All channels should follow the same display pattern

Expected: A clean list of 5 channels with friendly names like:

  • Feishu: (DM1)
  • Feishu: (DM2)
  • Feishu: (Group)
  • Telegram: (DM)
  • WeCom: (DM)

Alternatives considered

No response

Impact

Affected: All users with multiple channels configured Severity: Medium (UI/UX issue) Frequency: Always when using Control UI Consequence: Poor user experience, hard to identify correct channel

Evidence/examples

No response

Additional information

No response

extent analysis

Fix Plan

To improve the Control UI channel dropdown, we will implement the following steps:

  • Deduplicate channels by creating a unique identifier for each channel
  • Fetch friendly names from platform APIs
  • Update the dropdown layout to display platform icons, names, and types (DM/Group)

Example Code

# Assuming a list of channels with raw IDs
channels = [
    {"id": "ou_xxx", "platform": "Feishu", "type": "DM"},
    {"id": "ou_xxx", "platform": "Feishu", "type": "DM"},
    {"id": "oc_xxx", "platform": "Feishu", "type": "Group"},
    {"id": "tg_xxx", "platform": "Telegram", "type": "DM"},
    {"id": "wc_xxx", "platform": "WeCom", "type": "DM"}
]

# Create a dictionary to store unique channels
unique_channels = {}

# Iterate over channels and deduplicate
for channel in channels:
    key = f"{channel['platform']}_{channel['type']}"
    if key not in unique_channels:
        unique_channels[key] = channel
    else:
        # If duplicate, append a counter to the key
        counter = 1
        while f"{key}_{counter}" in unique_channels:
            counter += 1
        unique_channels[f"{key}_{counter}"] = channel

# Fetch friendly names from platform APIs
def get_friendly_name(platform, id):
    # Implement API calls to fetch friendly names
    # For example:
    if platform == "Feishu":
        return fetch_feishu_name(id)
    elif platform == "Telegram":
        return fetch_telegram_name(id)
    # ...

# Update dropdown layout
dropdown_options = []
for key, channel in unique_channels.items():
    friendly_name = get_friendly_name(channel["platform"], channel["id"])
    option = {
        "text": f"{channel['platform']}: {friendly_name} ({channel['type']})",
        "value": channel["id"]
    }
    dropdown_options.append(option)

# Render the dropdown with the updated options

Verification

To verify the fix, check the Control UI channel dropdown for the following:

  • Each channel is displayed only once
  • Friendly names are displayed instead of raw IDs
  • Platform icons, names, and types (DM/Group) are displayed in a clean format

Extra Tips

  • Ensure that the get_friendly_name function is implemented correctly to fetch friendly names from platform APIs.
  • Handle cases where friendly names are not available or API calls fail.
  • Consider caching friendly names to reduce API calls and improve performance.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix [Feature]: Control UI channel dropdown displays redundant raw IDs instead of friendly names [1 participants]