Do

Lag when typing "c<something>"

Bug #409546 reported by Eyal Wiener
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Do
Invalid
Undecided
Unassigned
Do Plugins
Confirmed
Low
Chris S.

Bug Description

Scenario:
When i start a query that begins with a 'c' letter i get a lag of 5 seconds until i can continue.

Cause (My guess):
Why 'c'?
When its stuck, its stuck on the "Chat" action item. The "Chat" item appears as first result to the query "c", for it being the most highly rated.
Why it gets stuck?
My guess is that when the "Chat" action item appears, Do is trying to load its second pane items for me, but something goes wrong there, maybe there is a direct contacts query to pidgin, which lags, and causes this bug.

Revision history for this message
Chris S. (cszikszoy) wrote : Re: [Bug 409546] [NEW] Lag when typing "c<something>"

This more than likely is the result of some plugin. Can you narrow it
down to a specific plugin and report a bug against it in lp:do-plugins
?

On Wed, Aug 5, 2009 at 2:08 PM, Eyal Wiener<email address hidden> wrote:
> Public bug reported:
>
> Scenario:
> When i start a query that begins with a 'c' letter i get a lag of 5 seconds until i can continue.
>
> Cause (My guess):
> Why 'c'?
> When its stuck, its stuck on the "Chat" action item. The "Chat" item appears as first result to the query "c", for it being the most highly rated.
> Why it gets stuck?
> My guess is that when the "Chat" action item appears, Do is trying to load its second pane items for me, but something goes wrong there, maybe there is a direct contacts query to pidgin, which lags, and causes this bug.
>
> ** Affects: do
>     Importance: Undecided
>         Status: New
>
> --
> Lag when typing "c<something>"
> https://bugs.launchpad.net/bugs/409546
> You received this bug notification because you are a member of GNOME Do
> Core Team, which is subscribed to GNOME Do.
>

Revision history for this message
Eyal Wiener (eyalw) wrote :

sure
(probably pidgin plugin)

Revision history for this message
Alex Launi (alexlauni) wrote : Re: [Bug 409546] Re: Lag when typing "c<something>"

Im doubting this. Can you tell us all of the plugins you have installed?

--
--Alex Launi

Revision history for this message
Eyal Wiener (eyalw) wrote :

I just disabled the Pidgin plugin and the bug dissapeared
so im pretty sure it is related to the "Chat" action item of the Pidgin plugin.
when i get the lag, the second pane item is not loaded yet, and after the lag the second pane item appears.

Revision history for this message
Alex Launi (alexlauni) wrote :

Chris has tracked this down, I think he's looking at it.

Changed in do:
status: New → Invalid
Changed in do-plugins:
importance: Undecided → Low
status: New → Confirmed
assignee: nobody → Chris S. (cszikszoy)
Revision history for this message
Alex Launi (alexlauni) wrote :

Chris has tracked this down, I think he's looking at it. A work around may be to search for your contact first, instead of Chat first. We tend to recommend you do item -> action instead of action -> item

Revision history for this message
Eyal Wiener (eyalw) wrote :

I can't avoid it, since i didn't mean to select "Chat", its just the highest relevance item that comes up on first query letter 'c'.

I highly encourage to disable the action as item support (or at least by default), i think its confusing and doesnt give all that much.
When I wrote MightyBox (http://eyaw.com) and i addressed this problem of how should the user input his commands, I researched the subject and this is what i came up with (a paragraph from mighty box wiki):

"The three-panel interface consists of constructing a command in a way that resembles to constructing a sentence in the English language, which makes it very intuitive. In linguistic typology, subject-verb-object (SVO) is a sentence structure where the subject comes first, the verb second, and the object(param) third. Mighty Box uses this common order found in more than 75% of the world's languages. It is also the most common order developed in Creole languages, suggesting that it may be somehow more initially 'obvious' to human psychology.
"

Revision history for this message
Alex Launi (alexlauni) wrote :

We don't have action as item support, we do the same thing mighty box does.
I don't really know what you're talking about.

--
-- Alex Launi

Revision history for this message
Eyal Wiener (eyalw) wrote :

i call the 3 panes subject-action-parameter (SVO)

in Do i can have subject-action-parameter OR action-subject-parameter

for example contact-map , or map-contact
contact-chat, or chat-contact
...
thats what im talking about

Revision history for this message
David Siegel (djsiegel-deactivatedaccount) wrote :

Yes, we understand. (Item, Action) or (Item, Action, Item) are the suggested and preferred orderings, but Actions are allowed to come first. Placing the Action first does incur a performance penalty, which is the main reason not to allow it. Arguing that "SVO" ordering corresponds to 75% of natural languages is not a good reason to drop our optional support for another schema. Also, Action-first works very well when using Actions that operate on selected text.

Revision history for this message
Chris S. (cszikszoy) wrote :

This is basically due to the chat action limiting the valid items to
users who are online. To do the online check, I have to hit DBUS and
ask pidgin for the online / offline status of each contact. Obviously
if your contact list is long, this will take a while. I could get
around this by giving the contacts an online/offline property, but
then I would only be able to update that property whenever the
universe was refreshed. Obviously this would introduce some margin of
error. If contact A was online during the last universe refresh, but
signed off recently, "Chat" would be a valid action for this contact,
even though they are not online.

So, that's the problem, anyone have any thoughts on how best to fix it?

Revision history for this message
Eyal Wiener (eyalw) wrote :

If we wish to fix this in an ideal way, we are actually talking about gnome-Do's core limitation,
the fact we have to wait for the universe to be indexed in say 5 minutes, is not right.

We need to have a way for plugins to request their catalog re-indexed immediately upon changes.
if we implement that, not only we eliminate this issue, but also fix the file system plugin inconsistency issues with files being added/removed, but the universe does not get updated. for example i delete a file, and it remains in the universe until the next indexing. the same happens for new files...

Revision history for this message
Alex Launi (alexlauni) wrote :

There's a seperate bug opened for this, it's planned.

--
-- Alex Launi

Revision history for this message
Chris S. (cszikszoy) wrote :

You're basically talking about the asynchronous backend we've been
wanting for a while. I agree that would be nice, but unfortunately in
this case, it wouldn't help. Even if the pidgin plugin could request
to have its item sources refreshed, there's no way for me to determine
when that should happen. Pidgin's DBUS interface doesn't make use of
signals, so there's really no way for Do to know when a contact has
signed in or signed out.

Revision history for this message
Tobi Fink (n4p) wrote :

I got the same Problem which is very annoying. I don't use the Pidgin chat plugin that much because i'm not able to send messages to all my contacts. Now that Chris pointed out, that the plugin refreshes the status of every user in the list it's obvious that it may take a while and i'm not able to contact offline buddies. But consider a possibility or an option in the plugin to avoid the reindexing which would have two upsides for me since it would speed up the process and i would be able to contact offline buddies.
Given the fact that most IM protocols allow offline messages (at least the ones i use like ICQ and Jabber) this would be a nice to have.

Revision history for this message
Chris S. (cszikszoy) wrote :

You can contact offline buddies just fine. You must "arrow in" to a contact and select the relevant protocol for the "chat" action to be available. The reason for this is that not every protocol supports offline messaging, so you can't simply select a Contact, and use the "Chat" action (unless that user is signed in to one of the protocols).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.