You can follow what's going on by dropping some trace into your scope. Basically, your search() method instantiates the query, and the run() method is called to send the query executing in a separate thread.
You are supposed to be quick in search(), just instantiating the query instance and not doing anything else that takes any amount of time. The shell knows that it has successfully reached your scope once your search() method completes. In turn, the scopes runtime triggers the call to run() in response to search() completing. Now, the shell also sends a cancel() message if someone continues typing and there is still a query outstanding. So, you can track what's going on in your scope. Moreover, if you want to implement your own delay, you can do that in run(). Wait as long as you like and, in your cancel() method (which is delivered on a separate thread, so you get the callback even if run() is still executing.) So, the strategy would be to have a delay in run() and to not actually fire the real query to the back-end if no cancel arrives for some amount of time. That way, you can basically implement your own delay without depending on the one used by the shell. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1394455 Title: 100ms timeout for query submission too brief To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/unity-scopes-api/+bug/1394455/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs