Libpurple had constant breakage due to proprietary apps having no incentive to keep their protocols stable. A lot of it worked easier then since no one was using e2ee either. Newer gateways exist in the space but it’s a real shame since for a brief time the earlier 2010s, most chat applications were using the same protocol—until they realized it’s harder to capture profits when the garden walls are lowered.