Commit graph

2711 commits

Author SHA1 Message Date
dakkar
8a982c61c0 move rate-limit-exceeded error reporting, earlier
a rate-limit-exceeded error has `kind:'client'`, so the branch that
adds the `Retry-After` would never get taken
2024-09-20 09:16:44 +01:00
dakkar
3f6beb97d2 copy RateLimiterService from MisskeyIO
This implementation allocates fewer Promises, might help with the
memory leaks
2024-09-20 08:35:45 +01:00
dakkar
7439230401 bump happy-dom
just because MisskeyIO uses this version
2024-09-20 08:30:24 +01:00
dakkar
e9e51fdc01 bump glob
latest version no longer uses `inflight`; other dependencies still use
an older `glob`, though…
2024-09-20 08:29:36 +01:00
dakkar
7f849b3502 merge: refactor: Use proper logging facilities in WebfingerService (!615)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/615

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-09-14 10:53:34 +00:00
4censord
0a8cb21e9b
Run eslint with caching
This reduces the time for subsequent lints significantly.
e.g. for `package/frontend`, the first run takes ~10min.
With the cache, every subsequent run takes only a few seconds.
2024-09-14 00:58:02 +02:00
Julia
d4c5322f9c merge: 2024.8 (!610)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/610

Approved-by: Julia <julia@insertdomain.name>
2024-09-13 15:57:16 +00:00
Marie
9a7300489c chore: update donation links in backend and frontend 2024-09-06 21:25:38 +00:00
cuteBoiButt
6b88c4f143
We don't need the whole Logger class here 2024-09-06 11:45:00 +00:00
cuteBoiButt
02c3ee12dc
Use proper logging facilities in WebfingerService 2024-09-05 21:53:55 +03:00
dakkar
7ff7464896 remove body of NoteCreateService.import
`create(user,data,true)` does exactly the same thing now
2024-08-30 17:19:51 +01:00
dakkar
b5e0342136 linting 2024-08-30 17:14:57 +01:00
dakkar
3a3098f932 fix filtering of quote uri
apparently filtering with `x => x !== null` will let `undefined`
through…
2024-08-30 16:12:02 +01:00
dakkar
26e0412fbb bump happy-dom, disable all JS&c when parsing
version 10 didn't quite support disabling all of that

I have tested that `MfmService` (the other code that uses `happy-dom`)
still works fine: the RSS feed for a user is generated correctly, with
HTML rendered from MFM
2024-08-30 15:35:19 +01:00
dakkar
27f3d76a2b remove unused function
not present upstream, not mentioned anywhere
2024-08-30 13:38:44 +01:00
dakkar
0796d4bd62 align ApNoteService updateNote with createNote 2024-08-30 13:33:42 +01:00
dakkar
8b8ee72a81 align NoteCreateService create & import 2024-08-30 13:23:55 +01:00
dakkar
0bcc739551 remove duplicate line 2024-08-30 12:15:52 +01:00
dakkar
907bf133cd update NoteCreateService "import" side 2024-08-30 12:09:57 +01:00
dakkar
6151099f5b Merge remote-tracking branch 'misskey/master' into feature/misskey-2024.8 2024-08-30 12:08:31 +01:00
dakkar
9cf40ef452 merge: thunk the min/max promises (!603)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/603

Approved-by: Marie <github@yuugi.dev>
Approved-by: fEmber <acomputerdog@gmail.com>
2024-08-24 20:53:08 +00:00
dakkar
06da059dbf log deletion of user files from admin -- fixes #631 2024-08-24 20:53:58 +01:00
dakkar
17b6c1b371 tell the linter to shut up, this time 2024-08-22 13:55:22 +01:00
dakkar
1b5bedc1d0 thunk the min/max promises
this prevents generating promises we don't use, which would get logged
by the node vm and spam the logs
2024-08-19 20:38:43 +01:00
dakkar
c4e0bea931 don't return early -- should fix #626
I have no clue why I wrote that code 😭
2024-08-19 18:19:38 +01:00
dakkar
f5560783ea merge: misskey 2024.7 (!583)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/583

Approved-by: Marie <github@yuugi.dev>
Approved-by: Julia Johannesen <julia@insertdomain.name>
2024-08-18 18:32:27 +00:00
dakkar
77144b058c make the cap of activeRateLimitRequests match the rate limit
It's trivial to have more than 128 requests in flight: open a busy
timeline, scroll a bit down, wait for many notes to arrive, scroll to
the top. The frontend will send "subscribe to note" messages for each
new note that it accumulated, all at once. We don't want to shut down
the connection in those common cases!
2024-08-18 17:57:51 +01:00
dakkar
caa0fecdc9 relax websocket rate limits
* the frontend opens 2 websockets at startup (I'm not completely clear
  why), and that `minInterval:1sec` was breaking the second connection
* as the comment says, "catching up" generates many noteSubscribe
  messages
2024-08-18 15:23:45 +01:00
Marie
38430f8ef3 merge: fix lints (!594)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/594

Approved-by: Marie <2-Marie@users.noreply.activitypub.software>
Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
2024-08-18 13:11:27 +00:00
dakkar
a58df8ac7c Merge branch 'develop' into feature/misskey-2024.07 2024-08-18 13:13:23 +01:00
dakkar
d92402554b merge: Rate limiting for websockets (!598)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/598

Approved-by: Marie <2-Marie@users.noreply.activitypub.software>
Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
2024-08-18 12:09:25 +00:00
Hazel K
9ce44b24b8
fix(backend): memory leak in memory caches (#14363)
* encapsulate `MemoryKVCache<T>`

* remove infinity caches

* encapsulate other caches

* add missing awaits to internally synchronize caches

* implement pull-through caching

* tune cache lifetimes

* optimize cache GC by stopping early

* summarize changes in CHANGELOG.md

* Fix timeout comments

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>

* add comments about awaiting the redis write

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-08-18 13:34:01 +09:00
Julia Johannesen
3dd993a76a
Add IP and user ID to connection close message 2024-08-17 14:27:43 -04:00
Julia Johannesen
c5f7dcbb7e
Come up with better limits 2024-08-17 14:17:58 -04:00
Julia Johannesen
aff57333d5
Add @types/proxy-addr 2024-08-17 13:12:16 -04:00
Julia Johannesen
9c1c1e9f09
Fix logging stuff 2024-08-17 13:08:46 -04:00
syuilo
76bbc10aa1 fix(backend): 無制限にストリーミングのチャンネルに接続できる問題を修正 2024-08-17 17:54:04 +01:00
Hazel K
5e352033c8 fix error spam from ServerStatsService when running on Windows 2024-08-17 10:00:27 -04:00
taichan
bf8c42eecd
Fix(beckend): html content-type detection on signedGet (#14424)
* fix(backend): contenttype detection of html in signedGet

* code style

* fix by review
2024-08-17 19:51:56 +09:00
かっこかり
129af06198
Update packages/backend/src/core/activitypub/ApRequestService.ts 2024-08-17 18:25:46 +09:00
taichan
9fbc1b7f7b
enhance(backend): headタグ内にrel=alternateの指定のあるlinkタグがある場合、記述されたURLを参照して照会できるように (#14371)
* signedGet時にhttpかつalternate属性のlinkがある場合に一回だけfollowして照会する

* Fix: validation position

* Fix import

* Fix tagname

* Update CHANGELOG

* Fix code style

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-08-17 15:12:23 +09:00
zyoshoka
fd744f44c1
enhance(backend): ページ、ギャラリー、Playのモデレーション強化 (#13523)
* enhance(backend): Page、ギャラリー、Playのモデレーション強化

* Update CHANGELOG.md

* fix: update misskey-js

* refactor(frontend): use `MkA`

* Update CHANGELOG.md

* fix(i18n): Page -> ページ
2024-08-17 15:01:08 +09:00
かっこかり
06684fe49b
fix(backend): ベースロールのポリシー変更時モデレーションログが残るように (#14418)
* fix(policies): ベースロールのポリシー変更時モデレーションログが残るように (MisskeyIO#700)

(cherry picked from commit 80389a914049f6f26237fde8da7d4e1bd41452fc)

* Update Changelog

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-08-17 12:07:00 +09:00
syuilo
ef950a345b
suspend周りの改修 (#14409)
* enhance(backend): 凍結されたアカウントのフォローリクエストを表示しないように

* Update CHANGELOG.md

* wip

* Update gen-spec.ts

* Update packages/backend/src/server/api/endpoints/admin/suspend-user.ts

Co-authored-by: Kisaragi <48310258+KisaragiEffective@users.noreply.github.com>

* owa-

* revert misskey-js related changes (#14414)

---------

Co-authored-by: Kisaragi <48310258+KisaragiEffective@users.noreply.github.com>
Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-08-17 09:57:28 +09:00
syuilo
d3cdc08802 fix(backend): 無制限にストリーミングのチャンネルに接続できる問題を修正 2024-08-17 09:30:03 +09:00
Julia Johannesen
6d3f9503ed
Limit number of rate limit requests 2024-08-16 17:13:20 -04:00
dakkar
4cd44130e0 use the correct remote address
we're doing the same thing that Fastify does in the non-streaming
ServerService
2024-08-16 18:00:50 +01:00
かっこかり
a8810af8d9
fix(backend): リバーシの設定変更が反映されないのを修正 (#14404)
* fix(backend): リバーシの設定変更が反映されないのを修正

* Update Changelog

* add bindthis
2024-08-16 21:02:12 +09:00
かっこかり
b9097d968c fix(backend): getApTypeでエラーを投げないように (misskey #14361) 2024-08-16 12:38:18 +01:00
dakkar
311a31da58 rough rate limiting for websockets 2024-08-15 11:35:51 +01:00