d762143b89
backend: fixup missing deadTime and incorrect import
ci/woodpecker/pr/lint-backend Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/lint-client Pipeline failed
ci/woodpecker/pr/lint-foundkey-js Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint-client Pipeline was successful
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/lint-foundkey-js Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/pr/test Pipeline failed
2022-10-16 09:32:01 -04:00
21c1e5c06c
backend: simplify suspended and dead queries
...
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint-foundkey-js Pipeline was successful
ci/woodpecker/push/lint-client Pipeline was successful
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/pr/lint-foundkey-js Pipeline was successful
ci/woodpecker/pr/lint-backend Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/lint-client Pipeline failed
ci/woodpecker/pr/test Pipeline failed
This should also have better latency due to being a single query.
Furthermore, it's no longer a linear scan, since host is indexed.
Would be cool to simplify it further to a single query for blocks also...
Why exactly are blocks not in the db?
2022-10-16 09:22:05 -04:00
91a4f38871
backend: add automatic dead instance detection
...
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint-client Pipeline was successful
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/lint-foundkey-js Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
It works by having a day-long cache of
"when did we last successfully communicate with this instance?"
Anything over a specified threshold (1 month) will act as though the instance
is suspended - all outgoing jobs are dropped on processing.
The day-long cache is in place because the ordering is necessarily a
linear scan.
Once an instance comes back online, we will detect that is the case as soon as
we receive an activity from them (which will update the "last communicated at")
field.
Potential future TODOs:
* Improve the caching system, it's actually pretty inefficient as it is.
CacheBox with a call override?
* Think of ways to make it not-a-linear-scan, since the instances table can get
pretty big. It's around 4500 on toast cafe.
ChangeLog: Added
2022-10-16 12:16:04 +00:00
cb0b14ba2d
backend: allow to export only specific emoji
2022-10-12 01:49:53 +02:00
5b7a06675f
refactor expiring data and expire signins after 60 days
...
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/lint-client Pipeline was successful
ci/woodpecker/push/lint-foundkey-js Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/lint-backend Pipeline was successful
ci/woodpecker/pr/lint-client Pipeline failed
ci/woodpecker/pr/lint-foundkey-js Pipeline was successful
ci/woodpecker/pr/test Pipeline failed
closes #176
Changelog: Added
2022-10-02 00:18:07 +02:00
36a0e48e49
bacakend: prefer absolute over relative imports
...
ci/woodpecker/push/lint-client Pipeline was successful
ci/woodpecker/push/lint-foundkey-js Pipeline was successful
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
There are still many places where import paths with `..` are used and
maybe should use absolute paths also.
2022-10-01 14:40:30 +02:00
7ceb96b148
limit id length of all incoming activities
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/lint-foundkey-js Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint-client Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/pr/lint-client Pipeline failed
ci/woodpecker/pr/lint-foundkey-js Pipeline was successful
ci/woodpecker/pr/lint-backend Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline failed
2022-09-12 18:30:53 +02:00
f0bdd9666f
remove empty import statements
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint-client Pipeline failed
ci/woodpecker/push/test Pipeline failed
2022-08-14 12:26:18 +02:00
09a7eabda1
backend: fix lint "no-throw-literal"
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint-client Pipeline failed
ci/woodpecker/push/test Pipeline failed
2022-08-04 11:00:02 +02:00
c8f49bae76
fix lint "object-shorthand"
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint-client Pipeline failed
ci/woodpecker/push/test Pipeline failed
2022-08-03 14:58:24 +02:00
37e47a257e
fix lints "import/order" and "import/no-duplicate"
...
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint-client Pipeline failed
ci/woodpecker/push/test Pipeline failed
Also simplified some import paths by replacing relative with absolute paths.
2022-08-03 14:05:50 +02:00
a6df127d3b
fix lint "quotes"
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/lint-client Pipeline failed
ci/woodpecker/push/test Pipeline failed
2022-08-02 23:25:36 +02:00
yzhe819
9111d238c1
chore: fix lint errors ( #8981 )
2022-07-13 00:45:57 +02:00
568f14070d
remove unused logger
2022-07-12 14:44:19 +02:00
ba0236700d
chore: remove unused imports
2022-07-12 14:41:10 +02:00
3317e21b39
chore: remove unused imports
2022-07-11 15:45:12 +02:00
ebc2566130
fix: add missing import
...
fix #8756
2022-05-29 14:33:42 +02:00
9c80403072
use http-signature module that supports hs2019 ( #8635 )
2022-05-26 09:12:17 +09:00
e27c6abaea
refactor: temporary files ( #8713 )
...
* simplify temporary files for thumbnails
Because only a single file will be written to the directory, creating a
separate directory seems unnecessary. If only a temporary file is created,
the code from `createTemp` can be reused here as well.
* refactor: deduplicate code for temporary files/directories
To follow the DRY principle, the same code should not be duplicated
across different files. Instead an already existing function is used.
Because temporary directories are also create in multiple locations,
a function for this is also newly added to reduce duplication.
* fix: clean up identicon temp files
The temporary files for identicons are not reused and can be deleted
after they are fully read. This condition is met when the stream is closed
and so the file can be cleaned up using the events API of the stream.
* fix: ensure cleanup is called when download fails
* fix: ensure cleanup is called in error conditions
This covers import/export queue jobs and is mostly just wrapping all
code in a try...finally statement where the finally runs the cleanup.
* fix: use correct type instead of `any`
2022-05-25 16:50:22 +09:00
syuilo
ec3be7e4d3
enhance(webhook): add userId to payload
2022-04-03 22:42:01 +09:00
syuilo
f8e6f3cc73
improve webhook
2022-04-03 22:36:30 +09:00
syuilo
8e5f2690f2
feat: Webhook ( #8457 )
...
* feat: introduce webhook
* wip
* wip
* wip
* Update CHANGELOG.md
2022-04-02 15:28:49 +09:00
syuilo
1c67c26bd8
refactor: migrate to typeorm 3.0 ( #8443 )
...
* wip
* wip
* wip
* Update following.ts
* wip
* wip
* wip
* Update resolve-user.ts
* maxQueryExecutionTime
* wip
* wip
2022-03-26 15:34:00 +09:00
syuilo
ac8c66f5ab
perf(server): refactor and performance improvements
2022-03-25 16:27:41 +09:00
syuilo
2442592ef1
feat: アンケート終了通知
...
Resolve #4664
2022-03-06 16:06:27 +09:00
syuilo
e68278f93e
feat: 時限ミュート
...
#7677
2022-03-04 20:23:53 +09:00
syuilo
2e89b21544
fix esm
2022-03-01 01:34:53 +09:00
syuilo
d071d18dd7
refactor: Use ESM ( #8358 )
...
* wip
* wip
* fix
* clean up
* Update tsconfig.json
* Update activitypub.ts
* wip
2022-02-27 11:07:39 +09:00
syuilo
b6db709e02
refacator: fix typw
2022-02-19 14:53:33 +09:00
syuilo
0afebcfd9e
enhance: improve federation chart
2022-02-10 17:45:12 +09:00
syuilo
f9e4901543
fix typo
2022-02-09 03:48:14 +09:00
syuilo
f4e28983a1
feat: improve federation chart
2022-02-08 23:43:51 +09:00
syuilo
c1b264e4e9
Improve chart engine ( #8253 )
...
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Update core.ts
* wip
* wip
* #7361
* delete network chart
* federationChart強化 apRequestChart追加
* tweak
2022-02-06 00:13:52 +09:00
syuilo
bd7662e5e4
refactor
2022-02-04 11:10:53 +09:00
syuilo
9ee0db95ac
refactor: use date-fns
2022-02-04 01:56:33 +09:00
syuilo
7168811283
ESMは使えない
2022-02-03 22:19:54 +09:00
syuilo
556abfabb9
refactor
2022-02-03 21:48:23 +09:00
syuilo
8c9a13b2b7
update deps
2022-02-03 21:09:15 +09:00
MeiMei
7aecf15f94
refactor, enhance: ドライブ引数のオブジェクト化, 追加時のcomment指定 ( #8180 )
...
* refactor: ドライブの引数をオブジェクト化する Resolve #8177
* Resolve #8181
* fix
* archivePath
2022-01-23 22:52:35 +09:00
syuilo
eec7e6500e
enhance: convert svg to png of custom emojis
2022-01-21 18:47:02 +09:00
syuilo
7a999f2289
feat(server): add more metadata for emoji export
2022-01-21 02:56:08 +09:00
syuilo
59520c31fd
refactor(server): use named export
2022-01-20 02:43:13 +09:00
syuilo
7e5e763584
feat: emojis import
2022-01-13 00:47:40 +09:00
syuilo
6be1db00d1
refactor(server): use insert instead of save
2022-01-03 02:20:30 +09:00
syuilo
3e00ce0d88
fix(server): エクスポートした絵文字の拡張子がfalseになることがあるのを修正
2021-12-29 17:04:13 +09:00
syuilo
ef485044ea
Update export-custom-emojis.ts
2021-12-12 06:24:13 +09:00
syuilo
c599a304c8
refactor
2021-12-12 06:21:48 +09:00
syuilo
bd903cdbb5
feat: カスタム絵文字エクスポート
2021-12-10 18:24:26 +09:00
syuilo
20134a5367
feat: improve follow export
2021-12-10 01:22:35 +09:00
syuilo
c69b72e199
fix lint
2021-12-09 23:58:30 +09:00