[imp] 'attach_body_check' hook prevents IMP smartmobile view to send message with 'attachment' word when there's no attachment
Leonardo Bruno Lopes
leonardo at cefetmg.br
Thu Apr 13 16:54:44 UTC 2017
Citando Michael J Rubinsky <mrubinsk at horde.org>:
> Quoting Leonardo Bruno Lopes <leonardo at cefetmg.br>:
>
>> Hi everyone!
>>
>> I have the following situation:
>>
>> Scenario: User is composing a message on the IMP smartmobile view.
>> The 'attach_body_check' IMP hook is enabled and configured with a
>> set of 'attachments' keywords. Horde/IMP is installed using Debian
>> 8 official packages, 'php-horde' is 5.2.1 and 'php-horde-imp' is
>> 6.2.2-3.
>>
>> It's well know that Debian ships a jQuery version which is not IMP
>> compatible. So, to be able to use even the very basic mail features
>> in smartmobile view, I needed to update jQuery / jQuery-mobile libs
>> to versions 1.12.4 / 1.3.2. I did this just by sym-linking default
>> files to the updated ones and the Horde smartmobile view worked
>> correctly (not only IMP, but Turba, Kronolith and Ingo also).
>>
>> Symptoms: When using the IMP smartmobile view, it will not be
>> possible to send a message without attachments if in the message
>> body text there is any of the keywords defined in the
>> 'attach_body_check' IMP hook.
>>
>> The first attempt to send will show -- as it is expected -- a
>> warning message informing that none attachments are indeed present.
>> However, the next attempts present the same behavior: a message
>> warns about the absence of attachments and the message is not sent.
>> It will only be sent if: 1) you remove the keyword(s) from the
>> message, or 2) add some attachment, or 3) disable the hook.
>>
>> What I could see, by now: after a little debugging I detected that,
>> in some way, the 'IMP_Factory_Compose' class constructor is called
>> as many times as the user clicks 'Send' button while composing
>> messages on the smartmobile, according to the above described
>> scenario.
>>
>> This behavior seems to be incorrect, as this constructor is called
>> just once when using the Dynamic view which works correctly.
>>
>> I could also see that each time the 'IMP_Factory_Compose'
>> constructor is called, a new 'object' is generated with the
>> '_metadata["attach_body_check"]' attribute unset/empty. A different
>> value for the '_cacheid' attribute is generated every time the user
>> clicks 'Send'.
>>
>> This -- I suppose -- is causing the attach body verification code
>> to always detect the currently being composed message as a
>> 'new-still-no-verified' message, which is consistent with the
>> endless loop behavior while trying to send the message.
>>
>> As the smartmobile view is primarily driven by jQuery /
>> jQuery-mobile, this can be either related the the Horde JS code or
>> to the library itself.
>>
>> Remarks:
>> 1. Only the smartmobile view is affected. Dynamic view on both
>> desktop and mobile main browsers sends the messages at the 2nd
>> attempt.
>> 2. The tests where performed with the default Horde and IMP prefs.
>> The only hook enabled was 'attach_body_check'.
>> 3. This issue also affects the IMP version 6.2.17-1 which is to be
>> shipped in the 'php-horde-imp' Debian stretch package.
>>
>> Can anyone cast some light on this? Is this a Debian package
>> related bug or Horde/IMP bug?
>
> Please create a ticket on bugs.horde.org. I can reproduce this locally.
Thanks Mike.
I will do it right now.
Leonardo
>
>> Best regards,
>> Leonardo
>>
>>
>>
>> --
>> Esta mensagem foi verificada pelo sistema de antivírus e
>> acredita-se estar livre de perigo.
>>
>> --
>> imp mailing list
>> Frequently Asked Questions: http://wiki.horde.org/FAQ
>> To unsubscribe, mail: imp-unsubscribe at lists.horde.org
>
>
>
> --
> mike
> The Horde Project
> http://www.horde.org
> https://www.facebook.com/hordeproject
> https://www.twitter.com/hordeproject
--
Esta mensagem foi verificada pelo sistema de antivírus e
acredita-se estar livre de perigo.
More information about the imp
mailing list