256 Commits

Author SHA1 Message Date
Liu Xiaoyi
99a1b6bbd0 fix: run compaction every interval (#834) 2024-12-17 18:47:40 +00:00
Trim21
2a0d29c1f5 style: add new rule for imports (#785) 2024-08-13 22:31:39 +00:00
edc5054014 fix: add a user agent for rss (#779) 2024-08-10 16:03:52 +00:00
Trim21
e52cfc9170 refactor(server): migrate to fastify (#707) 2023-12-11 19:08:43 +00:00
Jesse Chan
efdd620192 dependencies: bump (major)
TODO: drop the "const argv = argvObj as Record<string, any>;" hack

Refs: yargs/yargs#2175
2022-05-07 16:41:10 -07:00
Jesse Chan
e09accd696 server: drop databases before removing user 2022-05-01 14:55:50 -07:00
Jesse Chan
1af1d24755 server: switch to @seald/nedb 2022-05-01 14:34:42 -07:00
Jesse Chan
af8de75e05 server: remove unused history snapshots and make it in-mem only 2021-10-31 23:21:20 -07:00
Jesse Chan
32fde2cf1a server: destroy user services before cleaning up data 2021-06-26 15:39:19 +08:00
Jesse Chan
7fa7eb5feb server: cleanup synchronous patterns
Bug: #340
2021-06-26 15:12:03 +08:00
Jesse Chan
a2bcabce1b dependencies: bump (major) 2021-05-17 23:59:22 +08:00
Jesse Chan
aacca10475 server: simplify service manager, fixes dangling ref 2021-05-09 10:23:28 +08:00
Jesse Chan
1ce8ba49d5 server: DiskUsage: make errors non-fatal
Bug: #229
2021-03-08 15:40:25 +08:00
Jesse Chan
287625782f server: DiskUsage: increase timeout to 5s 2021-03-08 15:38:48 +08:00
Jesse Chan
031a164b34 server: ensure all promises are rejected with Error 2021-03-02 22:55:56 +08:00
Jesse Chan
5afa79b274 config.cli: migrate to TypeScript 2021-01-30 19:11:28 +08:00
Jesse Chan
07070dfeb1 server: don't invalidate token on connection settings change 2021-01-27 09:00:51 +08:00
Jesse Chan
402a5b8a69 server: invalidate previous tokens when user changed 2021-01-26 09:06:41 +08:00
Jesse Chan
cea33d5668 dependencies: bump feedsub to 0.7.6 2020-12-14 01:41:01 +08:00
Jesse Chan
c97e50fb39 dependencies: bump feedsub to 0.7.5 2020-12-13 13:46:54 +08:00
Jesse Chan
b4c7dc020c server: DiskUsage: ensure disk.target is string before evaluating its length 2020-12-11 02:59:27 +08:00
Jesse Chan
f4bf39ef1c server: Users: hash password when update user password 2020-12-10 18:39:56 +08:00
Jesse Chan
5aeeceef58 server: Users: replace NeDB callbacks with promises 2020-12-10 00:07:55 +08:00
Jesse Chan
37a94912f4 server: HistoryEra: replace NeDB callbacks with promises 2020-12-09 21:52:32 +08:00
Jesse Chan
b6ebee6351 DiskUsage: ignore mountpoints with super long paths
So things like /var/snap/microk8s/common/run/containerd/ won't
spam and jeopardize the disk usage feature.

Usually they are very unlikely to be useful.
2020-12-01 18:47:09 +08:00
Jesse Chan
1a878d5423 flood: rearrange, remove misc files and reformat 2020-11-15 23:03:47 +08:00
Jesse Chan
ed98e210f4 server: schema validate configurations
Unfortunately there are still many people who prefer static config
file. As such, schema validate the configurations to ensure that
the failure happens loud and early when the config.js is broken.

Also enforces that the length of secret must be larger than 30 as
the JWT secret can be brute forced locally without interaction with
the server.

This ensures that we always have proper configurations and avoids
unnecessary and bad defensive programming practices.
2020-11-14 15:20:23 +08:00
Jesse Chan
4ab66d310e server: switch to hash-wasm impl of argon2 2020-11-12 11:30:27 +08:00
Jesse Chan
017b9d159d server: replace explicit binds with arrow functions 2020-11-02 19:32:33 +08:00
Jesse Chan
ccb410d2e5 config: switch to authMethod config for auth method selection 2020-10-31 20:48:55 +08:00
Jesse Chan
9e03d2a385 shared: schema: split enums from schemas
Otherwise zod will be included in client dependency graph and
increase the bundle size by 10kB unnecessarily.
2020-10-28 12:34:52 +08:00
Jesse Chan
b0ff983600 server: migrate feedService to TypeScript 2020-10-24 07:17:57 -05:00
Jesse Chan
911b6eecb1 client, server: convert chained null checks to optional chaining 2020-10-21 11:35:04 +08:00
Jesse Chan
dbeecf8d69 client, server: remove workarounds for legacy browsers 2020-10-17 13:44:06 +08:00
Jesse Chan
c0ddc55810 server: migrate setSpeedLimits and setTracker to clientGatewayService 2020-10-17 13:44:06 +08:00
Jesse Chan
a9180d7cfc server: move DiskUsage class out of services
It is not user-dependent. Thus not a service.
2020-10-17 13:44:06 +08:00
Jesse Chan
98666ea51e server: migrate Flood settings functions to per-user service 2020-10-17 13:44:06 +08:00
Jesse Chan
b2f6fdad21 server: migrate client [get/set]Settings to clientGatewayService 2020-10-17 13:44:06 +08:00
Jesse Chan
95cf01f598 server: migrate torrent details functions to TypeScript 2020-10-17 13:24:14 +08:00
Jesse Chan
e0e68a19df feature: allow to create torrents via Flood 2020-10-14 11:06:52 +08:00
Jesse Chan
3610c9ef8d tests: api: auth: full coverage for auth endpoints 2020-10-14 10:58:52 +08:00
Jesse Chan
34b5e09753 server: migrations: add migration for UserInDatabase2 2020-10-14 10:58:52 +08:00
Jesse Chan
cf08d68c92 auth, Users: initial preparation for multi client support
BREAKING CHANGE
2020-10-14 10:58:52 +08:00
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
2940c2379b server: auth: correctly destory user's service when delete user 2020-10-10 02:27:05 +08:00
Jesse Chan
dbde60b35e server: migrate getDirectoryList to TypeScript 2020-10-07 19:46:24 +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
2443bc9303 API: move /download API to where it should be 2020-09-30 20:05:57 +08:00