Quicksearch does not work on Android mobile devices - SuiteCRM 7 and 8

Excuse my English

Good evening, first of all thank you for reading my message and I hope you can understand what is happening and can help me with advice or whatever you may consider.

It is difficult for me, since I am not an expert programmer who is trying to open the way in these times in which we live, to find the solution to this error that has occurred in Suite CRM since time immemorial and that reaches the most recent version, which is the 8.0.2 or 7.12.3.

The problem I need to solve is easy to check. It occurs when Suite CRM is accessed from a mobile phone with an Android system and with the Google Chrome browser.

If you previously have an account registered in the Account module with the name Antonio, for example, and then go to the invoice module and create a new invoice, you can verify that if Antonio’s name is entered in the Account box, the Quicksearch does not return any result, it does not work, you have to click on the button with an arrow that opens the popup where you have the list of available accounts for you to choose.

On the other hand, if you do the same with a mobile phone with IOS, an iPhone, the Account box within the creation of the invoice quickly shows you Antonio when you start to write it on it and allows you to load it directly without having to access the entire list.

For some reason the autocomplete functionality that is done in that Account box within the creation of the Invoice (which I think is no longer done with the YUI library but with Jquery, although I am not entirely sure) is not compatible with systems Android and with browsers as popular as Google Chrome, which greatly limits its use by users who have these devices and want to use CRM Suite from their mobile. And that’s precisely where I need it to work, right there in that account box within invoice creation.

Thanks in advance, delighted to know your impressions, assessment, solution or what you can tell me.

A cordial greeting.

I don’t know of any solution, you should consider paying someone knowledgeable in Javascript (not me) to figure out the interactions between Chrome Android auto-complete feature and SuiteCRM’s YUI auto-complete mechanism (something called SQS inside the code).

Probably the solution will involve telling Chrome to stop messing with this. But disabling it just for one site is messy and the solutions are hacky. I’m not even sure it’s the same problem, since this one doesn’t involve password fields which have special treatment by browsers.

Thank you, what you tell me is very helpful. I think that the autocomplete function that Google Chrome has by default is canceled and this line says so:

input type=“text” name=“billing_account” class=“sqsEnabled yui-ac-input” tabindex=“0” id=“billing_account” size="" value="" title="" autocomplete=“off”

But I don’t understand why the Google Chrome android browser doesn’t let the Suite CRM (SQS) YUI autocomplete work and instead it works correctly in Google Chrome on PC or in Google Chrome Iphone.

I think that as you indicate the problem is in an incompatibility between some of the Suite CRM YUI function with Google Chrome android. I’d be happy to get in touch with a javascript expert who knows the solution.

I just realized that it might be interesting to see what the Android Google Chrome browser does if I put autocomplete=“on”

I would also try

autocomplete="false"

and

autocomplete="new-password"

and any other ideas you find in that post I linked.

Thanks!!! I am investigating where to apply the change.

I don’t know where to find the line:

input type=“text” name=“billing_account” class=“sqsEnabled yui-ac-input” tabindex=“0” id=“billing_account” size="" value="" title="" autocomplete=“off”

Suite CRM compresses the javascript in the cache, so my change may not take effect if I do not do it correctly.

I will post any news.

Tests can be done by entering the cache/include/javascript folder and making the modification in the files involved, which are sugar_grp_yui_widgets.js, sugar_grp1_jquery.js and sugar_grp1_yui.js

I use Notepad++ to find out where “autocomplete”,“off” is and replace it with “autocomplete”,“new-text”, “autocomplete”,“nope”, “autocomplete”,“false”, “autocomplete”,“new -password” or “autocomplete”,“on”. No change occurs. I will investigate further, it is possible that the problem is not caused by “autocomplete”,“off” but by sqsEnabled or another javascript function

1 Like

Jaume of SinergiaCRM who collaborates in the improvement of Suite CRM on github helps us with this answer:

I have been able to reproduce the problem on Android 11.

I have found these 2 links about the incompatibility between the autocomplete.js library and Android:

https://www.drupal.org/project/drupal/issues/2909128

I have tried to understand how it is implemented in SuiteCRM and I think it depends on these 2 files (next to it I indicate its minimised version):

include/javascript/yui/build/autocomplete/autocomplete.js
(include/javascript/yui/build/autocomplete/autocomplete-min.js)

jssource/src_files/include/javascript/quicksearch.js (include/javascript/quicksearch.js)

The code of both files is grouped into sugar_grp1_yui.js

@cherub-chum has commented:

This is definitely a know issue on Android for autocomplete fields. Clearly JS is not triggering the events when user types something into this field.
since you have identified the files in your blogpost i would suggest you can compare any working Autocomplete page like Autocomplete | jQuery UI and check in code difference on why it works and not the one is the CRM.

for the moment i am a bit busy with some projects but when i have some time i shall check back.