Commit Graph

13387 Commits

Author SHA1 Message Date
Mike Gelfand 2d940e5caf
Bump copyright to 2020 (some more places) (#1206)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2020-05-02 12:26:42 -05:00
Charles Kerr 8739cb9c88
fixup! (trunk) update credits (#1205) 2020-05-02 11:42:18 -05:00
Mike Gelfand d1d27ae35f Add new translations from Transifex (95% and higher)
GTK client: none.

Qt client: Japanese.

Mac client: none (there're suitable languages, but they're lacking XIB files
and we haven't switched to base localization yet).
2020-05-02 13:26:24 +03:00
Mike Gelfand a79dbe4436 Sync existing translations with Transifex 2020-05-02 13:25:56 +03:00
Charles Kerr 797700e63f
perf: lazy-update actions enabled on change events (#1187)
* perf: lazy-update actions enabled on change events

Actions' sensitivity was being lazy-updated in response to other events
but accidentally were doing immediate updates in response to torrentsChanged
signals being emitted from TorrentModel. This commit makes that path a
lazy-update as well.

* chore: uncrustify

* refactor: make the idle updater a lambda again
2020-05-01 23:23:47 -05:00
Charles Kerr 87c9287b6a
refactor: in tr_truncd(), use DBL_DIG in printf() (#1186)
Previously it was calculated from `log10(1.0 / DBL_EPISILON) - 1`;
however, there's no need to calculate it out when there's an ANSI
standard that already spells it out consisely.
2020-05-01 22:11:45 -05:00
Mike Gelfand 2123adf8e5 CVE-2018-10756: Fix heap-use-after-free in tr_variantWalk
In libtransmission/variant.c, function tr_variantWalk, when the variant
stack is reallocated, a pointer to the previously allocated memory
region is kept. This address is later accessed (heap use-after-free)
while walking back down the stack, causing the application to crash.
The application can be any application which uses libtransmission, such
as transmission-daemon, transmission-gtk, transmission-show, etc.

Reported-by: Tom Richards <tom@tomrichards.net>
2020-04-29 17:29:38 +03:00
Bogdan Vasiliev a6482b0061
GTK: behavior improvements of the torrent details window (#892)
* gtk: torrent details file-list default sort

* gtk: save torrent details window size

* gtk: torrent details window size & sort, code style

* gtk: torrent details window, conf.c dict fix

Co-authored-by: Charles Kerr <ckerr@github.com>
2020-04-27 16:34:02 -05:00
RobCrowston 6bb8b2e78a
Refactor tr_torrentFindFile2 (#921)
* Factor-out file seek in tr_torrentFindFile2.

* Update libtransmission/torrent.c

Co-Authored-By: RobCrowston <crowston@protonmail.com>

* Fix code style.

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
Co-authored-by: Charles Kerr <ckerr@github.com>
2020-04-27 15:07:01 -05:00
andreaskern def7634f18
fix availability not showing 100% in gtk details view (#1181)
#1180

Co-authored-by: Charles Kerr <ckerr@github.com>
2020-04-26 00:07:40 -05:00
Jakub Steiner 7b53f4238d
icon: update application icon (#1141)
Fixes https://github.com/transmission/transmission/issues/1140

Co-authored-by: Charles Kerr <ckerr@github.com>
2020-04-25 20:01:49 -05:00
Mitch Livingston ac3ba03775
Merge pull request #1185 from transmission/revert-fileSystemRepresentation
Revert "Merge pull request #1039 from MaddTheSane/patch-4"
2020-04-25 10:44:08 -04:00
Mitchell Livingston 470ee010f2 Revert "Merge pull request #1039 from MaddTheSane/patch-4"
This reverts commit c0c463d660, reversing
changes made to cd2587a435.
2020-04-25 10:35:15 -04:00
Akatsuki f6030b1d79
gtk: fix window width (#1069)
GTK window width cannot be smaller than the longest torrent title

Source: https://trac.transmissionbt.com/ticket/6128

Co-authored-by: Charles Kerr <ckerr@github.com>
2020-04-24 15:15:57 -05:00
Mitch Livingston c0c463d660
Merge pull request #1039 from MaddTheSane/patch-4
Replace some instances of -UTF8String with -fileSystemRepresentation
2020-04-20 09:01:01 -04:00
Mitch Livingston 3c56953dac
Merge branch 'master' into patch-4 2020-04-20 08:21:23 -04:00
Mitch Livingston cd2587a435
Merge pull request #885 from DevilDimon/dock_string_crash_fix
Ignore non-URL strings when opening URLs
2020-04-20 08:20:59 -04:00
Mitch Livingston 05c67c8a27
Merge branch 'master' into dock_string_crash_fix 2020-04-20 07:59:47 -04:00
Mitch Livingston 8a28db8c1f
Merge branch 'master' into patch-4 2020-04-20 07:55:12 -04:00
Charles Kerr 4daefce2e3 chore: set User-Agent and Peer-Id to version 3.00+ 2020-04-19 16:57:58 -05:00
Charles Kerr 6716bb160e chore: set User Agent and Peer Id for version 3.00 2020-04-19 16:57:36 -05:00
Mitch Livingston 36fba96f1f
Merge pull request #1177 from transmission/Progress-bar-colors
Update the progress bar colors in dark mode
2020-04-19 10:56:44 -04:00
Mitch Livingston d8e8d89545
Merge branch 'master' into Progress-bar-colors 2020-04-19 10:18:08 -04:00
Mitch Livingston 7bfdf3854e
Merge pull request #1176 from transmission/progress-color
Fix the peer progress number in dark mode.
2020-04-19 09:58:04 -04:00
Mitchell Livingston b1bdf8e54a Update the progress bar colors in dark mode 2020-04-19 09:40:20 -04:00
Mitchell Livingston fc421b61cd Update PeerProgressIndicatorCell.m
Fix the peer progress number in dark mode.
2020-04-19 08:59:57 -04:00
Charles Kerr a482100f0c chore: set User-Agent and Peer-Id to version 3.00+ 2020-04-18 17:39:04 -05:00
Charles Kerr f1137d830d chore: set User Agent and Peer Id for version 3.00 2020-04-18 17:36:33 -05:00
Mitch Livingston 1b9973c5f0
Merge pull request #1174 from transmission/macos-year
Bump copyright to 2020
2020-04-18 15:44:03 -04:00
Mitchell Livingston 3fc90f389e Bump copyright to 2020 2020-04-18 15:18:02 -04:00
Mitch Livingston 80fd408bc5
Merge pull request #1173 from transmission/sparkle-1.23
Update Sparkle to 1.23.0
2020-04-18 11:36:18 -04:00
Mitchell Livingston 0f8f38b742 Update Sparkle to 1.23.0 2020-04-18 10:52:03 -04:00
Mike Gelfand 20119f006c
Fixup recent Qt client changes (#1107)
* Add EDIT_DATE torrent property declaration (Qt client)

Switch to static assertion to help avoid similar issues in the future.

* Only declare std::hash<QString> for Qt < 5.14

* Pass main window as context when connecting lambdas to torrents model signals (Qt client)

This helps to automatically disconnect from signals on main window
destruction. If not done, use after free is possible since main window is
destroyed before torrents model.

Fixes: #1106
2020-01-14 23:28:34 +02:00
Mitch Livingston 34b02bfe34
Merge pull request #927 from MaddTheSane/patch-1
Xcode project maintenance
2020-01-03 14:23:51 -05:00
Mitch Livingston 494589efa8
Merge branch 'master' into patch-1 2020-01-03 00:15:03 -05:00
Mitch Livingston f041f229bf
Load the tracker icon on the main thread (#1086)
* Load the tracker icon on the main thread

* Call loadTrackerIcon: directly
2020-01-03 00:12:59 -05:00
Mitch Livingston 10dbe92780
Merge pull request #1085 from transmission/sparkle-1_22_0
Bump Sparkle to 1.22.0
2020-01-02 23:30:14 -05:00
Mitch Livingston d59ac5a457
Merge branch 'master' into sparkle-1_22_0 2020-01-02 22:52:43 -05:00
Mitch Livingston 2decfff353
Merge branch 'master' into patch-1 2020-01-02 22:52:09 -05:00
Mike Gelfand d2c2da4f40 Fix minor code style violation 2020-01-03 03:30:26 +03:00
Mike Gelfand 37e871b8b5 Update Uncrustify config to 0.70.1
Reduce `nl_(before|after)_class` from 2 to 1 to avoid needless newlines added
between class forward declarations (which is a shame, I liked the old behavior
more).
2020-01-03 03:21:50 +03:00
Mitch Livingston 7570a9b0ed
Merge branch 'master' into patch-1 2019-12-23 22:24:54 -05:00
Mitchell Livingston 1a9f5601c3 Set Sparkle framework as "Embed and Code" 2019-12-23 22:21:13 -05:00
Mitchell Livingston 1f5a9b35a1 Bump Sparkle to 1.22.0 2019-12-23 21:46:05 -05:00
Charles Kerr 44fc571a67
feat: add editDate to RPC (#1056)
* feat: add tr_stat.infoDate to note tr_info changes

The last time during this session that any tr_info field changed
(e.g. trackers/filenames edited or magnet torrent got metadata).
RPC clients can monitor this to know when to reload fields which
don't usually change.
2019-11-12 17:13:42 -06:00
Charles Kerr c62cb35fd4
qt client speedups
* faster updating of trackers combobox.
* generate trackerDisplayNames just once per torrent
* refactor: cache torrent delegate's warning emblem
* refactor: change mainwin refresh debounce to 200ms
* refactor: do not store trackers, hosts in QVariant
* refactor: don't use `virtual` when it's not needed
* refactor: faster counting torrents-matching-filter
* refactor: faster tracker handling in filterbar
* refactor: improve json parser's prealloc heuristic
* refactor: make Torrent::hasError() faster
* refactor: remove redundant speed stats collection
* refactor: remove unnecessary tor->isQueued() calls
* refactor: use unordered containers where possible
* scale favicons only once, when adding to the cache
2019-11-11 19:37:05 -06:00
Charles Kerr 49fdd0b430
chore: update jsonsl parser snapshot (#1050)
source: https://github.com/mnunberg/jsonsl
2019-11-09 18:06:36 -06:00
Charles Kerr 96f76999aa
feat: add "table" format in torrent-get RPC (#1049)
* feat: add optional "format" arg to torrent-get RPC

If the "format" request was "objects" (default), "torrents" will be an
array of objects, each of which contains the key/value pairs matching
the request's "fields" arg. This is unchanged from previous versions.

If the format was "table", then "torrents" will be an array of arrays.
The first row holds the keys and each remaining row holds a torrent's
values for those keys. This format is more efficient in terms of JSON
generation and JSON parsing.
2019-11-09 17:02:23 -06:00
Charles Kerr d857a5821a
refractor: simplify torrent model signal emissions (#1044)
refractor: simplify torrent model signal emissions

The Torrent->Application signal connections make up for about 5% of the
app's memory use. Move this to the TorrentModel so that there are only a
handful of signal connections.

Moving signals to TorrentModel means batch change signals can be emitted
instead of per-change-per-torrent emissions and can be handled that way.
2019-11-09 08:44:40 -06:00
Charles Kerr 4c79758dbc
refactor: debounce TorrentFilter prefs refiltering (#1027)
* refactor: debounce TorrentFilter prefs refiltering

When filter settings change, add a slight delay before refiltering. This
prevents the UI from freezing when the user is typing in the filterbar's
textfield.

Also fixes a long-standing wart that caused the model to be sorted twice
instead of just once whenever the filter text changed.
2019-11-06 19:13:41 -06:00