-
Notifications
You must be signed in to change notification settings - Fork 271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
/ping command #11
base: torchat_py
Are you sure you want to change the base?
/ping command #11
Conversation
I've tested this with Ruben, and the feature is highly useful. |
I sincerely don't like abuse of the protocol like this, it would be better to implement it as a protocol extension. |
I am not ignoring this pull request ;-) Generally the idea to have commands that do other things than only sending IM is good (/ping or /whatever) using the notation / is also ok (because a GUI like pidgin will recognize that it is a special command) but I am not yet sure where to properly and generically implement the handling of any such command and also not yet sure about whether the ping command should work exactly like you have proposed. Since you brought up this idea I am thinking about it. Only the timing is a little suboptimal: I was really hoping I would not receive pull requests with big feature additions for 0.9.9 anymore and could instead implement all new stuff directly in TorChat 2.0, but I am not progressing as fast as I wanted to, it is quite some work and also currently I also need to reverse engineer a lot of libpurple related stuff (my first purple plugun and they have API docs but no general overview document). I will not close or reject this pull request, I will leave it open to remind me that I need to decide about it eventually. |
@prof7bit I think it's either protocol extensions for every command (which would easily become an infinite list, so it's not reallya good choice), or a single packet to handle all commands that contains the name of the command and the data encoded in JSON or something similar.
This still grants the simpleness in parsing the general protocol but leaves client that want to support commands more freedom in what kind of data can be sent with the commands. The only risk would be clients abusing the packet and implementing features that would be better suited as protocol extensions rather than commands. I think we (as in the various torchat implementors) should work and think together about what protocol extensions would be useful. I'm already writing a prototype for the latency extension and also working on a distributed addressbook extension that came up when brainstorming with the jTorchat guys. Just my 2¢. |
On , "meh."
We don't need son for the data. TorChat packet payload may be arbitrary |
The point would just be to avoid every implementor having their own But whatever, it's probably just better to come up with stable |
On , "meh."
Yes. And for these commands there need to be an additional interface Pidgin for example will detect such "/" commands and communicate them to |
I wrote the latency protocol extension, already implemented in ruby-torchat. Don't think it will need anything else, any feedback? |
I've added a /ping command to test latency between 2 people.
How it works is: