-
pep.
So what should "publishing a pubsub item with an existing ID" do? keep the original published position? make it a new published item?
-
singpolyma
pep.: Remove the old item but bring to front the new item in order, sounds like
-
pep.
Should a retract be issued?
-
pep.
That'd be weird I guess..
-
pep.
edhelas, goffi ^
-
pep.
I guess as a client it "doesn't really matter", you'll want to use order-by when you depend on the order of items
-
singpolyma
I don't think you need a retract since you get the new item
-
pep.
But terminology matters for servers here, if we specify "discard-oldest" we need to know what oldest means so all implementations delete the same
-
Guus
What defines the age though? Creation date? Last update date?
-
pep.
To quote MattJ, "there is no date" :P
-
pep.
It'd be creation/publication time(date)
-
pep.
Guus, that's what we're trying to ""clarify""
-
singpolyma
Update "time"
-
pep.
"Update" isn't a specified operation it seems atm
-
Guus
To quote Buzz Lightyear: dates, dates everywhere
-
pep.
Only publication and retraction
-
singpolyma
Well, it is
-
singpolyma
That's what we're talking about
-
singpolyma
Publish with same ID overwrites
-
pep.
singpolyma, well the spec doesn't say, does it
-
singpolyma
And makes the item "new"
-
pep.
That's what we're trying to clarify
-
singpolyma
Sure, the discussion started because we need to add words that say that
-
pep.
Yes
-
MattJ
> If a publisher publishes an item and the ItemID matches that of an existing item, the pubsub service MUST overwrite the existing item and generate a new event notification.
-
pep.
> Note: If a publisher publishes an item with an Item ID and the ItemID matches that of an existing item, the pubsub service MUST NOT fail the publication but instead MUST overwrite the existing item and generate a new event notification (i.e., re-publication is equivalent to modification). This also.✎ -
pep.
> Note: If a publisher publishes an item with an Item ID and the ItemID matches that of an existing item, the pubsub service MUST NOT fail the publication but instead MUST overwrite the existing item and generate a new event notification (i.e., re-publication is equivalent to modification). This also. ✏
-
pep.
So it's possible to modify an item?
-
pep.
But that still doesn't say much about the order IMO
-
goffi
pep.: publishing a item with existing ID is publishing a new item (i.e. not overwriting), so there is no position to keep. The Order-By XEP (XEP-0413) that I've authored introduces the overwriting notion, but with XEP-0060 alone, it's a new item, and the old one disappear (but I would not expect a retract).
-
goffi
and yes order-by is mentioned after, sorry I'm answering while reading.
-
goffi
with XEP-0060 alone, there is no "update"
-
goffi
again, it's introduced by XEP-0413
-
pep.
So.. there seems to be consensus already around the existing item being removed from the node and the new one to be published? In the two quotes above from 0060, it says "overwrite", which is confusing
-
goffi
yeah, no there is no overwrite, I remember talking about that with ralphm at some point.
-
pep.
So.. in 0060 there is no way to "update" an item. That settles it
-
goffi
yes
-
goffi
it's even said in XEP-0413: "In XEP-0060, there is no such thing as "updated item". This XEP changes the business logic as follow:" (in Glossary)
-
pep.
Yep thanks
-
MattJ
> It is RECOMMENDED for the service to follow the "first in, first out" rule and delete the oldest item. Depending on node configuration, deletion of an existing item MAY result in sending of a delete notification to the subscribers.
-
pep.
hmm
-
pep.
"Depending on node configuration"? Which one
-
goffi
BTW, slide topic change, but is the EDITOR situation fixed now?
-
pep.
EDITOR=vim. Fixed
-
MattJ
goffi: we had new editors step up before the resignation of the old one, so from that perspective there wasn't anything to fix
-
pep.
MattJ, pubsub#notify_delete? :/
-
pep.
So the default behaviour would be delete-oldest and not disacrd-oldest?
-
MattJ
Obviously there has been a period for the new editors to get up to speed, but we're getting there
-
pep.
Basically the "retract" I propose?
- pep. goes reading the difference between delete and retract
-
MattJ
pep.: I think it means retraction notifications
-
MattJ
I don't think there is anything else, but I'm prepared to be surprised by XEP-0060 as usual
-
pep.
Well there's notify_delete and notify_retract
-
pep.
Maybe delete applies to a node and not an item
-
MattJ
Makes sense, but do the notifications look any different to the recipient? 🤔
-
goffi
MattJ: OK thanks. I was wondering because I haven't seem much activities in XEPs lastly.
-
pep.
https://xmpp.org/extensions/xep-0060.html#publisher-delete Looks like it's the case yeah, delete -> node, retract -> items. Even though the use of "Delete" in the spec is confusing
-
MattJ
goffi: I think the email announcements of XEP changes are WIP, but stuff has been happening regardless
-
goffi
MattJ: OK great. And thanks to the people involved.
-
MattJ
Mostly Kev to thank right now 🙂
-
goffi
so thanks Kev :)
-
pep.
I'll modify this part of the spec as well then, the RECOMMENDED sentence
-
goffi
pep.: I have followed from a distance, but a delete by default would be niced from a caching point of view.
-
goffi
nicer*
-
pep.
what do you mean "a delete"?
-
goffi
I mean receiving a notification when items are retracted due to full node, instead of simply discarding them. Otherwise you don't know that you can remove the item from cache.
-
pep.
Well it seems the spec already recommends a retraction
-
MattJ
If the server's order is well-defined, and max_items is set and known, you should be able to work that out locally without the overhead of an additional notification on every publish
-
pep.
Yeah but the server should be able to do something about it anyway, when a publish happens in this case
-
goffi
if max_items is know it should be fine indeed, but is it given in node metadata by every pubsub service?
-
MattJ
I'm okay with that being configurable, and okay with it being default/recommended, but I would like it to be possible to silently discard old items if configured that way
-
MattJ
goffi: it should be
-
MattJ
It's one of the standard config fields
-
pep.
MattJ, if configured this way then sure. But that certainly shouldn't be the default as RECOMMENDED/SHOULD in the spec
-
goffi
I'm OK with it being configurable too, defintely, it should be configurable
-
MattJ
+1
-
MattJ
I'm pretty sure Prosody has no capability to notify in this case, but I can certainly add it
-
goffi
I don't think Libervia Pubsub does it either to be honest. Something to add in my (very very long) TODO list
-
goffi
That, and a way to redirect Prosody internal pubsub API to the component.