hermes - 💡(How to fix) Fix [Bug]: Kanban dashboard: COLUMN_LABEL undefined in aria-label at column select-all checkbox [5 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

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…

Error Message

ReferenceError: COLUMN_LABEL is not defined at render (plugins/kanban/dashboard/dist/index.js:1901:71)

Root Cause

During the i18n refactor (commit c39168453), the top-level English dictionary COLUMN_LABEL was renamed to FALLBACK_COLUMN_LABEL to distinguish it from the new getColumnLabel(t, status) helper function. All call sites were updated — except one:

// Line 1901 — BROKEN (references old name)
"aria-label": \`Select all tasks in \${COLUMN_LABEL[props.column.name] || props.column.name}\`,

// Should be:
"aria-label": \`Select all tasks in \${FALLBACK_COLUMN_LABEL[props.column.name] || props.column.name}\`,

The same pattern was correctly fixed at other call sites (e.g., the column dot title attribute uses colHelp, the label text uses getColumnLabel(t, status)), but the aria-label was missed.

The downstream fix commit b8bf2f817 ("fix(kanban): merge dashboard batch QOL with i18n + collapse + assignee-casing") addressed other i18n hand-merge conflicts but did not catch this one.


Fix Action

Fixed

Code Example

ReferenceError: COLUMN_LABEL is not defined
    at render (plugins/kanban/dashboard/dist/index.js:1901:71)

---

// Line 1901 — BROKEN (references old name)
"aria-label": \`Select all tasks in \${COLUMN_LABEL[props.column.name] || props.column.name}\`,

// Should be:
"aria-label": \`Select all tasks in \${FALLBACK_COLUMN_LABEL[props.column.name] || props.column.name}\`,

---

-          "aria-label": \`Select all tasks in \${COLUMN_LABEL[props.column.name] || props.column.name}\`,
+          "aria-label": \`Select all tasks in \${FALLBACK_COLUMN_LABEL[props.column.name] || props.column.name}\`,
RAW_BUFFERClick to expand / collapse

Before submitting:

  • Searched existing issues to avoid duplicates
  • Updated to latest version — bug persists
  • Run hermes debug share and paste the links (see note below)

Bug Description

The Kanban dashboard throws a ReferenceError: COLUMN_LABEL is not defined when rendering column headers. The error occurs in plugins/kanban/dashboard/dist/index.js at line 1901, in the aria-label attribute of the "select all in column" checkbox.

The variable COLUMN_LABEL was renamed to FALLBACK_COLUMN_LABEL during the i18n refactor in commit c39168453 ("feat(i18n): localize all gateway commands + web dashboard, add 8 new locales"), but the reference at line 1901 was not updated to the new name.


Steps to Reproduce

  1. Open the Kanban dashboard (/kanban tab in the Hermes dashboard)
  2. The error fires at render time when the column checkbox input is mounted
  3. Alternatively: click the checkbox to "select all tasks in column" — error fires at that point

Note: The error may not have surfaced in all setups depending on how the dashboard was initialized. The aria-label is not visually prominent and the error does not prevent the board from loading for most users.


Expected Behavior

Column headers render without JavaScript errors. The aria-label correctly reads: "Select all tasks in Triage" (or whatever the column name is).


Actual Behavior

ReferenceError: COLUMN_LABEL is not defined
    at render (plugins/kanban/dashboard/dist/index.js:1901:71)

The Kanban board still renders for most users since the error is in a non-critical aria-label attribute, but the error prevents the column select-all checkbox from functioning correctly and produces a console-level JS error.


Affected Component

  • Other — Kanban dashboard plugin (plugins/kanban/dashboard/dist/index.js)

Root Cause Analysis

During the i18n refactor (commit c39168453), the top-level English dictionary COLUMN_LABEL was renamed to FALLBACK_COLUMN_LABEL to distinguish it from the new getColumnLabel(t, status) helper function. All call sites were updated — except one:

// Line 1901 — BROKEN (references old name)
"aria-label": \`Select all tasks in \${COLUMN_LABEL[props.column.name] || props.column.name}\`,

// Should be:
"aria-label": \`Select all tasks in \${FALLBACK_COLUMN_LABEL[props.column.name] || props.column.name}\`,

The same pattern was correctly fixed at other call sites (e.g., the column dot title attribute uses colHelp, the label text uses getColumnLabel(t, status)), but the aria-label was missed.

The downstream fix commit b8bf2f817 ("fix(kanban): merge dashboard batch QOL with i18n + collapse + assignee-casing") addressed other i18n hand-merge conflicts but did not catch this one.


Proposed Fix

One-line change in plugins/kanban/dashboard/dist/index.js line 1901:

-          "aria-label": \`Select all tasks in \${COLUMN_LABEL[props.column.name] || props.column.name}\`,
+          "aria-label": \`Select all tasks in \${FALLBACK_COLUMN_LABEL[props.column.name] || props.column.name}\`,

Debug Report

Note: hermes debug share captures server-side logs but not browser-side JavaScript errors from the dashboard plugin. The ReferenceError: COLUMN_LABEL is not defined is a client-side JS error that fires when the Kanban dashboard React bundle initializes in the browser.

  • Hermes version: v0.13.0 (2026.5.7)
  • Python version: 3.12.3
  • OS: Ubuntu 24.04 (Linux 6.17.0)
  • Installation: pip / git clone at ~/.hermes/hermes-agent

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