(Argh, hit commit before filling the bug description) All TpSignaledMessage created by TpTextChannel should be guaranteed to have its sender prepared with factory contact features. This affects tp_text_channel_get_pending_messages(), "message-received", "message-sent" and "pending-message-removed". We probably don't want to reorder members-changed and message-received signals, so implementation should probably reuse the same GQueue as made in bug #38248.
Patch available, based on the branch for bug #38248
Code looks good but add at least one check in the test asserting that contact features are prepared.
unit test added, branch merged.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.