Commit Graph

1574 Commits

Author SHA1 Message Date
Jesse Chan e489b79589 server: Users: migrate to argon2-browser
So we can get rid of node-gyp.
2020-09-19 22:52:06 +08:00
Jesse Chan a5ec810521 server: models: migrate "Users" to TypeScript
And refine types of auth components.
2020-09-19 22:50:12 +08:00
Jesse Chan 83e789ce73 CI: fix rolling build publishing 2020-09-19 16:57:34 +08:00
Jesse Chan 0562859bdf AuthForm, AuthTab: add autoComplete attributes to Textbox 2020-09-18 22:05:26 +08:00
Jesse Chan e8c2fc45ab ClientStatusStore: assume backend's connection with rTorrent is OK
This flag indicates connectivity between backend (Flood server) and
rTorrent's SCGI interface. Before this change, we assume "not OK".

However, when frondend is authenticated and is in the process of
fetching settings from the backend. Connection interrupted page
will always show momentarily given the conditionals of isAuthenticated
&& !isConnected even if the connection is perfectly OK.

This change makes frontend assume the backend's connection with rTorrent
is OK by default.
2020-09-18 21:19:34 +08:00
Jesse Chan c983886d4e client: lazy load components 2020-09-18 21:05:26 +08:00
Jesse Chan 97355559a5 RTorrentConnectionTypeSelection: handleTypeChange.bind(this) 2020-09-18 21:04:34 +08:00
Jesse Chan 4012524487 Notifications: remove '' of separator 2020-09-18 18:42:53 +08:00
Jesse Chan b710ad4cf2 client: set minimum chunk size to 10000 chars 2020-09-18 18:13:40 +08:00
Jesse Chan a92375fb65 TorrentPeers: manage dynamic geoip flag loading via JS 2020-09-18 17:57:35 +08:00
Jesse Chan 4613713a5d client: use extracted CSS for production build 2020-09-18 17:57:32 +08:00
Jesse Chan 30d2b034b3 dependency: migrate from moment to dayjs 2020-09-18 00:23:58 +08:00
Jesse Chan 41c270e6a1 lodash: import its functions by module 2020-09-18 00:05:03 +08:00
Jesse Chan aaf873d9fa dependencies: bump (major) 2020-09-18 00:04:57 +08:00
Jesse Chan 3214001f7e client: app: use LoadingIndicator during language loading 2020-09-17 20:12:15 +08:00
Jesse Chan 485bb1ff34 i18n: implement dynamic language loading 2020-09-17 19:56:53 +08:00
Jesse Chan 901b5e0cc1 server: migrate app and some utils to TS
Also switch to TS transpile-only mode for build.
2020-09-17 19:56:05 +08:00
Jesse Chan 1f82b623eb dependencies: move "moment" back to production dependency
It is in shared/. Missed this one.
2020-09-17 15:24:54 +08:00
Jesse Chan 72b21ed638 dependencies: "npm update" (minor) 2020-09-17 14:36:54 +08:00
Jesse Chan 08e09b1811 package.json: move client dependencies to devDependencies
Once assets are generated, no dependency is required for client.
2020-09-17 14:36:02 +08:00
Jesse Chan 501900858c server: use import/export syntax 2020-09-17 02:36:24 +08:00
Jesse Chan 0b2f3a45c1 Dockerfile: copy config.cli.js to config.js 2020-09-17 02:35:59 +08:00
Jesse Chan 568c2cb57f config.cli: use as default by symlinking to config 2020-09-16 20:51:08 +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 146daf2ecb client: constants: add missing event and action types 2020-09-16 12:36:54 +08:00
Jesse Chan ee0257a557 connectStores: Props first, States second
React's way and the way it should be used.
2020-09-12 15:08:32 +08:00
Jesse Chan 5840bc6191 client: move sortTorrentsBy from TorrentFilterStore to TorrentStore
Fix TorrentFilterStore, TorrentStore circular dependency
2020-09-12 14:57:58 +08:00
Jesse Chan fc39f18f9f i18n: new placeholders (#33) 2020-09-12 14:46:14 +08:00
Jesse Chan 24bf3ebc9f client: convert AppWrapper and AuthStore to TypeScript 2020-09-06 22:21:27 +08:00
Jesse Chan 41ffe3bd87 torrentListPropMap: remove duplicate peersConnected 2020-09-06 13:04:26 +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 9f87b08d26 torrentListPropMap: only count enabled trackers in trackerDomains 2020-09-05 21:33:58 +08:00
Jesse Chan 573dc9777d torrentListPropMap: deduplicate trackerDomains
Occasionally one torrent might have multiple tracker URLs from the
same domain. For instance, when there is separate ipv6 tracker URL
or when user use the "Set Tracker" feature.

Duplicate trackerDomains are not useful. It only causes the count
to be incremented multiple times and displayed incorrectly.
2020-09-05 21:16:08 +08:00
Jesse Chan bf6f05cbb7 sidebar: add "Seeding" filter view
Bug: #19
2020-09-05 20:10:51 +08:00
Jesse Chan 3bfd369f03 styles: keep alerts still when sidebar is expanded on smaller screens 2020-09-05 19:42:35 +08:00
Jesse Chan 2ffa4a4f4b CI: publish rolling build to @jesec/flood 2020-09-05 14:29:23 +08:00
Jesse Chan 388c037621 npm: prepack: don't provide secret
config.cli.js will generate secret.
2020-09-05 14:04:48 +08:00
Jesse Chan 19c50de91d CI: use "npm ci" 2020-09-05 13:52:27 +08:00
Jesse Chan e8f8ddc80c CI: consolidate check actions 2020-09-05 12:38:02 +08:00
Jesse Chan dc906adfab Dockerfile: do not run "git clean" for "pack"
Do not run "git clean" for "pack" as node image does not
have git and it is arguably more dangerous to copy .git
folder into intermediate build image.

As we don't run "git clean", sensitive information might
be included in result package. Add a warning for that.
2020-09-05 12:11:57 +08:00
Jesse Chan 5db9e195fa .dockerignore: mirror .gitignore
Ignore sensitive files and folders.
2020-09-05 12:05:17 +08:00
Jesse Chan 47f514c4b8 Dockerfile: revamp
Simplify. Use the same logics as release. Switch to CLI interface.

docker run -it -p 3000:3000 jesec/flood:master
2020-09-05 00:31:31 +08:00
Jesse Chan 5ff9227fd5 vercel: disable on code branches 2020-09-04 22:44:29 +08:00
Jesse Chan 967bd0a188 Dockerfile.release: a Dockerfile that uses the latest release
docker run -it -p 3000:3000 jesec/flood
2020-09-04 22:36:02 +08:00
Jesse Chan c4b092f30c config.cli: allow Flood to manage rTorrent daemon 2020-09-04 22:28:35 +08:00
Jesse Chan 47e5925972 config.cli: handle SIGINT and exit
We need to handle SIGINT ourselves when Flood is the only
process. This happens when Flood is the ENTRYPOINT of a
Docker instance.
2020-09-04 18:26:53 +08:00
Jesse Chan a5171c7111 flood: bump version to 3.1.0
Signed-off-by: Jesse Chan <jc@linux.com>
2020-09-04 14:39:23 +08:00