This is the last diff in the stack - where I tested everything end-to-end:
1. Logged to Identity on clients A and B
2. Create an outbound session on client A with client B.
3. Send a couple of messages from A to B.
4. Verify that messages are decrypted on B before B sends anything to A.
5. Send a couple of encrypted messages from B to A just in case and make sure it's decrypted correctly.
Tested multiple combinations, (native <> native, native <> web, web <> native).