escalus
escalus copied to clipboard
Setting filter_pred and stream_management=true breaks automatic SM
The problem happens at least in case of escalus_tcp transport due to escalus_connection:maybe_forward_to_owner running the filter before escalus_tcp:forward_to_owner, which extracts SM elements intended for automatic handling. In other words, the filter might filter out SM <r/> elements, which ought to be handled by escalus_tcp. This problem occurred when trying to run an AMOC scenario with SM enabled, but the filter set to only allow messages:
escalus_connection:set_filter_predicate(Client, fun escalus_pred:is_message/1)
This seems to be a duplicate of #64.