According to https://secure.phabricator.com/book/phabricator/article/projects/#subprojects, it's okay for a task to be tagged with multiple subprojects that have a common ancestor project. When you do that and then query for tasks tagged with the ancestor (either from maniphest advanced search or via conduit) any result page which contains the multi-subproject'd task will not have a "Next" button or an "after" value for the pagination cursor even if there are more results that should be shown.
Repro Steps
- Create a project (we'll call it A)
- Create two subprojects of A (B and C)
- Create several tasks each tagged with one of the above projects
- Create a task that is tagged with B and C (we'll call this Problem Task)
- Edit one of the tasks you created in step 3 so it has a more recent update time than Problem Task
- Go to /maniphest/query/advanced/
- Query for projects tagged with A, Group By None, Order By Date Updated (Latest First), Limit 2.
At this point you'd expect to see a "Next" button at the bottom of the page, but there is not. If you increase the Limit to 10, you'll see that it returns more results than 2. Any page of results that contains Problem Task won't have a "Next" button on it (ie. if you set Limit to 1 and page through to Problem Task). The same happens when you perform the same query via /conduit/method/maniphest.search; there is no "after" value in the cursor even though there should be more results.
Version Info
phabricator c4392ba067575c5c5a6523df25dd5b341bcc1be4 (May 24 2017)
arcanist 129d51fa0936c9bae48fadf3a3f39e26d69d24da (May 18 2017)
phutil a900d7b63e954e221efe140f0f33d3d701524aae (Sun, Apr 23)