diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-06 16:09:30 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-06 16:09:30 -0500 |
| commit | 132496a6fbe5b1190d3b5cc585e940d12e3c92db (patch) | |
| tree | 2923408a17a2d38052a384e91c8b667c9ed1e283 /docs/multi-state-filter-spec.org | |
| parent | 9564501efe2488b9136dc19a7a8d385b8b074b46 (diff) | |
| download | pearl-132496a6fbe5b1190d3b5cc585e940d12e3c92db.tar.gz pearl-132496a6fbe5b1190d3b5cc585e940d12e3c92db.zip | |
fix(views): order group sections by Linear's board order
A grouped view rendered its sections in first-appearance order: whatever order issues came back from the API. So the columns came out scrambled instead of following Linear's board order (Icebox, then In Progress, then Done). Org's own sort couldn't fix it either, since the buffer carried nothing to sort the sections on.
Group sections now order by a per-dimension key. workflowState orders by state type rank (triage, backlog, unstarted, started, completed, canceled), with the state's position breaking ties within a type, so it matches the board. priority orders Urgent down to None last. project, assignee, and cycle have no board order, so they sort alphabetically. One shared helper feeds both the render path and the interactive regroup, so they can't drift.
For the regroup to order without a refetch, the state position has to be in the buffer, so the issue drawer now carries LINEAR-STATE-POSITION (fetched alongside the name and type pearl already pulled). A buffer rendered before this change has no position field and falls back to ordering by type rank alone until its next fetch.
Diffstat (limited to 'docs/multi-state-filter-spec.org')
0 files changed, 0 insertions, 0 deletions
