fix: display issue priority in selector for linear#2175
Conversation
janburzinski
commented
May 21, 2026
Greptile SummaryThis PR adds issue priority display to the Linear integration by fetching
Confidence Score: 5/5Safe to merge — the changes are additive and well-scoped, with no impact on existing data paths for non-Linear providers. The No files require special attention.
|
| Filename | Overview |
|---|---|
| src/shared/tasks.ts | Adds optional priority?: string field to the Issue type — a minimal, non-breaking schema extension. |
| src/main/core/linear/linear-issue-provider.ts | Adds priorityLabel to all three GraphQL fragments (list, search, context) and maps it to priority in toIssue; straightforward data-fetching change. |
| src/main/core/linear/linear-issue-provider.test.ts | Test fixtures and assertions updated to include priorityLabel in mock responses and verify the mapped priority field; coverage is adequate. |
| src/renderer/features/tasks/components/issue-selector/useIssueSearch.ts | Adds stable priority sort (urgent→high→medium→low→none) via useMemo, applied only to the Linear provider; no issues found. |
| src/renderer/features/tasks/components/issue-selector/issue-selector.tsx | Adds IssuePriorityIcon, hasMeaningfulPriority (now exported), and shouldShowStatusDot; refactors IssueRow and SelectedIssueValue to render priority; fixes status color ordering so "blocked/cancelled" takes precedence over "done". |
| src/renderer/features/tasks/components/issue-selector/inline-issue-selector.tsx | Imports hasMeaningfulPriority, computes reservePrioritySpace, fixes placeholder/empty-state strings to use display name, and passes reservePrioritySpace to IssueRow. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Linear GraphQL API] -->|priorityLabel field| B[linear-issue-provider toIssue]
B -->|priority string| C[Issue type in shared/tasks.ts]
C --> D[useIssueSearch sortByPriority]
D --> E{issueProvider?}
E -->|linear| F[sorted by priority]
E -->|other| G[original order]
F --> H[IssueSelector / InlineIssueSelector]
G --> H
H --> I{hasMeaningfulPriority in list?}
I -->|yes| J[reservePrioritySpace = true]
I -->|no| K[reservePrioritySpace = false]
J --> L[IssueRow - IssuePriorityIcon]
K --> L
L --> M{priority value}
M -->|urgent| N[exclamation badge]
M -->|high| O[3 bars active]
M -->|medium| P[2 bars active]
M -->|low| Q[1 bar active]
M -->|no priority or null| R[placeholder span or null]
Reviews (2): Last reviewed commit: "Match Linear urgent priority icon" | Re-trigger Greptile
|
It would be cool if the issues were sorted by severity similar to linears default ui cc: @janburzinski |
Looks like a bug tbh |
|
upsiii, on it :D |
…priority-in-the-issue-modal # Conflicts: # src/renderer/features/tasks/components/issue-selector/useIssueSearch.ts


