Commit Graph

3024 Commits

Author SHA1 Message Date
Hazel K f8b55d357d add `latest_note` table 2024-09-29 21:27:38 -04:00
zyoshoka 1184436461
fix(backend): update and re-enable Bull Dashboard (#14648) 2024-09-29 18:44:55 +09:00
syuilo f0d0cd2e50
wip (#14643) 2024-09-28 18:15:32 +09:00
syuilo afbba1ff1c Update WebhookTestService.ts 2024-09-28 16:45:57 +09:00
syuilo 9e9198086d enhance(backend): add user.score for moderation purpose 2024-09-28 11:54:40 +09:00
syuilo 28e9d4e483
feat: フォローされた際のメッセージを設定できるようにする (#14430)
* feat: フォローされた際のメッセージを設定できるようにする

Resolve #14425

* Update CHANGELOG.md

* 既にフォローしているユーザーのメッセージも見れるように

* Update packages/frontend/src/components/MkNotification.vue

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

* fix indent

* Update users.ts

* wip

* Update users.ts

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-09-28 09:55:21 +09:00
Yuri Lee b83a2f33ff
test(backend): Add test for Passkey API (#14635) 2024-09-28 08:09:30 +09:00
かっこかり d8a2eeb7ed
feat: エクスポート完了時に通知を発行するように (#14484)
* feat: エクスポート完了時に通知を発行するように

* Update Changelog

* entitity -> entity

* fix: ペイロードを含むように

* fix icon

* exportableEntities -> userExportableEntities
2024-09-26 14:15:03 +09:00
KOBA789 7134d24c1f
perf(backend): Defer instance metadata update (#14558)
* Defer instance metadata update

* Fix last new line

* Fix typo

* Add license notice

* Fix syntax

* Perform deferred jobs on shutdown

* Fix missing async/await

* Fix typo :)

* Update collapsed-queue.ts

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-26 10:25:20 +09:00
Yuri Lee d8dd1683c9
Add Sign in with passkey Button (#14577)
* Sign in with passkey (PoC)

* 💄 Added "Login with Passkey" Button

* refactor: Improve error response when WebAuthn challenge fails

* signinResponse should be placed under the SigninWithPasskeyResponse object.

* Frontend fix

* Fix: Rate limiting key for passkey signin

Use specific rate limiting key: 'signin-with-passkey'  for passkey sign-in API to avoid collisions with signin rate-limit.

* Refactor: enhance Passkey sign-in flow and error handling

- Increased the rate limit for Passkey sign-in attempts to accommodate the two API calls needed per sign-in.
- Improved error messages and handling in both the `WebAuthnService` and the `SigninWithPasskeyApiService`, providing more context and better usability.
- Updated error messages to provide more specific and helpful details to the user.

These changes aim to enhance the Passkey sign-in experience by providing more robust error handling, improving security by limiting API calls, and delivering a more user-friendly interface.

* Refactor: Streamline 2FA flow and remove redundant Passkey button.

- Separate the flow of 1FA and 2FA.
- Remove duplicate passkey buttons

* Fix: Add error messages to MkSignin

* chore: Hide passkey button if the entered user does not use passkey login

* Update CHANGELOG.md

* Refactor: Rename functions and Add comments

* Update locales/ja-JP.yml

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Fix: Update translation

- update index.d.ts
- update ko-KR.yml, en-US.yml
- Fix: Reflect Changed i18n key on MkSignin

---------

Co-authored-by: Squarecat-meow <kw7551@gmail.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-26 08:25:33 +09:00
かっこかり aee984813d
fix(backend): embedの動作に必要な値を復活させる (#14633) 2024-09-25 19:27:50 +09:00
かっこかり dd124a8aed
Fix: `<link rel="alternate">`を追って照会するのはOKレスポンスが返却された場合のみに (#14627)
* Only accept HTML `<link rel="alternate">` on success

(cherry picked from commit 6ea48be84a)

* Use `res.ok` instead of 200-299

(cherry picked from commit b667a68bd4)

* jsdomに戻す

* Update Changelog

* Revert "jsdomに戻す"

This reverts commit c03603611b74d16df52e77e44c558e958a82f3f4.

* 🎨

---------

Co-authored-by: Julia Johannesen <julia@insertdomain.name>
2024-09-25 12:31:37 +09:00
かっこかり 6a1a2bef43
fix(backend): RBTの修正 (#14621)
* fix(backend): 絵文字の変換処理が不十分なのを修正

* enhance: リアクションバッファリングが無効になったら即bakeするように

* attempt to fix test

* fix
2024-09-24 18:29:02 +09:00
かっこかり 3674e9b1cb
feat: adminのファイル一覧画面で、ファイルが添付されているノートを一覧できるように (#14403)
* enhance(moderation): モデレーターがファイルが添付されているノートを照会できるように (MisskeyIO#680)

Co-authored-by: riku6460 <17585784+riku6460@users.noreply.github.com>
Co-authored-by: nenohi <kimutipartylove@gmail.com>
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
(cherry picked from commit b059162324d2cfc697d1af9f3b6fb49fad2734e0)

* Update Changelog

* ✌️

Co-authored-by: riku6460 <17585784+riku6460@users.noreply.github.com>
Co-authored-by: nenohi <kimutipartylove@gmail.com>
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>

---------

Co-authored-by: Yuuki <yukikum57@gmail.com>
Co-authored-by: riku6460 <17585784+riku6460@users.noreply.github.com>
Co-authored-by: nenohi <kimutipartylove@gmail.com>
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-09-24 10:11:09 +09:00
Aleteoryx 689848943b
Fix: Continue importing from file if single emoji import fails (#14461)
* Fix: Continue importing from file if single emoji import fails

* Fix indentation

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-24 09:50:00 +09: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
piuvas silly 41edc4cfbd Update 4 files
- /packages/frontend/src/pages/admin/branding.vue
- /packages/backend/src/models/Meta.ts
- /packages/backend/src/server/api/endpoints/admin/meta.ts
- /packages/backend/src/server/api/endpoints/admin/update-meta.ts
2024-09-23 16:34:29 +00:00
piuvas silly 6c916af4ee Update InstanceEntityService.ts 2024-09-23 16:23:57 +00:00
かっこかり e673c143a9
fix(backend): happy-domを使用後にcloseするように (#14615)
* Add `DetachedWindowAPI.close` calls to `MfmService`

(cherry picked from commit ceaec33249)

* fix

* update changelog

* fix

---------

Co-authored-by: Julia Johannesen <julia@insertdomain.name>
2024-09-23 21:43:48 +09:00
syuilo 3f0aaaa41e
perf(embed): improve embed performance (#14613)
* wip

* wip

* wip

* refactor

* refactor

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-09-23 19:49:52 +09: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
piuvas 4ee2973303
requested fixes! 2024-09-22 17:32:46 -03:00
piuvas 5eedbe153e
sidebarlogo migration 2024-09-22 15:10:12 -03:00
piuvas 1af6f8c5da
backend configuring 2024-09-22 14:47:04 -03:00
cuteBoiButt e8cdec2278
We don't need the whole Logger class here 2024-09-22 14:46:51 -03:00
cuteBoiButt b4bd9508ee
Use proper logging facilities in WebfingerService 2024-09-22 14:46:50 -03:00
かっこかり 0bbeb40c0a
fix typo (#14609) 2024-09-22 19:30:36 +09:00
syuilo bd5f25c678 fix rbt bug? 2024-09-22 18:40:05 +09:00
syuilo 023fa30280
refactor/perf(backend): provide metadata statically (#14601)
* wip

* Update ReactionService.ts

* Update ApiCallService.ts

* Update timeline.ts

* Update GlobalModule.ts

* Update GlobalModule.ts

* Update NoteEntityService.ts

* wip

* wip

* wip

* Update ApPersonService.ts

* wip

* Update GlobalModule.ts

* Update mock-resolver.ts

* Update RoleService.ts

* Update activitypub.ts

* Update activitypub.ts

* Update activitypub.ts

* Update activitypub.ts

* Update activitypub.ts

* clean up

* Update utils.ts

* Update UtilityService.ts

* Revert "Update utils.ts"

This reverts commit a27d4be764b78c1b5a9eac685e261fee49331d89.

* Revert "Update UtilityService.ts"

This reverts commit e5fd9e004c482cf099252201c0c1aa888e001430.

* vuwa-

* Revert "vuwa-"

This reverts commit 0c3bd12472b4b9938cdff2d6f131e6800bc3724c.

* Update entry.ts

* Update entry.ts

* Update entry.ts

* Update entry.ts

* Update jest.setup.ts
2024-09-22 12:53:13 +09:00
syuilo 76408667f3
update deps (#14594)
* wip

* Update ClientServerService.ts

* eslint

* Update fetch-resource.ts

* wip
2024-09-22 12:32:01 +09:00
dakkar d3710f0872 maybe fix #510 - try to not edit visibility
the frontend part is pretty straightforward, the backend part is ugly
but it shouldn't make things worse than they already are
2024-09-21 18:24:57 +01:00
syuilo 00ccc2251a Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-09-21 19:44:17 +09:00
syuilo 3d92ef193e fix rbt 2024-09-21 19:44:14 +09:00
かっこかり 85f46f88c6
fix(backend): `Retry-After`ヘッダーが実際には送信されなかった問題を修正 (#14597)
* 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

(cherry picked from commit 8a982c61c0)

* Update Changelog

* fix

* indent

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
2024-09-21 18:20:45 +09:00
Esurio/1673beta d4d15f338e
fix: EmailServiceでインラインスタイルを適用するように (#14600)
Co-authored-by: Esurio <esurio@esurio1673.net>
2024-09-21 18:18:52 +09:00
かっこかり f0834ca14c
enhance: ユーザーコンテンツのインポート操作の実行可否をロールで制御できるように (#14583)
* enhance: インポート操作の実行可否をロールで制御できるように

* Update Changelog
2024-09-20 21:04:58 +09:00
syuilo 0b062f1407
Misskey® Reactions Buffering Technology™ (#14579)
* wip

* wip

* Update ReactionsBufferingService.ts

* Update ReactionsBufferingService.ts

* wip

* wip

* wip

* Update ReactionsBufferingService.ts

* wip

* wip

* wip

* Update NoteEntityService.ts

* wip

* wip

* wip

* wip

* Update CHANGELOG.md
2024-09-20 21:03:53 +09: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
おさむのひと 4ac8aad50a
feat: UserWebhook/SystemWebhookのテスト送信機能を追加 (#14489)
* feat: UserWebhook/SystemWebhookのテスト送信機能を追加

* fix CHANGELOG.md

* 一部設定をパラメータから上書き出来るように修正

* remove async

* regenerate autogen
2024-09-19 17:20:50 +09:00
かっこかり ce95323e49
fix(antenna): src=list && userListId=null の場合クエリータイムアウトが発生する問題を修正 (MisskeyIO#721) (#14568)
(cherry picked from commit 47b6b97c9c6d9583dd1b11acbf8f94059e81ebaf)

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-09-17 22:02:34 +09: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
dependabot[bot] 887c709647
chore(deps): bump body-parser from 1.20.2 to 1.20.3 in /packages/backend (#14550)
Bumps [body-parser](https://github.com/expressjs/body-parser) from 1.20.2 to 1.20.3.
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-15 20:54:26 +09:00
Juan Aguilar Santillana 07f26bc8dd
refactor(backend): use Reflet for autobind deco (#14482)
Using Reflect.defineProperty instead of Object.defineProperty
gives a more consistent behavior with the rest of the modern
JavaScript features.
2024-09-15 17:43:24 +09:00
Kisaragi 6b2072f4b1
fix(backend/antenna): キーワードが与えられなかった場合のエラーをApiErrorとして投げる (#14491)
* fix(backend/antenna): report validation failure as ApiError on update

* test(backend/antenna): reflect change in previous commit

* fix(backend/antenna): report validation failure as ApiError on create

* test(backend/antenna): reflect change in previous commit

* test(backend/antenna): semi

* test(backend/antenna): bring being spread parameters first in object literal

* chore: add CHANGELOG entry

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-15 15:13:46 +09:00
かっこかり be0906a6c7
fix(backend): happy-domで外部HTMLをパースする際に関連リソースが読み込まれる問題を修正 (#14521)
* 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

(cherry picked from commit 26e0412fbb)

* Update Changelog

* lint

* fix possible memory leak

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
2024-09-15 12:30:27 +09: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
かっこかり 2cbe1d1210
feat(frontend): ノート・ユーザータイムライン埋め込み (#13929)
* fix

* navhookをbootに移動

* サーバーサイドのbootも分けるように

* 埋め込みページかどうかの判定は最初の一回だけに

* tooltipは出せるように

* fix design

* 埋め込み独自のtooltipを削除

* ロジックの分岐が多かったMkNoteDetailedを分離

* fix indent

* プレビュー用iframeにフォーカスが当たるのを修正

* popupの制御を出す側で行うように

* パラメータが逆になっていたのを修正

* Update MkEmbedCodeGenDialog.vue

* fix

* eliminate misskey-js lint warns

* fix

* add appropriate attributes to embed html

* enhance: サーバーサイドのembed系をさらに分離

* enhance: embed routerを分離(route定義をboot時に変更できるようにする改修を含む)

* type

* lint

* fix indent

* server-side styleを完全に分離

* Revert "refactor: 画面サイズのしきい値をconstにまとめる"

This reverts commit 05ca36f400889456981e89489ae0ae242fa09b67.

* fix

* revert all changes in base.pug

* embedドメインをまとめた

* embedドメインをまとめた

* prevent calling contextmenu in embed page by stopping at the caller

* fix import

* fix import

* improve directory structure

* fix import

* register timeline ui as a container

* wa-

* rename

* wa-

* Update EmMediaList.vue

* Update EmMediaList.vue

* Update EmMediaList.vue

* Update EmMediaImage.vue

* Update EmNote.vue

* revert mkmedialist changes

* 戻し漏れ

* wip

* tweak embed media ui

* revert original media components

* Update boot.embed.js

* rename

* wip

* Update MkNote.vue

* wip

* Update MkSubNoteContent.vue

* Update EmNote.vue

* Update packages/frontend/src/router/definition.ts

* Revert "Update packages/frontend/src/router/definition.ts"

This reverts commit 937ae44521cdb0f250796943b20142b65f8ed944.

* refactor EmMediaImage

* fix import

* remove unused imports

* Update router.ts

* wip

* Update boot.ts

* wip

* wip

* wip

* wip

* Update EmNote.vue

* Update EmNote.vue

* Create EmA.vue

* Create EmAvatar.vue

* Update EmAvatar.vue

* wip

* wip

* wip

* Create EmImgWithBlurhash.vue

* Update EmImgWithBlurhash.vue

* Create EmPagination.vue

* wip

* Update boot.ts

* wip

* wip

* wi@p

* wip

* wip

* wiop

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update boot.ts

* wip

* Update MkMisskeyFlavoredMarkdown.ts

* wip

* wip

* wip

* wip

* wip

* Update post-message.ts

* wip

* Update EmNoteDetailed.vue

* Update EmNoteDetailed.vue

* Create instance.ts

* Update EmNoteDetailed.vue

* wip

* Update EmNoteDetailed.vue

* wip

* wip

* wip

* Update pnpm-lock.yaml

* wip

* wip

* wp

* wip

* Update ClientServerService.ts

* wip

* Update boot.ts

* Update vite.config.local-dev.ts

* Update vite.config.ts

* Create index.html

* wa-

* wip

* Update boot.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Create EmLink.vue

* Create EmMention.vue

* Update EmMfm.ts

* wip

* wip

* wip

* wip

* Update vite.config.ts

* Update boot.ts

* Update EmA.vue

* うぃp

* wip

* wip

* Create EmError.vue

* wip

* Update MkEmbedCodeGenDialog.vue

* Update EmNote.vue

* wip

* wip

* Update user-timeline.vue

* Update check-spdx-license-id.yml

* wip

* wip

* style(frontend-shared): lint fixes on build.js

* fix(frontend-shared): include `*.{js,json}` files in js-built

* wip

* use alias

* refactor

* refactor

* Update scroll.ts

* refactor

* refactor

* refactor

* wip

* wip

* wip

* wip

* Update roles.vue

* Update branding.vue

* wip

* wip

* wip

* Update page.vue

* wip

* fix import

* add missing css variables

* 絵文字をtwemojiに変更

クライアントデフォルトにあわせるため

* force empoll readonly

* fix compiler error

* fix broken imports

* tweak button style

* run api extractor

* fix storybook theme preloads

* fix storybook instance imports

* Update preview.ts

* Update preview.ts

* Update preview.ts

* Revert "Update preview.ts"

This reverts commit 12bab1c6fbd3baf753515df760ff19d027b85155.

* Revert "Update preview.ts"

This reverts commit 5c0ce01dbdf2194ffe94aba950f747a9968f29c4.

* Revert "Update preview.ts"

This reverts commit f4863524d7e5ca0f25470808849c24a72bea000a.

* Revert "fix storybook instance imports"

This reverts commit ed8eabb246edf731d31adffbe3c77c539e53ae9e.

* Revert "wip"

This reverts commit d3c1926519878155193a1654f49141e515d49683.

* Revert "Update page.vue"

This reverts commit 27c7900b0c1ae296b56075e8a9c22585d9cd744b.

* Revert "Update branding.vue"

This reverts commit c08ccb65ba66774c3e2b3dcfc6153004b5c0aa16.

* Revert "Update roles.vue"

This reverts commit 1488b670660cb1803d17d8f5c78f2d79e59fa52d.

* Revert "wip"

This reverts commit aab1c769814b08c257cad3025422a0eea3bfba4f.

* refactor: use common media proxy

* fix imports

* fix

* fix: MediaProxyの初期化を保証する(storybook対策?)

* enhance(frontend-embed): improve embedParams provide

* fix(backend): MK_DEV_PREFER=backendのときにembed viteが読み込めないのを修正

* fix

* embed-pageを共通化

* fix import

* fix import

* fix import

* const.jsを共通化

(たぶんrevertしすぎた)

* fix type error

* fix duplicated import

* fix lint

* fix

* コメントとして残す

* sharedとembedをlint対象にする

* lint

* attempt to fix eslint (frontend-shared)

* lint fixes

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-09-09 20:57:36 +09: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
zyoshoka 7fe3035059
fix(backend): use `prefixItems` in `admin/queue/*-delayed` endpoint schema (#14468)
* fix(backend): represent tuples with `prefixItems`

* refactor(frontend): fix type errors

* fix(backend): add `prefixItems` in `SchemaType`

* fix(backend): add `unevaluatedItems: false` to disallow extra items

* refactor(frontend): consolidate `'deliver' | 'queue'` type def into `queue.vue`

* fix(backend): add `unevaluatedItems` in `SchemaType`
2024-08-30 10:58:59 +09:00
zyoshoka 06855f769f
refactor(sw): use fully typed locales (#14470)
* refactor(sw): use fully typed locales

* fix(backend): enumerate achievement notification type
2024-08-30 10:58:11 +09:00
zyoshoka 3e85052754
fix(backend): correct `app`-type notification schema (#14471) 2024-08-29 18:57:44 +09:00
syuilo b6fdd71957 消し忘れ 2024-08-27 20:40:11 +09:00
syuilo 36dff66883 refactor 2024-08-27 20:36:43 +09: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
syuilo 8032a4e12a enhance(frontend): サイズ制限を超過するファイルをアップロードしようとした際にエラーを出すように 2024-08-23 16:40:11 +09:00
syuilo 2f009f7d49 add note 2024-08-23 16:31:16 +09:00
syuilo f85aa7b641 fix(backend): ファイルがサイズの制限を超えてアップロードされた際にエラーを返さなかった問題を修正 2024-08-23 16:29:05 +09:00
dakkar 17b6c1b371 tell the linter to shut up, this time 2024-08-22 13:55:22 +01:00
syuilo 1008fa32a0
better boot error screen 2024-08-22 14:03:11 +09:00
atsuchan 043ab1f69b
fix(backend): Fix chart generation non-matching blockedHosts (#14441) 2024-08-20 13:49:42 +09: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
syuilo 86dd4abadc Revert "enhance(backend): 凍結されたアカウントのフォローリクエストを表示しないように"
This reverts commit cd210001e6.
2024-08-14 20:29:06 +09:00
dakkar 99a0765eaf Merge branch 'develop' into feature/misskey-2024.07 2024-08-14 11:53:57 +01:00
syuilo cd210001e6 enhance(backend): 凍結されたアカウントのフォローリクエストを表示しないように 2024-08-14 18:08:51 +09:00
timesince 41936c16c4
chore: fix some comments (#14394)
Signed-off-by: timesince <seekseat@icloud.com>
2024-08-12 14:03:16 +09:00
かっこかり ab7bbd4e57
fix(backend): ダイレクト投稿をユーザーごとのチャートから除外 (#14350)
* fix(chart): ダイレクト投稿をユーザーごとのチャートから除外 (MisskeyIO#679)

(cherry picked from commit 3db41c2d829ac18daabbdf52fe6235a874735b31)

* Update Changelog

---------

Co-authored-by: Yuuki <yukikum57@gmail.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-08-11 16:27:08 +09:00
かっこかり 93fc06d18b
fix(backend): getApTypeでエラーを投げないように (#14361)
* fix(backend): getApTypeでエラーを投げないように

* Update Changelog

* Update Changelog

* Update type.ts

* add comment
2024-08-11 16:25:57 +09:00
かっこかり 0aaf74ee22
fix(backend): InstanceEntityService.packMany に me が渡っていないのを修正 (#14360)
* fix: pass current user into `InstanceEntityService.packMany`

(cherry picked from commit 858ba18876)

* Update Changelog

* origin

* Update Changelog

---------

Co-authored-by: Hazel K <acomputerdog@gmail.com>
2024-08-11 11:28:07 +09:00
syuilo 37c9d91ba0 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-08-10 21:07:37 +09:00
syuilo 93c569c2cd refactor 2024-08-10 21:07:33 +09:00
かっこかり cb10156f01
fix(frontend): iOSでacctなどがリンクとして誤検知されるのを抑制 (#14354)
* fix(frontend): iosでの自動リンク化を抑制

* Update Changelog

* typo

* typo

* Update CHANGELOG.md
2024-08-10 20:46:26 +09:00
zyoshoka 01a815f8a7
fix(general): some fixes and improvements of Play visibility (#14384)
* fix(backend): missing `visibility` param in packing flash

* fix(frontend): use `visibility` value got from API

* enhance(frontend): change preview appearance of private Play

* Update CHANGELOG.md
2024-08-10 09:34:49 +09:00
anatawa12 f50941389d
fix: readAllNotifications message not working (#14374)
* refactor: add and use isJsonObject

* fix: readNotification message without body is not working

* docs(changelog): WSの`readAllNotifications` メッセージが `body` を持たない場合に動作しない問題

* Update CHANGELOG.md

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-08-09 16:04:41 +09:00
Daiki Mizukami 0d508db8a7
fix(backend): check visibility of following/followers of remote users / feat: moderators can see following/followers of all users (#14375)
* fix(backend): check visibility of following/followers of remote users

Resolves https://github.com/misskey-dev/misskey/issues/13362.

* test(backend): add tests for visibility of following/followers of remote users

* docs(changelog): update CHANGELOG.md

* feat: moderators can see following/followers of all users

* docs(changelog): update CHANGELOG.md

* refactor(backend): minor refactoring

`createPerson`と`if`の条件を統一するとともに、異常系の
処理をearly returnに追い出すための変更。

* feat(backend): moderators can see following/followers count of all users

As per https://github.com/misskey-dev/misskey/pull/14375#issuecomment-2275044908.
2024-08-09 12:10:51 +09:00
syuilo 820becb4e4
fix import 2024-08-09 10:51:18 +09:00
dakkar 01958da57f merge: fix webfinger for instances without a `/host-meta` (!593)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/593

Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
Approved-by: Marie <marie@kaifa.ch>
2024-08-06 20:49:11 +00:00
dakkar 9672f0b48e fix comparison (thanks linter) 2024-08-06 21:21:38 +01:00
dakkar 03d9288f44 fix spacing (thanks linter) 2024-08-06 21:21:29 +01:00
dakkar f33aedfc9f merge: fix env variable type (!592)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/592

Approved-by: Marie <marie@kaifa.ch>
Approved-by: Tess K <me@thvxl.se>
2024-08-06 19:41:26 +00:00
dakkar 4c409dd6c6 fix comparison (thanks linter) 2024-08-06 19:51:11 +01:00
dakkar e9255d45f8 fix spacing (thanks linter) 2024-08-06 19:23:03 +01:00
dakkar 8d29df64fa fix webfinger for instances without a `/host-meta`
we were inconsistent with the colons, thanks to usedbunny for
noticing!
2024-08-06 19:07:01 +01:00
dakkar 94dceb9e15 Merge branch 'develop' into feature/misskey-2024.07 2024-08-06 17:51:51 +01:00
dakkar 4e7df7a5f2 merge: Remove infinite caches to prevent memory leak (!587)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/587

Closes #600 and #601

Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
Approved-by: Marie <marie@kaifa.ch>
2024-08-06 16:51:18 +00:00
dakkar 790c75b1a3 merge: Add icon for moving files/folders - for !583 (!586)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/586

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: fEmber <acomputerdog@gmail.com>
2024-08-06 16:33:17 +00:00
Hazel K 9930c64f2d Fix timeout comments
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-08-06 12:13:17 -04:00
Marie d798809875 upd: add back in timestamps on src 2024-08-06 15:54:18 +00:00
Marie 9d4d2a1fad upd: align font with new repo 2024-08-06 15:35:52 +00:00
dakkar 2f97b5976f merge: use `XMLSerializer` for `toMastoApiHtml` - fixes #556 (!591)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/591

Closes #556

Approved-by: Marie <marie@kaifa.ch>
Approved-by: fEmber <acomputerdog@gmail.com>
2024-08-06 14:09:35 +00:00
dakkar f85e8a4278 appease the linter 2024-08-06 11:42:03 +01:00
dakkar 9de422280f merge: feat: implement `attachLdSignatureForRelays` to control signing of Relayed activities (#599) (!579)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/579

Closes #599

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-08-06 10:40:14 +00:00
dakkar d899eb30b1 merge: delete old emoji file when replaced - fixes #608 (!589)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/589

Closes #608

Approved-by: fEmber <acomputerdog@gmail.com>
Approved-by: Marie <marie@kaifa.ch>
2024-08-06 10:39:41 +00:00
dakkar 5c3a4925d6 merge: Improve the check_connect script (!588)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/588

Approved-by: fEmber <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-08-06 10:39:27 +00:00
dakkar 5565985f84 appease the linter 2024-08-06 11:35:03 +01:00
dakkar 8afe46122d fix type for env variable 2024-08-06 11:32:26 +01:00
dakkar cb5de3fbfc fix type for env variable 2024-08-06 11:24:43 +01:00
dakkar 151470d882 make "media silenced" work like "silenced"
that is, silencing `foo.com` also silences `sub.foo.com`
2024-08-06 11:14:24 +01:00
dakkar 02748edd17 remove spurious `.then()` 2024-08-06 11:03:09 +01:00
dakkar 6379deb5a7 fail `AbuseReportService.resolve` harder without remote users
as @fEmber noticed, if `findOneByOrFail` throws, we would have marked
the report as resolved, without logging that

this way, the whole operation fails (the frontend should not send us
ids of users that can't be resolved!)
2024-08-06 11:01:18 +01:00
dakkar 34c1e9ea2b Merge branch 'develop' into feature/misskey-2024.07
fixing conflicts in `package.json`
2024-08-06 10:35:14 +01:00
dakkar 712af44de4 merge: don't send real-time updates of replies to blocked users #457 #573 (!566)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/566

Approved-by: Tess K <me@thvxl.se>
Approved-by: fEmber <acomputerdog@gmail.com>
2024-08-06 09:26:40 +00:00
dakkar 76a966041f merge: Fall back to port 3000 if none is specified (!584)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/584

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: fEmber <acomputerdog@gmail.com>
2024-08-06 09:23:08 +00:00
dakkar b93494d746 merge: make sure that `sensitive` is a boolean - fixes #596 (!590)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/590

Closes #596

Approved-by: fEmber <acomputerdog@gmail.com>
Approved-by: Marie <marie@kaifa.ch>
2024-08-06 09:20:53 +00:00
dakkar 61c13241ba use `XMLSerializer` for `toMastoApiHtml` - fixes #556
the `inline` bit is not pretty, but does the job
2024-08-06 10:13:53 +01:00
4censord 0386e52d6f
Impove the check_connect script 2024-08-06 00:35:35 +02:00
dakkar 58d329e3bd make sure that `sensitive` is a boolean - fixes #596
Some remote instances may send garbage. If the `sensitive` value
passed to `driveService.uploadFromUrl` is not a boolean, eventually
we'll get an exception from the database complaining about that. This
change avoids that problem.
2024-08-05 10:12:27 +01:00
dakkar 1e86cba7dc delete old emoji file when replaced - fixes #608
it's the same code that 5f7fc54ee9 added
to `delete` and `deleteBulk`, with the extra check that we're not
deleting the same file we're setting
2024-08-05 09:27:06 +01:00
Hazel K ba09338268 optimize cache GC by stopping early 2024-08-04 09:58:01 -04:00
Marie 4ed4547f4a upd: add icon for moving files/folders 2024-08-03 22:45:49 +00:00
Hazel K 672f1ea684 tune cache lifetimes 2024-08-03 14:49:06 -04:00
Hazel K 3688f1dadf implement pull-through caching 2024-08-03 14:09:08 -04:00
Hazel K 613706f6b8 add missing awaits to internally synchronize caches 2024-08-03 14:02:18 -04:00
Hazel K b1f1e3eb0e encapsulate other caches 2024-08-03 13:54:59 -04:00
Hazel K bc236a4bd2 remove infinity caches 2024-08-03 13:42:23 -04:00
4censord e1b0faa18f
Fall back to port 3000 if none is specified
Originally, because `parseInt` can return `NaN`, sharkey would happily
try to listen on port `NaN`.
2024-08-03 17:43:02 +02:00
4censord 12aeaa5f95
Complain if no config-files are loaded 2024-08-03 17:42:59 +02:00
dakkar 955fda6e1c also allow `db.disableCache` 2024-08-03 15:29:09 +01:00
dakkar 16601fa766 allow overriding more config settings via env vars
`id` in particular is necessary if one wants to do a working basic
configuration without a config file at all, thanks to @4censord for
making me notice
2024-08-03 14:56:29 +01:00
Hazel K 114b698034 encapsulate `MemoryKVCache<T>` 2024-08-03 09:18:44 -04:00
dakkar 5496aa27db merge: error out when we can't start workers - fixes #586 (!578)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/578

Closes #586

Approved-by: Tess K <me@thvxl.se>
Approved-by: Marie <marie@kaifa.ch>
2024-08-02 18:41:57 +00:00
dakkar 41e32e792a merge: pass redis config as-is to postgres cache (!577)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/577

Approved-by: Tess K <me@thvxl.se>
Approved-by: Marie <marie@kaifa.ch>
2024-08-02 18:41:29 +00:00
dakkar d9c23e92fd merge: fix: pass current user into `InstanceEntityService.packMany` (!582)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/582

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-08-02 18:40:53 +00:00
dakkar 72758a2dbf fix mfm→sfm 2024-08-02 13:47:49 +01:00
dakkar ef99b1ca07 put back dependency I had deleted by accident 2024-08-02 13:47:40 +01:00
dakkar 98c7b95ecc copy from global-timeline to bubble-timeline 2024-08-02 13:05:53 +01:00
dakkar b678580453 copy changes from NoteCreateService to NoteEditService 2024-08-02 12:32:28 +01:00
dakkar cfa9b852df Merge remote-tracking branch 'misskey/master' into feature/misskey-2024.07 2024-08-02 12:25:58 +01:00
Hazel K 858ba18876 fix: pass current user into `InstanceEntityService.packMany` 2024-08-01 08:24:50 -04:00
anatawa12 3137c104f2
test: フォローしていないユーザーからの自分への返信が含まれることを確認するテストを追加 (#14333) 2024-07-31 07:23:38 +09:00
anatawa12 5c42a0e439
feat: media silence (#13842)
* feat: media silence

* fix: lint

* feat: deny creating custom emoji reaction and using custom emoji from media silenced hosts

* chore: メディアサイレンスの説明にカスタム絵文字の話を追加

* Update locales/ja-JP.yml

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

* chore: update index.d.ts

* docs(changelog): update changelog

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-07-30 19:47:45 +09:00
anatawa12 8f40f932e4
自分のフォロワー限定投稿に対するリプライがホームタイムラインで見えないことが有る問題を修正 (#13835)
* fix: reply to my follower notes are not shown on the home timeline

* fix: reply to follower note by non-following is on social timeline

* docs: changelog

* test: add endpoint test for changes

* test(e2e): 自分のfollowers投稿に対するリプライが流れる

* test(e2e/streaming): 自分のfollowers投稿に対するリプライが流れる

* test(e2e/streaming): フォローしていないユーザによるフォロワー限定投稿に対するリプライがソーシャルタイムラインで表示されることがある問題

* test(e2e/timelines): try fixing typecheck error

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-07-30 19:44:08 +09:00
Sayamame-beans d0b7c74fd1
検索からハッシュタグのページが開けるように、users/searchに`@`から始まる文字列が与えられた際の処理を修正 等 (#13858)
* enhance(frontend): 検索からハッシュタグのページを開けるように

* fix(frontend): 照会で入力が`#`のみの場合は`/tags/`に遷移しないように

* docs(changelog): update changelog

* enhance(frontend): ユーザー検索からもハッシュタグのページを開けるように

* docs(changelog): update changelog

* enhance(frontend): 検索範囲等が指定されている時は照会/ハッシュタグページを開かないように

* enhance(frontend): 検索内容に空白が含まれている場合は照会/ハッシュタグページを開かないように

* docs(changelog): update changelog

* Revert "enhance(frontend): 検索範囲等が指定されている時は照会/ハッシュタグページを開かないように"

This reverts commit f84eecea964b90e9b115eac19ed6f19a603a6bbc.

* enhance(frontend): 検索から照会/ハッシュタグページを開くかどうか確認するように

* docs(changelog): update changelog

* chore: fix lint

* docs(changelog): update changelog insertion position

* enhance(frontend): 検索から`@user@host`の形式で照会出来るように

* fix(frontend): 照会で入力が`@`のみの場合に`/@`に遷移しないように

* fix(backend): `users/search`において`@`から始まるqueryに対する処理が正しくなかった問題を修正

* docs(changelog): update changelog

* chore(backend): fix lint error

* fix(backend): more improvements for users/search when query startswith `@`

* chore: unify common conditions

* docs(changelog): refine changelog

* chore(backend): fix lint error

* MkInputをpreventに対応させ、enterの意図せぬ伝搬を防ぐ

* chore(frontend/search.user): use .prevent to prevent the propagation of enter instead of setTimeout

---------

Co-authored-by: samunohito <46447427+samunohito@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: taichanne30 <dev@taichan.site>
2024-07-30 19:18:43 +09:00
taichan b359e3c95b
Fix condition of noteSearchableScope (#14325) 2024-07-30 16:51:50 +09:00
かっこかり 6bd46e790b
refactor(backend): remove unrelated comments 2024-07-30 16:18:18 +09:00
taichan bff813042e
feat: このユーザーのノートを検索, クエリに基づく検索の初期値 & ノート検索のUI改善 (#14128)
* refactor(frontend): noteSearchAvailableをaccountsに移動

* feat: searchページでのクエリの受取りとtypeによる表示タブの変更

* user検索でsearchの親から受け取った値を基に入力値を初期化

* feat(frontend): ノート検索で親(search)からの情報を基にユーザー情報を取得

* feat(frontend): ユーザーのノートを検索するページに遷移するボタン

* feat(frontend): ノート検索にホスト名指定のオプション追加
also 🎨

* style: ただ照会部分を囲っただけ(可読性確保のために)

* refactor: remove unneed import
defineProps and withDefaults are compiler micro when using `<script setup>`
FYI: https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits:~:text=defineProps%20and%20defineEmits%20are%20compiler%20macros%20only%20usable%20inside%20%3Cscript%20setup%3E.%20They%20do%20not%20need%20to%20be%20imported%2C%20and%20are%20compiled%20away%20when%20%3Cscript%20setup%3E%20is%20processed.

* Update CHANGELOG

* Fix: ノート検索の初期値が常にホスト指定になってしまう

* notesSearchAvailableをaccountに持たせるのをやめる

* SDPX-Licence-Identifier

* Fix: Vitest fails due to instance.policies being undefined

* Add Storybook for search

* Fix(storybook): ノート検索が利用できないと出てしまう問題

* storybookでユーザー選択ができないのを修正

* feat: ノート検索で自分を選択可能に
& 🎨

* feat(background): api/metaで検索可能なノートのスコープを参照できるように

* globalのノートが検索不可能な場合、検索オプションを表示しないように

* Update CHANGELOG.md

* config.meilisearch.scopeがstring[]を取ることがあるので修正

* meilisearchを利用かつscopeがlocalの場合、リモートユーザーのメニューで「このユーザーのノートを検索」を出さないように

* hostが空文字の時の挙動を修正

* ローカルのみしかノートがインデックスされていない場合、リモートユーザーも選択できなくした
2024-07-30 15:51:08 +09:00
taichan 7e9c38d6fb
Fix(backend): ドライブのファイルのurl, uri, src の上限引き上げ (#14323)
* enhance: ドライブurlの上限文字数を引き上げ

* Fix: おそらくフォーク独自の変更のように見える部分(metaに関する変更部分)を削除

* UPDATE changelog

* Add SPDX prefixes

* Fix: インデックスの張り直しを消した

---------

Co-authored-by: slofp <phy.public@gmail.com>
2024-07-30 15:29:24 +09:00
かっこかり de3ddb5b44
enhance: 管理画面でアーカイブにしたお知らせを表示・編集できるように (#14286)
* enhance: 管理画面でアーカイブにしたお知らせを表示できるように

* Update Changelog
2024-07-30 13:02:03 +09:00
Sayamame-beans b44313fe3c
fix(backend): type(schema) of reactionAcceptance was wrong (#14317) 2024-07-30 12:32:03 +09:00
おさむのひと 72bc789746
feature: ユーザ作成時にSystemWebhookを発信できるようにする (#14321)
* feature: ユーザ作成時にSystemWebhookを発信できるようにする

* fix CHANGELOG.md
2024-07-29 21:31:32 +09:00
dakkar ad9848acfa merge: rate limit all password checks - fixes #540 (!568)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/568

Closes #540

Approved-by: Marie <marie@kaifa.ch>
Approved-by: Tess K <me@thvxl.se>
2024-07-29 10:47:33 +00:00
Sayamame-beans 61f4a03e6c
Fix(frontend): 下書き/削除して編集で保持されない項目があった問題を修正 (#14285)
* chore(frontend): reorder assignments

* fix(frontend): visibleUserIds is not kept when deleteAndEdit

* fix(frontend): quoteId is not kept on draft

* fix(frontend): reactionAcceptance is not kept for draft/deleteAndEdit

* docs(changelog): update changelog
2024-07-28 11:19:32 +09:00
syuilo 085b3abf26
update deps (#14312) 2024-07-28 11:14:31 +09:00
かっこかり 46d96c7412
fix(build): autogen生成時にbackendを2度buildしているのを修正 (#14309)
* fix(build): autogen生成時にbackendを2度buildしているのを修正

* fix

* fix
2024-07-27 18:09:15 +09:00
Hazel K 378408226b tweak wording 2024-07-26 22:45:07 -04:00
Hazel K 916509dd6a revert more import changes 2024-07-26 10:17:02 -04:00
Hazel K fecdff7fa0 revert import changes 2024-07-26 09:42:49 -04:00
Hazel K 32872181dd feat: implement `attachLdSignatureForRelays` to control signing of Relayed activities 2024-07-25 10:37:23 -04:00
zyoshoka befa8e4a7f
fix(backend): avoid caching remote user's HTL when receiving Note (#13772)
* fix(backend): avoid caching remote user's HTL when receiving Note

* test(backend): add test for FFT

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-25 16:37:46 +09:00
zyoshoka fc71bcc98e
fix(backend): avoid notifying to remote users on local (#13774)
* fix(backend): avoid notifying to remote users on local

* Update CHANGELOG.md

* refactor: check before calling method

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-07-25 16:32:07 +09:00
dakkar f18f30cb79 ignore cpuCount when it's 0 - fixes #586
seems more useful this way
2024-07-21 13:29:54 +01:00
dakkar 3eff85a3d3 error out when we can't spawn workers - fixes #586
Setting `clusterLimit` to 0 means no workers are started, which
usually breaks things. Also, some "hardening" things may prevent node
from seeing how many CPUs the machine has, which has the same effect.

With this commit we provide hopefully-useful error messages.
2024-07-21 11:32:39 +01:00
dakkar 6e1e3bc0ea pass redis config as-is to postgres cache
also, explicitly state that `path` is a valid config option for
redis (tells `ioredis` to connect via UNIX socked instead of TCP
socket)
2024-07-21 11:02:46 +01:00
syuilo 337b42bcb1 revert 5f88d56d96
バグがある(かつすぐに修正できそうにない) & まだレビュー途中で意図せずマージされたため
2024-07-20 21:33:20 +09:00
dakkar 01b10d0d3b fix drive search query
`.andWhere` does not add parentheses, so that `or` changed the whole
meaning of the query
2024-07-19 14:32:14 +01:00
woxtu 6920f0fa7e
Disable ESLint for migration files (#14262) 2024-07-19 10:05:34 +09:00
anatawa12 10ce7bf3c4
kill any from streaming API Implementation (#14251)
* chore: add JsonValue type

* refactor: kill any from Connection.ts

* refactor: fix StreamEventEmitter contains undefined instead of null

* refactor: kill any from channels

* docs(changelog): Fix: Steaming APIが不正なデータを受けた場合の動作が不安定である問題

* fix license header

* fix lints
2024-07-18 20:04:23 +09:00
かっこかり de166a8ed4
fix(backend): リノートミュートがキャッシュが切れるまで効かない問題を修正 (#14242)
* Fix: RenoteMuteがキャッシュが切れるまで効かない問題を修正

(cherry picked from commit e9601029b52e0ad43d9131b555b614e56c84ebc1)

* update changelog

* 🎨

* remove unused import

* 消したときもキャッシュを飛ばすように

* lint

---------

Co-authored-by: mattyatea <mattyacocacora0@gmail.com>
2024-07-18 08:55:36 +09:00
anatawa12 cfdad45092
fix: ソーシャルタイムラインにローカルタイムラインに表示される自分へのリプライが表示されない問題を修正 (#13978)
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-07-18 02:06:31 +09:00
tamaina 5f88d56d96
perf(federation): Ed25519署名に対応する (#13464)
* 1. ed25519キーペアを発行・Personとして公開鍵を送受信

* validate additionalPublicKeys

* getAuthUserFromApIdはmainを選ぶ

* ✌️

* fix

* signatureAlgorithm

* set publicKeyCache lifetime

* refresh

* httpMessageSignatureAcceptable

* ED25519_SIGNED_ALGORITHM

* ED25519_PUBLIC_KEY_SIGNATURE_ALGORITHM

* remove sign additionalPublicKeys signature requirements

* httpMessageSignaturesSupported

* httpMessageSignaturesImplementationLevel

* httpMessageSignaturesImplementationLevel: '01'

* perf(federation): Use hint for getAuthUserFromApId (#13470)

* Hint for getAuthUserFromApId

* とどのつまりこれでいいのか?

* use @misskey-dev/node-http-message-signatures

* fix

* signedPost, signedGet

* ap-request.tsを復活させる

* remove digest prerender

* fix test?

* fix test

* add httpMessageSignaturesImplementationLevel to FederationInstance

* ManyToOne

* fetchPersonWithRenewal

* exactKey

* ✌️

* use const

* use gen-key-pair fn. from  '@misskey-dev/node-http-message-signatures'

* update node-http-message-signatures

* fix

* @misskey-dev/node-http-message-signatures@0.0.0-alpha.11

* getAuthUserFromApIdでupdatePersonの頻度を増やす

* cacheRaw.date

* use requiredInputs
https://github.com/misskey-dev/misskey/pull/13464#discussion_r1509964359

* update @misskey-dev/node-http-message-signatures

* clean up

* err msg

* fix(backend): fetchInstanceMetadataのLockが永遠に解除されない問題を修正

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>

* fix httpMessageSignaturesImplementationLevel validation

* fix test

* fix

* comment

* comment

* improve test

* fix

* use Promise.all in genRSAAndEd25519KeyPair

* refreshAndprepareEd25519KeyPair

* refreshAndfindKey

* commetn

* refactor public keys add

* digestプリレンダを復活させる

RFC実装時にどうするか考える

* fix, async

* fix

* !== true

* use save

* Deliver update person when new key generated (not tested)
https://github.com/misskey-dev/misskey/pull/13464#issuecomment-1977049061

* 循環参照で落ちるのを解消?

* fix?

* Revert "fix?"

This reverts commit 0082f6f8e8c5d5febd14933ba9a1ac643f70ca92.

* a

* logger

* log

* change logger

* 秘密鍵の変更は、フラグではなく鍵を引き回すようにする

* addAllKnowingSharedInboxRecipe

* nanka meccha kaeta

* delivre

* キャッシュ有効チェックはロック取得前に行う

* @misskey-dev/node-http-message-signatures@0.0.3

* PrivateKeyPem

* getLocalUserPrivateKey

* fix test

* if

* fix ap-request

* update node-http-message-signatures

* fix type error

* update package

* fix type

* update package

* retry no key

* @misskey-dev/node-http-message-signatures@0.0.8

* fix type error

* log keyid

* logger

* db-resolver

* JSON.stringify

* HTTP Signatureがなかったり使えなかったりしそうな場合にLD Signatureを活用するように

* inbox-delayed use actor if no signature

* ユーザーとキーの同一性チェックはhostの一致にする

* log signature parse err

* save array

* とりあえずtryで囲っておく

* fetchPersonWithRenewalでエラーが起きたら古いデータを返す

* use transactionalEntityManager

* fix spdx

* @misskey-dev/node-http-message-signatures@0.0.10

* add comment

* fix

* publicKeyに配列が入ってもいいようにする
https://github.com/misskey-dev/misskey/pull/13950

* define additionalPublicKeys

* fix

* merge fix

* refreshAndprepareEd25519KeyPair → refreshAndPrepareEd25519KeyPair

* remove gen-key-pair.ts

* defaultMaxListeners = 512

* Revert "defaultMaxListeners = 512"

This reverts commit f2c412c18057a9300540794ccbe4dfbf6d259ed6.

* genRSAAndEd25519KeyPairではキーを直列に生成する?

* maxConcurrency: 8

* maxConcurrency: 16

* maxConcurrency: 8

* Revert "genRSAAndEd25519KeyPairではキーを直列に生成する?"

This reverts commit d0aada55c1ed5aa98f18731ec82f3ac5eb5a6c16.

* maxWorkers: '90%'

* Revert "maxWorkers: '90%'"

This reverts commit 9e0a93f110456320d6485a871f014f7cdab29b33.

* e2e/timelines.tsで個々のテストに対するtimeoutを削除, maxConcurrency: 32

* better error handling of this.userPublickeysRepository.delete

* better comment

* set result to keypairEntityCache

* deliverJobConcurrency: 16, deliverJobPerSec: 1024, inboxJobConcurrency: 4

* inboxJobPerSec: 64

* delete request.headers['host'];

* fix

* // node-fetch will generate this for us. if we keep 'Host', it won't change with redirects!

* move delete host

* modify comment

* modify comment

* fix correct → collect

* refreshAndfindKey → refreshAndFindKey

* modify comment

* modify attachLdSignature

* getApId, InboxProcessorService

* TODO

* [skip ci] add CHANGELOG

---------

Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-07-18 01:28:17 +09:00
KevinWh0 5e65b6d01d Merge develop into feature/search-drive-via-alt-text 2024-07-16 23:02:15 +02:00
KevinWh0 f97417cfca Add stuff talked about on MR 2024-07-16 22:06:38 +02:00
Kisaragi ce39c3a2fb
chore(backend): registed -> registered (#14213)
* chore(backend): registed -> registered

* Update CHANGELOG.md
2024-07-15 14:58:48 +09:00
dakkar 4d0a340620 merge: [feat] port fetching host-meta before the webfinger endpoint from iceshrimp - fixes #539 (!567)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/567

Closes #539

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-07-14 14:10:54 +00:00
slonkazoid 2232f65410
use more concise syntax for env var checking 2024-07-14 16:11:11 +03:00
slonkazoid 1fa92ad763
rename fetchHostMeta to fetchWebFingerTemplateFromHostMeta 2024-07-14 16:11:02 +03:00
Souma 1b84760c19
enhance(backend): Load settings via environment variables (#14179)
* feat(backend): Load settings via environment variables

If they're not loaded from the config file.

* chore(docker): Add hints for environment variables

It supports users to know about them.

* docs(changelog): Add the description about this change

Users can notice what's changed by this PR.

* style(backend): Fix code syntax

To pass the linter.
2024-07-14 21:33:22 +09:00
Kisaragi f0b9d70720
ci: cache eslint (#14204)
* ci: cache eslint

* dummy commit to trigger

* fix syntax error
2024-07-14 21:30:57 +09:00
Sayamame-beans 4b9c60ad21
fix(backend): ユーザーのリアクション一覧でミュート/ブロックが機能していなかった問題を修正 (#14100)
* fix: mute/block was not considered on users/reactions

* docs(changelog): update changelog

* chore: Apply suggestion from code review

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-07-14 20:24:29 +09:00
syuilo c5607d8633 enhance(backend): configにsignToActivityPubGetの指定が無い場合trueと見做すように
trueの方が望ましいため
2024-07-14 20:14:43 +09:00
Kisaragi 31e82fc29a
test(backend): kill many `any` in backend test (partial) (#14054)
* kill any on utils:api

* kill any on timeline test

* use optional chain to kill TS2532 on timeline test
変更前: 該当ノートが見つからなければundefinedに対するプロパティアクセスとしてテストがクラッシュ
変更後: 該当ノートが見つからなければoptional chainがundefinedとして評価されるが、strictEqualの右辺がnon-nullableなためアサーションに失敗しテストがクラッシュ

* kill `as any` for ApMfmService

* kill argument any for api-visibility

* kill argument any across a few tests

* do not return value that has yielded from `await`-ing `Promise<void>`

* force cast

* runtime non-null assertion to coerce

* rewrite `assert.notEqual(expr, null)` to `assert.ok(expr)`
こうすることでassertion type扱いになり、non-nullableになる

* change return type of `failedApiCall` to `void`
戻り値がどこにも使われていない

* split bindings for exports.ts
型が合わなくて文句を言ってくるので適切に分割

* runtime non-null assertion

* runtime non-null assertion

* 何故かうまく行かないので、とりあえずXORしてみる

* Revert "何故かうまく行かないので、とりあえずXORしてみる"

This reverts commit 48cf32c930924840d0892af92d71b9437acb5844.

* castAsErrorで安全ではないキャストを隠蔽

* 型アサーションの追加

* 型アサーションの追加

* 型アサーションの追加

* voidで値を返さない

* castAsError

* assert.ok => kill nullability

* もはや明示的な型の指定は必要ない

* castAsError

* castAsError

* 型アサーションの追加

* nullableを一旦抑止

* 変数を分離して型エラーを排除

* 不要なプロパティを削除する処理を隠蔽してanyを排除

* Repository type

* simple type

* assert.ok => kill nullability

* revert `as any` drop
reverts fe95c05b3f53266108128680d9358a3796844232 partialy

* test: fix invalid assertion
partially revert b99b7b5392d9d20c81dfee1346ba8b33ff9e1fbb

* test: 52d8a54fc7 により型が合うようになった部分の`as any`を除去

* format

* test: apply https://github.com/misskey-dev/misskey/pull/14054#discussion_r1672369526 (part 1)

* test: use non-null assertion to suppress too many error

* Update packages/backend/test/utils.ts

Co-authored-by: anatawa12 <anatawa12@icloud.com>

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-07-14 09:33:16 +09:00
Sayamame-beans 7afa593d11
Feat: ユーザーのアイコン/バナーの変更可否をロールで設定可能に (#14078)
* feat: implement role policy "canUpdateBioMedia"

* docs(changelog): update changelog

* docs(changelog): update changelog

* chore: regenerate misskey-js type definitions

* chore: Apply suggestion from code review

Co-authored-by: anatawa12 <anatawa12@icloud.com>

* chore: fix unnecessarily strict inequality check

* chore: policies should be gotten only once

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-07-14 09:31:05 +09:00
かっこかり 58c596cacf
fix(backend): 一般ユーザーから見たユーザーのバッジの一覧に公開されていないものが含まれることがある問題を修正 (#14195)
* enhance(backend): 公開バッジのみをpackするように (MisskeyIO#652)

(cherry picked from commit b8a90659f35fef49d1d00fb2f9b152226c97643c)

* Update Changelog

* fix

* Update UserEntityService.ts

---------

Co-authored-by: CyberRex <26585194+CyberRex0@users.noreply.github.com>
2024-07-14 09:26:25 +09:00
Gianni Ceccarelli c83c831c53
parse `notRespondingSince` from redis instance cache (#14079)
if we don't do this, we'll get a string, and `DeliverProcessorService`
will error out `i.notRespondingSince.getTime is not a function`
2024-07-13 20:26:48 +09:00
dakkar 9a9570ab62 mute users when blocking them - fixes #558
we already unfollow them, and make them unfollow us, so muting them is
a very sensible thing to want

since the mute is handled separately, users can un-mute the people
they block (same as they can re-follow them)
2024-07-13 10:53:40 +01:00
syuilo 91de35ecdf fix(backend): デフォルトテーマに無効なテーマコードを入力するとUIが使用できなくなる問題を修正
Fix #13955
2024-07-13 10:30:28 +09:00
slonkazoid d81aadfe23
replace useHttp with defaultProtocol 2024-07-12 15:46:23 +03:00
slonkazoid 6fa6f1ba45
i re-read the code several times but oh well 2024-07-12 15:28:05 +03:00
おさむのひと 6cd15275bb
fix: サジェストされるユーザのリストアップ方法を見直し (#14180)
* fix: サジェストされるユーザのリストアップ方法を見直し

* fix comment

* fix CHANGELOG.md

* ノートの無いユーザ(updatedAtが無いユーザ)は含めないらしい

* fix test
2024-07-12 21:14:09 +09:00
slonkazoid 0b6fb394c0
apply fixes from review 2024-07-12 14:28:19 +03:00
dakkar cced87da7f rate limit all password checks - fixes #540
all of these endpoints require the caller to already be logged in, so
it's not really much of a security problem, but it's still safer to
limit any endpoints that can be used to guess the current password
2024-07-12 11:15:58 +01:00
かっこかり 600f16d625
fix(backend): api-docをScalarに変更 (#14152)
* fix(backend): api-docをScalarに変更

* Update Changelog
2024-07-09 21:57:19 +09:00
slonkazoid 7a62e1be31
implement fetching host-meta before the webfinger endpoint
code ported from iceshrimp: c3e685a925/packages/backend/src/remote/webfinger.ts
2024-07-09 05:45:41 +03:00
かっこかり 9ef6c4716c
fix(backend): 名前を空白文字列だけにできる問題を修正 (#14119)
* fix(backend): 名前を空白文字列だけにできる問題を修正

* Update Changelog

* fix test

* Unicodeを含める

* fix

* ユーザー名がUnicode制御文字とスペースのみで構成される場合はnullに

* Revert "ユーザー名がUnicode制御文字とスペースのみで構成される場合はnullに"

This reverts commit 6c752a69c0d3649072e7e4ed30025183bceb48f9.

* [ci skip] changelog typo
2024-07-07 14:19:00 +09:00
かっこかり 984d582796
fix(frontend): サーバーサイドbootでエラー画面の描画時にDOMが初期化できていないことがあるのを修正 (#14139) 2024-07-07 09:56:09 +09:00
おさむのひと fe852920c3
fix(backend): parse5関係の型のimport方法を変更 (#14146) 2024-07-07 09:55:06 +09:00
syuilo 8e1d94c6c7 fix import path 2024-07-06 21:46:19 +09:00
dakkar f086bc23f5 don't send real-time updates of replies to blocked users
this is in line with the behaviour of a note's detailed view, which
does not show me replies from users who blocked me
2024-07-06 11:35:52 +01:00
anatawa12 5d03efa1bb
dev: fix pnpm dev is broken (#14123)
* dev: pnpm dev is broken

* dev: fix crash pnpm dev because of unhandled promise
2024-07-03 06:40:31 +09:00
woxtu de1fe7cc5a
Use built-in API (#14095) 2024-07-02 14:47:07 +09:00
Kisaragi eafae79869
test(backend): goodbye, Lenna (#14111) 2024-07-02 14:29:44 +09:00
syuilo 427648c4b8
update deps (#14057)
* wip

* locales/index.jsのymlファイル取得ロジックを調節

* regenerate pnpm-lock.yaml

* fix(backend): typecheck fails

* chore(deps): bump ip-cidr from 4.0.0 to 4.0.1 in /packages/backend

* chore: migrate ESLint configs to flat config (#14094)

* chore: migrate ESLint configs to flat config

* fix: update paths

* fix: frontend lint fails

* refactor(misskey-js): lint build.js

* update deps

---------

Co-authored-by: samunohito <46447427+samunohito@users.noreply.github.com>
Co-authored-by: zyoshoka <root@zyoshoka.com>
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-07-02 11:38:34 +09:00
dakkar 320db585e3 pass all the options to the cache constructor 2024-06-30 11:08:21 +01:00
dakkar 8cdea537e9 cache URL previews on the server
we already tell browsers to cache the preview for 7 days, but each
browser will ask the server, and the server will talk to the network,
hammering the poor site that got mentioned on fedi

let's instead cache the preview on the server!
2024-06-30 10:55:13 +01:00
Leah 2ebdc36c7a Add search for files in drive 2024-06-28 16:27:28 +02:00
ぬるきゃっと a6edd50a5d
chore(docker-compose): 推奨の名前にする (#14096)
* chore(docker-compose): 推奨の名前にする

5c18e329d5/spec.md (compose-file)

* yaml to yml

* fix

* fix
2024-06-28 11:16:12 +09:00
anatawa12 0e5a52c678 fix: notRespondingSinceが実装される前に不通になったインスタンスが自動的に配信停止にならない (#14059)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-23 10:59:43 +01:00
dakkar 3c3485e8a8 parse `notRespondingSince` from redis instance cache
if we don't do this, we'll get a string, and `DeliverProcessorService`
will error out `i.notRespondingSince.getTime is not a function`
2024-06-23 10:57:05 +01:00
zyoshoka 961cb6c5ee
fix(backend): fix creating reactions bugs (#13901)
* fix(backend): add fallback for empty string when creating reaction

* fix(backend): prohibit reactions to Renote

* test(backend): add some tests for `notes/reactions/create` endpoint

* Update CHANGELOG.md

* lint

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 19:49:38 +09:00
woxtu 00b213373b
Remove @types/node-fetch (#13948) 2024-06-22 19:46:29 +09:00
Kisaragi 9368eb3038
refactor: say bye to the weird groupBy friends (#13975)
* refactor(frontend): say bye to the weird groupBy friends

* refactor(backend): say bye to the weird groupBy friends
2024-06-22 19:40:55 +09:00
かっこかり 7c22a64b8c
fix(backend): 自分以外のクリップ内のノート個数が見えるのを修正 (#14065)
* fix(backend): 自分以外のクリップ内のノート個数が見えることがあるのを修正

* Update Changelog

* fix
2024-06-22 16:52:27 +09:00
yupix b50eb511b0
refactor: api/*/update系の必須キーを最低限に (#13824)
* refactor: clips/updateの必須キーをclipIdのみに

* refactor: admin/roles/update の必須キーをroleIdのみに

* feat: pages/update の必須キーをpageIdのみに

* refactor: gallery/posts/update の必須キーをpostidのみに

* feat: misskey-jsの型を更新

* feat: i/webhooks/updateの必須キーをwebhookIdのみに

* feat: admin/ad/updateの必須キーをidのみに

* feat: misskey-jsの型を更新

* chore: update CHANGELOG.md

* docs: update CHANGELOG.md

* fix: secretが更新できなくなる場合がある

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>

* Update packages/backend/src/server/api/endpoints/gallery/posts/update.ts

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 14:52:27 +09:00
Kisaragi ac12ab8629
fix(backend): フィードのノートのMFMはHTMLにレンダーしてから返す (#14006)
* fix(backend): フィードのノートのMFMはHTMLにレンダーしてから返す (test wip)

* chore: beforeEachを使う?

* fix: プレーンテキストにフォールバックしてMFMが含まれていないか調べる方針を実装

* fix: application/jsonだとパースされるのでその作用をキャンセル

* build: fix lint error

* docs: update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 12:51:02 +09:00
anatawa12 1e78ef1cb8
fix: notRespondingSinceが実装される前に不通になったインスタンスが自動的に配信停止にならない (#14059)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 12:44:01 +09:00
zyoshoka 8a9de081f1
fix(backend): fallback if `sinceId` is older than the oldest in cache when using FTT (#14061)
* fix(backend): fallback if `sinceId` is older than the oldest in cache when using FTT

* Update CHANGELOG.md

* chore: fix description of test
2024-06-22 12:43:03 +09:00
syuilo e88f08ad7d refactor 2024-06-21 13:31:02 +09:00
syuilo 1d6ccd9781 remove unused files 2024-06-21 13:21:27 +09:00
syuilo 811ffbf3a4 remove unused file 2024-06-21 13:18:19 +09:00
syuilo bf33382082 refactor(backend): remove unnecessary isNotNull sugar 2024-06-21 13:03:51 +09:00
syuilo 1df90cef4c update typescript 2024-06-21 13:03:00 +09:00
dakkar 6d1b1df1aa cache-bursting for stylesheets and fonts
adding `?version=…` makes sure browsers get the latest files, and it
looks like they honour the caching headers we send back
2024-06-19 17:04:49 +01:00
dakkar 16ecc2e406 merge: Revert "fix: start only one instance of ChartManagementService scheduled job" (!555)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/555

Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
Approved-by: fEmber <acomputerdog@gmail.com>
2024-06-18 14:26:51 +00:00
dakkar 91cd995fb2 Revert "fix: start only one instance of ChartManagementService scheduled job"
This reverts commit 2532fea702.
2024-06-18 15:20:09 +01:00
Ryu jongheon d0ee0203e1
Fix(backend): Limit antenna/webhook/list to exact amount (#14036)
... not +1
* Update antennas/clips e2e test
2024-06-18 12:18:04 +09:00
dakkar b525c5887f add copyright text to all our files 2024-06-15 11:36:55 +01:00
Acid Chicken 1a82a41f92
refactor(backend): get column names from metadata (#13943)
* ci: enable

* chore: stop when generated column found

* chore: get column names from metadata

* ci: disable
2024-06-15 10:28:57 +09:00
anatawa12 220e112c83
fix rate limit check never ends (#13994) 2024-06-15 08:42:13 +09:00
dakkar b2cbd507fe Merge branch 'develop' into future-2024-05-31 2024-06-13 09:06:24 +01:00
Kisaragi dc3629e732
feat(backend): report `Retry-After` if client hit rate limit (#13949)
* feat(backend): report `Retry-After` if client hit rate limit

* refactor(backend): fix lint error
2024-06-13 10:56:26 +09:00
syuilo c73d739bd6 node 22 support 2024-06-13 10:40:20 +09:00
dakkar 5c311e8a28 tweak the rate limit for `notes/create`
while fixing #467 #468, we changed the rate limit from 300/hour to
5/minute

some people felt it was too low: they often boost notes in quick
succession

so here's a different approach: back to 300/hour, but not more than
1/second; this is the same settings that `notes/delete` has, BTW
2024-06-12 17:06:33 +01:00
Marie 4a9260a432 upd: seperate H2/H3 into own case 2024-06-08 18:53:42 +00:00
Marie 0c3690a8ba upd: bold some Header tags 2024-06-08 18:00:29 +00:00
dakkar 11af7e6587 fix indents 2024-06-08 16:57:17 +01:00
dakkar 5dc8c2827c Merge branch 'develop' into future-2024-05-31 2024-06-08 16:45:53 +01:00
おさむのひと 61fae45390
feat: 通報を受けた際にメールまたはWebhookで通知を送出出来るようにする (#13758)
* feat: 通報を受けた際にメールまたはWebhookで通知を送出出来るようにする

* モデログに対応&エンドポイントを単一オブジェクトでのサポートに変更(API経由で大量に作るシチュエーションもないと思うので)

* fix spdx

* fix migration

* fix migration

* fix models

* add e2e webhook

* tweak

* fix modlog

* fix bugs

* add tests and fix bugs

* add tests and fix bugs

* add tests

* fix path

* regenerate locale

* 混入除去

* 混入除去

* add abuseReportResolved

* fix pnpm-lock.yaml

* add abuseReportResolved test

* fix bugs

* fix ui

* add tests

* fix CHANGELOG.md

* add tests

* add RoleService.getModeratorIds tests

* WebhookServiceをUserとSystemに分割

* fix CHANGELOG.md

* fix test

* insertOneを使う用に

* fix

* regenerate locales

* revert version

* separate webhook job queue

* fix

* 🎨

* Update QueueProcessorService.ts

---------

Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-08 15:34:19 +09:00
Porlam Nicla c39de769ca 配信停止したインスタンス一覧が見れなくなる問題を修正 (#13945)
* 配信停止したインスタンス一覧が見れなくなる問題を修正

* Update CHANGELOG.md
2024-06-07 22:11:13 +01:00
dakkar 079abfd713 rate limit note/reply/boost creation more tightly
5/minute is the same as 300/hour on average, and still high enough
that it shouldn't be a problem for most people
2024-06-07 15:10:16 +01:00
Porlam Nicla e0cf5b2402
配信停止したインスタンス一覧が見れなくなる問題を修正 (#13945)
* 配信停止したインスタンス一覧が見れなくなる問題を修正

* Update CHANGELOG.md
2024-06-07 14:46:46 +09:00
syuilo 8592716139 enhance(backend): improve sentry integration 2024-06-07 13:15:37 +09:00
taichan 00157864e9
fix(backend): チャート生成時にinstance.isSuspendedが読まれてしまう問題の修正 (#13951)
* fix(backend): use sustensionState instead of isSuspended

* Update CHANGELOG.md
2024-06-07 09:00:01 +09:00
syuilo 8f833d742f enhance(backend): improve sentry integration 2024-06-06 11:51:31 +09:00
syuilo d55e638a23 lint fixes 2024-06-06 11:40:11 +09:00
syuilo a697a7f97b enhance(backend): improve sentry integration 2024-06-06 11:38:34 +09:00
syuilo ab69e113f4 enhance(backend): improve sentry integration 2024-06-06 11:20:54 +09:00
syuilo 65d19279a2 fix 2024-06-06 10:11:43 +09:00
syuilo dbf9e1194b refactor(backend): remove unused logger option 2024-06-06 10:01:50 +09:00
syuilo d4a8c63264 enhance(backend): sentry integration for job queues 2024-06-06 09:32:04 +09:00
Marie b2088e60b7 merge: use the current resolver for quotes - #524 (!536)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/536

Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
Approved-by: Marie <marie@kaifa.ch>
2024-06-03 16:54:51 +00:00
Amelia Yukii 23b1c29a0b merge: allow setting separate timeout / max size for imports - fixes #479 (!519)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/519

Closes #479

Approved-by: Marie <marie@kaifa.ch>
Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
2024-06-03 16:29:19 +00:00
dakkar 082e1d1afb allow setting separate timeout / max size for imports - fixes #479 2024-06-03 16:29:19 +00:00
Acid Chicken 2b8056a852
fix(backend): use insertOne insteadof insert/findOneOrFail combination (#13908)
* fix(backend): use insertOne insteadof insert/findOneOrFail combination

* fix: typo

* fix(backend): inherit mainAlias?

* refactor(backend): use extend

* fix(backend): invalid entityTarget

* fix(backend): fake where

* chore: debug

* chore: debug

* test: log

* fix(backend): column names

* fix(backend): remove dummy from

* revert: log

* fix(backend): position

* fix(backend): automatic aliasing

* chore(backend): alias

* chore(backend): remove from

* fix(backend): type

* fix(backend): avoid pure name

* test(backend): fix type

* chore(backend): use cte

* fix(backend): avoid useless alias

* fix(backend): fix typo

* fix(backend): __disambiguation__

* fix(backend): quote

* chore(backend): t

* chore(backend): accessible

* chore(backend): concrete returning

* fix(backend): quote

* chore: log more

* chore: log metadata

* chore(backend): use raw

* fix(backend): returning column name

* fix(backend): transform

* build(backend): wanna logging

* build(backend): transform empty

* build(backend): build alias

* build(backend): restore name

* chore: return entity

* fix: test case

* test(backend): 204

* chore(backend): log sql

* chore(backend): assert user joined

* fix(backend): typo

* chore(backend): log long sql

* chore(backend): log join

* chore(backend): log join depth null

* chore(backend): joinAttributes

* chore(backend): override createJoinExpression

* chore: join log

* fix(backend): escape

* test(backend): log log

* chore(backend): join gonna success?

* chore(backend): relations

* chore(backend): undefined

* chore(backend): target

* chore(backend): remove log

* chore(backend): log chart update

* chore(backend): log columns

* chore(backend): check hasMetadata

* chore(backend): unshift id when not included

* chore(backend): missing select

* chore(backend): remove debug code
2024-06-01 11:16:44 +09:00
Marie 886948769e merge: fix custom emoji pagination when searching - fixes #490 (!489)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/489

Closes #490

Approved-by: fEmber <acomputerdog@gmail.com>
Approved-by: Marie <marie@kaifa.ch>
2024-05-31 18:39:01 +00:00
Marie 11bd8e9571 merge: escape \ character in sqlLikeEscape (!529)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/529

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-05-31 18:38:04 +00:00
Marie 86ccbd9487 merge: Fix/fixing mastodon api search mfm (!532)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/532

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <marie@kaifa.ch>
2024-05-31 18:32:51 +00:00
dakkar 38ff7fa3e5 *probably* fix FederationChart re: suspended instances
this is a misskey bug, they'll probably fix it soon, hopefully the
same way
2024-05-31 13:31:49 +01:00
dakkar 43d15506aa add sentry options to env overrides 2024-05-31 13:10:02 +01:00
dakkar e045652c80 lint config.ts 2024-05-31 13:00:59 +01:00