View Full Version : Deluge v0.4 dev thread: "Take out the Trash"
zachtib
October 30th, 2006, 10:25 PM
OK, yesterday (or today, depending on timezones) we released Deluge
0.3. Rather than sitting and basking in our work for a few days, we're
just going to keep on trucking.
This thread is dedicated to the development of the 0.4 release of Deluge.
Before commenting, take a moment to read the proposed changes I have
outlined here: http://zachtib.googlepages.com/zeropointfour
The whole point of this release is little things. Bugs, oddities,
whatever. The goal of this release cycle is to essentially produce a very
polished version of the 0.3 release.
Kripken is already working on a plugin system that will make it's way into
0.4 and I've been working on the GUI a bit today. The beginnings of these
changes can already been seen in SVN.
For most of you, the biggest change in 0.4 will be the addition of DHT
support, which should allow you to connect to more peers, and in general,
achieve higher download speeds.
The other big change for the user will be the ability to open .torrent
files with Deluge. By this, I mean executing "deluge ubuntu.torrent" will
open the .torrent file into Deluge, making it possible for .torrent files
to be associated with Deluge from within your web browser.
Aside from those two, the rest of the improvements will largely be under
the hood improvements. Cleaning up the source code, etc.
Anyone that has an idea that fits the concept for this release is welcome
to post it here. The next release after 0.4, 0.5, will probably be the
next time a lot of user-visible features are added, but my goal with 0.4 is
polish. Hopefully, 0.4 will put Deluge on-par with most of the other
clients out there.
Look out Azureus, we're coming for you...
;)
Krakatos
October 31st, 2006, 01:14 AM
Well, DHT support will be great if it allows to download faster. Download speed IS one of the main features a bittorrent client should have.
The other things are all good.
It would be nice if you could solve the CPU usage bug that sometimes, at random, appears. Quite bothering, happened to me twice in total..
Another thing, I noticed that sometimes if I close deluge and then reopen it, some torrents don't appear on the list. If I add them again it works fine, but I wanted to report it.
zachtib
October 31st, 2006, 01:21 AM
Well, DHT support will be great if it allows to download faster. Download speed IS one of the main features a bittorrent client should have.
The other things are all good.
It would be nice if you could solve the CPU usage bug that sometimes, at random, appears. Quite bothering, happened to me twice in total..
Another thing, I noticed that sometimes if I close deluge and then reopen it, some torrents don't appear on the list. If I add them again it works fine, but I wanted to report it.
i think the 100% cpu bug is due to something in edgy.
in edgy... almost __everything__ can peg your CPU
vmware, audio encoding, compiling, nautilus, and more
have all pegged my CPU under edgy
kripkenstein
October 31st, 2006, 01:34 AM
i think the 100% cpu bug is due to something in edgy.
in edgy... almost __everything__ can peg your CPU
vmware, audio encoding, compiling, nautilus, and more
have all pegged my CPU under edgy
My experience concurs with this.
jonas_g
October 31st, 2006, 04:58 AM
How about making the Preferences dialog a little bigger?
Right now the elements in it look like they've been squeezed together on to little space.
Edit: I just checked the SVN version and saw that the Preferences dialog has been changed, so this is not an issue any longer.
jonas_g
October 31st, 2006, 07:19 AM
Also, it would be great if Deluge asked the user if a Torrent should really be removed when the "Remove Torrent" button is pressed. That would make it harder for someone to remove a Torrent by accident.
Keep up the good work!
zachtib
October 31st, 2006, 12:56 PM
Also, it would be great if Deluge asked the user if a Torrent should really be removed when the "Remove Torrent" button is pressed. That would make it harder for someone to remove a Torrent by accident.
Keep up the good work!
that's a good idea, we should implement that
F for Fragging
October 31st, 2006, 01:54 PM
Hopefully, 0.4 will put Deluge on-par with most of the other clients out there.
Look out Azureus, we're coming for you...
;)
I do not mean to be annoying, but as I've written in this topic - http://ubuntuforums.org/showthread.php?t=284868 - UPnP support is essential if you wish for Deluge to be on-par with other torrent clients.
I'm behind a router. Fortunately I know how to forward ports in my router's web interface, but my brother and sister don't have the slightest idea. If they do not forward ports, Deluge or any other torrent client without UPnP will be practically useless to them because they will not get decent download/upload speeds without having ports forwarded.
Sometimes I need to reset my router or there is a power failure, when I turn my router on again my internal IP address changes (if I'm correct, I don't whats causing it but periodically my internal IP changes) which means that I have to forward the same ports again on a different internal IP address.
I hope that the goal is for Deluge to be a torrent client which is easy to use and just works. Without UPnP those goals can't be met, newbies don't have an idea on how to forward ports.
All the other torrent clients which Deluge would want to be on-par with like Azureus and µTorrent already have UPnP and Deluge has not. As long as they do have UPnP and Deluge has not, they will kick Deluge's butt. UPnP is the single most important feature for a torrent client which aims to be user friendly.
Maybe I'm putting it a bit blunt, but this is not intended as a flame. You're doing a great job, but I'm concerned that you do not give UPnP implementation the priority it deserves. There should be some UPnP libraries around - http://pupnp.sourceforge.net/ (that library is in C, while Deluge is written in Python, so maybe this library - http://raphael.slinckx.net/blog/projects/nattraverso/ - will be more useful because it is written in Python as well) for example - so it shouldn't be too difficult to do it, correct?
gil-galad
October 31st, 2006, 01:59 PM
So, newbies somehow know how to enable upnp on their router and know what upnp is on their torrent client?
Your suggestion has merit, but no need to bring mom and pop into this. It is enough to simply state that upnp support is a good idea.
F for Fragging
October 31st, 2006, 02:16 PM
On my Thomson SpeedTouch router (these are very popular here in The Netherlands, most ISP's include them in ADSL subscriptions) UPnP was enabled by default, and in µTorrent UPnP is enabled by default as well, if I'm correct. So in this case newbies don't need to know anything about port forwarding or how they need to enable UPnP, it will work out of the box perfectly.
mithras86
October 31st, 2006, 03:04 PM
(if I'm correct, I don't whats causing it but periodically my internal IP changes)
Don't know what router you have, but it's caused by the dhcp server. A dhcp server gives a computer (or better: a nic with a mac address) an ip address. The dhcp server is implemented in your router, and it has some client leases. There you can see the mac addresses and the ip's given.
I think most (or all) of them have a TTL specified. When that time is over, you get a new ip address. If you change the TTL to infinite, the mac address from your nic (so: your internet connection) will get always the same ip.
If you have a ttl, and you shut down your computer, maybe someone else will get your ip. That means you'll get another ip. If you set up that lease from your dhcp server to infinite, that lease will be reserved for your computer and you'll always get the same ip address ;)
zachtib
October 31st, 2006, 04:11 PM
just an update, Deluge in SVN now supports drag-and-drop .torrent adding
dutchmega
October 31st, 2006, 04:12 PM
Feature: disallow multiple instances of Deluge
McQuaid
October 31st, 2006, 04:18 PM
I only have 1 port open my router for bittorrents, most bt clients only need 1 port open and can map multiple torrents to that one port. Your program having an input range makes me suspect that it uses one port per torrent. I haven't tested yet but I'm hoping that's not the case. As a side note, azureus, utorrent and others have a network status so you know your client is not running into any port/firewall issues. Is that what the red triangle tab is for?
The ability to control how many peer the client connect to globally and per torrent.
Select individual files of a torrent. And I think this should be done before the torrent starts (like utorrent) and not after (like azureus) due to some clients grabbing the harddrive space before hand when a user might just want a 10th, filesize wise of what that particular torrent provides, also to deal with circumstances where the complete torrent is larger than the space the user has on their drive, but again they are only grabbing a select file or two. Also of course, priorities within these files.
Those three main things will make this my default client, I'm sure there are lots of other things to add, just commenting on what I'd like to see, Is there a feature list/road map of what you plan to have implemented for .5 ?
zachtib
October 31st, 2006, 04:23 PM
I only have 1 port open my router for bittorrents, most bt clients only need 1 port open and can map multiple torrents to that one port. Your program having an input range makes me suspect that it uses one port per torrent. I haven't tested yet but I'm hoping that's not the case. As a side note, azureus, utorrent and others have a network status so you know your client is not running into any port/firewall issues. Is that what the red triangle tab is for?
It still only uses one port. Deluge will pick a port from within that range
The ability to control how many peer the client connect to globally and per torrent.
Select individual files of a torrent. And I think this should be done before the torrent starts (like utorrent) and not after (like azureus) due to some clients grabbing the harddrive space before hand when a user might just want a 10th, filesize wise of what that particular torrent provides, also to deal with circumstances where the complete torrent is larger than the space the user has on their drive, but again they are only grabbing a select file or two. Also of course, priorities within these files.
Those three main things will make this my default client, I'm sure there are lots of other things to add, just commenting on what I'd like to see, Is there a feature list/road map of what you plan to have implemented for .5 ?
http://zachtib.googlepages.com/zeropointfive
but it's pretty sparse as of now, as 0.4 progresses, we will get a better idea of what to expect in 0.5
mithras86
October 31st, 2006, 04:49 PM
I think the whole 'pick one file in torrent' stuff should also be a plugin. Not everyone is interested in a dialog which ask if all the files should be downloaded.
It's better to handle it via a plugin, because then users can decide on their own if they want the dialog or not. Of course, you could make a preference setting for that. But now Deluge has a plugin environment, it's cool to add it there.
zachtib
October 31st, 2006, 05:09 PM
just an update, Deluge in SVN now supports drag-and-drop .torrent adding
and now we've got the ability to add .torrents from a URL
roderikk
October 31st, 2006, 06:03 PM
This 'pick one file in torrent' stuff, as it has been put, can just be incorperated in the dialog that opens when you open a new torrent containing also some settings for that torrent, such as priority, maximum seed ratio, save folder etc.
zachtib
October 31st, 2006, 07:07 PM
This 'pick one file in torrent' stuff, as it has been put, can just be incorperated in the dialog that opens when you open a new torrent containing also some settings for that torrent, such as priority, maximum seed ratio, save folder etc.
libtorrent doesn't support different settings for each download, so this cannot be done
gil-galad
October 31st, 2006, 08:47 PM
and now we've got the ability to add .torrents from a URL
Awesome, keep up the good work.
XVampireX
October 31st, 2006, 10:47 PM
For 0.4 or 0.5 - X (Close button) should hide the client to notification area, not close it, I'm just used to it. Azureus works that way, and many other systray programs should work that way, if I want to close it, I'll close it manually.
Also, competing with azureus would be hard, you'd have to implement as many features that would make the client more or less feature complete, while still figuring out how to minimize the overhead, don't forget, java and python are both consuming quite a bit of resources due to JIT, and in some cases, Python CAN consume more resources, I noticed that.
zachtib
October 31st, 2006, 11:25 PM
For 0.4 or 0.5 - X (Close button) should hide the client to notification area, not close it, I'm just used to it. Azureus works that way, and many other systray programs should work that way, if I want to close it, I'll close it manually.
Also, competing with azureus would be hard, you'd have to implement as many features that would make the client more or less feature complete, while still figuring out how to minimize the overhead, don't forget, java and python are both consuming quite a bit of resources due to JIT, and in some cases, Python CAN consume more resources, I noticed that.
This is something that has been discussed, and after we added the confirm close dialog, I don't see a reason to change it.
IMO, the close button should close the program.
zachtib
November 1st, 2006, 12:59 AM
well, the opening of files with deluge, and the ability to send a .torrent to the current instance of deluge has hit SVN, but it's really buggy at this point.
and on that note, I'm going to sleep
pianoboy3333
November 1st, 2006, 09:34 AM
I don't know about all you, but links in deluge won't open Firefox or any web-browsing program for that matter. I suggest that you use some sort of python webrendering library, like python-gtkhtml2 so you can integrate the search engine things better.
nico1038
November 1st, 2006, 10:09 AM
This is something that has been discussed, and after we added the confirm close dialog, I don't see a reason to change it.
IMO, the close button should close the program.
Please, could you consider making this as an option. I think that hiding in the notification area is a better behavior for application that are supposed to run in the background (like audio player or torrent client). This type of application can be used as a "always running" and therefore don't need to be realy closed.
Sorry for my bad english, I hope I'm clear enough.
mithras86
November 1st, 2006, 10:50 AM
Please, could you consider making this as an option. I think that hiding in the notification area is a better behavior for application that are supposed to run in the background (like audio player or torrent client). This type of application can be used as a "always running" and therefore don't need to be realy closed.
Sorry for my bad english, I hope I'm clear enough.To minimalize Deluge, you can now click on the tray icon.
Isn't it an option to put it as an preference? Listen has the option "close to systray" which, when enabled, means closing the main window will minimize it into the tray.
DeepThoughts
November 1st, 2006, 11:38 AM
Something I'd like Deluge to do is to remember my share ratio after a restart of Deluge. The way it is now that you can decide to share, say twice the amount you download, isn't really working since if you share 198% then have to restart Deluge you're back on 0%... It would be great if this could be fixed.
Another thing that would be really great to have is the possibility to decide which files to download when adding a torrent. Possibly through a popup after choosing where to download the torrent.
Some other suggestions, which might be more suitable for 0.5 since they are GUI-thingys:
A visual separation of torrents that are downloading and those that are just seeding. Whether it should be done by graying out those that are just seeding or make it through tabs I don't know. But some kind of visual separation would be really nice.
Speaking of tabs... As I suggested in another thread, http://ubuntuforums.org/showthread.php?t=283237 , the possibility for the user to chose which side the tabs in the details pane should be on.
zachtib
November 1st, 2006, 12:04 PM
Something I'd like Deluge to do is to remember my share ratio after a restart of Deluge. The way it is now that you can decide to share, say twice the amount you download, isn't really working since if you share 198% then have to restart Deluge you're back on 0%... It would be great if this could be fixed.
So long as you don't remove the torrent from Deluge, and you exit the program cleanly, it should do this now... If not, then there's a bug somewhere
DeepThoughts
November 1st, 2006, 12:15 PM
So long as you don't remove the torrent from Deluge, and you exit the program cleanly, it should do this now... If not, then there's a bug somewhere
From which SVN-revision? I've just upgraded to 264, should the bug be fixed there? (Haven't tested it with this revision.) Wouldn't suprise me if it's fixed already and that I spoke in error.
zachtib
November 1st, 2006, 12:22 PM
From which SVN-revision? I've just upgraded to 264, should the bug be fixed there? (Haven't tested it with this revision.) Wouldn't suprise me if it's fixed already and that I spoke in error.
it _should_ be in 0.3 stable...
armin76
November 1st, 2006, 05:43 PM
Request: limit number of connections?
Thanks for the great work! :)
I'm using 0.3.0 right now under Gentoo. It's awesome!
zachtib
November 1st, 2006, 05:46 PM
Request: limit number of connections?
Thanks for the great work! :)
I'm using 0.3.0 right now under Gentoo. It's awesome!
thanks, glad you like it.
currently, you can limit # of uploads/downloads, or are you refering to something else?
armin76
November 1st, 2006, 05:54 PM
thanks, glad you like it.
currently, you can limit # of uploads/downloads, or are you refering to something else?
Yep, i'm referring to the number of peers the client can be connected. I'm referring to this: http://www.rasterbar.com/products/libtorrent/manual.html#set-max-uploads-set-max-connections
For example, in deluge you can see at the botton that it says: Connections: xx Download Speed: xx Upload Speed: xx...
Meaning that the client have xx connections active.
Thanks for the reply! And btw, if anyone using Gentoo wants to use the client(along with it's dependencies), it can be found at the Gentoo Sunrise Overlay: http://www.gentoo-sunrise.org/sunrise
zachtib
November 1st, 2006, 06:03 PM
Yep, i'm referring to the number of peers the client can be connected. I'm referring to this: http://www.rasterbar.com/products/libtorrent/manual.html#set-max-uploads-set-max-connections
so long as rasterbar's libtorrent supports it, we can of course wrap the function and include it. file a request just to give us a reminder (http://code.google.com/p/deluge-torrent/issues/list)
Thanks for the reply! And btw, if anyone using Gentoo wants to use the client(along with it's dependencies), it can be found at the Gentoo Sunrise Overlay: http://www.gentoo-sunrise.org/sunrise
cool
armin76
November 1st, 2006, 06:09 PM
so long as rasterbar's libtorrent supports it, we can of course wrap the function and include it. file a request just to give us a reminder (http://code.google.com/p/deluge-torrent/issues/list)
Sure, will do.
Finally, deluge is going to use dbus?
zachtib
November 1st, 2006, 06:11 PM
Sure, will do.
Finally, deluge is going to use dbus?
deluge in SVN uses dbus, is that what you're referring to?
armin76
November 1st, 2006, 06:23 PM
Yup, that's why said it was going to use :) I guess the dbus dependency will be in 0.4, right?
Thanks :)
zachtib
November 1st, 2006, 06:37 PM
Yup, that's why said it was going to use :) I guess the dbus dependency will be in 0.4, right?
Thanks :)
yeah, but I'm considering trying to turn it into a plugin... if not for 0.4, then for 0.5, so that the dependency will be optional
oigewan
November 2nd, 2006, 06:47 PM
I'm runnng 0.3.0 on xubuntu, and I really like the client. Yall're doin a good job. Small bug: If I remove torrents from the list then close the client, there's about a 25% chance they will show up again when I restart deluge. This isn't really important or even annoying, but I thought it should be noted.
zachtib
November 2nd, 2006, 07:16 PM
I'm runnng 0.3.0 on xubuntu, and I really like the client. Yall're doin a good job. Small bug: If I remove torrents from the list then close the client, there's about a 25% chance they will show up again when I restart deluge. This isn't really important or even annoying, but I thought it should be noted.
i think this has to do with it not writing the settings back when it exits, we'll look into it
Hobbes
November 6th, 2006, 11:19 AM
are there any plans to support the more advanced networking features that say utorrent and azureus have like SOCKS?
I only ask because Im a big fan of deluge, but unfortunately i can only get a connection through SOCKS. Obviously I'm just one person, and there are probably much more important things to work on at this stage :)
Keep up the good work.
baze
November 6th, 2006, 11:24 AM
i think this has to do with it not writing the settings back when it exits, we'll look into it
just a question: is it better to post such things here on on the google issue tracker?
i ask, because i posted exactly this and the bug with both radio items selected in the preferences in the issue tracker already but it seems that you guys didn't notice those until someone posted them here on the forum too ;)
kripkenstein
November 6th, 2006, 01:46 PM
just a question: is it better to post such things here on on the google issue tracker?
i ask, because i posted exactly this and the bug with both radio items selected in the preferences in the issue tracker already but it seems that you guys didn't notice those until someone posted them here on the forum too ;)
Personally, I visit the issue tracker 2-3 times a week. I may visit the forums more often, but I do so in a less organized way, so I may miss some threads and posts.
So, it's probably best to post bugs on the issue tracker, as far as I am considered.
zachtib
November 6th, 2006, 01:56 PM
just a question: is it better to post such things here on on the google issue tracker?
i ask, because i posted exactly this and the bug with both radio items selected in the preferences in the issue tracker already but it seems that you guys didn't notice those until someone posted them here on the forum too ;)
actually, i usually check the tracker at least once a day. We are currently in the process of migrating the project to a more permanent home, at which point, we will tell you where to submit bugs/issues
fsf@rula
November 7th, 2006, 02:19 AM
hmm...interesting. I know java is slow, but I have never experienced any slowness with python. Can you please elaborate? What is JIT?
I mean, the reason I am so into deluge is that azureus is just too resource-intensive for me.
===edit
OOOkay, I got it...yes, I knew python was JIT compiled, but my experience is that it's uncomparably faster than java. am I wrong here?
zachtib
November 7th, 2006, 10:09 AM
hmm...interesting. I know java is slow, but I have never experienced any slowness with python. Can you please elaborate? What is JIT?
I mean, the reason I am so into deluge is that azureus is just too resource-intensive for me.
===edit
OOOkay, I got it...yes, I knew python was JIT compiled, but my experience is that it's uncomparably faster than java. am I wrong here?
My impression of this is as such:
Java requires the JVM to run, so there's always going to be X amount of system overhead, where X is the amount of resources that the JVM needs
With Python, however, as it is an interpreted language, it won't be as fast as something written in, say C. If written poorly, it wouldn't be hard for a Python program to use an incredibly high amount of system resources, but when written properly, a python application can be very lightweight as well.
krazyd
November 8th, 2006, 03:02 AM
I can't believe I haven't noticed this sub-forum before... Deluge is sweet! Great work guys.
This is probably quite involved, and not suitable for 0.4, but are there any plans for supporting HTTPS (SSL) which many private trackers use?
zachtib
November 8th, 2006, 01:30 PM
The duplicate torrent bug has been fixed in SVN, but it will require updating to the latest python-libtorrent from the downloads page.
buildid
November 10th, 2006, 10:16 AM
got a problem after updating to revision 372 todat :
Traceback (most recent call last):
File "/home/buildid/deluge-torrent/deluge.py", line 965, in ?
g = Deluge()
File "/home/buildid/deluge-torrent/deluge.py", line 181, in __init__
self.fileViewwTree = gtk.glade.XML(dc.get_glade("filelistmenu.glade"))
RuntimeError: could not create GladeXML object
could not start theluge anymore
baze
November 10th, 2006, 11:19 AM
got a problem after updating to revision 372 todat :
Traceback (most recent call last):
File "/home/buildid/deluge-torrent/deluge.py", line 965, in ?
g = Deluge()
File "/home/buildid/deluge-torrent/deluge.py", line 181, in __init__
self.fileViewwTree = gtk.glade.XML(dc.get_glade("filelistmenu.glade"))
RuntimeError: could not create GladeXML object
could not start theluge anymore
http://deluge.ath.cx/ticket/22
seems like filelistmenu.glade has not been committed. use 369 for now.
buildid
November 10th, 2006, 11:27 AM
what is the command for that specifc version ?
baze
November 10th, 2006, 11:48 AM
svn co http://deluge-torrent.googlecode.com/svn/trunk/ deluge-torrent -r 369
buildid
November 10th, 2006, 12:10 PM
thanks, that works
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.