]> granicus.if.org Git - transmission/log
transmission
14 years ago(trunk libT) announcer.c cleanup, part 1
Jordan Lee [Sat, 5 Feb 2011 16:45:06 +0000 (16:45 +0000)]
(trunk libT) announcer.c cleanup, part 1

Separating this commit into a few different stages. This one is superficial/readability changes, such as grouping related functions together.

14 years ago(trunk libT) #3980 "segfault when adding many torrents remotely" -- possible fix.
Jordan Lee [Sat, 5 Feb 2011 05:03:00 +0000 (05:03 +0000)]
(trunk libT) #3980 "segfault when adding many torrents remotely" -- possible fix.

gtk/main.c's onRPCChanged() is called from inside the libtransmission thread, yet it still made GTK+ calls to modify the GTK+ client's tr-core object when a torrent was added. This caused a race condition inside of the GTK+ internals. onRPCChanged() already knows to delegate work back to the GTK+ thread when a torrent is removed via RPC. This commit uses the same kind of mechanism to delegate work back to the GTK+ thread when a torrent is added via RPC.

14 years agobump to nightly peer-id
Jordan Lee [Sat, 5 Feb 2011 04:22:38 +0000 (04:22 +0000)]
bump to nightly peer-id

14 years agoupdate Dutch localization
Mitchell Livingston [Fri, 4 Feb 2011 13:22:45 +0000 (13:22 +0000)]
update Dutch localization

14 years ago(trunk libT) #3978 "Message window column sorting fails and triggers gtk warnings...
Jordan Lee [Fri, 4 Feb 2011 06:12:55 +0000 (06:12 +0000)]
(trunk libT) #3978 "Message window column sorting fails and triggers gtk warnings" -- fixed.

I'm not sure why sorting was in there in the first place; it doesn't make sense in a message log.. Disabling sorting fixes this bug.

14 years agobump to 2.20 beta 4 2.20b4
Jordan Lee [Fri, 4 Feb 2011 04:00:16 +0000 (04:00 +0000)]
bump to 2.20 beta 4

14 years ago(trunk libT) minor futzing: remove unnecessary "assert( tr_isTorrent( tor ) );" calls
Jordan Lee [Thu, 3 Feb 2011 22:53:02 +0000 (22:53 +0000)]
(trunk libT) minor futzing: remove unnecessary "assert( tr_isTorrent( tor ) );" calls

Remove these calls from private functions whose callers have already asserted the same thing.

14 years ago(trunk qt) in the "new torrent" dialog, have the "save to" and "source folder" file...
Jordan Lee [Thu, 3 Feb 2011 22:13:31 +0000 (22:13 +0000)]
(trunk qt) in the "new torrent" dialog, have the "save to" and "source folder" file dialogs be QFileDialog::DirectoryOnly rather than QFileDialog::Directory

14 years ago(trunk libT) #3967 "regression: transmission-daemon's non-inotify watchdir is broken...
Jordan Lee [Thu, 3 Feb 2011 17:37:53 +0000 (17:37 +0000)]
(trunk libT) #3967 "regression: transmission-daemon's non-inotify watchdir is broken in 2.20 betas" -- fixed.

When inotify isn't available, watch.c uses readdir() to look for new .torrent files. It keeps a list of old .torrent files internally so that it doesn't try to keep re-adding the same file. This list is stored in an evbuffer. As part of the libevent2 upgrade (#3836), r11594 changed how the buffer is searched by replacing the (deprecated) event_find() call with libevent2's evbuffer_search(). However the latter's semantics are different in that searching stops when '\0' is reached, so '\0' is no longer a good filename delimiter. Fixed by changing watch.c's internal delimiter from '\0' to '\t' ... so all those torrents with tabs in their filenames had better watch out.

14 years agoupdate Simplified Chinese localization for 2.2
Mitchell Livingston [Thu, 3 Feb 2011 12:36:30 +0000 (12:36 +0000)]
update Simplified Chinese localization for 2.2

14 years ago(trunk libT) now that bencode.c doesn't call stat() anymore, we can remove a couple...
Jordan Lee [Thu, 3 Feb 2011 06:19:54 +0000 (06:19 +0000)]
(trunk libT) now that bencode.c doesn't call stat() anymore, we can remove a couple of #includes

14 years ago(trunk libT) #3519 "Webseeds don't work" -- handle nonresponsive webseeds
Jordan Lee [Thu, 3 Feb 2011 04:17:48 +0000 (04:17 +0000)]
(trunk libT) #3519 "Webseeds don't work" -- handle nonresponsive webseeds

Don't keep trying to use nonresponsive webseeds or it will generate unnecessary network traffic and kill us during endgame.

14 years ago(trunk libT) #3975: "tr_bencToFile() contains unnecessary calls to stat() and unlink...
Jordan Lee [Thu, 3 Feb 2011 00:48:05 +0000 (00:48 +0000)]
(trunk libT) #3975: "tr_bencToFile() contains unnecessary calls to stat() and unlink()" -- fixed.

When saving a tr_benc object to disk at $dst, bencode.c saves it to a tmp file in the same directory as $dst, unlinks $dst if it exists, and then renames $tmp as $dst. This commit removes the middle step, which is unnecessary because rename() has guarantees about atomically overwriting $dst.

14 years ago(trunk libT) #3973 "JIT verification verifies fresh downloaded torrents" -- remove...
Jordan Lee [Wed, 2 Feb 2011 23:33:25 +0000 (23:33 +0000)]
(trunk libT) #3973 "JIT verification verifies fresh downloaded torrents" -- remove a debugging printf() statement that shouldn't have been checked in.

14 years ago(trunk libT) #3973 "JIT verification verifies fresh downloaded torrents" -- improveme...
Jordan Lee [Wed, 2 Feb 2011 23:29:17 +0000 (23:29 +0000)]
(trunk libT) #3973 "JIT verification verifies fresh downloaded torrents" -- improvement to r11813.

r11813 fixed the timestamp issue by fsync()ing files before close()ing them in tr_close_file(). This causes a little overhead as even read-only files cause a sync as their atimes are modified. Instead, we should call fsync() further back in the call chain in tr_fdFileClose() so that we can know to only sync torrent files that were opened with write access.

14 years ago(trunk libT) #3973 "JIT verification verifies fresh downloaded torrents" -- win32...
Jordan Lee [Wed, 2 Feb 2011 23:19:54 +0000 (23:19 +0000)]
(trunk libT) #3973 "JIT verification verifies fresh downloaded torrents" -- win32 portability fix for r11813.

fsync() doesn't exist on Windows. bencode had a private function, tr_fsync(), that is a portability wrapper around fsync() on *nix and _commit() on win32. Make this function package-visible, rather than private, so fdlimit.c can use it too.

14 years agoupdate European Portuguese for 2.2
Mitchell Livingston [Wed, 2 Feb 2011 22:55:13 +0000 (22:55 +0000)]
update European Portuguese for 2.2

14 years ago(trunk libT) #2955 "verify pieces only when necessary, or when the user requests...
Jordan Lee [Wed, 2 Feb 2011 21:17:16 +0000 (21:17 +0000)]
(trunk libT) #2955 "verify pieces only when necessary, or when the user requests it." -- improvements to .resume file

As pointed out by longinus00 and ijuxda, storing per-piece timestamps in the .resume file can involve a lot of overhead. This commit reduces the overhead by adding a couple of optimizations: (1) in cases where *all* or *none* of the files' pieces were checked after the file's mtime, we can safely fold all the pieces' mtimes into a single per-file mtime. (2) since unix time takes up a lot of space when rendered as a benc integer, find a common per-file "baseline" number, then store the pieces' timestamps as offsets from that number.  Also add documentation explaining this new format, and also better explaining the pre-2.20 progress format.

14 years ago(trunk libT) #3973 "JIT verification verifies freshly-downloaded torrents" -- test...
Jordan Lee [Wed, 2 Feb 2011 20:30:04 +0000 (20:30 +0000)]
(trunk libT) #3973 "JIT verification verifies freshly-downloaded torrents" -- test fix.

Files downloaded in Transmission 2.20 betas [1..3] forced each piece to be checked twice -- once on download, and once when uploading the piece for the first time. Older versions of Transmission didn't perform the latter check unless the file had changed after it was downloaded. This commit restores that behavior.

14 years ago(trunk libT) tweak the documentation on a couple of structs
Jordan Lee [Wed, 2 Feb 2011 17:15:41 +0000 (17:15 +0000)]
(trunk libT) tweak the documentation on a couple of structs

14 years ago(trunk libT) minor code cleanup to inout.c's readOrWriteBytes().
Jordan Lee [Wed, 2 Feb 2011 06:06:09 +0000 (06:06 +0000)]
(trunk libT) minor code cleanup to inout.c's readOrWriteBytes().

Use ijuxda's suggestion of making the fstat(fd) call dependent on (fd>=0) rather than (!err).

14 years ago(trunk libT) silence some unused variable warnings from gcc when building with -DNDEBUG
Jordan Lee [Wed, 2 Feb 2011 05:18:33 +0000 (05:18 +0000)]
(trunk libT) silence some unused variable warnings from gcc when building with -DNDEBUG

14 years ago(trunk daemon) #3775 "'-tall' no longer works for transmission-remote" -- fixed.
Jordan Lee [Wed, 2 Feb 2011 03:17:38 +0000 (03:17 +0000)]
(trunk daemon) #3775 "'-tall' no longer works for transmission-remote" -- fixed.

looks like this was broken in r10907 for #3368 in 2.00 when we added "-ta" as the short form of "--tracker-add". "-ta" seems to be conflicting with "-tall". This can be fixed by changing --tracker-add's short form.

14 years ago(trunk gtk) #3972 "Verify progress changes not displaying" -- fixed.
Jordan Lee [Wed, 2 Feb 2011 02:45:20 +0000 (02:45 +0000)]
(trunk gtk) #3972 "Verify progress changes not displaying" -- fixed.

make sure to call gtk_list_store_set() on rows matching torrents whose tr_stat.recheckProgress value has changed, triggering a row change event that causes the verify progress change to be displayed.

14 years ago(trivial) make the implementation of tr_torPieceCountBlocks(), tr_torPieceCountBytes...
Jordan Lee [Tue, 1 Feb 2011 21:32:03 +0000 (21:32 +0000)]
(trivial) make the implementation of tr_torPieceCountBlocks(), tr_torPieceCountBytes(), and tr_torBlockCountBytes() consistent.

14 years ago(trunk libT) #3956 "tr_bencFree() could be faster" -- fix memory error.
Jordan Lee [Tue, 1 Feb 2011 17:56:19 +0000 (17:56 +0000)]
(trunk libT) #3956 "tr_bencFree() could be faster" -- fix memory error.

#3956's r11780 has uncovered a longstanding memory error that occurs when tr_bencParse() fails to parse a dict and leaves a dangling key. This is fixed by cleaning up the key.

14 years ago(trunk gtk) #3817 "use the OS' proxy support" -- fix memory leaks in the GTK+ impleme...
Jordan Lee [Tue, 1 Feb 2011 17:46:42 +0000 (17:46 +0000)]
(trunk gtk) #3817 "use the OS' proxy support" -- fix memory leaks in the GTK+ implementation.

r11512 introduced a handful of memory leaks by not freeing the GConfValue objects after use.

14 years ago(trunk gtk) #3876 "Give filesize its own column in the Files tree" -- fix minor memor...
Jordan Lee [Tue, 1 Feb 2011 17:42:50 +0000 (17:42 +0000)]
(trunk gtk) #3876 "Give filesize its own column in the Files tree" -- fix minor memory leak introduced by r11642

r11642 allocated a pango font description with pango_font_description_copy() but never freed it.

14 years ago(trunk libT) #3836 "libevent 2 support" -- fix minor memory leak.
Jordan Lee [Tue, 1 Feb 2011 17:12:20 +0000 (17:12 +0000)]
(trunk libT) #3836 "libevent 2 support" -- fix minor memory leak.

tr_peerIoReconnect() was calling event_del() rather than event_free() on its io.event_read and io.event_write fields, causing those fields to be leaked. This behavior is new with libevent 2 support and doesn't affect transmission 2.1x or older.

14 years ago(trunk gtk) #3970 "tr_core_update() wastes CPU cycles by toggling the sort mode"...
Jordan Lee [Tue, 1 Feb 2011 01:45:41 +0000 (01:45 +0000)]
(trunk gtk) #3970 "tr_core_update() wastes CPU cycles by toggling the sort mode" -- fix minor r11799 regression.

Clearing the model on shutdown generated a warning because it used the wrong cast. Rather than fixing the cast, add tr_core_clear() for symmetry with tr_core_load().

14 years ago(trunk gtk) #3971 "favicons do not work for IP addresses" -- fixed.
Jordan Lee [Tue, 1 Feb 2011 01:38:58 +0000 (01:38 +0000)]
(trunk gtk) #3971 "favicons do not work for IP addresses" -- fixed.

gtr_get_host_from_url() wasn't written to handle dotted-quad or IPv6 address strings, but can handle them now.

14 years ago(trunk libT) #3959 "by default, disable prefetch for lightweight builds" -- fixed.
Jordan Lee [Mon, 31 Jan 2011 23:35:10 +0000 (23:35 +0000)]
(trunk libT) #3959 "by default, disable prefetch for lightweight builds" -- fixed.

User jusid reports prefetch causes load on his NMT to jump from <1 to 3-4. He requests a way to disable prefetch, and suggests that prefetch be disabled by default on lightweight builds.  This commit adds a new settings.json key, "prefetch-enabled", which defaults to "true" on standard builds and "false" when compiled with --enable-lightweight.

14 years ago(trunk gtk) #3970 "tr_core_update() wastes CPU cycles by toggling the sort mode"...
Jordan Lee [Mon, 31 Jan 2011 23:01:46 +0000 (23:01 +0000)]
(trunk gtk) #3970 "tr_core_update() wastes CPU cycles by toggling the sort mode" -- fixed.

Long description in #3970. Split tr_core's torrent GtkTreeModel into two models: one low-level unsorted one, and one proxy sorted one. That way we don't have to disable sorting before walking through the low-level one to sync the table's attributes with the tr_torrent and tr_stat.

14 years ago(trunk libT) #3969 "tr_base64_encode() has unnecessary overhead with linefeeds" ...
Jordan Lee [Mon, 31 Jan 2011 22:47:07 +0000 (22:47 +0000)]
(trunk libT) #3969 "tr_base64_encode() has unnecessary overhead with linefeeds" -- fixed.

Don't add linefeeds to base64-encoded data. We don't need it and it just increases the length of the string, which is typically sent over the network to an RPC client.

14 years ago(trunk libt) #3968 "tr_cpFileIsComplete could be faster" -- fixed.
Jordan Lee [Mon, 31 Jan 2011 16:43:37 +0000 (16:43 +0000)]
(trunk libt) #3968 "tr_cpFileIsComplete could be faster" -- fixed.

Rewriting this function as described in ticket #3968. This rewrite drops it from 1.77% of cpu use to 0.07%.

14 years agofix icon alignment in inspector tabs
Mitchell Livingston [Sun, 30 Jan 2011 21:34:46 +0000 (21:34 +0000)]
fix icon alignment in inspector tabs

14 years agoalways unlock focus when drawing the inspector buttons
Mitchell Livingston [Sun, 30 Jan 2011 19:34:38 +0000 (19:34 +0000)]
always unlock focus when drawing the inspector buttons

14 years agotweak inspector button drawing to account for black lines
Mitchell Livingston [Sun, 30 Jan 2011 19:32:40 +0000 (19:32 +0000)]
tweak inspector button drawing to account for black lines

14 years ago(trunk) update NEWS and bump version to 2.20 beta 3. 2.20b3
Jordan Lee [Sun, 30 Jan 2011 17:52:11 +0000 (17:52 +0000)]
(trunk) update NEWS and bump version to 2.20 beta 3.

14 years ago(trunk utils) #3964 "transmission-edit replace option cuts off strings" -- fixed.
Jordan Lee [Sun, 30 Jan 2011 16:40:11 +0000 (16:40 +0000)]
(trunk utils) #3964 "transmission-edit replace option cuts off strings" -- fixed.

The trailing text after the last substring match wasn't being retained.

14 years ago(trunk libT) #3931 "announce is queued" -- minor revision for uClibc compatibility
Jordan Lee [Sun, 30 Jan 2011 16:23:53 +0000 (16:23 +0000)]
(trunk libT) #3931 "announce is queued" -- minor revision for uClibc compatibility

jusid reports that powl() doesn't exist on uClibc, so getRetryInterval() needs to work without it. A simple left-bit shifting would be fine, but since we max out after a handful of cases, a switch statement seems slightly more readable than shifting or powl().

14 years agotweak the inspector button gradient
Mitchell Livingston [Sun, 30 Jan 2011 02:52:03 +0000 (02:52 +0000)]
tweak the inspector button gradient

14 years agouse the control color for the selected inspector button; small tweaks to the updated...
Mitchell Livingston [Sun, 30 Jan 2011 02:36:08 +0000 (02:36 +0000)]
use the control color for the selected inspector button; small tweaks to the updated button bar's drawing code

14 years ago#3962 Update the inspector's button bar's look
Mitchell Livingston [Sun, 30 Jan 2011 02:01:05 +0000 (02:01 +0000)]
#3962 Update the inspector's button bar's look

14 years ago(trunk libT) #3961 "Support for running scripts when a torrent finishes downloading...
Jordan Lee [Sun, 30 Jan 2011 01:41:48 +0000 (01:41 +0000)]
(trunk libT) #3961 "Support for running scripts when a torrent finishes downloading on Windows" -- fixed. patch by rb07

The changes to torrentCallScript() weren't portable to Windows, so rb07 has provided a patch.

14 years ago(trunk libT) #2363 "daemon on mac moves config files on first launch" -- fixed.
Jordan Lee [Sun, 30 Jan 2011 01:33:53 +0000 (01:33 +0000)]
(trunk libT) #2363 "daemon on mac moves config files on first launch" -- fixed.

Don't run platform.c's migrateFiles() except on *nix platforms. Add comment explaining when the function is used and why.

14 years ago(trunk libT) "Announce is Queued" but torrent doesn't announce itself to trackers...
Jordan Lee [Sat, 29 Jan 2011 19:04:02 +0000 (19:04 +0000)]
(trunk libT) "Announce is Queued" but torrent doesn't announce itself to trackers -- simplify http response code handling

14 years ago(trunk libT) #3950 "use libevent's cached gettimeofday() value when appropriate"...
Jordan Lee [Sat, 29 Jan 2011 18:59:23 +0000 (18:59 +0000)]
(trunk libT) #3950 "use libevent's cached gettimeofday() value when appropriate" -- fixed.

14 years ago(trunk libT) memory cache should use evbuffers to avoid unnecessary calls to memcpy...
Jordan Lee [Sat, 29 Jan 2011 18:56:53 +0000 (18:56 +0000)]
(trunk libT) memory cache should use evbuffers to avoid unnecessary calls to memcpy -- done.

14 years ago(trunk libT) #3955 "tr_torrentNext() should be inlined" -- fixed.
Jordan Lee [Sat, 29 Jan 2011 18:54:43 +0000 (18:54 +0000)]
(trunk libT) #3955 "tr_torrentNext() should be inlined" -- fixed.

14 years ago(trunk libT) #33956 "tr_bencFree() could be faster" -- fixed.
Jordan Lee [Sat, 29 Jan 2011 18:14:35 +0000 (18:14 +0000)]
(trunk libT) #33956 "tr_bencFree() could be faster" -- fixed.

benc requires its dictionaries to be represented in a sorted form, so we sort them before walking across the entries. However that's overkill when all we're doing is freeing memory, so this commit adds a mechanism in the benc walker to optionally avoid the sorting overhead.

14 years agotruncate the tier info in the middle in the tracker table
Mitchell Livingston [Sat, 29 Jan 2011 18:05:35 +0000 (18:05 +0000)]
truncate the tier info in the middle in the tracker table

14 years ago(trunk libT) more NULL ptr safeguards
Jordan Lee [Thu, 27 Jan 2011 18:54:25 +0000 (18:54 +0000)]
(trunk libT) more NULL ptr safeguards

14 years agoupdate Russian localization for 2.2
Mitchell Livingston [Thu, 27 Jan 2011 13:25:56 +0000 (13:25 +0000)]
update Russian localization for 2.2

14 years ago(trunk libT) NULL ptr safeguard
Jordan Lee [Thu, 27 Jan 2011 05:00:09 +0000 (05:00 +0000)]
(trunk libT) NULL ptr safeguard

14 years ago(trunk) #3949 "Add --enable-lightweight argument to configure" -- fixed.
Jordan Lee [Thu, 27 Jan 2011 03:53:02 +0000 (03:53 +0000)]
(trunk) #3949 "Add --enable-lightweight argument to configure" -- fixed.

TR_EMBEDDED has been around for awhile, but few (any?) repackagers are aware of it. If it was "advertised" through a configure-time argument, and in the status messages at the end of the configure script, more repackagers would be aware of it.

14 years agoupdate German localization
Mitchell Livingston [Thu, 27 Jan 2011 00:42:30 +0000 (00:42 +0000)]
update German localization

14 years agoupdate Brazilian Portuguese localization
Mitchell Livingston [Thu, 27 Jan 2011 00:37:34 +0000 (00:37 +0000)]
update Brazilian Portuguese localization

14 years ago(trunk) adding "--enable-static --disable-shared -q" to ac_configure_args is unnecess...
Jordan Lee [Tue, 25 Jan 2011 16:53:43 +0000 (16:53 +0000)]
(trunk) adding "--enable-static --disable-shared -q" to ac_configure_args is unnecessary -- fixed.

This line was added in r2768 to ensure that Transmission's bundled libevent was built as a static library. libevent is no longer bundled, so this line isn't needed.

14 years agotweak section numbers
Jordan Lee [Tue, 25 Jan 2011 16:39:38 +0000 (16:39 +0000)]
tweak section numbers

14 years ago#3042 "Open torrent dialog focus not restored" -- fixed. patch by ijuxda.
Jordan Lee [Tue, 25 Jan 2011 04:26:10 +0000 (04:26 +0000)]
#3042 "Open torrent dialog focus not restored" -- fixed. patch by ijuxda.

the callback function for GtkWidget's focus-in-event should return TRUE to stop other handlers from being invoked for the event or FALSE to propagate the event further.

14 years agobump to 2.20 beta 2 2.20b2
Jordan Lee [Tue, 25 Jan 2011 02:21:30 +0000 (02:21 +0000)]
bump to 2.20 beta 2

14 years agoupdate the help to note that blocklists may be compressed
Mitchell Livingston [Tue, 25 Jan 2011 01:53:33 +0000 (01:53 +0000)]
update the help to note that blocklists may be compressed

14 years agoupdate NEWS
Mitchell Livingston [Tue, 25 Jan 2011 01:46:04 +0000 (01:46 +0000)]
update NEWS

14 years ago#3928 Update blocklist download to handle archives (including ZIP)
Mitchell Livingston [Tue, 25 Jan 2011 01:43:11 +0000 (01:43 +0000)]
#3928 Update blocklist download to handle archives (including ZIP)

14 years ago(trunk libT) torrent.c setLocation(): don't try to move a file if the source and...
Jordan Lee [Mon, 24 Jan 2011 06:07:06 +0000 (06:07 +0000)]
(trunk libT) torrent.c setLocation(): don't try to move a file if the source and destination paths are the same.

14 years ago(trunk libT) #2955 "verify pieces only when necessary, or when the user requests...
Jordan Lee [Mon, 24 Jan 2011 05:11:16 +0000 (05:11 +0000)]
(trunk libT) #2955 "verify pieces only when necessary, or when the user requests it." -- add better support for old .resume files

Super-poussin says some readynas users are reporting high CPU oloads in 2.20 beta 1. My guess is this is due to pieces being reverified. Before now, the .resume files kept timestamps per-file, and 2.20 keeps timestamps per-piece. The problem is that 2.20 beta 1 didn't support reading the older per-file timetstamps from .resume files, so users loading up 2.20 beta 1 may find Transmission thinks none of the pieces in the torrents have been verified.

The fix is to have 2.20 beta 2 read the old per-file timestamps, so upgrading from 2.1x to 2.20 will go smoothly. That's what this commit does.

Unfortunately, the readynas users who have already been bitten by this will continue to be bitten until they reverify their files. 2.20 beta 1, which thinks all those pieces were never verified, has probably overwritten the .resume files from 2.1x... :(

14 years agor3857 Contextual Menu generates console error
Mitchell Livingston [Mon, 24 Jan 2011 02:01:36 +0000 (02:01 +0000)]
r3857 Contextual Menu generates console error

14 years agoupdate Spanish localizations for 2.2
Mitchell Livingston [Mon, 24 Jan 2011 00:49:08 +0000 (00:49 +0000)]
update Spanish localizations for 2.2

14 years agoupdate Italian localization
Mitchell Livingston [Mon, 24 Jan 2011 00:38:13 +0000 (00:38 +0000)]
update Italian localization

14 years agofix the alignment issue with the general inspector view - data location
Mitchell Livingston [Mon, 24 Jan 2011 00:32:42 +0000 (00:32 +0000)]
fix the alignment issue with the general inspector view - data location

14 years ago(trunk qt) #3938 "the defualt config directory isn't created by the Qt client" -...
Jordan Lee [Sun, 23 Jan 2011 18:40:29 +0000 (18:40 +0000)]
(trunk qt) #3938 "the defualt config directory isn't created by the Qt client" -- minor revision to r11755 to handle the case of custom config directories passed in via the command line.

transmission-daemon and transmission-gtk will create these custom config directories if they don't exist. transmission-qt should, too.

14 years agothe badge by itself can not be updated easily by itself any more
Mitchell Livingston [Sun, 23 Jan 2011 18:26:35 +0000 (18:26 +0000)]
the badge by itself can not be updated easily by itself any more

14 years ago#3940 Global displayed speed does not include webseeds; remove a now-unused libT...
Mitchell Livingston [Sun, 23 Jan 2011 18:23:52 +0000 (18:23 +0000)]
#3940 Global displayed speed does not include webseeds; remove a now-unused libT speed function

14 years ago(trunk qt) #3938 "The default config directory isn't created by the Qt client" -...
Jordan Lee [Sun, 23 Jan 2011 16:55:15 +0000 (16:55 +0000)]
(trunk qt) #3938 "The default config directory isn't created by the Qt client" -- fixed.

Summary says it all. Patch by luksan with minor formatting changes (and, no doubt, a new bug) by me.

14 years ago(trunk libT) #3937 "inactive webseeds are listed as active"
Jordan Lee [Sun, 23 Jan 2011 16:35:23 +0000 (16:35 +0000)]
(trunk libT) #3937 "inactive webseeds are listed as active"

This is caused by libtransmission using tr_webseedIsActive() in two ways: (1) webseed.c uses it to know if there are any pending requests, and (2) tr_torrentStat() uses it to set tr_stat.webseedsSendingToUs. Having a queued task isn't enough to be "active" in use (2) -- it needs to know if the webseed is actually sending data. These two uses should be moved into separate functions.

14 years ago(trunk) #3939 "autogen.sh doesn't work correctly on systems where /bin/sh doesn't...
Jordan Lee [Sun, 23 Jan 2011 16:12:58 +0000 (16:12 +0000)]
(trunk) #3939 "autogen.sh doesn't work correctly on systems where /bin/sh doesn't point to bash" -- fixed with patch from er13

This bug was introduced a couple of days ago in the fix to #3901 "Confusing error message when libtool is missing." The fix introduced a bashism, which should be avoided if we want to work with strict sh.

14 years ago(trunk libT) #3906 "DHT ignores bind-address-ipv6" -- make the process of getting...
Jordan Lee [Sat, 22 Jan 2011 20:43:36 +0000 (20:43 +0000)]
(trunk libT) #3906 "DHT ignores bind-address-ipv6" -- make the process of getting the binding address consistent between IPv4 and IPv6 sockets.

As suggested by Juiusz after the IPv6 binding commit in r11749.  See: https://trac.transmissionbt.com/ticket/3906#comment:6

14 years ago(trunk libT) #3934 "manual reannounce doesn't work if the initial announce failed...
Jordan Lee [Sat, 22 Jan 2011 19:56:01 +0000 (19:56 +0000)]
(trunk libT) #3934 "manual reannounce doesn't work if the initial announce failed" -- fixed.

Use tor->isRunning, rather than tier->isRunning, when testing to see if a torrent can manual announce or not.  tor->isRunning means we're inbetween the user pressing "start" and "stop." tier->isRunning means we're inbetween successful "started" and "stopped" announcements. (This is deliberately out-of-sync from tor->isRunning because it can take awhile to for tracker announces to finish.)

Under the old code (using tier->isRunning), it was impossible to manually reannounce unless there had been a successful event=started announce first. It was also possible to manually announce after the "stop" button had been pressed if the "event=stopped" announcement hadn't finished yet.

14 years ago(trunk libT) #3933 "announcer.c peer parsing could be simpler" -- fixed.
Jordan Lee [Sat, 22 Jan 2011 17:45:54 +0000 (17:45 +0000)]
(trunk libT) #3933 "announcer.c peer parsing could be simpler" -- fixed.

Remove redundant code by using tr_peerMgrCompactToPex() and tr_peerMgrCompact6ToPex() to parse compact ipv4 and ipv6 peer lists. Simplify the old-style benc peer list parsing and fix a bug that returned too few bytes in the old-style peer array.

14 years ago(trunk libT) #3906 "DHT ignores bind-address-ipv6" -- test fix.
Jordan Lee [Sat, 22 Jan 2011 13:49:15 +0000 (13:49 +0000)]
(trunk libT) #3906 "DHT ignores bind-address-ipv6" -- test fix.

Add code to honor the ipv6 bind address. Thanks to jch for saving me a little work by confirming the bug and pointing out where in the code the change needed to be made.

14 years ago(trunk libT) #3927 "Use of libevent2 evbuffer_write on files..."
Jordan Lee [Sat, 22 Jan 2011 13:33:05 +0000 (13:33 +0000)]
(trunk libT) #3927 "Use of libevent2 evbuffer_write on files..."

evbuffer_write() is intended for sockets. It works for files on Unix, but not on Windows, so we can't portably use it on files. Instead, use evbuffer_pullup() + write().

14 years ago(trunk gtk) #3887: "CPU spikes to 100% on scrolling" -- workaround committed.
Jordan Lee [Sat, 22 Jan 2011 13:26:44 +0000 (13:26 +0000)]
(trunk gtk) #3887: "CPU spikes to 100% on scrolling" -- workaround committed.

The patch avoids use of GtkCellRendererText's "sensitive" property, and instead renders paused torrents' text using the widget's style's color for insensitive text. This approach honors the theme's "insensitive" color setting and uses it to draw insensitive text with no etching or shadowing.

The better option is still for Murrine to fix its text shadow issue... but until then, here is a workaround.

14 years ago(trunk libT) #3932 "Assertion failed: (tab != NULL), function tr_torrentAvailability"
Jordan Lee [Sat, 22 Jan 2011 13:21:20 +0000 (13:21 +0000)]
(trunk libT) #3932  "Assertion failed: (tab != NULL), function tr_torrentAvailability"

Looks like tab can be NULL from the Mac client when magnet links are involved and the Mac client doesn't know how many pieces are available, so that assertion's not appropriate.

14 years ago(trunk) #3901 "Confusing error message when libtool is missing" -- fixed.
Jordan Lee [Sat, 22 Jan 2011 03:28:06 +0000 (03:28 +0000)]
(trunk) #3901 "Confusing error message when libtool is missing" -- fixed.

autogen.sh invokes autoreconf without checking to see if it fails (as it does if libtool can't be found). In such cases it also invokes a broken doomed version of the configure script, which generates a lot of red herring messages that distract from the real problem encountered by autoreconf.

The fix is to exit autogen.sh if its call to autoreconf fails.

14 years ago(trunk qt) #3930 - "Add URL" - auto-copy links from the clipboard
Jordan Lee [Fri, 21 Jan 2011 21:51:50 +0000 (21:51 +0000)]
(trunk qt) #3930 - "Add URL" - auto-copy links from the clipboard

When opening the "Add URL" dialog, check the clipboard selection & clipboard proper to see if either contains a URL, magnet link, or info hash code. If it has any of those things, put that in the dialog's entry field as the default action. Patch by cantabile.

14 years ago(trunk gtk) #3930: Add drag-and-drop support for info hashes.
Jordan Lee [Fri, 21 Jan 2011 21:35:11 +0000 (21:35 +0000)]
(trunk gtk) #3930: Add drag-and-drop support for info hashes.

The "Add URL" dialog accepts URLs, magnet links, and infohashes, but only copyies urls and magnet links from the clipboard. Patch by cantabile.

14 years ago(trunk gtk) include the torrent hashcode in the model's collated name.
Jordan Lee [Fri, 21 Jan 2011 18:30:08 +0000 (18:30 +0000)]
(trunk gtk) include the torrent hashcode in the model's collated name.

This simplifies sorting by name by merging the primary and secondary keys (case-insensitive name, and hash string) into a single key.

14 years ago(trunk gtk) set GtkLabel's "single-line-mode" flag to TRUE in the toolbar, in the...
Jordan Lee [Fri, 21 Jan 2011 17:31:35 +0000 (17:31 +0000)]
(trunk gtk) set GtkLabel's "single-line-mode" flag to TRUE in the toolbar, in the stats dialog, and in the details dialog's info tab.

According to the GTK+ documentation, this "can be an advantage in situations where resizing the label because of text changes would be distracting, e.g. in a statusbar." It doesn't seem to prevent relayout in GTK+ 2.20.1, but maybe other versions of GTK+ will make better use of the flag.

14 years ago(trunk gtk) companion commit to r11738 to reduce unnecessary re-rendering in the...
Jordan Lee [Fri, 21 Jan 2011 17:07:23 +0000 (17:07 +0000)]
(trunk gtk) companion commit to r11738 to reduce unnecessary re-rendering in the main window

The main window called gtk_tree_model_filter_refilter() once per second to refresh the torrent list's filtering. This is not an efficient approach: gtk_tree_model_filter_refilter() emits a "row changed" event for every row, causing unnecessary re-rendering.

I've removed the call to gtk_tree_model_filter_refilter() and expanded the model to includes all the fields necessary for filtering. That way we only fire "row changed" events for rows that actually change.

By reducing the number of renders in steady state, this might ameliorate https://bugs.launchpad.net/ubuntu/+source/transmission/+bug/655024

However it will *not* help the related "CPU spikes to 100% on scrolling" ticket at https://trac.transmissionbt.com/ticket/3887 because rendering paused torrents is still exceptionally expensive in the murrine theme.

14 years ago(trunk gtk) #3916 "Reorder the list when metadata is downloaded" -- fix r11737 typo.
Jordan Lee [Fri, 21 Jan 2011 16:36:57 +0000 (16:36 +0000)]
(trunk gtk) #3916 "Reorder the list when metadata is downloaded" -- fix r11737 typo.

14 years ago(trunk gtk) make "gtr_label_set_text" public and use it everywhere instead of gtk_lab...
Jordan Lee [Fri, 21 Jan 2011 16:32:27 +0000 (16:32 +0000)]
(trunk gtk) make "gtr_label_set_text" public and use it everywhere instead of gtk_label_set_text()

Some of the refresh events to the main window's torrent list are caused by main window relayout caused by the toolbar's GtkLabels recalculating their size after being updated once per second. To prevent relayout in some trivial cases, I'm replacing the gtk_label_set_text() calls with gtr_label_set_text() because the latter doesn't update the label widget if the old and new text strings are the same.

There are other changes that can handle more important cases -- I'll test those out next.

14 years ago(trunk gtk) #3916 "Reorder the list when metadata is downloaded" -- fixed.
Jordan Lee [Fri, 21 Jan 2011 02:58:58 +0000 (02:58 +0000)]
(trunk gtk) #3916 "Reorder the list when metadata is downloaded" -- fixed.

When tr_info.name changes, update the collated name in the main window's TreeStore.

14 years ago#3915 "RPC Documentation should reflect in the X-Transmission-Session-Id headers...
Jordan Lee [Fri, 21 Jan 2011 02:40:33 +0000 (02:40 +0000)]
#3915 "RPC Documentation should reflect in the X-Transmission-Session-Id headers" -- fixed.

Add documentation for handling 409 error messages from the Transmission RPC server.

14 years agoRemove the documentation for PUT notation from the rpc spec
Jordan Lee [Fri, 21 Jan 2011 02:29:26 +0000 (02:29 +0000)]
Remove the documentation for PUT notation from the rpc spec

The PUT hack was useful back when Transmission's RPC was first written, but it doesn't scale well to any of the commands that make its RPC useful. We should deprecate its use and not advertise this feature anymore.

14 years agotweak Credits.rtf
Mitchell Livingston [Thu, 20 Jan 2011 23:09:18 +0000 (23:09 +0000)]
tweak Credits.rtf

14 years agomark the peer-id and user-agent for 2.20 beta 1 2.20b1
Jordan Lee [Thu, 20 Jan 2011 22:57:59 +0000 (22:57 +0000)]
mark the peer-id and user-agent for 2.20 beta 1

14 years agomention #3870 in the NEWS
Jordan Lee [Thu, 20 Jan 2011 22:55:08 +0000 (22:55 +0000)]
mention #3870 in the NEWS

14 years ago(trunk libT) #3870 "transmission doesn't recheck after getting initial 404" -- fixed.
Jordan Lee [Thu, 20 Jan 2011 22:51:05 +0000 (22:51 +0000)]
(trunk libT) #3870 "transmission doesn't recheck after getting initial 404" -- fixed.

The exponentially-growing interval between retries had a bug that caused intervals to be too long if no successful announce had ever been made. This commit fixes the code that calculates the interval.

14 years ago(trunk libT) #3923 "remove redundant announcer.c debug message" -- done.
Jordan Lee [Thu, 20 Jan 2011 20:49:09 +0000 (20:49 +0000)]
(trunk libT) #3923 "remove redundant announcer.c debug message" -- done.