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 hardens Reviewed by Cursor Bugbot for commit de64f20. 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 |






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