Summary
GetIssueRelations claims to return all relations, but it requests one unpaginated page from each of Linear's relations and inverseRelations connections. Linear documents both connections as defaulting to 50 items, so linctl issue relation list silently omits relations after the first 50 in either direction.
Current code
pkg/api/queries.go requests nodes only for each connection. It does not request pageInfo, pass an after cursor, or loop until hasNextPage is false.
Proposed fix
- Fetch
pageInfo { hasNextPage endCursor } for both connections.
- Page independently through forward and inverse connections, preserving the
Inverse flag on rows from the latter.
- Add API tests with multiple mocked pages for each direction, and a command-level regression test showing that all counterparts appear.
The implementation should not rely on the API default page size; pass an explicit first value and continue until exhausted.
Related: #59 corrected relation direction rendering, but it does not address incomplete result sets.
Summary
GetIssueRelationsclaims to return all relations, but it requests one unpaginated page from each of Linear'srelationsandinverseRelationsconnections. Linear documents both connections as defaulting to 50 items, solinctl issue relation listsilently omits relations after the first 50 in either direction.Current code
pkg/api/queries.gorequestsnodesonly for each connection. It does not requestpageInfo, pass anaftercursor, or loop untilhasNextPageis false.Proposed fix
pageInfo { hasNextPage endCursor }for both connections.Inverseflag on rows from the latter.The implementation should not rely on the API default page size; pass an explicit
firstvalue and continue until exhausted.Related: #59 corrected relation direction rendering, but it does not address incomplete result sets.