tasks pagination#3946
Merged
Merged
Conversation
fiftin
commented
Jun 11, 2026
Collaborator
- feat(tasks): pagination
- feat(tasks): pagination
There was a problem hiding this comment.
Security review — no findings
Reviewed the pagination changes in api/projects/tasks.go, db/sql/task.go, api/router.go, and web/src/views/project/History.vue. No prior automation review threads were open on this PR.
Scope checked
- Keyset cursor (
before) and page size (count/limit) parsing - SQL construction for
BeforeID - Auth middleware on task list routes (
ProjectMiddleware,GetMustCanMiddleware) - Controller refactor (
helpers.Store(r)→ injectedc.store) - Frontend pagination request construction
Why nothing was reported
beforeis parsed withstrconv.Atoi, rejected unless> 0, and bound as a parameterized predicate (task.id < ?) inside a query already scoped bytpl.project_id(andtemplate_idon template routes). No SQL injection or cross-project IDOR path.- Page size is capped at 200 (
maxTasksPageSize); invalid values fall back safely. - Task list endpoints remain behind authenticated project membership; middleware wiring is unchanged aside from method receiver refactor.
- Injected
storeis the same singleton passed intoRoute(); request-context store was also a single shared instance — no authz bypass from the refactor. - History UI builds URLs from numeric
projectId/perPage/cursor IDs; Vue/Vuetify escaping for rendered task fields is unchanged.
Slack summary: PR #3946 (tasks pagination) — clean. No medium/high/critical vulnerabilities identified in the added or modified code.
Sent by Cursor Automation: Find vulnerabilities
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

