On Mon, May 14, 2018, at 4:52 PM, Stephan Bosch wrote:> > > Op 25/04/2018 om 22:49 schreef James Cassell: > > On Wed, Apr 25, 2018, at 3:20 PM, Stephan Bosch wrote: > >> > >> Specify the ID used for duplicate checking explicitly using the > >> :uniqueid argument (https://tools.ietf.org/html/rfc7352#section-3.1). > >> Using the variables extenion, compose the uniqueid from the message-id > >> and the mailbox name. > >> > > In my experience with dovecot's implementation, you can set the ID only once in a script. If you try to filter duplicates based on multiple IDs, only the first (or last, I don't remember) takes effect. > > > > Do you have a detailed example of the supposed wrong behavior? >I don't have them readily available. Basically, the result of the first duplicate test in a script is taken as the result of any future duplicate test, even if the parameters to that future duplicate test in the same script are different and would otherwise result in a different output. The duplicate test is only evaluated once and its results are substituted everywhere. For example, I might want to flag a message as a new conversation if I have not seen another message with the same subject. In the same script, I might want to discard messages that are exactly identical including message ID among others. The dovecot behavior would be to discard all messages that match a subject of previously received message.> Regards, > > Stephan.V/r, James Cassell
Op 14/05/2018 om 23:03 schreef James Cassell:> > On Mon, May 14, 2018, at 4:52 PM, Stephan Bosch wrote: >> >> Op 25/04/2018 om 22:49 schreef James Cassell: >>> On Wed, Apr 25, 2018, at 3:20 PM, Stephan Bosch wrote: >>>> Specify the ID used for duplicate checking explicitly using the >>>> :uniqueid argument (https://tools.ietf.org/html/rfc7352#section-3.1). >>>> Using the variables extenion, compose the uniqueid from the message-id >>>> and the mailbox name. >>>> >>> In my experience with dovecot's implementation, you can set the ID only once in a script. If you try to filter duplicates based on multiple IDs, only the first (or last, I don't remember) takes effect. >>> >> Do you have a detailed example of the supposed wrong behavior? >> > I don't have them readily available. Basically, the result of the first duplicate test in a script is taken as the result of any future duplicate test, even if the parameters to that future duplicate test in the same script are different and would otherwise result in a different output. The duplicate test is only evaluated once and its results are substituted everywhere. > > For example, I might want to flag a message as a new conversation if I have not seen another message with the same subject. In the same script, I might want to discard messages that are exactly identical including message ID among others. The dovecot behavior would be to discard all messages that match a subject of previously received message.I finally managed to review this issue and I can confirm that this is a bug. Regards, Stephan.
On 17/08/2018 09:14, Stephan Bosch wrote:> > > Op 14/05/2018 om 23:03 schreef James Cassell: >> >> On Mon, May 14, 2018, at 4:52 PM, Stephan Bosch wrote: >>> >>> Op 25/04/2018 om 22:49 schreef James Cassell: >>>> On Wed, Apr 25, 2018, at 3:20 PM, Stephan Bosch wrote: >>>>> Specify the ID used for duplicate checking explicitly using the >>>>> :uniqueid argument (https://tools.ietf.org/html/rfc7352#section-3.1). >>>>> Using the variables extenion, compose the uniqueid from the >>>>> message-id >>>>> and the mailbox name. >>>>> >>>> In my experience with dovecot's implementation, you can set the ID >>>> only once in a script.? If you try to filter duplicates based on >>>> multiple IDs, only the first (or last, I don't remember) takes effect. >>>> >>> Do you have a detailed example of the supposed wrong behavior? >>> >> I don't have them readily available. Basically, the result of the >> first duplicate test in a script is taken as the result of any future >> duplicate test, even if the parameters to that future duplicate test >> in the same script are different and would otherwise result in a >> different output. The duplicate test is only evaluated once and its >> results are substituted everywhere. >> >> For example, I might want to flag a message as a new conversation if >> I have not seen another message with the same subject. In the same >> script, I might want to discard messages that are exactly identical >> including message ID among others. The dovecot behavior would be to >> discard all messages that match a subject of previously received >> message. > > I finally managed to review this issue and I can confirm that this is > a bug.Fix released in 2.3.9. Regards, Stephan.