After extended testing on the package (Fatastic work guys here. Works great, is fast and never breaks despite having several concurrent connections on it :)
I notticed recently that if a user added a buddy (hosted by the jml), the jml buddy appeared as 'OFFLINE' on the users contact list and as ONLINE on the jml one.
Messages can of course be sent to him from the jml buddy but due to the restrictions imposed to offline users on the msn client, he can't reply.
The user is certainly present in the RL list but can't seem to force him to show on the FL and/or AL ones
The weird thing is that if the user deletes the jml buddy and then adds it again, it does show as on-line.
I have tried updating to the latest verion (Posted issue) which does show the contact online but following Murphy, breaks somere elese more critical. (here also, the user did appear on RL but not AL or FL)
First question would be if anyone else has experienced this problem. Second, has anybody got a pointer?
Best regards
Alex
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi, Alex
I think that the problem is on unblock methods, infact when I try to add a buddy the classic MSN client receives the message, but the problem is that when the listener receives the event that a contact add Him, the method in the listener trys to unblockfriend of the contact that contact him.
This method doesn't work.
If I connect the account that before is used by JML with a classic client, the contact added before is in blocked status, for this reason the unblockfriend doesn't work.
Do you have a solution? I'm using the jml-1.0b3 version.
thanks for your attention
Rino
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Rino.
Interesting observation. I must admit that when I run the checks to find out which lists the newly added user was part of, I did not see him as belonging to the BL list. However a possible way forward could be here.
I need to run a few tests with add / remove / move to list to see if the system responds.
For the record, if you add a jml buddy then delete it and add it again (on the msn client) the contact does show as online and allows 2way communication.
More in a bit.
Alex
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Alex
the problem is very strange because
the first time that I execute the addfriend, the client shows me the frame to accept the contact but the client correctly added appear off line.
If I re-execute the same code, when the addfriend method is executed the second time, the account immediatly appears on line.
Is possible that there is a problem with list account sincronization?
There is a method to force this sincronization?
thanks Alex
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think I found what the problem was, but not a fully working solution (yet)
on its execution, addFriend attempts to add the contact to the AL and FL lists.
Subsequent checks to contact.isInList show that the contact is on the FL list from the beginning but not on the AL.
Now FL confirms almost straight away (after two or 3 addFriend rq's)
16-Oct-2008 11:15:19 net.sf.jml.protocol.MsnSession$1 messageReceived
INFO: sara@buddy@jml.address NS <<< ADC 29 FL N=msnclient@hotmail.com F=name C=99d16b13ab6
I placed addFriend routines in separate parts of the code to see if the repetition made any difference and it did. The contact goes online after a confirmation is sent from the MSN of user belonging to the AL
INFO: buddy@jml.address NS <<< ADC 47 AL N=msnclient@hotmail.com
As to why it responds after a longer time, its not quite clear yet.
Alex
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Unfortunately, I have not found a clean work-arround.
The method I'm following is launch a thread to keep re-adding the user until he shows in both the AL and FL lists while he is online.
Alex
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Alex
I try this solution but I have problem because, I'm using JML on a server with many threads lunched, sometimes, the server crash during the work of the adding thread. Also is possible that I have many concurrency connections.
Also I cannot log off the server and re-add user at log on, for this reason I'm working with the account that appears off line, infact I receive the messages from that account.
Only one question, There is a method to syncronize the lists of the different users?
thanks for you attention
Rino
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi.
After extended testing on the package (Fatastic work guys here. Works great, is fast and never breaks despite having several concurrent connections on it :)
I notticed recently that if a user added a buddy (hosted by the jml), the jml buddy appeared as 'OFFLINE' on the users contact list and as ONLINE on the jml one.
Messages can of course be sent to him from the jml buddy but due to the restrictions imposed to offline users on the msn client, he can't reply.
The user is certainly present in the RL list but can't seem to force him to show on the FL and/or AL ones
The weird thing is that if the user deletes the jml buddy and then adds it again, it does show as on-line.
I have tried updating to the latest verion (Posted issue) which does show the contact online but following Murphy, breaks somere elese more critical. (here also, the user did appear on RL but not AL or FL)
First question would be if anyone else has experienced this problem. Second, has anybody got a pointer?
Best regards
Alex
I have the same problem
:(
If you don't have a lot of traffic on the accounts or large user sizes, you can overcome the problem by using the most up to date SVN version.
If you do have traffic, the latest release won't help you.
Tell me what you've tried, perhaps that way we can find out a solution which will benefit the forum.
Alex
Hi, Alex
I think that the problem is on unblock methods, infact when I try to add a buddy the classic MSN client receives the message, but the problem is that when the listener receives the event that a contact add Him, the method in the listener trys to unblockfriend of the contact that contact him.
This method doesn't work.
If I connect the account that before is used by JML with a classic client, the contact added before is in blocked status, for this reason the unblockfriend doesn't work.
Do you have a solution? I'm using the jml-1.0b3 version.
thanks for your attention
Rino
Hi Rino.
Interesting observation. I must admit that when I run the checks to find out which lists the newly added user was part of, I did not see him as belonging to the BL list. However a possible way forward could be here.
I need to run a few tests with add / remove / move to list to see if the system responds.
For the record, if you add a jml buddy then delete it and add it again (on the msn client) the contact does show as online and allows 2way communication.
More in a bit.
Alex
Hi Alex
the problem is very strange because
the first time that I execute the addfriend, the client shows me the frame to accept the contact but the client correctly added appear off line.
If I re-execute the same code, when the addfriend method is executed the second time, the account immediatly appears on line.
Is possible that there is a problem with list account sincronization?
There is a method to force this sincronization?
thanks Alex
Hi Rino.
I think I found what the problem was, but not a fully working solution (yet)
on its execution, addFriend attempts to add the contact to the AL and FL lists.
Subsequent checks to contact.isInList show that the contact is on the FL list from the beginning but not on the AL.
16-Oct-2008 11:15:18 net.sf.jml.protocol.MsnSession$1 messageSent
INFO: buddy@jml.address NS >>> ADC 29 FL N=msnclient@hotmail.com F=name
16-Oct-2008 11:15:18 net.sf.jml.protocol.MsnSession$1 messageSent
INFO: buddy@jml.address NS >>> ADC 30 AL N=msnclient@hotmail.com
Now FL confirms almost straight away (after two or 3 addFriend rq's)
16-Oct-2008 11:15:19 net.sf.jml.protocol.MsnSession$1 messageReceived
INFO: sara@buddy@jml.address NS <<< ADC 29 FL N=msnclient@hotmail.com F=name C=99d16b13ab6
I placed addFriend routines in separate parts of the code to see if the repetition made any difference and it did. The contact goes online after a confirmation is sent from the MSN of user belonging to the AL
INFO: buddy@jml.address NS <<< ADC 47 AL N=msnclient@hotmail.com
As to why it responds after a longer time, its not quite clear yet.
Alex
Ok, I've got it working now via a UserAdder thread which checks every sec for the user belonging to the AL List.
Its not very taxing since all it takes is a few iterations to add the buddy. If you need it, I can send you the class.
Forum Gurus: Can anybody else think of a different way to do this?
Cheers
Alex
I'm thinking to a solution, if I'll found it, I'll send it to everybody
thanks Alex
Rino
The retries for the addition do work but they can take a substantial amount of attempts(50+).
There must be an easier solution than this (and must be affecting quite a lot of folk out there ...)
Again, any pointers will be inmensly appreciated.
Regards
Alex
Is there a good workaround?
This does work: Add a user. (User accepts) Log off. Login. Re-add the user.
When you add a user, (User accepts), log-off, and sign in onto a messenger like pidgin, it asks if you want tho authorize the user.
Hi Remco.
Unfortunately, I have not found a clean work-arround.
The method I'm following is launch a thread to keep re-adding the user until he shows in both the AL and FL lists while he is online.
Alex
Hi Alex
I try this solution but I have problem because, I'm using JML on a server with many threads lunched, sometimes, the server crash during the work of the adding thread. Also is possible that I have many concurrency connections.
Also I cannot log off the server and re-add user at log on, for this reason I'm working with the account that appears off line, infact I receive the messages from that account.
Only one question, There is a method to syncronize the lists of the different users?
thanks for you attention
Rino
Remco, I can certainly post the class and the instructions on how to use it.
Could someone in the group let me know what is the policy on posting files?. If not, I can place it in one of my servers for download.
Alex
I've got it working (for me). Simply (create and) move the just added user to a group.
Hope it works for everyone ^_^
Example:
String groupname = "test";
messenger.addGroup(groupname);
messenger.addFriend(email, email.getEmailAddress() );
messenger.moveFriend(email, "", groupname );