channel _from_/_to_ props fall back to _in_ or ID