diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-03 07:52:30 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-03 07:52:30 -0500 |
| commit | 580309bb65a5e529c7aab5e58d3983a37c471023 (patch) | |
| tree | 10ebe78cbd8909a39ba126c77a560bc96174817a /tests/test-pearl-normalize.el | |
| parent | 6ef196e306320804b80a502dab29dbafd12285bc (diff) | |
| download | pearl-580309bb65a5e529c7aab5e58d3983a37c471023.tar.gz pearl-580309bb65a5e529c7aab5e58d3983a37c471023.zip | |
fix(views): honor a Linear view's completed-issues display preference
A Linear view that hides completed issues still showed done and cancelled issues when run in pearl. The open-only restriction isn't in the view's filterData. It's a separate display preference, viewPreferencesValues.showCompletedIssues, which pearl fetched for sort but never applied. So the customView.issues connection returned every state type, and a "by status" or "open issues" view didn't look like itself.
I now read showCompletedIssues alongside the sort fields and translate it to an IssueFilter passed to the connection, AND-combined with the view's own filter. "all" adds nothing, "none" excludes the closed state types (completed, canceled, duplicate), and a recency window (day/week/month/quarter/year) keeps open issues plus those completed or canceled within the window. I stamp the raw preference on the source so a refresh rebuilds the window relative to the refresh time rather than first-run time.
Both entry points route through a shared pearl--view-node-prefs resolver, so pearl-run-linear-view and a favorited view picked in pearl-pick-source behave the same. That also closes a latent gap where the pick-source path ignored the view's configured sort.
Verified live against the workspace: a "none" view returns only open issues, and a "week" view returns open issues plus those closed within seven days, with none older leaking through.
Diffstat (limited to 'tests/test-pearl-normalize.el')
0 files changed, 0 insertions, 0 deletions
