assumes 'invisibility' is supported
Gajim does a bad job of seeing if the server supports invisibility. When it first connects it tries jabber:iq:privacy a few times, seemingly ignoring the server if it returns an error. Then when you set to 'invisible' it tries jabber:iq:privacy again, and when that fails it tries <presence type='invisible'>, and when that fails it ignores the error and says you're invisible anyway.