Skip to content

[Bug]: Kanban column header shows raw status object, and pinnedColumns/columnOrder have no effect. Related to isse #2160 #2161

Description

@kevin-4c

Bug Description

Two related problems in tasknotesKanban Bases views, both hit while building a working kanban
board (4.11.1, latest release). Filing together since both are about column presentation
(title text, existence, order) rather than the population failure covered in a separate issue
(will link once both are filed).

1. Column header renders a raw stringified status object instead of a label.
This only surfaces once grouping by task.status — currently the only property reference that
makes the board populate at all (see the linked "zero cards" issue). With
groupBy.property: task.status, the column header renders as raw JSON, e.g.:

{"icon":"lucide-file-question","color":"#...","value":"open","label":"Open", ...}

instead of the clean label "Open". Root cause (read directly from source,
src/bases/basesValueConversion.ts + kanbanGrouping.ts): task.status resolves to Bases' rich
status object (icon/color/value/label), not a plain string. The kanban column-title code
stringifies that whole object into the header text before running TaskNotes' own
status-value-canonicalization/label-lookup step, so canonicalization never matches the resulting
JSON blob and silently falls back to the raw text. Tasks sharing a status still land in the same
column only because they produce byte-identical blobs — this would visibly break into multiple
ugly, non-merged columns for the same status if the object's key order or contents ever varied.
Tried note.status and bare status as alternatives to get a clean label without this bug — both
regress to the zero-cards failure, so task.status is currently the only value that makes the
view work at all, making this cosmetic bug unavoidable for any functioning kanban board today.

2. pinnedColumns and columnOrder have no effect.

  • pinnedColumns — intended to force specified columns to always render, even with no
    matching tasks (needed for e.g. a 7-day-of-week board where only some days currently have
    tasks). Set as pinnedColumns: "Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday"
    grouped by a formula.weekDay value (also tried grouped by task.status to force
    Open/In-progress/Done/Cancelled columns). In every case, only columns with at least one matching
    task render — empty pinned columns never appear. Confirmed not an embedding-timing issue: same
    result whether the .base file is embedded in a note or opened directly as its own tab. Read
    the installed main.js: the read/normalize/pass-through wiring
    (this.config.get("pinnedColumns") → normalize → addPinnedColumnGroups) looks structurally
    correct end-to-end, yet has no observable effect. No GUI settings panel exposing "Pinned
    Columns" was found either — this was only reachable via direct .base YAML editing.
  • columnOrder — tried as a narrower alternative (reorder existing populated columns rather
    than create empty ones): columnOrder: '{"formula.weekDay":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]}'.
    Also has zero effect — populated columns (e.g. Friday, Saturday, Sunday, Thursday) consistently
    render in plain alphabetical order regardless of the specified order. Verified the JSON wasn't
    silently stripped by any Bases GUI resave — it's present in the file exactly as written, just
    ignored at render time.

Net effect: a kanban view grouped by a derived value (e.g. day of week) can only ever show columns
for values that currently have at least one task, in alphabetical order — with no way to force
consistent column existence or ordering via any documented or discoverable config option.

Steps to Reproduce

For the column-header bug:

  1. Group a tasknotesKanban view by task.status (currently required for the view to populate
    at all — see linked issue).
  2. Add at least one task note with status: open (or any status value).
  3. Open the kanban view. Observe the column header renders raw JSON instead of "Open".

For pinnedColumns/columnOrder:

  1. Create a tasknotesKanban view grouped by a property/formula where only some possible values
    are currently present in the data (e.g. a weekDay formula for a week where only 3 of 7
    weekdays have tasks).
  2. Set pinnedColumns (comma-separated string) to the full list of all possible values. Restart
    Obsidian. Observe: only the 3 populated day-columns appear; the other 4 don't.
  3. Remove pinnedColumns, instead set columnOrder (JSON-string form, see below) to the full
    Monday→Sunday order. Restart Obsidian. Observe: the 3 populated columns still render in
    alphabetical order (e.g. Friday, Saturday, Sunday), not the specified order.

TaskNotes Debug Info

SYSTEM INFO:
	Obsidian version: 1.12.7
	Installer version: 1.12.7
	Operating system: #28~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul  1 15:50:57 UTC 2 7.0.0-28-generic
	Login status: logged in
	Language: en-GB
	Catalyst license: insider
	Insider build toggle: off
	Live preview: on
	Base theme: dark
	Community theme: Baseline 3.2.11
	Snippets enabled: 15
	Restricted mode: off
	Plugins installed: 28
	Plugins enabled: 27
		1: Dynamic Embed v1.1.0
		2: Dataview v0.5.68
		3: Multi-Column Markdown v0.9.1
		4: QuickAdd v2.12.3
		5: Style Settings v1.0.9
		6: Meta Bind v1.4.15
		7: Iconize v2.14.7
		8: Checklist v2.2.14
		9: Journals v2.1.10
		10: Templater v2.20.6
		11: Advanced Canvas v6.5.0
		12: Auto Note Mover v1.2.0
		13: Better Word Count v0.10.1
		14: Book Search v0.7.5
		15: Callout Manager v1.1.1
		16: Editor Syntax Highlight v0.1.3
		17: Image Converter v1.4.4
		18: Note Refactor v1.8.2
		19: Omnisearch v1.29.3
		20: Paste URL into selection v1.11.4
		21: Plugin Update Tracker v1.7.0
		22: Supercharged Links v0.13.10
		23: Tag Wrangler v0.6.4
		24: Update time on edit v2.4.0
		25: Natural Language Dates v0.6.2
		26: Notebook Navigator v3.2.4
		27: TaskNotes v4.11.1

RECOMMENDATIONS:
	Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
	Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

Affected Task Frontmatter

status: open
tags: [task]
due: 2026-07-28

(any task note with a `status` and a date field that maps to the grouped formula reproduces this)

Relevant Bases File Content

- type: tasknotesKanban
    name: Week View
    groupBy:
      property: formula.weekDay
      direction: ASC
    config:
      columnWidth: 280
      hideEmptyColumns: false
      columnOrder: '{"formula.weekDay":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]}'

(`pinnedColumns` was tested as `pinnedColumns: "Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday"` in an earlier version of this same view, in place of `columnOrder`.)

Relevant Settings or Customizations

Default fieldMapping; no custom status labels/icons beyond TaskNotes' stock status definitions.

Console Errors or Logs

None observed in either case.

Screenshots or Screen Recording

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions