Bug Description
When multiple handlers match an activity (e.g., multiple on_invoke handlers), the middleware chain returns the response from the first handler that executes, even if that handler returns None to signal "not handled".
The expected behavior is that the chain should return the first non-None response from any handler in the chain.
Handlers returning None may not call ctx.next() because None semantically means "pass"
Steps to Reproduce
- Register multiple app.on_invoke() handlers
- First handler checks activity name, returns None if not matching
- Second handler should handle the event but never executes (or its response is ignored)
Expected Behavior
allow multipal on_invokes and or better selectores intrafaces
Actual Behavior
see Steps to Reproduce
SDK Version
2.0.0a6
Python Version
313
Additional Context
No response