Jordan Lee [Fri, 27 May 2011 23:26:05 +0000 (23:26 +0000)]
(trunk libT) #4283 "Remove 'Prefetch failed' error message" -- done.
Jordan Lee [Fri, 27 May 2011 13:36:53 +0000 (13:36 +0000)]
(trunk) #3817 remove OS proxy integration from the GTK+ client
Mitchell Livingston [Wed, 25 May 2011 02:31:26 +0000 (02:31 +0000)]
bump Growl to 1.2.2
Mitchell Livingston [Mon, 23 May 2011 01:27:00 +0000 (01:27 +0000)]
enable spelling correction in the Create window -> comment filed, for funsies
Mitchell Livingston [Mon, 23 May 2011 01:18:26 +0000 (01:18 +0000)]
fix pixel alignment in About window
Mitchell Livingston [Mon, 23 May 2011 01:05:52 +0000 (01:05 +0000)]
compile NSMutableArrayAdditions
Mitchell Livingston [Mon, 23 May 2011 01:00:32 +0000 (01:00 +0000)]
finish adding NSMutableArrayAdditions, which snuck in the last commit, and another explicit cast
Mitchell Livingston [Mon, 23 May 2011 00:57:29 +0000 (00:57 +0000)]
more explicit casting
Mitchell Livingston [Mon, 23 May 2011 00:45:17 +0000 (00:45 +0000)]
explicit cast to Torrent * when calculating transfer name length
Mitchell Livingston [Sat, 21 May 2011 18:29:35 +0000 (18:29 +0000)]
add a description method to FileListNode
Jordan Lee [Sat, 21 May 2011 09:13:10 +0000 (09:13 +0000)]
(trunk libT) #4270 "qtr / Qt Client fails to build when libutp is not available" -- fixed with patch by thomasg
Mitchell Livingston [Sat, 21 May 2011 02:57:17 +0000 (02:57 +0000)]
update jquery.form.min
Mitchell Livingston [Sat, 21 May 2011 02:51:34 +0000 (02:51 +0000)]
bump jquery.form to 2.75
Mitchell Livingston [Fri, 20 May 2011 21:52:54 +0000 (21:52 +0000)]
fix alignment issue in the German magnet link window
Jordan Lee [Fri, 20 May 2011 18:00:57 +0000 (18:00 +0000)]
fix an r12447 typo -- SoMud's two-letter prefix is SM, not SO
Jordan Lee [Fri, 20 May 2011 17:55:48 +0000 (17:55 +0000)]
(trunk libT) recognize a few more peer apps by name: Arctic, BitBuddy, GSTorrent, Hekate, Meerkat, SoMud, SymTorrent, TuoTu, and XSwifter
Mitchell Livingston [Fri, 20 May 2011 11:34:22 +0000 (11:34 +0000)]
bump version to 2.31+
Mitchell Livingston [Thu, 19 May 2011 22:04:46 +0000 (22:04 +0000)]
implement missing copyWithZone in FilePriorityCell
Mitchell Livingston [Thu, 19 May 2011 22:01:16 +0000 (22:01 +0000)]
implement missing copyWithZone in TorrentCell
Mitchell Livingston [Tue, 17 May 2011 22:40:04 +0000 (22:40 +0000)]
tweak NEWS, again
Mitchell Livingston [Tue, 17 May 2011 22:23:24 +0000 (22:23 +0000)]
tweak NEWS
Jordan Lee [Tue, 17 May 2011 22:16:11 +0000 (22:16 +0000)]
bump to 2.31
Jordan Lee [Tue, 17 May 2011 00:01:54 +0000 (00:01 +0000)]
(trunk, gtk) update translations for transmission-gtk. Also, two new translations: Punjabi and Tamil (Sri Lanka)
Mitchell Livingston [Mon, 16 May 2011 23:53:32 +0000 (23:53 +0000)]
bump to 2.30
Mitchell Livingston [Mon, 16 May 2011 22:58:12 +0000 (22:58 +0000)]
add Bruno Bierbaumer to Authors & Credits
Jordan Lee [Mon, 16 May 2011 07:11:21 +0000 (07:11 +0000)]
(trunk libT) better r12434
Jordan Lee [Mon, 16 May 2011 02:09:31 +0000 (02:09 +0000)]
(trunk libT) #4237 "tarnsmission-remote -l shows torrent list in reverse order" -- revert r12424 to fix this
Mitchell Livingston [Mon, 16 May 2011 02:03:27 +0000 (02:03 +0000)]
Use NSDiacriticInsensitiveSearch in file list search, to match the transfer list search.
Jordan Lee [Sun, 15 May 2011 17:46:26 +0000 (17:46 +0000)]
(trunk web) #4170 "Ask tracker for more peers" -- implemented by a nice patch from Dmitry
Mitchell Livingston [Thu, 12 May 2011 22:13:55 +0000 (22:13 +0000)]
update jQuery to 1.6.1
Jordan Lee [Thu, 12 May 2011 20:32:01 +0000 (20:32 +0000)]
(trunk web) #3820 "Web UI flicking to selection" -- apply a patch from buljit to fix a keyboard navigation regression reported by Tenzer in comment:8
Jordan Lee [Thu, 12 May 2011 20:21:27 +0000 (20:21 +0000)]
(trunk qt) #4236 "Update formatter functions to operate with signed integers" -- patch by taem
Jordan Lee [Thu, 12 May 2011 06:43:40 +0000 (06:43 +0000)]
(trunk libT) fix magnet link crash in peer-msgs.c's updateDesiredRequestCount() reported by quinx in the forums.
In some odd cases (such as if unchoked without having shown interest), the code could dividing a number by the torrent's block size without checking to see if the torrent had its metadata yet. This caused a division by zero because a magnet torrent's blocksize is unset until the metadata is downloaded.
Jordan Lee [Wed, 11 May 2011 21:09:31 +0000 (21:09 +0000)]
(trunk libT) make allocateBandwidth()'s "priority" field const.
Jordan Lee [Tue, 10 May 2011 14:41:59 +0000 (14:41 +0000)]
(trunk libT) minor CPU improvement to peer-mgr.c's bandwidthPulse()
We looped through all the torrents 3x to do three separate tasks... instead, loop only once and do the three tasks inside the single loop.
Jordan Lee [Tue, 10 May 2011 05:18:40 +0000 (05:18 +0000)]
(trunk libT) oops, r12424 included a second CPU improvement patch that I had in the pipeline. Fix a typo in that patch.
Jordan Lee [Tue, 10 May 2011 04:46:44 +0000 (04:46 +0000)]
(trunk libT) CPU improvement in torrent.c's torrentInit()
Add the new torrent to the session's torrent list by prepending it instead of appending it. That way we don't have to walk the list in order to add it. tr_session.torrentList is an unordered list, so there's no real difference between prepending and appending.
Jordan Lee [Tue, 10 May 2011 03:50:54 +0000 (03:50 +0000)]
(trunk libT) CPU optimization in peer-mgr.c's rechokeDownloads()
Instead of recalculating interesting pieces for each peer we loop through, calculate them just once into a bitfield and then reuse that bitfield inside the loop.
Jordan Lee [Tue, 10 May 2011 03:43:06 +0000 (03:43 +0000)]
(trunk libT) small CPU optimization in bitfield.c's countRange()
Jordan Lee [Tue, 10 May 2011 01:51:12 +0000 (01:51 +0000)]
(trunk libT) CPU improvement in peer-mgr.c's getPeerCandidates()
getPeerCandiates() used to read through all the torrents to determine the global peer connections, and then again to determine the global peer candidates. Now this is done in one loop instead of two.
Jordan Lee [Mon, 9 May 2011 04:16:49 +0000 (04:16 +0000)]
(trunk libT) CPU optimization in tr_bandwidthClamp().
Don't call tr_time_msec() if it's not necessary. This was one of the top CPU sinks in profiling, so removing it is a nice improvement in cases when it's not necessary, such as when speed limiting is disabled.
Jordan Lee [Mon, 9 May 2011 04:13:14 +0000 (04:13 +0000)]
(trunk libT) torrent-get CPU optimization.
Move the tr_torrentStat() call outside of the addField() loop so that it's only called once instead of N times.
Mitchell Livingston [Mon, 9 May 2011 02:13:39 +0000 (02:13 +0000)]
#4232 Extend tooltip support to disabled files in Inspector->Files
Jordan Lee [Thu, 5 May 2011 20:41:09 +0000 (20:41 +0000)]
(trunk libT) experimental fix for the unterminated announce URLs reported by blacklion in the forums
Jordan Lee [Thu, 5 May 2011 03:10:51 +0000 (03:10 +0000)]
(trunk libT) #4227 "invalid URLs aren't filtered out of .torrents' webseed lists"
If we can't parse a URL provided in the .torrent files' webseed list, that URL should be discarded.
Jordan Lee [Wed, 4 May 2011 21:38:01 +0000 (21:38 +0000)]
(trunk libT) #2338 "Add uTP support" -- increase the block bandwidth to 3000 bytes in phase 1 as suggested by jch in comment:120.
The rationale is that by using 3000 bytes we'll send one full-size frame straight away, and leave enough buffered data for the next frame to go out in a timely manner.
Mitchell Livingston [Tue, 3 May 2011 21:52:37 +0000 (21:52 +0000)]
#4002 Update to jQuery 1.6
Mitchell Livingston [Tue, 3 May 2011 21:50:04 +0000 (21:50 +0000)]
update the mac libevent config files
Jordan Lee [Mon, 2 May 2011 17:58:27 +0000 (17:58 +0000)]
(trunk gtk) use ngettext() instead of gtr_dngettext() to address https://bugs.launchpad.net/ubuntu/+source/transmission/+bug/760761
Jordan Lee [Sun, 1 May 2011 19:10:34 +0000 (19:10 +0000)]
(trunk libT) the functions tr_peerMsgsSetChoke() and tr_peerMsgsSetInterested() have bool arguments whose types never got switched from "int" to "bool" when "bool" was adopted.
Jordan Lee [Sun, 1 May 2011 05:04:09 +0000 (05:04 +0000)]
(trunk, gtk) #4218 "open url should set focus on the open button by default" -- fix r12409 oops
Jordan Lee [Sun, 1 May 2011 04:14:50 +0000 (04:14 +0000)]
(trunk gtk) #4218 "open url should set focus on the open button by default" -- done.
Juliusz Chroboczek [Sat, 30 Apr 2011 23:03:25 +0000 (23:03 +0000)]
Include dht-0.19.
This fixes a bug with parsing of announce messages, noticed by cjdelisle.
Jordan Lee [Sat, 30 Apr 2011 16:22:03 +0000 (16:22 +0000)]
(trunk gtk) #4203 "gnome-network-properties doesn't exist in GNOME 3" -- fixed with patch from lesnoland
Jordan Lee [Sat, 30 Apr 2011 00:57:15 +0000 (00:57 +0000)]
(trunk) bump user-agent prefix to 2.30 beta 4
Jordan Lee [Sat, 30 Apr 2011 00:08:24 +0000 (00:08 +0000)]
(trunk libT) very minor copyediting: remove a little unwanted whitespace
Mitchell Livingston [Fri, 29 Apr 2011 23:53:01 +0000 (23:53 +0000)]
Don't allow the Add Magnet window to be resized vertically
Jordan Lee [Fri, 29 Apr 2011 23:25:12 +0000 (23:25 +0000)]
(trunk libT) simplify the code in peer-mgr.c's rechokeDownloads().
The new code has fewer calls to malloc/free and, more importantly, has less copy-and-pasted code to handle the different rechoke states.
Jordan Lee [Fri, 29 Apr 2011 22:39:54 +0000 (22:39 +0000)]
(trunk libT) #4215 "bug in unchoking algorithm" -- fixed.
Jordan Lee [Fri, 29 Apr 2011 21:36:44 +0000 (21:36 +0000)]
(trunk gtk) in the details dialog, use the GQuark versions of g_object_{get,set}_data()
Jordan Lee [Fri, 29 Apr 2011 20:22:11 +0000 (20:22 +0000)]
(trunk gtk) tweak to r12398: because most of the strings in category_filter_model_update() will be duplicates of each other, use g_string_chunk_insert_const() instead of g_string_insert().
Jordan Lee [Thu, 28 Apr 2011 23:13:14 +0000 (23:13 +0000)]
(trunk gtk) in filter.c's category_filter_model_update(), use a string chunk for all those temporary strings that are allocated in a looop
Jordan Lee [Thu, 28 Apr 2011 18:40:46 +0000 (18:40 +0000)]
(trunk libT) tr_torrentGetFileMTime(): if the file being looked at is aleady open in fdlimit's file cache, use that cached handle instead of deriving our own.
Jordan Lee [Thu, 28 Apr 2011 18:37:27 +0000 (18:37 +0000)]
(trunk gtk) gtr_get_host_from_url(): avoid a couple of malloc() + free() calls.
Jordan Lee [Thu, 28 Apr 2011 17:46:31 +0000 (17:46 +0000)]
(trunk libT) in peer-mgr.c's refillUpkeep(), allocate the temporary array outside of the loop instead of inside...
Jordan Lee [Thu, 28 Apr 2011 02:51:07 +0000 (02:51 +0000)]
(trunk libT) #4212 "excessive UDP logfile entries in debug mode" -- fixed.
Jordan Lee [Wed, 27 Apr 2011 21:38:45 +0000 (21:38 +0000)]
(trunk libT) heap pruning: use tr_bencToBuf() instead of tr_bencToStr() when building LTEP messages. This saves us from a handful of unnecessary malloc+memcpy+free calls in each instance where the change is made.
Jordan Lee [Wed, 27 Apr 2011 21:33:52 +0000 (21:33 +0000)]
(trunk libT) heap pruning: using the same mechanism as in r12388, avoid an unnecessary malloc+memcpy+free in tr_bencToFile()
Jordan Lee [Wed, 27 Apr 2011 21:22:08 +0000 (21:22 +0000)]
(trunk libT) tweak the ABI of tr_bencToBuf() to match the way it's being used
Jordan Lee [Wed, 27 Apr 2011 20:52:07 +0000 (20:52 +0000)]
(trunk libT) heap pruning: using the same mechanism as in r12388, avoid an unnecessary malloc+memcpy+free when building the URL for a webseed download request
Jordan Lee [Wed, 27 Apr 2011 20:50:43 +0000 (20:50 +0000)]
(trunk libT) heap pruning: using the same mechanism as in r12388, avoid an unnecessary malloc+memcpy+free when TR_CURL_VERBOSE is logging HTTP messages
Jordan Lee [Wed, 27 Apr 2011 20:41:47 +0000 (20:41 +0000)]
(trunk libT) heap pruning: avoid unnecessary malloc+memcpy+frees in announcer.
1. when creating announce URLs in announcer-http.c
2. when creating scrape URLs in announcer-http.c
3. when deep-logging what announces are in a torrent's queue in announcer.c
Jordan Lee [Wed, 27 Apr 2011 19:06:06 +0000 (19:06 +0000)]
(trunk libT) heap pruning: lazy-allocate the array in peer-mgr.c's getPeersToClose().
Jordan Lee [Wed, 27 Apr 2011 17:52:28 +0000 (17:52 +0000)]
(trunk libT) more heap pruning: avoid an unnecessary evbuffer_new() + evbuffer_free() in tr_peerIoWriteBytes()
Jordan Lee [Wed, 27 Apr 2011 17:30:53 +0000 (17:30 +0000)]
(trunk libT) constify the tr_scrape_request argument to scrape_request_delegate().
Jordan Lee [Wed, 27 Apr 2011 17:02:18 +0000 (17:02 +0000)]
(trunk libT) more heap pruning: build the "cookie_filename" field once when creating the web thread, instead of each time a new tr_web_task is added.
Jordan Lee [Wed, 27 Apr 2011 16:12:17 +0000 (16:12 +0000)]
(trunk libT) use tr_malloc() instead of malloc() in tr_loadFile() and in the fallback code for tr_valloc()
Jordan Lee [Wed, 27 Apr 2011 05:29:05 +0000 (05:29 +0000)]
(trunk libT) #4209 "Shortcut UDP tracker test" -- prioritize the UDP handler functions based on frequency (uTP, DHT, UTP tracker) as outlined by jch in comment:5. Also, don't call the uTP or DHT handlers when uTP or DHT is disabled in the system preferences.
To avoid the function call overhead described by jch, instead of calling tr_sessionIsUTPEnabled() and tr_sessionIsDHTEnabled(), we test for WITH_UTP to be defined and test the tr_session.isUTPEnabled and tr_session.isDHTEnabled flags directly.
Jordan Lee [Wed, 27 Apr 2011 05:03:10 +0000 (05:03 +0000)]
(trunk libT) #4209 "Shortcut UDP tracker test" -- the goal of #4209 is to minimize the cost of the UDP event callback function, so apply the heap pruning eye to that by removing an unnecessary malloc/free call there.
Previously we allocated a 4096 character buffer each time; now we allocate it on the stack. It seems all the distros and OS flavors that Transmission runs on have multi-MB default stack sizes, so a hardwired 4K array should be safe.
Jordan Lee [Mon, 25 Apr 2011 21:11:08 +0000 (21:11 +0000)]
#4206 "RPC Documentation missing defualt value for 'torrent-set-location' argument 'move'" -- fixed.
Jordan Lee [Sun, 24 Apr 2011 22:56:42 +0000 (22:56 +0000)]
(trunk libT) #4204 "Availability is the same as the amount downloaded when there are no seeders" -- possible fix
It looks like we had the wrong test on the replication count array size.
Juliusz Chroboczek [Sun, 24 Apr 2011 19:12:28 +0000 (19:12 +0000)]
Optimise UDP dispatch (fixes #4209).
Make quick inline tests for the DHT and UDP tracker protocols, which
avoids calling tau_handle_message for each µTP packet.
Jordan Lee [Wed, 20 Apr 2011 23:17:10 +0000 (23:17 +0000)]
(trunk daemon) #2338 "Add uTP support" -- added er13's patch from comment:115 to add uTP enable/disable commands to transmission-remote. Thanks er13!
Jordan Lee [Wed, 20 Apr 2011 19:18:28 +0000 (19:18 +0000)]
(trunk utils) add '-o' description to transmission-create's manpage.
Jordan Lee [Wed, 20 Apr 2011 01:16:16 +0000 (01:16 +0000)]
(trunk gtk) very minor tweak in deciding which rows to update in the torrent model.
Since we only display speed to two decimal places, we don't need to compare previous and current torrent speed with more precision than that.
Jordan Lee [Tue, 19 Apr 2011 19:22:55 +0000 (19:22 +0000)]
(trunk) revert r12372 based on feedback from er13: "Many embedded systems use uClibc++ (and not the gcc' libstdc++) as an implementation of Standard C++ Library. r12372 breaks the compilation of transmission for such systems."
Jordan Lee [Tue, 19 Apr 2011 15:23:04 +0000 (15:23 +0000)]
(trunk libt) #4164 "__FD_SETSIZE impact on open-file-limit and peer-limit-global" -- commit patch by romanr to take FD_SETSIZE into account before calling setrlimit()
Jordan Lee [Tue, 19 Apr 2011 14:40:46 +0000 (14:40 +0000)]
(trunk) fix "__gxx_personality_v0" when compiling Transmission on some versions of gcc/g++
The problem is coming from gcc getting confused by having a C program (Transmission) link against a C++ library (libutp). In gcc, C++ code has an implicit dependency on libstdc++ for the __gxx_personality_v0 function.
More info @ http://stackoverflow.com/questions/329059/what-is-gxx-personality-v0-for
Mitchell Livingston [Sun, 17 Apr 2011 20:01:46 +0000 (20:01 +0000)]
bump to 2.30 beta 3
Mitchell Livingston [Sun, 17 Apr 2011 15:59:27 +0000 (15:59 +0000)]
tweak to the reveal button in the inspector in the French localization
Mitchell Livingston [Sun, 17 Apr 2011 15:58:51 +0000 (15:58 +0000)]
update Dutch localization for 2.30
Jordan Lee [Sun, 17 Apr 2011 06:13:22 +0000 (06:13 +0000)]
(trunk libT) more heap pruning: don't allocate peer-msgs' incoming block buffer until it's needed. If we're seeding, we won't need it.
Jordan Lee [Sun, 17 Apr 2011 05:55:46 +0000 (05:55 +0000)]
(trunk libT) heap and event pruning: don't create evtimers for periodic pex messages if the torrent doesn't allow pex (such as, if it's on a private tracker).
Previously, we unconditionally created the evtimer, and then checked each time to see if pex was allowed.
Jordan Lee [Sun, 17 Apr 2011 05:22:50 +0000 (05:22 +0000)]
(trunk libT) more heap pruning: use composition rather than aggregation for the tr_crypto object owned by tr_peerIo.
Jordan Lee [Sat, 16 Apr 2011 22:41:14 +0000 (22:41 +0000)]
(trunk libT) use FD_SETSIZE instead of __FD_SETSIZE
Jordan Lee [Sat, 16 Apr 2011 22:33:29 +0000 (22:33 +0000)]
(trunk libT) #4165 "__FD_SETSIZE impact on open-file-limit and peer-limit-global" -- add safety guard in the file cache to prevent too many open files.
Mitchell Livingston [Sat, 16 Apr 2011 22:10:24 +0000 (22:10 +0000)]
#4104 Drop Mac PPC support
Jordan Lee [Sat, 16 Apr 2011 21:46:32 +0000 (21:46 +0000)]
(trunk libT) changes to the bandwidth allocator's phaseOne step as suggested by Vincent in #2338 comment:108
Jordan Lee [Fri, 15 Apr 2011 21:46:26 +0000 (21:46 +0000)]
(trunk qt) sync Qt client with r12355
Mitchell Livingston [Thu, 14 Apr 2011 00:11:23 +0000 (00:11 +0000)]
Ignore configuration files from Xcode 4.