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?

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-unsubscr...@lists.horde.org

Reply via email to