Fish Trophy

QuLogic got a fish trophy!

Fish Trophy

Remove support for XEP 0115 Legacy Format

Review Request #1881 — Created Oct. 5, 2022 and submitted — Latest diff uploaded

Information

pidgin/pidgin
default

Reviewers

This was made legacy in v1.5, which was released in 2008, so I think it's time to remove support for the older format. We ourselves do not send it either.

Moving to 1.5-only means the hash attribute is now mandatory, and we ignore ext, so a whole bunch of code to track the latter can be deleted. Since there are no longer multiple requests made to determine capabilities, there is no longer any need to ref-count callback data.

In my existing xmpp-caps.xml, there are 1176 clients, of which 912 are announcing 53 unique ext identifiers.

There are 6 that do so without a hash (meaning older than 1.5) and without an identity (xpath: '/*/client[not(@hash) and ext and not(identity)]'), and are either Google Talk, or Pidgin/Telepathy advertising Google Talk features.

For the ones that don't have a hash (again, meaning older than 1.5) and with an identity:

  • The Google Talk/Chat/mail/whatever identifiers (camera-v1, location-v1, phone-v1, pmuc-v1, share-v1, sidebar, sms-v1, vavinvite-v1, video-v1, voice-v1) can be ignored now.
  • The iChat identifiers (audio, auxvideo, avavail, avcap, ice, maudio, mvideo, rdclient, rdmuxing, rdserver, recauth, video) can also be ignored now.
  • We don't support the Miranda extension mir_notes anyway.
  • activity and mood are advertised by Miranda older than 0.95.3.11706 which is from 2015, but they are for XEP-0107 and XEP-0108 and should be found the normal way.
  • adiumcmd is advertised by older Pidgin to be http://jabber.org/protocol/commands, but we definitely advertise that the new way now, and there's no need to be compatible with Adium.
  • avatar, avatardata, avatarmeta, bob, buzz, ibb, mood, moodn, smileys, tune, tunen, are all advertised by old Pidgin; didn't bother looking for the XEPs because we no longer advertise this way anyway. And by 'old Pidgin', I mean 2.6.0devel, aka pre-2009, (and some random 3.0.2gobject-devel version).
  • cmds is advertised by QIP Infium <9045, but there's been QIP 2010 and 2012 since then. I don't have any caps from the latter, but they're ~8-11 years old.
  • ca, cs, cv, ep-notify, ep-notify-2 e-time, html, last-act mr, nick, nickn, sxe, whiteboard are advertised by Psi+ < 0.16, which seems ancient as they merged back into Psi in 2017, and I'm seeing Psi+ with hashes so it's doing it the new way now.
  • cstates is advertised by Gajim 0.11.4 (14 years ago according to their GitLab), but current versions use the new method.
  • jingle-audio and jingle-video are advertised by Telepathy, but at the same time they advertise the new way.

Commits

Files