Boolean form fields are not only true if their value is "1", but also
if their value is "true". The new form field API of Smack does already
handle this correctly.
I see that this library has not been updated for a long time. New versions contain fixes and improvements. I think we should update to the latest version.
https://github.com/coobird/thumbnailator/wiki/Changes
A quick test shows that there are no exceptions or errors in the IDE, the avatars are loaded.
Fixes
java.lang.IllegalStateException: Illegal to call getName() when event type is CHARACTERS. Valid states are START_ELEMENT, END_ELEMENT
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.getName(XMLStreamReaderImpl.java:938)
at org.jivesoftware.smack.xml.stax.StaxXmlPullParser.getQName(StaxXmlPullParser.java:123)
at org.jivesoftware.smack.xml.stax.StaxXmlPullParser.getName(StaxXmlPullParser.java:117)
at org.jivesoftware.sparkimpl.profile.ext.VCardUpdateExtension$Provider.parse(VCardUpdateExtension.java:75)
at org.jivesoftware.sparkimpl.profile.ext.VCardUpdateExtension$Provider.parse(VCardUpdateExtension.java:62)
at org.jivesoftware.smack.provider.Provider.parse(Provider.java:53)
at org.jivesoftware.smack.util.PacketParserUtils.parseExtensionElement(PacketParserUtils.java:834)
at org.jivesoftware.smack.util.PacketParserUtils.parsePresence(PacketParserUtils.java:477)
at org.jivesoftware.smack.util.PacketParserUtils.parseStanza(PacketParserUtils.java:115)
at org.jivesoftware.smack.AbstractXMPPConnection.parseAndProcessStanza(AbstractXMPPConnection.java:1457)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1000(XMPPTCPConnection.java:130)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:969)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$700(XMPPTCPConnection.java:913)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:936)
at java.lang.Thread.run(Thread.java:748)
Fixes
WARNING: Failed to parse extension element in Presence stanza: PresenceBuilder(id='3CKfX-105' from='SOMEONE@igniterealtime.org' to='HIDDEN@igniterealtime.org/octarine' language='en-US' type='unavailable' Extension Elements[{vcard-temp❌update}x])
java.lang.IllegalStateException: Illegal to call getName() when event type is CHARACTERS. Valid states are START_ELEMENT, END_ELEMENT
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.getName(XMLStreamReaderImpl.java:938)
at org.jivesoftware.smack.xml.stax.StaxXmlPullParser.getQName(StaxXmlPullParser.java:123)
at org.jivesoftware.smack.xml.stax.StaxXmlPullParser.getName(StaxXmlPullParser.java:117)
at org.jivesoftware.sparkimpl.profile.ext.JabberAvatarExtension$Provider.parse(JabberAvatarExtension.java:69)
at org.jivesoftware.sparkimpl.profile.ext.JabberAvatarExtension$Provider.parse(JabberAvatarExtension.java:56)
at org.jivesoftware.smack.provider.Provider.parse(Provider.java:53)
at org.jivesoftware.smack.util.PacketParserUtils.parseExtensionElement(PacketParserUtils.java:834)
at org.jivesoftware.smack.util.PacketParserUtils.parsePresence(PacketParserUtils.java:477)
at org.jivesoftware.smack.util.PacketParserUtils.parseStanza(PacketParserUtils.java:115)
at org.jivesoftware.smack.AbstractXMPPConnection.parseAndProcessStanza(AbstractXMPPConnection.java:1457)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1000(XMPPTCPConnection.java:130)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:969)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$700(XMPPTCPConnection.java:913)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:936)
at java.lang.Thread.run(Thread.java:748)