Artur Hefczyc opened 4 years ago
|
|
@kobit I'm not sure if that is correct or incorrect behaviour. It looks like BeagleIM is connecting, receives presence subscriptions, then those subscriptions disappear. However, subscription "item" removal is only done after user handles that subscription or after another client does that (ie. roster is changed) or when BeagleIM gets reconnected. I suppose that "a load of" subscriptions and spam caused disconnection of BeagleIM after it received those presences but those presences were not delivered after the reconnection (maybe SPAM filter kicked in and filtered them off?). Disconnection could be triggered by the server due to traffic throttling done by the server as you had many presence requests pending, so BeagleIM sent VCard retrieval stanzas to presence subscription sends. If this happens again, could you try to open XML console and then manually disable your account and reanable it after a few seconds? That should trigger reconnection and we could try to see what was causing it, but I suppose that subsequent presence requests are filtered by SPAM filter after the disconnection triggered by throttling. |
|
Please note, this happens every single time I connect to my account, either by restarting the app or by disabling/enabling account. It does not seem like the connection was reset between the list of subscription requests shows and disappears. I might be wrong so I am attaching XML console dump from one of the sessions when this problem happens. As it may contain sensitivity information I am making this comment visible to Tigase core team only and also the issue.
|
|
@kobit You are correct. There is no reconnection and in XML there is nothing which could justify removal of subscription requests from the sidebar. I'll review the code the later on to look for clues and maybe add some additional logging in BeagleIM to make it possible to diagnose (find a cause of the removal). |
|
How is this going? It seems, right now, I have hundreds of subscription requests which I cannot process. BeagleIM loads the list of subscriptions requests. It takes a few seconds during which it it frozen. Then, the list disappears and requests are no longer visible. Siskin does not show subscription requests at all. Only sometimes as notifications but with that many requests, it is also impossible to process them through notifications either. |
|
I'll look into that just after I'll complete #siskinim-247 which most likely will be finished tomorrow. |
|
It was waiting on my queue, as I'm still not sure how to tackle this issue as I'm not sure what is causing it (I've found nothing when I initially looked over the code). Most likely I'll add some logs and some protections if I'll find any soft spots. |
|
@kobit I've reviewed code more deeply and I think there may be some race condition that could lead to this issue (including "hangup"). I'll try to rewrite part of the code to fix that. |
|
@kobit Could you do a "quick" test? Please try to disable all accounts. Then enable only the one with those unanswered presence subscriptions and check if that will force them to appear. I suppose there is an error which causes removal of presence subscriptions when another account gets disconnected (could be caused by see-other-host). I'll work on fixing the issue either way, but your feedback will be useful to confirm my analysis before I'll release a fix. |
|
With a single account enabled the list does not disappear. It still hangs for a little while but when the app is back responsive, the list is still there and I can act on the subscription request. Please note the subscription list is quite long, for sure more than 100 requests, maybe 300 or so. It is hard to tell. Maybe some processing like requesting vcards on the UI thread is blocking the app when the list is loaded? |
|
Actually, there were about 500 requests on one account and another 60-70 on another. |
|
Yes, that is actually what is going on. The UI thread is locked. I’ll work on a fix for that as well. |
|
I was able to speed up subscription requests appearance by "delaying" them by 0.2s and then adding them in bulks. With that I was able to show/add 500 subscriptions in a less than a second. The actual performance may be lower but should be a lot faster. I've also fixed the issue with subscription disappearing. |
|
Fix will be released with next build. |
Type |
Bug
|
Priority |
Normal
|
Assignee | |
Version |
4.1
|
Spent time |
5h 30m
|
When I open a client, it connects, loads all chats and then the subscription requests list shows for a second and then it disappears completely. Then I have no way to deal with subscriptions requests properly on desktop app. Here is a link to the motion gif: https://www.dropbox.com/s/p0fnyxojl7bglmd/CleanShot%202020-09-11%20at%2016.08.01.gif?dl=0