Commit Graph

56 Commits

Author SHA1 Message Date
Jesse Chan
7a687fb1be server: migrate setTorrentsTags and setTorrentContentsPriority to clientGatewayService 2020-10-10 12:33:28 +08:00
Jesse Chan
79a7c9c6f0 server: migrate add torrents functions to clientGatewayService 2020-10-10 12:26:20 +08:00
Jesse Chan
5e1c09153c feature: allow multi-torrent priority change 2020-10-04 21:28:29 +08:00
Jesse Chan
9bcf1d8e07 API: rename /file-priority API 2020-09-30 20:29:15 +08:00
Jesse Chan
c6f8b9b76d AddTorrentByFile: use base64 instead of Blob to transfer file 2020-09-29 22:46:16 +08:00
Jesse Chan
912c66d497 server: migrate moveTorrents to clientGatewayService 2020-09-29 13:38:13 +08:00
Jesse Chan
b6fe9bfdbe server: properly pass hashes to checkHash 2020-09-28 10:21:09 +08:00
Jesse Chan
d19f1485d6 server: correctly pass destinationPath to moveTorrents
Bug: #42
2020-09-28 10:21:09 +08:00
Jesse Chan
43b2d8fbbf server: services: migrate to TypeScript 2020-09-27 22:27:14 +08:00
Jesse Chan
501900858c server: use import/export syntax 2020-09-17 02:36:24 +08:00
Jesse Chan
13480c9bab server: initial support for TypeScript 2020-09-16 20:51:08 +08:00
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
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
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
39b4430904 Migrate from mkdirp to fs.mkdir(recursive)
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
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
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
c0a1b7a3e0 When checking torrent hash, start after checking if torrent is not stopped 2017-11-27 22:43:57 -08:00
John Furrow
fc41449385 When moving files, remember start/stopped status 2017-10-22 16:21:59 -07:00
John Furrow
f9126f0617 Simplify condition 2017-07-01 20:57:40 -07:00
John Furrow
331c37a440 Display socket debug info properly 2017-07-01 20:57:18 -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
5117f4df18 Add deprecated comment 2017-06-08 20:21:55 -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
d81040d3c5 Allow setting tags when adding torrents 2017-02-04 12:13:22 -08:00
John Furrow
8da87add85 Use methods in ClientRequest instead of converting strings to methods 2016-10-28 21:28:01 -07:00
John Furrow
7192c19ba4 Move and rename clientUtil.mapClientResponse to clientResponseUtil.mapPropsToResponse 2016-10-28 20:35:53 -07:00
John Furrow
b997efc26e Handle changing multiple files' priority at once 2016-08-31 21:49:58 -07:00
John Furrow
f39e64f720 Fix undefined filename 2016-08-19 17:30:46 -07:00
John Furrow
fa12123265 Rely on mkdirp Node module instead of mkdir command 2016-08-13 16:50:59 -07:00
John Furrow
849c8695a5 Allow setting tags when adding a torrent via URL 2016-08-13 13:08:34 -07:00
John Furrow
af757ae8b3 Merge pull request #83 from jfurrow/feature/delete-torrent-data
Allow deleting data when removing torrent
2016-07-15 21:21:06 -07:00
John Furrow
0df0268195 Allow deleting data on torrent removal 2016-07-13 21:17:33 -07:00
zp
ef98b32d94 Update deprecated rTorrent commands 2016-07-13 22:18:54 -05:00
John Furrow
446c7888d0 Encode and decode labels as URI components 2016-07-09 13:29:29 -07:00
John Furrow
746cbed18e Add setTaxonomy method call 2016-07-09 13:29:29 -07:00
John Furrow
157ce15317 Obey 'Start Torrnt' option when adding by file 2016-06-18 15:46:18 -07:00
John Furrow
a72fb8acb4 Add more settings to the modal, including:
* Global upload/download throttles mirrored in modal and dropdown
* Max client memory usage
* Verify hash after downloading flag
2016-06-18 00:47:52 -07:00
John Furrow
cea1ef73af Add toggle for DHT 2016-06-08 22:43:13 -07:00
John Furrow
02c3b5e4b0 Introduce client settings 2016-06-06 21:03:48 -07:00
John Furrow
dda0ce0e88 Add option to add torrent without starting 2016-04-23 14:33:40 -07:00
John Furrow
161616c0c4 Improve setup and remove static assets 2016-03-20 13:56:29 +01:00