Repository navigation
Conversation
…detailed documentation
Introduce PUT /api/1.1/tasks/{id} for COMPLETED status, gated by
TASK_UPDATE_V1_1_ENABLED, with optional raw token persistence behind
TOKEN_PERSISTENCE_RAW_ENABLED.
https://processmaker.atlassian.net/browse/FOUR-32800
Batch-load listing relations after pagination to avoid per-row queries for process version alternative, active tasks, process categories, and project assets while preserving the existing API response shape. - Add ProcessRequestListingRawRepository to hydrate activeTasks (raw SQL) and process data (Eloquent + batched projects/categories) - Use withAggregate for process_version_alternative and read it without lazy-loading ProcessVersion - Add activeTasks relation and use preloaded data in ProcessRequests - Preload projects JSON and reuse loaded categories in Process accessors - Apply hydration in index and getRequestsByCase - Add bounded query-count feature test https://processmaker.atlassian.net/browse/FOUR-32947
feat(FOUR-32801): improve Jobs execution when the PUT tasks endpoint is executed
feat(FOUR-32800): add v1.1 task completion endpoint with raw SQL path
FOUR-32800: test compares legacy and optimized
…ng and optimizing pagination
…nd response structure validation
…mps are null Prevent task completion failures when recording the Prometheus activity_execution_time_seconds histogram in BpmnSubscriber. Fall back to created_at and completed_at when created_at_ms or completed_at_ms are unavailable, and skip the metric observation when either timestamp is still missing. https://processmaker.atlassian.net/browse/FOUR-33645
FOUR-32144: Improve the api PUT /api/1.0/tasks/{task-id}
FOUR-32946 Improve the API /api/1.0/processes
perf(FOUR-32947): reduce N+1 queries on requests listing (FOUR-32947)
fix(FOUR-33645): guard activity execution time metric when ms timesta…
FOUR-32126: Inbox >> First loading is to slow
PR SummaryHigh Risk Overview Tasks and workflow: When Listings and hydration: Process index moves to paginated queries, drops heavy columns ( Frontend: Axios gets an optional GET cache + in-flight deduplication layer; process catalog calls no longer request Other: Recommendation job deduplication ( Reviewed by Cursor Bugbot for commit 4b6f9ce. Bugbot is set up for automated code reviews on this repo. Configure here. |
| { | ||
| if (config('app.processmaker_optimized_tasks_enabled')) { | ||
| return (new V1_1TaskController())->indexOptimized($request, $getTotal, $user); | ||
| } |
There was a problem hiding this comment.
Optimized tasks controller missing constructor argument
High Severity
GET /api/1.0/tasks now does new V1_1TaskController() while that class requires TaskCompletionRawService. Manual new skips the container, so the inbox path throws ArgumentCountError whenever processmaker_optimized_tasks_enabled is on, which is the default.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit d80baef. Configure here.
Use npm branch builds for modeler, screen-builder, and vue-form-elements, and Packagist dev-epic/FOUR-32144 for package-savedsearch. Co-authored-by: Cursor <cursoragent@cursor.com>
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 3 potential issues.
There are 4 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 4b6f9ce. Configure here.
| if (!$includeData) { | ||
| $q->exclude(['data']); | ||
| } | ||
| }; |
There was a problem hiding this comment.
Invalid parent_id on task include
High Severity
The optimized task list selects parent_id on processRequest. Request rows use parent_request_id, so include=processRequest (the inbox default) hits an unknown-column SQL error and the task list fails.
Reviewed by Cursor Bugbot for commit 4b6f9ce. Configure here.
| if (!$includeData) { | ||
| $q->exclude(['data']); | ||
| } | ||
| }; |
There was a problem hiding this comment.
Task include data column dropped
High Severity
include=data never selects process_requests.data. The constrained processRequest select omits data, and token JSON columns stay excluded, so saved-search and inbox data.* columns render empty even though the client requested them.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 4b6f9ce. Configure here.
|
|
||
| $features['mix_manifest'] = $this->fileVersion(public_path('mix-manifest.json')); | ||
|
|
||
| return $features; |
There was a problem hiding this comment.
ETag ignores Vite asset changes
Medium Severity
The tasks-page ETag versions mix-manifest.json but not the Vite build manifest. A Vite-only deploy can keep the same ETag, so browsers receive 304 and keep a stale /tasks shell after assets change.
Reviewed by Cursor Bugbot for commit 4b6f9ce. Configure here.







Issue & Reproduction Steps
In this branch already merge all the changes related to the perfomance staff
Related Tickets & Packages
Code Review Checklist
PR Packages
ProcessMaker/screen-builder#1917
ProcessMaker/vue-form-elements#475
https://github.com/ProcessMaker/package-savedsearch/pull/706