Skip to content

fix(async): allow Symfony Process 8 - #367

Open
ngunyimacharia wants to merge 2 commits into
NativePHP:component-async-apifrom
ngunyimacharia:fix/async-task-symfony8
Open

fix(async): allow Symfony Process 8#367
ngunyimacharia wants to merge 2 commits into
NativePHP:component-async-apifrom
ngunyimacharia:fix/async-task-symfony8

Conversation

@ngunyimacharia

@ngunyimacharia ngunyimacharia commented Aug 24, 2026

Copy link
Copy Markdown

Summary

  • allow symfony/process 8.x alongside the existing 6.x and 7.x support
  • let applications on a secure Symfony 8 lock consume AsyncTask without disabling Composer security advisory blocking

Why

The current ^6.2|^7.0 constraint prevents Composer from resolving #228 in consumers whose policy blocks all matching Symfony 6/7 releases for advisories, even when they already run Symfony Process 8.

The package requires PHP ^8.4, which satisfies Symfony Process 8. Direct Process usage on this branch stays within APIs available in Symfony 8.

Verification

  • composer validate --strict
  • reviewed all direct Symfony\Component\Process usage against Symfony 8

A full upstream composer update --dry-run remains blocked locally by an unrelated PHP 8.5 / legacy test dependency conflict (orchestra/testbench / Pest / PHPUnit), not this constraint.

ngunyimacharia and others added 2 commits August 24, 2026 08:55
NativePHP dispatched native events and polls only on the root screen, so nested

native components never received their #[On] handlers or had their #[Poll]

timers driven by the host runloop. Extract the listener path so the same

handler-resolution logic recurses into nativeChildComponents, and extend

nextEventTimeout/runDuePolls with the same recursion. Keep the protected

signature of dispatchNativeEvent() unchanged and guard the named-binding

whole-payload fallback so existing one-array-param listeners still work.

Add Pest coverage for child #[Poll] recursion, child #[On] delivery, and

child-poll timeout aggregation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant