-
Holger
MattJ, are the new MAM filter fields 'before-id' and 'after-id' exactly equivalent to RSM's before/after except that they're allowed to be combined?
-
Holger
MattJ, if so, couldn't the "server MUST return an item-not-found" thing be limited to those new fields, as clients who rely on that behavior could just use the new fields?
-
MattJ
Holger, so allow non-existent ids in RSM to proceed without an error?
-
MattJ
That would be a breaking change, no?
-
lovetox
and what would the server return Holger ? a complete=true?
-
Holger
> so allow non-existent ids in RSM to proceed without an error? Yes, as permitted by XEP-0059. It would be nice if generic XEP-0059 code could avoid special-casing MAM. > That would be a breaking change, no? I guess. Unless that MUST was added after the :2 bump?
-
Holger
(I think you didn't have it in earlier 0313 revisions, but I'm not sure at what point it was added and can't find it in the revision history.)
-
lovetox
Holger, but the item-not-found is not a special case for mam
-
lovetox
https://xmpp.org/extensions/xep-0059.html#notfound
-
Holger
Anyway if it was added before the :2 bump I see how it would be a breaking change, so it might just be an item for the next bump.
-
Holger
If you'd be fine with that change in general.
-
Holger
lovetox, that 0059 section allows servers to return an actual result if one of "the following circumstances" doesn't apply.
-
lovetox
sounds weird but yes it says "all circumstances must apply"
-
lovetox
hell knows why
-
lovetox
but what would you return?
-
lovetox
say you delete the database, i request the last mam-id which is invalid
-
lovetox
how would i get my latest messages?
-
lovetox
if you dont return an error
-
Holger
> The UID itself cannot be used to derive directly the next item within the set (e.g. the alphabetical or numerical order of the UIDs do not specify the order of the items). ejabberd has numerically ordered UIDs. If you request <after>42</after> it'll return the messages with UIDs >42.
-
lovetox
yeah you have, but thats just your implementation and ordering is not required
-
Holger
Sure.
-
lovetox
still if you reset your database
-
lovetox
you start with 1
-
lovetox
i request 1000
-
lovetox
what do you return?
-
lovetox
nothing? then i just lost messages
-
Holger
You ask me about my implementation and then you complain that I'm just talking my implementation 🙂
-
Holger
ejabberd's UIDs are timestamps. So nothing bad happens in your "reset DB" example.
-
Holger
But I don't think this is relevant.
-
lovetox
so what happens if i request mam-id=asd
-
lovetox
or are you saying you dont want to send an error in the specific case that you can determine a correct result?
-
Holger
XEP-0059 says "servers can do $foo if the conditions $bar apply". XEP-0313 says "servers must do XEP-0059 except that they can't do $foo even if the conditions $bar apply". That's the part I don't like.
-
lovetox
but in others where you not, you still would send an error
-
Holger
> or are you saying you dont want to send an error in the specific case that you can determine a correct result? Right. XEP-0059 says that.
-
Holger
> but in others where you not, you still would send an error Right.
-
Holger
lovetox, actually I seem to remember you arguing the other way round and liking my behavior because it avoids another MAM request 😉
-
lovetox
im not arguing for anything currently, i just wanted to understand your proposal
-
lovetox
at first i thought it was, send never an error
-
MattJ
Holger, can you take it to the list? Partly because I don't have the bandwidth to think about it today, partly because I don't want to forget you asked, and partly because I think other peoples' input would be good
-
lovetox
now i understand it, sounds good to me
-
Holger
MattJ, ok!
-
MattJ
I think if it weren't for backwards compatibility, this restriction would indeed not need to apply to RSM
-
MattJ
so if we can find some loophole or way to remove it, we probably can
-
Holger
MattJ, apart from this question; my understanding that `before-id` and `after-id` are equivalent to the RSM elements except for being combinable is correct?
-
Holger
I.e. I guess being able to combine them was the motivation to add them to 0313?
-
lovetox
i think equivalent is the wrong word
-
lovetox
before and after set in a rsm combined makes no sense, so no its not equivalent
-
lovetox
yeah if you think RSM is a filter and not a paging mechanism then it would be equivalent
-
lovetox
but its not
-
Holger
Right.
-
Holger
Yes yes I agree 🙂
-
lovetox
:D
-
MattJ
Holger: yes, being able to combine them was the reason
-
Holger
Ok, thanks!
-
MattJ
Since many people requested that and abusing RSM even further seemed like an undesirable path
-
Holger
Yup, makes sense.
-
lovetox
puh implementing vcard4 spec is .. challenging
-
lovetox
i would say its so complex that probably no one right now implements it in full
-
lovetox
and we are probably in a situation where one impl overwrites data that it does not understand
-
MattJ
lovetox: what problems do you face?
-
lovetox
i don’t yet, i just think its very much work to implement vcard4
-
lovetox
i dont think you can support a subset
-
lovetox
you have to implement the whole spec
-
lovetox
otherwise when you receive a vcard with properties and values you dont know, its very hard to "keep" them and push them again out, and only change some fields you support
-
lovetox
in vcard temp it was more like a simple key:value store
-
lovetox
with lets say 20-25 keys, so it was not hard to support all of them
-
lovetox
now you have various "parameters" for all the values, there are "groups" which group values
-
lovetox
im working on implementing this now, i keep you posted :)
-
pep.
lovetox: you'll need to support something like this for bookmarks2 anyway :p
-
lovetox
no pep. i dont think you can compare that
-
lovetox
in bookmarks2 there is a dedicated element which is an extension
-
lovetox
you save it away and you are finished
-
lovetox
in vcard this would be insanely more hard
-
pep.
lovetox: same issue when you start implementing extensions
-
lovetox
very theoretical discussion as there is not even one extension
-
lovetox
but yes 10 years, and 20 different extensions and you are halfway in vcard :)
-
Zash
What extensions to vcard-temp have there been?
-
Link Mauve
Zash, JABBER-ID was an extension compared to vCard 1 IIRC.
-
Link Mauve
I’m not aware of anything else.
-
Zash
Not sure that's the kind of extension lovetox was talking about?
-
Link Mauve
JABBERID* sorry.
-
Link Mauve
Ah, I only read the very last message before replying. :-°
-
Link Mauve
Probably not then.
-
lovetox
im not talking about extensions, pep. talks about extensions
-
Zash
JABBERID and DESC and whatever were additions compared to the never finished vcard xml variant of vcard3
-
Link Mauve
Right.
-
lovetox
im saying the vcard4 spec is big, supports many things, and i consider it very hard to support a subset
-
lovetox
without losing half the data on every update of course
-
pep.
well I already know of 1 non-standard one :x