-
Notifications
You must be signed in to change notification settings - Fork 73
Description
Hi Spiff Team,
Summary
The task-info API returns all completed task nodes for a process instance with no server-side pagination. In large workflows, this results in very large payloads, causing backend latency and degraded UI performance. Adding pagination would significantly improve scalability and user experience.
Affected API
GET /process-instances/{modified_process_model_identifier}/{process_instance_id}/task-info
Example:
/process-instances/intermediate-playground2:intermediate-playground-sri/1234/task-info?most_recent_tasks_only=true
Problem Details
Backend Impact
- API returns all completed task nodes without pagination.
- Swagger documentation shows no parameters for limiting or paging results.
- Large workflows can return 1,400+ task events.
- Each task includes instruction data of ~34 KB, resulting in a total response size of ~7 MB.
- Large responses cause increased response time and backend load.
UI Impact
- Loading large task-info slow down the UI and negatively impact user experience.
Proposed Enhancement
Add server-side pagination support to the task-info API to enable incremental and on-demand data fetching.
Suggested parameters:
page / offset
page_size or limit
Optional improvements:
- Lightweight response mode excluding large instruction payloads unless explicitly requested.
Acceptance Criteria
- task-info API supports server-side pagination
- Clients can limit the number of task records returned per request
- API response includes pagination metadata (e.g. total records, page info)
- Backward compatibility is preserved for existing consumers
- Swagger documentation is updated with the new parameters
Benefits
- Reduced response payload size
- Improved backend performance
- Faster UI rendering and better user experience
- Better scalability for large workflows
Please let us know if additional details, would be helpful.
Thanks for considering this enhancement.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status