drop support for deprecated xep-0091 in favor of xep-0203

Reported by buzzdee on 2010-01-08
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Coccinella
Low
buzzdee

Bug Description

XEP-0091 Legacy delayed delivery was obsoleted on 2009-05-27.
XEP-0203 is the successor.
Coccinella should switch to support the successor.

http://xmpp.org/extensions/xep-0091.html
http://xmpp.org/extensions/xep-0203.html

buzzdee (sebastia) on 2010-02-11
Changed in coccinella:
assignee: buzzdee (buzzdee) → buzzdee (sebastia)
buzzdee (sebastia) on 2010-03-28
Changed in coccinella:
milestone: 0.96.18 → 0.96.20
buzzdee (sebastia) wrote :

The old xmlns used in XEP-0091 was "jabber:x:delay", the new used in XEP-203 is "urn:xmpp:delay".

In the old XEP, a X element was used, which now is a delay element.

The timestamp in the new XEP now conforms to XEP-082.

following list of files refers to the old jabber:x:delay namespace:
components/Notifier.tcl: set delay [::Jabber::Jlib roster getx $jid "jabber:x:delay"]
components/Growl.tcl: set delay [::Jabber::RosterCmd getx $jid "jabber:x:delay"]
jabber/RosterTree.tcl: set delay [::Jabber::Jlib roster getx $jid "jabber:x:delay"]
jabber/Roster.tcl: $attrArr(-x) x "jabber:x:delay"]
jabber/Jabber.tcl: jabber:x:delay "Object delayed"
jabber/Jabber.tcl:# Takes a list of x-elements, finds any 'jabber:x:delay' x-element.
jabber/Jabber.tcl:# jabber:x:delay stamp attribute or empty. This is ISO 8601.
jabber/Jabber.tcl: set delayList [wrapper::getnamespacefromchilds $xlist x "jabber:x:delay"]
jabber/Jabber.tcl: set xE [wrapper::getfirstchildwithxmlns $xmldata "jabber:x:delay"]
jabber/MailBox.tcl: # Here we should probably check som 'jabber:x:delay' element...
jabber/Chat.tcl: set xattr [list xmlns jabber:x:delay from $from stamp $time]
jabberlib/roster.tcl: set xmlns "jabber:x:delay"

the following list of files seems to refer to the "stamp" attribute:

jabber/RosterTree.tcl: set stamp [wrapper::getattribute $delay stamp]
jabber/RosterTree.tcl: set tstr [::Utils::SmartClockFormat [clock scan $stamp -timezone :UTC]]
jabber/Jabber.tcl:# jabber:x:delay stamp attribute or empty. This is ISO 8601.
jabber/Jabber.tcl: if {[info exists attrArr(stamp)]} {
jabber/Jabber.tcl: set ans $attrArr(stamp)
jabber/Jabber.tcl: return [wrapper::getattribute $xE stamp]
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: if {$stamp ne ""} {
jabber/MailBox.tcl: set secs [clock scan $stamp -timezone :UTC]
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: if {$stamp ne ""} {
jabber/MailBox.tcl: set secs [clock scan $stamp -timezone :UTC]
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: if {$stamp ne ""} {
jabber/MailBox.tcl: set secs [clock scan $stamp -timezone :UTC]
jabber/Chat.tcl:# (via the 'stamp' attribute), as well as JID of the original sender of
jabber/Chat.tcl: set xattr [list xmlns jabber:x:delay from $from stamp $time]
jabber/GroupChat.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/GroupChat.tcl: if {$stamp ne ""} {
jabber/GroupChat.tcl: set secs [clock scan $stamp -timezone :UTC]
jabber/History.tcl: set stamp [::Jabber::GetDelayStamp $xmppE]
jabber/History.tcl: if {$stamp ne ""} {
jabber/History.tcl: set secs [clock scan $stamp -timezone :UTC]
jabberlib/roster.tcl: set stamp [wrapper::getattribute $presA($jid,x,$xmlns) stamp]
jabberlib/roster.tcl: set time [clock scan $stamp -timezone :UTC]

buzzdee (sebastia) wrote :

The delay element of a message is retrieved via ::Jabber::GetDelayStamp, and is used here:

jabber/Jabber.tcl:proc ::Jabber::GetDelayStamp {xmldata} {
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/MailBox.tcl: set tm [::Jabber::GetDelayStamp $xmldata]
jabber/Chat.tcl: set tm [::Jabber::GetDelayStamp $xmldata]
jabber/GroupChat.tcl: set stamp [::Jabber::GetDelayStamp $xmldata]
jabber/History.tcl: set stamp [::Jabber::GetDelayStamp $xmppE]

Or delayed information is retrieved from the roster:
::Jabber::RosterCmd getx
::Jabber::Jlib roster getx

As far as I can see, Coccinella only needs to interpret received delay stamps, so its not sending out the delay stamps.

Changed in coccinella:
status: New → In Progress
buzzdee (sebastia) on 2010-09-14
Changed in coccinella:
milestone: 0.96.20 → 0.96.22
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers