Commit Graph

10251 Commits

Author SHA1 Message Date
Jordan Lee 4e38d97621 (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... :(
2011-01-24 05:11:16 +00:00
Mitchell Livingston 6de2ac3e4b r3857 Contextual Menu generates console error 2011-01-24 02:01:36 +00:00
Mitchell Livingston 8efbb0ffc5 update Spanish localizations for 2.2 2011-01-24 00:49:08 +00:00
Mitchell Livingston 33686e4282 update Italian localization 2011-01-24 00:38:13 +00:00
Mitchell Livingston c0fc8001e3 fix the alignment issue with the general inspector view - data location 2011-01-24 00:32:42 +00:00
Jordan Lee 2e3ccd8532 (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.
2011-01-23 18:40:29 +00:00
Mitchell Livingston bc50a6d868 the badge by itself can not be updated easily by itself any more 2011-01-23 18:26:35 +00:00
Mitchell Livingston a1eedd117d #3940 Global displayed speed does not include webseeds; remove a now-unused libT speed function 2011-01-23 18:23:52 +00:00
Jordan Lee d38634a3f7 (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.
2011-01-23 16:55:15 +00:00
Jordan Lee 0aee598300 (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.
2011-01-23 16:35:23 +00:00
Jordan Lee e2c7884c7e (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.
2011-01-23 16:12:58 +00:00
Jordan Lee 599d33035b (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
2011-01-22 20:43:36 +00:00
Jordan Lee f36fc1246c (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.
2011-01-22 19:56:01 +00:00
Jordan Lee 75ffe999d4 (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.
2011-01-22 17:45:54 +00:00
Jordan Lee 68130d9c4e (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.
2011-01-22 13:49:15 +00:00
Jordan Lee 53f7fbb039 (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().
2011-01-22 13:33:05 +00:00
Jordan Lee 92def6b960 (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.
2011-01-22 13:26:44 +00:00
Jordan Lee 9220ad2300 (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.
2011-01-22 13:21:20 +00:00
Jordan Lee 2322b32591 (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.
2011-01-22 03:28:06 +00:00
Jordan Lee 413c91f4a8 (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.
2011-01-21 21:51:50 +00:00
Jordan Lee d6518b93b8 (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.
2011-01-21 21:35:11 +00:00
Jordan Lee 4d529db419 (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.
2011-01-21 18:30:08 +00:00
Jordan Lee 287d61197a (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.
2011-01-21 17:31:35 +00:00
Jordan Lee acd941f17a (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.
2011-01-21 17:07:23 +00:00
Jordan Lee 58c7556534 (trunk gtk) #3916 "Reorder the list when metadata is downloaded" -- fix r11737 typo. 2011-01-21 16:36:57 +00:00
Jordan Lee aea77bc9f6 (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.
2011-01-21 16:32:27 +00:00
Jordan Lee 9ce58e33ac (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.
2011-01-21 02:58:58 +00:00
Jordan Lee 09d28baeb4 #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.
2011-01-21 02:40:33 +00:00
Jordan Lee ab02ba0d2c 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.
2011-01-21 02:29:26 +00:00
Mitchell Livingston 260c4470cf tweak Credits.rtf 2011-01-20 23:09:18 +00:00
Jordan Lee 5dd2a87f53 mark the peer-id and user-agent for 2.20 beta 1 2011-01-20 22:57:59 +00:00
Jordan Lee c5709d2976 mention #3870 in the NEWS 2011-01-20 22:55:08 +00:00
Jordan Lee 5b382d203e (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.
2011-01-20 22:51:05 +00:00
Jordan Lee bca543dc8e (trunk libT) #3923 "remove redundant announcer.c debug message" -- done. 2011-01-20 20:49:09 +00:00
Juliusz Chroboczek 25fa70576f Mention dht-0.18 in NEWS. 2011-01-20 20:44:01 +00:00
Juliusz Chroboczek efadbaf812 Import dht-0.18. 2011-01-20 20:43:57 +00:00
Jordan Lee a63fdd15b4 (trunk) #3926 "use 'Open Torrent' instead of 'Add Torrent' in GTK+ and Qt clients" -- fix accelerator ambiguity.
Using Ctrl-O for "Open File" causes a conflict with the existing Ctrl-O for "Open Folder." The HIG-compliant shortcut wins the conflict, so "Open Folder" gets a new accelerator.
2011-01-20 20:32:28 +00:00
Jordan Lee f22e2d537b (trunk qt) #3926 "use 'Open Torrent' instead of 'Add Torrent' in GTK+ and Qt clients" -- sync the accelerator with the GTK+ client 2011-01-20 20:24:59 +00:00
Jordan Lee b241c9d885 (trunk qt) #3925 "qtr.pro cleanup" -- patch from rb07 to handle libevent2 more gracefully via pkg-config 2011-01-20 20:20:14 +00:00
Jordan Lee 475c45abe0 (trunk qt) #3926 "use "Open Torrent" instead of "Add Torrent" in GTK+ and Qt clients" -- one more instance 2011-01-20 20:12:24 +00:00
Jordan Lee 7dd9427a1f (trunk gtk) #3909 -- don't use Ctrl-M as the shortcut for "Copy Magnet Link to Clipboard." 2011-01-20 20:07:09 +00:00
Jordan Lee 3b28138c71 (trunk) #3926: use "Open Torrent" instead of "Add Torrent" in GTK+ and Qt clients -- change the filename from add-dialog.[ch] to open-dialog.[ch]. whoooo 2011-01-20 19:57:42 +00:00
Jordan Lee 131afcc3a4 (trunk) #3926: use "Open Torrent" instead of "Add Torrent" in GTK+ and Qt clients -- text changed. 2011-01-20 19:48:13 +00:00
Jordan Lee bcb83b4577 (trunk libT) #3921 "no overhead for reads" -- fixed. thanks to jch for reporting this. 2011-01-20 00:31:46 +00:00
Jordan Lee 4f6d46cf99 (trunk libT) minor code tweak to crypto.c's tr_sha1() function 2011-01-19 21:50:51 +00:00
Jordan Lee 6ae426696f tr_sha1(): remove unnecessary casts from va_arg 2011-01-19 21:43:43 +00:00
Jordan Lee f3e1c17261 (trunk qt) #3917 "Text on QPushButton is not updated after selecting 'Torrent Done' script" -- fixed. patch by cantabile. 2011-01-19 20:33:43 +00:00
Jordan Lee 06884387da (trunk) #3914 "strlsize() passes variable of incompatible type to the tr_formatter_size_B()" -- fixed. 2011-01-19 18:14:01 +00:00
Jordan Lee 3c14abd183 remove mention of µTP from 2.20 NEWS. let's not get ahead of ourselves -- we shouldn't imply future µTP support when that decision hasn't been made yet. 2011-01-19 16:47:07 +00:00
Juliusz Chroboczek 52c53d005d Update NEWS. 2011-01-19 16:09:31 +00:00