[jitsi-dev] Work in progress - how to proceed?


#1

Hi,

As I've said earlier, I was looking into a new library for implementing
IRC support. I now have a very basic client working. It currently does
not even handle any mode changes, except for few simple ones... but you
can send messages and receive them.

During the implementation I've also fixed a few minor issues some w.r.t.
tab-completion of user names.

Now, I am actually wondering how to proceed.
1. What is the preferred way to deliver changes: a bunch of smaller
patches for these fixes and then IRC support as a big patch when a
"first version" is done? (In case of small patches, it might be
interesting to send some of these already ...)
2. How can I best approach unit testing. I get the impression from the
Developers documentation that I would have to create a bunch of accounts
(10+, if I am not exagerating ... :slight_smile:

Thanks,
Danny

PS: In case people are curious. I use github to back up this code during
development. It can be found at
https://github.com/cobratbq/jitsi/tree/ircapi (branch 'ircapi'). Also
note that, currently, I am shamelessly rebasing the code upon the HEAD
of jitsi, so expect history to change for this repo ...


#2

Hey

As I've said earlier, I was looking into a new library for implementing
IRC support. I now have a very basic client working. It currently does
not even handle any mode changes, except for few simple ones... but you
can send messages and receive them.

That already sounds great! How did you go about the license problem?

During the implementation I've also fixed a few minor issues some w.r.t.
tab-completion of user names.

Now, I am actually wondering how to proceed.
1. What is the preferred way to deliver changes: a bunch of smaller
patches for these fixes and then IRC support as a big patch when a
"first version" is done? (In case of small patches, it might be
interesting to send some of these already ...)

Either post them here on the dev-list or create a pull-request on GitHub.

2. How can I best approach unit testing. I get the impression from the
Developers documentation that I would have to create a bunch of accounts
(10+, if I am not exagerating ... :slight_smile:

Well... I guess most of us just don't run them, I definitely don't :frowning:
What you can do to run only some of them is to change the
net.java.sip.communicator.slick.runner.TEST_LIST property in
lib/testing.properties. The SlicklessTests should be able to run without any
accounts.

Depending on how many unit test you want to write for IRC, maybe try to
create them with as less server interaction as possible. This way they
wouldn't need so much of the OSGi Slick setup around, wouldn't be so much
prone to error due to network circumstances...
test/protocol/sip/TestAutoProxyDetection.java is one those plain-junit-ones
as an example.

Thanks,
Danny

PS: In case people are curious. I use github to back up this code during
development. It can be found at
https://github.com/cobratbq/jitsi/tree/ircapi (branch 'ircapi'). Also
note that, currently, I am shamelessly rebasing the code upon the HEAD
of jitsi, so expect history to change for this repo ...

I love rebasing :slight_smile:

Ingo


#3

Thanks for the update Danny,

Hristo is currently making some changes on MUC related things that will probably also impact you, but all in all, the change should be for the better.

Looking forward to trying this out!

Emil

···

On 02.12.13, 21:02, Danny van Heumen wrote:

Hi,

As I've said earlier, I was looking into a new library for implementing
IRC support. I now have a very basic client working. It currently does
not even handle any mode changes, except for few simple ones... but you
can send messages and receive them.

During the implementation I've also fixed a few minor issues some w.r.t.
tab-completion of user names.

Now, I am actually wondering how to proceed.
1. What is the preferred way to deliver changes: a bunch of smaller
patches for these fixes and then IRC support as a big patch when a
"first version" is done? (In case of small patches, it might be
interesting to send some of these already ...)
2. How can I best approach unit testing. I get the impression from the
Developers documentation that I would have to create a bunch of accounts
(10+, if I am not exagerating ... :slight_smile:

Thanks,
Danny

PS: In case people are curious. I use github to back up this code during
development. It can be found at
https://github.com/cobratbq/jitsi/tree/ircapi (branch 'ircapi'). Also
note that, currently, I am shamelessly rebasing the code upon the HEAD
of jitsi, so expect history to change for this repo ...

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

--
https://jitsi.org


#4

Hi,

Hey

As I've said earlier, I was looking into a new library for implementing
IRC support. I now have a very basic client working. It currently does
not even handle any mode changes, except for few simple ones... but you
can send messages and receive them.

That already sounds great! How did you go about the license problem?

Well, the easy way: use a different library
(http://code.google.com/p/irc-api/). This one is Apache License
2.0-licensed, which should be liberal enough if I understand it
correctly. The other library did already have a question regarding the
GPL licensing "issue" but since there are many contributions and it's
already a fork of another project, it's really hard to legitimately
relicense.

I've included a text file irc-api-1.0-NOTICE that describes the
additional modification I have made to the library. This is also
reported upstream but it wasn't included yet in the latest version.

During the implementation I've also fixed a few minor issues some w.r.t.
tab-completion of user names.

Now, I am actually wondering how to proceed.
1. What is the preferred way to deliver changes: a bunch of smaller
patches for these fixes and then IRC support as a big patch when a
"first version" is done? (In case of small patches, it might be
interesting to send some of these already ...)

Either post them here on the dev-list or create a pull-request on GitHub.

Okay, so I'll post a few small fixes up front. The remaining code should
be as closely related to the IRC implementation as possible, since other
patches are already submitted.

2. How can I best approach unit testing. I get the impression from the
Developers documentation that I would have to create a bunch of accounts
(10+, if I am not exagerating ... :slight_smile:

Well... I guess most of us just don't run them, I definitely don't :frowning:
What you can do to run only some of them is to change the
net.java.sip.communicator.slick.runner.TEST_LIST property in
lib/testing.properties. The SlicklessTests should be able to run without any
accounts.

Ah right. I did think of that, but it felt like cheating.

Depending on how many unit test you want to write for IRC, maybe try to
create them with as less server interaction as possible. This way they
wouldn't need so much of the OSGi Slick setup around, wouldn't be so much
prone to error due to network circumstances...
test/protocol/sip/TestAutoProxyDetection.java is one those plain-junit-ones
as an example.

I'll keep that in mind. I understood that there are some tests that are
somewhat flaky. At least, judging by some of the posts that recently
came by here.

Thanks,
Danny

PS: In case people are curious. I use github to back up this code during
development. It can be found at
https://github.com/cobratbq/jitsi/tree/ircapi (branch 'ircapi'). Also
note that, currently, I am shamelessly rebasing the code upon the HEAD
of jitsi, so expect history to change for this repo ...

I love rebasing :slight_smile:

Ingo

Danny

···

On 12/02/2013 10:43 PM, Ingo Bauersachs wrote:


#5

Hi,

Concerning the changes Hristo is making. I believe that I already
encountered some of them. (Specifically, the new 'Add chatroom' dialog and
incorporation of chatrooms in the contact list.) Up to now it has not been
a problem, except for the bug fixes that I was referring to earlier. That
is the main reason why I would like to incorporate them.

As for the IRC implementation, that should (largely) just implement the
current MUC interfacing. If there are interface changes planned, I would be
interested to know though.

Danny

···

On Tue, Dec 3, 2013 at 12:50 AM, Emil Ivov <emcho@jitsi.org> wrote:

Thanks for the update Danny,

Hristo is currently making some changes on MUC related things that will
probably also impact you, but all in all, the change should be for the
better.

Looking forward to trying this out!

Emil

On 02.12.13, 21:02, Danny van Heumen wrote:

Hi,

As I've said earlier, I was looking into a new library for implementing
IRC support. I now have a very basic client working. It currently does
not even handle any mode changes, except for few simple ones... but you
can send messages and receive them.

During the implementation I've also fixed a few minor issues some w.r.t.
tab-completion of user names.

Now, I am actually wondering how to proceed.
1. What is the preferred way to deliver changes: a bunch of smaller
patches for these fixes and then IRC support as a big patch when a
"first version" is done? (In case of small patches, it might be
interesting to send some of these already ...)
2. How can I best approach unit testing. I get the impression from the
Developers documentation that I would have to create a bunch of accounts
(10+, if I am not exagerating ... :slight_smile:

Thanks,
Danny

PS: In case people are curious. I use github to back up this code during
development. It can be found at
https://github.com/cobratbq/jitsi/tree/ircapi (branch 'ircapi'). Also
note that, currently, I am shamelessly rebasing the code upon the HEAD
of jitsi, so expect history to change for this repo ...

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

--
https://jitsi.org


#6

One quick comment:

Well... I guess most of us just don't run them, I definitely don't :frowning:

That's true. We do run them on every nightly build though and we don't
build unless they succeed so unit tests are still very much alive.

···

On Mon, Dec 2, 2013 at 11:50 PM, Danny van Heumen <danny@dannyvanheumen.nl> wrote:

Hi,

On 12/02/2013 10:43 PM, Ingo Bauersachs wrote:

Hey

As I've said earlier, I was looking into a new library for implementing
IRC support. I now have a very basic client working. It currently does
not even handle any mode changes, except for few simple ones... but you
can send messages and receive them.

That already sounds great! How did you go about the license problem?

Well, the easy way: use a different library
(http://code.google.com/p/irc-api/). This one is Apache License
2.0-licensed, which should be liberal enough if I understand it
correctly. The other library did already have a question regarding the
GPL licensing "issue" but since there are many contributions and it's
already a fork of another project, it's really hard to legitimately
relicense.

I've included a text file irc-api-1.0-NOTICE that describes the
additional modification I have made to the library. This is also
reported upstream but it wasn't included yet in the latest version.

During the implementation I've also fixed a few minor issues some w.r.t.
tab-completion of user names.

Now, I am actually wondering how to proceed.
1. What is the preferred way to deliver changes: a bunch of smaller
patches for these fixes and then IRC support as a big patch when a
"first version" is done? (In case of small patches, it might be
interesting to send some of these already ...)

Either post them here on the dev-list or create a pull-request on GitHub.

Okay, so I'll post a few small fixes up front. The remaining code should
be as closely related to the IRC implementation as possible, since other
patches are already submitted.

2. How can I best approach unit testing. I get the impression from the
Developers documentation that I would have to create a bunch of accounts
(10+, if I am not exagerating ... :slight_smile:

Well... I guess most of us just don't run them, I definitely don't :frowning:
What you can do to run only some of them is to change the
net.java.sip.communicator.slick.runner.TEST_LIST property in
lib/testing.properties. The SlicklessTests should be able to run without any
accounts.

Ah right. I did think of that, but it felt like cheating.

Depending on how many unit test you want to write for IRC, maybe try to
create them with as less server interaction as possible. This way they
wouldn't need so much of the OSGi Slick setup around, wouldn't be so much
prone to error due to network circumstances...
test/protocol/sip/TestAutoProxyDetection.java is one those plain-junit-ones
as an example.

I'll keep that in mind. I understood that there are some tests that are
somewhat flaky. At least, judging by some of the posts that recently
came by here.

Thanks,
Danny

PS: In case people are curious. I use github to back up this code during
development. It can be found at
https://github.com/cobratbq/jitsi/tree/ircapi (branch 'ircapi'). Also
note that, currently, I am shamelessly rebasing the code upon the HEAD
of jitsi, so expect history to change for this repo ...

I love rebasing :slight_smile:

Ingo

Danny

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
Jitsi
emcho@jitsi.org PHONE: +33.1.77.62.43.30
https://jitsi.org FAX: +33.1.77.62.47.31


#7

Hi,

Concerning the changes Hristo is making. I believe that I already
encountered some of them. (Specifically, the new 'Add chatroom' dialog and
incorporation of chatrooms in the contact list.) Up to now it has not been a
problem, except for the bug fixes that I was referring to earlier. That is
the main reason why I would like to incorporate them.

I am probably missing something but I think Yana committed your changes.

If you have others coming just sent them over.

Cheers,
Emil

···

On Tue, Dec 3, 2013 at 3:39 PM, Danny van Heumen <danny@dannyvanheumen.nl> wrote:

As for the IRC implementation, that should (largely) just implement the
current MUC interfacing. If there are interface changes planned, I would be
interested to know though.

Danny

On Tue, Dec 3, 2013 at 12:50 AM, Emil Ivov <emcho@jitsi.org> wrote:

Thanks for the update Danny,

Hristo is currently making some changes on MUC related things that will
probably also impact you, but all in all, the change should be for the
better.

Looking forward to trying this out!

Emil

On 02.12.13, 21:02, Danny van Heumen wrote:

Hi,

As I've said earlier, I was looking into a new library for implementing
IRC support. I now have a very basic client working. It currently does
not even handle any mode changes, except for few simple ones... but you
can send messages and receive them.

During the implementation I've also fixed a few minor issues some w.r.t.
tab-completion of user names.

Now, I am actually wondering how to proceed.
1. What is the preferred way to deliver changes: a bunch of smaller
patches for these fixes and then IRC support as a big patch when a
"first version" is done? (In case of small patches, it might be
interesting to send some of these already ...)
2. How can I best approach unit testing. I get the impression from the
Developers documentation that I would have to create a bunch of accounts
(10+, if I am not exagerating ... :slight_smile:

Thanks,
Danny

PS: In case people are curious. I use github to back up this code during
development. It can be found at
https://github.com/cobratbq/jitsi/tree/ircapi (branch 'ircapi'). Also
note that, currently, I am shamelessly rebasing the code upon the HEAD
of jitsi, so expect history to change for this repo ...

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

--
https://jitsi.org

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
Jitsi
emcho@jitsi.org PHONE: +33.1.77.62.43.30
https://jitsi.org FAX: +33.1.77.62.47.31


#8

Hi Emil,

I am probably missing something but I think Yana committed your changes.

If you have others coming just sent them over.

You are right. The first patch was committed a while ago. The patches I am
referring to now, are the ones from my initial question of this thread. I
was wondering about the preferred way, as I have a couple of patches that
are unrelated to the IRC implementation.
I will send those patches shortly (including a description of what I am
fixing), so that they can be tested and integrated.

Danny

···

On Tue, Dec 3, 2013 at 3:43 PM, Emil Ivov <emcho@jitsi.org> wrote: