Commit Graph

2723 Commits

Author SHA1 Message Date
Hazel K f8b55d357d add `latest_note` table 2024-09-29 21:27:38 -04:00
dakkar 69efba9366 merge: Fetch sponsors from OC (!624)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/624

Closes #653

Approved-by: Julia <julia@insertdomain.name>
Approved-by: Tess K <me@thvxl.se>
2024-09-23 17:57:39 +00:00
Julia c94f6994dd merge: Only accept HTML `<link rel="alternate">` on successful HTTP statuses (!633)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/633

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Tess K <me@thvxl.se>
Approved-by: fEmber <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-09-23 17:51:26 +00:00
Julia 30c1c7c24d merge: simpler RateLimitService, might help with the leaks (!627)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/627

Approved-by: Julia <julia@insertdomain.name>
Approved-by: Marie <github@yuugi.dev>
Approved-by: Tess K <me@thvxl.se>
Approved-by: fEmber <acomputerdog@gmail.com>
2024-09-23 16:51:39 +00:00
Julia Johannesen ceaec33249
Add `DetachedWindowAPI.close` calls to `MfmService` 2024-09-22 19:41:12 -04:00
Julia Johannesen e4cbd58821
Remove superfluous `DetachedWindowAPI.close` call 2024-09-22 18:51:29 -04:00
Julia Johannesen 5b282924ea
Add `DetachedWindowAPI.close` calls 2024-09-22 18:36:46 -04:00
Julia Johannesen b667a68bd4
Use `res.ok` instead of 200-299 2024-09-22 18:35:29 -04:00
Julia Johannesen 6ea48be84a
Only accept HTML `<link rel="alternate">` on success 2024-09-22 17:13:24 -04:00
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
Marie 62a81bed9b
upd: change sorting of supporters 2024-09-16 19:02:06 +02:00
Marie 2e18359dad chore: lint 2024-09-15 18:17:35 +00:00
Marie b7815df134
upd: fetch sponsors from OC 2024-09-15 20:04:29 +02: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