Commit Graph

94 Commits

Author SHA1 Message Date
Jesse Chan
c78e5d88d1 client: partially migrate to TypeScript 2020-09-16 12:36:54 +08:00
Jesse Chan
4b23b16a84 server: also modify torrent file on "Set Tracker"
Changes in v2:

- sessionPath does not belong to torrentListPropMap. Don't use it.
- Instead, request sessionPath when we want to do file ops on torrents.
2020-09-06 12:34:41 +08:00
Jesse Chan
f2757d4c4e Revert "server: also modify torrent file on "Set Tracker""
This reverts commit 1a2ea34bb4.
2020-09-06 12:32:42 +08:00
Jesse Chan
1a2ea34bb4 server: also modify torrent file on "Set Tracker" 2020-09-06 00:40:34 +08:00
Jesse Chan
6fe4737b9e server: turn inboundTransformations into a Map 2020-09-02 19:44:39 +08:00
Jesse Chan
1115ee91e0 feature: allow to replace main tracker of torrents
rTorrent does not have function to remove trackers from torrents
so we only disable existing tracker and insert the new one.

This leads to duplicate listings of trackers in "Trackers" and
"Filter by trackers". We can fix this later by only using enabled
trackers for "Filter by" and "Torrent Details".

Currently this feature only deals with the main tracker (index: 0).
Combined with "Filter by trackers", it is ideal for a bulk change
of tracker URL of private torrents due to a key leak or rotation.

In the future, we can probably make the feature more sophisticated.
2020-09-02 18:53:37 +08:00
Jesse Chan
e718ff35fc server: setSettings: validate dynamic call points to a function 2020-08-27 11:29:23 +08:00
Jesse Chan
d65451bfbb server: add a function to sanitize paths 2020-08-27 11:28:22 +08:00
Jesse Chan
3869f90fcc server: allow restriction on file operations by paths
Bug: Flood-UI/flood#588
2020-08-26 22:39:54 +08:00
Jesse Chan
a4821260bd server: setSettings: validate dynamic call via hasOwnProperty 2020-08-26 19:14:25 +08:00
Jesse Chan
0eae92faf5 moveTorrents: Allow hash check to be skipped by user
Signed-off-by: Jesse Chan <jc@linux.com>
2020-08-04 16:17:01 +08:00
Jesse Chan
4ea381049a Update dependencies (non-breaking)
This change uses the best-effort approach to update dependencies.
Changelogs of each dependency have been manually reviewed and all
dependency that doesn't *actually* have BREAKING changes or have
minimal changes are bumped to their latest versions.

In most cases, the maintainers of those dependencies don't actually
understand semvar and inappropriately bumped major version for trivial,
non-breaking changes. In other cases, the minimum supported Node version
is upgraded, which is indeed breaking but that's not a concern for this
project as a recent Node version is always expected. Or, the dependency
does have certain breaking changes but those changes are not relevant to
functions used by this project.

Also bumped versions of dependencies if only minimal changes are required:

* autoprefixer: transform from "browsers" property to browserslist
* prettier: reformated sources after update

Signed-off-by: Jesse Chan <jc@linux.com>
2020-08-04 03:16:44 +08:00
John Furrow
bb553506a8 Fixes bad Checkbox prop type 2019-11-23 21:25:20 -08:00
John Furrow
76672e7191 Fixes #793, feed rule destination bug 2019-05-24 22:29:20 -07:00
John Furrow
dbedc6c7a5 Improves eslint rules (#785)
* Switch to airbnb's eslint

* Applies automatic fixes

* Clean up dependencies

* New lint rules

* Apply auto fixes

* Prettier

* Update prettier position in eslint config

* Aligns prettier and eslint

* Use partial configs for client and server directories

* Finalizes eslint config (for now)

* Applies all elsint fixes

* Removes duplciated config

* Fixes build & local dev

* Fix CI build
2019-05-02 22:21:47 -07:00
Stéphane de Wit
23e914ab4d Fix files downloading (#715) 2018-09-22 10:27:41 -07:00
John Furrow
4346c0d6b5 Applies eslint rules (#702) 2018-09-02 21:19:43 -07:00
John Furrow
6dec5cddac Implements Prettier (#701)
* Adds and configures prettier

* Creates format script

* Runs prettier

* Adds npm scripts and checks for formatting in CI
2018-09-02 20:43:35 -07:00
John Furrow
f492ad348a Multi rtorrent instances support (#638)
* Multi rtorrent instances support (#549)

* Handling multiple rtorrent instances

* performance issue addressing

* fix wrong conflict resolution

* performances

* purge services instance every 10 mins

* last fixes

* avoid duplicated reducers

* Adjusts UI of rtorrent connection form fields (#639)

* Multi rtorrent instance cleanup (#676)

* Cleans up multi-user logic.

* Rename clientRequestService to clientGatewayService

* [multi-user] Adds prompt to fix rtorrent connection failure (#681)

* Adds ability to update user

* Add connection test endpoints and client actions

* Listen to client connectivity change events

* Separates scgiUtil from clientRequestManager

* Adds BaseService

* Services extend BaseService

* Listen for connetion change events in client

* Reorganizes app structure

* Adds prompt to correct per-user client interruption

* Fixes linting errors

* Removes debugging stuff

* Fixes Size rendering

* Fixes moveTorrents

* Adds migration step for legacy database entries (#686)

* Use FormattedMessage

* Updates documentation

* Fixes migration script for new installs

* Updates dependencies

* Moves string to i18n

* Updates deps
2018-09-02 00:15:21 -07:00
John Furrow
fc41449385 When moving files, remember start/stopped status 2017-10-22 16:21:59 -07:00
John Furrow
45e941fcf6 Migrate AddTorrentsByFile 2017-10-22 16:21:59 -07:00
John Furrow
524a0796c9 Migrate AddTorrentsByURL 2017-10-22 16:21:43 -07:00
Daniel Cousens
df2dd0079b use tar-stream directly to avoid OOM 2017-10-22 12:00:25 +11:00
John Furrow
b2ef8051e5 Merge pull request #476 from dcousens/downloadlink
add download link
2017-10-17 21:31:38 -07:00
Daniel Cousens
f79f3e0cd4 rm tempFilename too 2017-10-18 14:25:56 +11:00
Daniel Cousens
ca617bbf8a server: pipe the download directly 2017-10-18 10:41:54 +11:00
Daniel Cousens
fbf3541088 add download link 2017-10-18 10:40:22 +11:00
John Furrow
dc6233ed03 The build process is mostly working 2017-10-16 21:51:51 -07:00
John Furrow
1439a6f3db Fix isBasePath, compare to string 🙄 2017-07-01 20:58:58 -07:00
John Furrow
6f832cfa35 Merge pull request #379 from jfurrow/bug/fix-multi-file-downloads
Fix bug in multi-file downloads
2017-06-11 20:46:31 -07:00
John Furrow
c095dadafd Fix bug in multi-file downloads 2017-06-11 20:42:00 -07:00
nVitius
20ed015025 Expose opt to use path as basePath in moveTorrents 2017-06-10 13:40:16 -07:00
nVitius
112ba57d98 Expose option to use path as basePath in addUrls 2017-06-10 13:40:16 -07:00
nVitius
852e5b08b5 Use as opt name in 2017-06-10 13:40:16 -07:00
John Furrow
30a2448509 Ensure that only files belonging to torrent are deleted 2017-06-08 20:14:18 -07:00
John Furrow
7f1acd711b Introduce services 2017-05-28 18:24:04 -07:00
nVitius
133cb6389c Expose option for using basePath on torrent add 2017-04-25 09:41:23 -07:00
John Furrow
08111058c3 Use rimraf for deleting files 2017-03-10 20:01:49 -08:00
John Furrow
9888a2d5f7 Don't use base_path property when deleting files 2017-03-09 21:10:33 -08:00
John Furrow
1b87b1f0db Allow downloading files from torrent's file pane 2017-02-14 20:03:46 -08:00
John Furrow
d81040d3c5 Allow setting tags when adding torrents 2017-02-04 12:13:22 -08:00
John Furrow
dc04fff479 Expose user-defined configuration to global object
* supports user-defined base URI
 * supports user-defined client poll interval
2017-02-01 22:40:54 -08:00
John Furrow
12efa5cf24 Encode uploaded torrent filenames 2016-12-08 06:06:58 -08:00
John Furrow
9da59fe583 Add ability to retrieve individual torrent 2016-11-05 13:16:13 -07:00
John Furrow
8da87add85 Use methods in ClientRequest instead of converting strings to methods 2016-10-28 21:28:01 -07:00
John Furrow
1147252adc Update torrent list immediately after it changes 2016-10-28 21:10:00 -07:00
John Furrow
678df0e44d Begin polling torrent list from server startup 2016-10-28 20:43:53 -07:00
John Furrow
21d2cbbd6d Add server-side notifications 2016-10-28 20:42:04 -07:00
John Furrow
84bc57fd32 Add server-side notifications 2016-10-28 20:42:04 -07:00
John Furrow
87aba470a1 Separate clientUtil.defaults into reasonable constants 2016-10-28 20:35:53 -07:00