Skip to content

fix(kanban): stop swimlane labels covering the first column (#2507) - #2508

Merged
callumalpass merged 1 commit into
mainfrom
fix/2507-kanban-swimlane-first-column
Nov 5, 2026
Merged

callumalpass merged 1 commit into
mainfrom
fix/2507-kanban-swimlane-first-column

Conversation

@callumalpass

Copy link
Copy Markdown
Owner

Fixes #2507. Thanks to alentangzy-jpg for reporting it.

Cause

styles/bases-views.css set .kanban-view__swimlane-row > :first-child to 150px under @media (max-width: 1200px) and 120px under @media (max-width: 768px). The rule dates from before the rows used a grid. Since d0dd3ad37 (first tagged in 4.1.0) the label column has been a fixed 120px grid track, so from 769px to 1200px the 150px label overflows its track. The label is sticky with z-index: 5, so it covers the first 30px of the first column in the header and every lane. Scrolling cannot reveal that strip.

This depends on window width, not macOS or monitor orientation. It reproduces on Linux. The media query reads the viewport, so a narrow pane in a window over 1200px is not affected. The reporter's screenshots match: the label is 150px wide at 1080px and 120px at 1920px.

#2485, #2487 and the 4.16.0 collapsed-column work did not cause this. The 4.15.0 stylesheet shows the same overlap, and swimlane header cells have no collapse control.

Fix

Remove both fixed widths so the label fills its grid track at every window size. The label column is now 120px throughout, and the padding and font-size rules in those media queries stay. Mobile layouts already set their own label width through --kanban-swimlane-label-width.

Tests

  • New e2e e2e/issues/issue-2507-kanban-swimlane-first-column.spec.ts checks with elementFromPoint that the first column's left edge is not covered at 1200, 1080 and 769px. This spec fails on main.
  • Measured on isolated Obsidian 1.14.2, with columnWidth: 280 and a formula swimlane:
Viewport Before: label / track / overlap After
1920, 1280, 1201 120 / 120 / 0 120 / 120 / 0
1200, 1080, 1000, 769 150 / 120 / 30px 120 / 120 / 0
768, 600 120 / 120 / 0 120 / 120 / 0

Between 769px and 1200px a media query widened the sticky label to 150px
while its grid track stayed 120px, so it covered the first 30px of the
first column at every scroll position. Drop the fixed widths so the label
fills its track at all window sizes.
@callumalpass
callumalpass merged commit 6f77258 into main Nov 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: First column is clipped in Kanban swimlane mode on macOS vertical monitor

1 participant