Repository navigation
Conversation
Introduce showFast on GET api/1.1/tasks/{id} when API_FAST_TASK is enabled,
keeping the same endpoint and response shape while reducing duplicate work on
large request payloads.
- Strip `data` from the include list so `requestData` is not built twice
- Load task via Eloquent and process request metadata via raw SQL without
the `data` column; hydrate relations with selective columns
- Add TaskResource::fromTokenWithIncludes() to avoid preprocessInclude re-query
- Resolve request data from DB when processRequest has no `data` attribute
(showFast path and Nayra empty datastore)
- Guard includeBpmnTagName when BPMN definition is missing
- Add TaskShowFastResponseTimeTest (parity + median timing vs legacy includes)
Config: API_FAST_TASK=false by default in config/app.php
Timing: TASK_SHOW_FAST_MAX_RATIO (default 0.53) for the benchmark test
https://processmaker.atlassian.net/browse/FOUR-30668
PR SummaryMedium Risk Overview The controller delegates to Also null-guards Reviewed by Cursor Bugbot for commit b28ad97. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
QA server K8S was successfully deployed https://tenant-1.ci-023a748934.engk8s.processmaker.net |
|
QA server K8S was successfully deployed https://tenant-1.ci-023a748934.engk8s.processmaker.net |
- Load process_requests.data in TaskV11ShowFastRepository when showFast includes requestData, instead of extending DataManager. - Restore DataManager to develop behavior; drop resolveRequestDataFromToken. - Fix empty include after stripping data (remove query param, trim parts). - Guard includeBpmnTagName when BPMN definition is missing on fast path. - Add test for include=data-only on API_FAST_TASK; remove DataManager hydration unit test superseded by fast-path parity. https://processmaker.atlassian.net/browse/FOUR-30668
Re-add tests/Feature/Api/V1_1/ProcessVariableControllerTest.php from develop after it was removed by mistake. Keeps FOUR-30668 aligned with develop for unrelated V1.1 process-variables coverage. https://processmaker.atlassian.net/browse/FOUR-30668
Restore tests/Feature/DataManagerTest.php from develop to drop an unrelated import-only diff. Fast-path request data coverage remains in TaskShowFastResponseTimeTest. https://processmaker.atlassian.net/browse/FOUR-30668
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ 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 d1b4ecb. Configure here.
…owFast - Rename env/config from API_FAST_TASK / app.api_fast_task to OPTIMIZED_TASKS_START_ENABLED / app.optimized_tasks_start_enabled (default remains false; V1_1 TaskController::show gates showFast on the new key) - TaskV11ShowFastRepository: load process requestor with USER_COLUMNS instead of a slim REQUESTOR_COLUMNS set so requestor matches legacy TaskResource output - TaskShowFastResponseTimeTest: use the new config key in all scenarios; document OPTIMIZED_TASKS_START_ENABLED in the class docblock; assert requestor.username and requestor.status parity between legacy and optimized responses Note: deployments must set OPTIMIZED_TASKS_START_ENABLED instead of API_FAST_TASK. https://processmaker.atlassian.net/browse/FOUR-30668
|
QA server K8S was successfully deployed https://tenant-1.ci-023a748934.engk8s.processmaker.net |
|
@gproly please check this unit test issue |
Raise TASK_SHOW_FAST_MAX_RATIO default from 0.58 to 0.62 so the task_show_fast_timing benchmark stays within threshold on shared CI runners with limited CPU/IO, while still requiring showFast to beat legacy median time. https://processmaker.atlassian.net/browse/FOUR-30668
|
QA server K8S was successfully deployed https://tenant-1.ci-023a748934.engk8s.processmaker.net |
Bump TASK_SHOW_FAST_MAX_RATIO from 0.62 to 0.66 so the benchmark assertion stays stable on constrained CI runners where median timings vary while showFast remains faster than legacy. https://processmaker.atlassian.net/browse/FOUR-30668
|
QA server K8S was successfully deployed https://tenant-1.ci-023a748934.engk8s.processmaker.net |
… feature/FOUR-30668
|





Introduce showFast on GET api/1.1/tasks/{id} when API_FAST_TASK is enabled, keeping the same endpoint and response shape while reducing duplicate work on large request payloads.
datafrom the include list sorequestDatais not built twicedatacolumn; hydrate relations with selective columnsdataattribute (showFast path and Nayra empty datastore)Config: API_FAST_TASK=false by default in config/app.php
Timing: TASK_SHOW_FAST_MAX_RATIO (default 0.53) for the benchmark test
https://processmaker.atlassian.net/browse/FOUR-30668
Run:
./vendor/bin/phpunit tests/Feature/Api/V1_1/TaskShowFastResponseTimeTest.php
Tests:
datakey)Threshold env:
TASK_SHOW_FAST_MAX_RATIO=0.53 default (~47% faster)
TASK_SHOW_FAST_MAX_RATIO=0.40 ~60% faster
TASK_SHOW_FAST_MAX_RATIO=0.30 ~70% faster
Rule: fast_median <= legacy_median * ratio
Improvement % ≈ (1 - fast/legacy) * 100 (same machine/DB each time)
ci:deploy