BUG/false logic in jingle plugin

I always wonder why theres no call pc to pc button/menu for a contact that is logged in with psi and spark. now i have the solution - and i want to propose a minor fix for your code:

imagine the following flow:

user A is logged in with psi 0.10 (not supporting jingle)

user B loggs in with spark 2.5.3 and sees user A online, not having jingle enabled (whats correct)

user A loggs in with spark 2.5.3

user B still thinks A has no jingle support.

thats because you’‘re probing for jingle support only on loading the plugin. although you have a presence listener that removes jingle-support (at least i think that the code from JinglePlugin.addPresenceListener() does this) you don’'t add a presence listener that probes a client for jingle support when it comes online with an least another resource.

i think there sould be spend some more time in the logic how to detect jeingle support and the code from JinglePlugin.addPresenceListener() is not correct either … i think …

imagine the following:

user A logged in with spark

user B logged in with spark

(both see that the other has jingle enabled)

user A loggs in with psi 0.10

(nothing changes for both of them in spark)

user A loggs out with psi

JinglePlugin.addPresenceListener() from user B defects a !presence.isAvailable() and removes jingle-support for user A what is wrong …