Commit graph

557 commits

Author SHA1 Message Date
syuilo
3f4ee98405
perf(backend): improve streaming api performance (#12033)
* wip

* Update NoteEntityService.ts

* wip

* wip

* wip

* wip
2023-10-15 10:36:22 +09:00
syuilo
329830e2c3 perf(backend): tweak populateMyReaction 2023-10-14 10:05:44 +09:00
syuilo
061e389340 perf(backend): nyaizeを投稿時にやる
Resolve #12030
2023-10-14 10:04:13 +09:00
syuilo
7a8d5e5840 enhance: ローカルタイムライン、ソーシャルタイムラインで返信を含むかどうか設定可能に
Resolve #12001
2023-10-11 10:15:44 +09:00
syuilo
1f0c27edf2 fix(backend): フォローしているユーザーからの自分の投稿への返信がタイムラインに含まれない問題を修正 2023-10-11 08:18:00 +09:00
syuilo
8ab3640291 fix of 0bb0c32908 2023-10-09 21:52:31 +09:00
syuilo
edf847d966 fix of 0bb0c32908 2023-10-09 21:23:07 +09:00
syuilo
0bb0c32908 enhance(backend): RedisへのTLの構築をListで行うように
#11404
2023-10-09 20:31:39 +09:00
syuilo
04971ca565 perf(backend): untilDate/sinceDate指定時のクエリパフォーマンスを向上 2023-10-09 18:13:53 +09:00
syuilo
7066d61730 fix 2023-10-09 17:41:54 +09:00
syuilo
0f367da84b fix(backend): TLを途中までしかページネーションできなくなることがある問題を修正
Fix #11404
2023-10-09 16:47:46 +09:00
syuilo
3a4039e2e1 refactor 2023-10-09 15:34:03 +09:00
syuilo
4f20c87186 lint fixes 2023-10-09 13:32:41 +09:00
syuilo
a2d3544a08 refactor(backend): better argument name 2023-10-09 13:22:58 +09:00
_
ca07459f5e
fix(backend): ダイレクト投稿がタイムライン上に正常に表示されない問題を修正 (#11993)
* DMをredisにpushするように

* add test

* add CHANGELOG

* Update NoteCreateService.ts

* lint

* ✌️

* 前のバージョンから発生した問題ではないため不要

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-10-09 12:36:25 +09:00
syuilo
5601ed0914 enhance(backend): UserListMembershipにユーザーリストの作成者IDを非正規化 2023-10-09 08:46:05 +09:00
syuilo
2859cbab91 perf(backend): WebSocket接続が多い場合のパフォーマンスを向上
https: //github.com/MisskeyIO/misskey/pull/176
Co-Authored-By: KOBA789 <kobahide789@gmail.com>
2023-10-08 08:10:28 +09:00
syuilo
7cd9a90f26 perf(backend): use HyperLogLog instead of Set to improve hashtag chart performance 2023-10-08 07:51:10 +09:00
syuilo
dc435fb8ee enhance(backend): tweak hashtag trend 2023-10-07 14:05:58 +09:00
MeiMei
c8d7a5ae76
連合なしアンケートのUpdateがリモートに配信されてしまうのを修正 (#11977) 2023-10-07 12:19:05 +09:00
syuilo
71edc65d0d enhance(backend): improve hashtags/trend performance 2023-10-07 12:05:17 +09:00
syuilo
3a7558f36c enhance(backend): 3日以内に投稿されたノートのみハイライト用スコア加算 2023-10-07 07:59:46 +09:00
syuilo
4a595153dc enhance(backend): 返信はハイライトに載らないように 2023-10-07 07:53:14 +09:00
syuilo
873a93fea3 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2023-10-06 21:11:48 +09:00
syuilo
e4345679dc clean up 2023-10-06 21:11:45 +09:00
nenohi
11e657bdd7
絵文字重複チェック (#11941)
* 絵文字重複チェック

* アップデート時のチェック

* Update packages/backend/src/core/CustomEmojiService.ts

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* Update packages/backend/src/server/api/endpoints/admin/emoji/add.ts

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

* Update packages/backend/src/server/api/endpoints/admin/emoji/update.ts

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-10-06 21:05:44 +09:00
syuilo
a5b6e807bb feat: per user featured notes 2023-10-06 18:30:08 +09:00
syuilo
7d289c1b77 refactor 2023-10-06 17:01:06 +09:00
syuilo
0bdbdba9f8 refactor 2023-10-06 16:58:38 +09:00
syuilo
4489ca3c74 refactor 2023-10-06 16:28:21 +09:00
syuilo
87416710c3 enhance(backend): some tweaks 2023-10-06 16:17:29 +09:00
syuilo
132b01461d refactor 2023-10-06 16:10:59 +09:00
syuilo
dab205edb8 enhance(backend): improve featured system 2023-10-06 14:24:25 +09:00
syuilo
780721e9a2 clean up 2023-10-05 20:34:50 +09:00
anatawa12
ee483f2dee
Disallow renote of direct note (#11970)
* chore: renoteに関するチェックをまとめる

* fix: ダイレクト投稿をrenoteできる

* fix(frontend): 自分のダイレクト投稿をrenoteできる

* docs(changelog): ダイレクト投稿をリノートできてしまう

* fix lint

* chore(backend): visibilityに関するエラーをApi Errorとして返す
2023-10-05 17:03:50 +09:00
syuilo
5b00fa6f82 enhance(backend): users/notesでチャンネル投稿を含めるオプション
Resolve #11965
2023-10-05 09:48:45 +09:00
syuilo
0dbf5175df enhance: improve moderation log 2023-10-04 19:55:35 +09:00
syuilo
b40329887f revert: note editing 2023-10-04 12:05:01 +09:00
syuilo
3dd84f7824 tweak 2023-10-04 11:48:51 +09:00
syuilo
17b83ff4c1 enhance: TLキャッシュ容量を設定できるように 2023-10-04 08:46:27 +09:00
syuilo
6277a5545c
feat: improve tl performance (#11946)
* wip

* wip

* wip

* wip

* wip

* wip

* Update NoteCreateService.ts

* wip

* wip

* wip

* wip

* Update NoteCreateService.ts

* wip

* Update NoteCreateService.ts

* wip

* Update user-notes.ts

* wip

* wip

* wip

* Update NoteCreateService.ts

* wip

* Update timeline.ts

* Update timeline.ts

* Update timeline.ts

* Update timeline.ts

* Update timeline.ts

* wip

* Update timelines.ts

* Update timelines.ts

* Update timelines.ts

* wip

* wip

* wip

* Update timelines.ts

* Update misskey-js.api.md

* Update timelines.ts

* Update timelines.ts

* wip

* wip

* wip

* Update timelines.ts

* wip

* Update timelines.ts

* wip

* test

* Update activitypub.ts

* refactor: UserListJoining -> UserListMembership

* Update NoteCreateService.ts

* wip
2023-10-03 20:26:11 +09:00
syuilo
7e74cff126 後方互換性の強化 2023-09-30 08:12:25 +09:00
syuilo
392de4df36 enhance: ノートの翻訳機能の利用可否をロールで設定可能に
Resolve #11923
2023-09-30 07:54:11 +09:00
syuilo
a512915a84 fix(backend): Redisに古いMisskeyバージョンのキャッシュが残っている場合の問題を修正 2023-09-30 07:33:58 +09:00
syuilo
b9da1415a5 feat: 通知の受信設定を強化 2023-09-29 11:29:54 +09:00
syuilo
2438c047a7 enhance: 編集されたノートかどうか分かるように 2023-09-28 21:06:14 +09:00
syuilo
c106db89e1 feat: note edit 2023-09-28 17:21:16 +09:00
syuilo
5318532a8d enhance: improve moderation log 2023-09-25 10:29:12 +09:00
syuilo
fe570fe16b
Update DriveService.ts 2023-09-24 16:45:36 +09:00
syuilo
cf573add27 fix 2023-09-24 16:24:13 +09:00
syuilo
841e6ff901 improve moderation log 2023-09-24 15:40:38 +09:00
syuilo
8e5a90589d improve moderation log 2023-09-24 10:57:24 +09:00
syuilo
ed983a5baf improve moderation log 2023-09-24 10:46:09 +09:00
syuilo
2ad3b1fd74 improve moderation log 2023-09-24 10:33:30 +09:00
syuilo
9e4d3ebe5f
enhance(backend): refine moderation log (#10939)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update DriveService.ts
2023-09-23 18:28:16 +09:00
anatawa12
526b3ae0e4
feat: ユーザを除外できるアンテナ (#11277)
* feat: ユーザを除外できるアンテナ

* feat(backend/api): ユーザを除外できるアンテナの作成・更新

* feat(frontend): ユーザを除外できるアンテナの作成・更新

* docs(changelog): add アンテナで一部のユーザを除外したすべてのノートから受信できるようになりました

* fix: d.ts生成時にexport defaultを生成するように

* fix CHANGELOG.md

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-09-22 16:52:43 +09:00
typeling1578
3bbc2e55b1
fix(backend): mostr.pub, Mitraのユーザーをフォローできない問題を修正 (#11791)
* fix(backend): mostr.pub, Mitraのユーザーをフォローできない問題を修正

* Revert "fix(backend): mostr.pub, Mitraのユーザーをフォローできない問題を修正"

This reverts commit 9685715e6470caffc2b0c7b991d55c5edf7fa0f1.

* fix ApResolverService

* Update CHANGELOG.md

* fix test

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-09-22 16:43:01 +09:00
syuilo
c836157edb
enhance: 二要素認証設定時のセキュリティを強化 (#11863)
* enhance: 二要素認証設定時のセキュリティを強化

パスワード入力が必要な操作を行う際、二要素認証が有効であれば確認コードの入力も必要にする

* Update CoreModule.ts

* Update 2fa.ts

* wip

* wip

* Update 2fa.ts

* tweak
2023-09-22 14:12:33 +09:00
syuilo
e3f151e230 feat: 指定したユーザーの投稿通知
Resolve #11499
2023-09-21 18:48:15 +09:00
syuilo
e41619775f feat: プロフィールでのリンク検証
Resolve #11099
2023-09-21 11:58:51 +09:00
syuilo
fa13b815ef fix: provide NoSuchNoteError error 2023-09-20 11:43:33 +09:00
syuilo
0183d24786 Update ClipService.ts 2023-09-20 11:36:39 +09:00
syuilo
053da10e94 refactor(backend): update directory structure for models 2023-09-20 11:33:36 +09:00
syuilo
c3db55b5b6 fix 2023-09-20 11:29:10 +09:00
syuilo
bb0b2df37e refactor(backend): extract clip-related logics to ClipService 2023-09-20 09:33:52 +09:00
syuilo
f7c6932a83 enhance: 各ノートが被クリップ数を保持するようにし、無意味にnotes/clipsを叩かないように 2023-09-17 10:55:26 +09:00
syuilo
6cf466e5d1
update deps (#11820)
* update deps

* fix

* wip

* wip

* wip

* Update docker-compose.yml.example

* Delete reviewer-lottery.yml

* Update RepositoryModule.ts

* wip

* wip

* clean up

* update deps

* wip

* wip
2023-09-15 14:28:29 +09:00
かっこかり
3456680e1d
新しい実績を追加 (#11817)
* (add) new achievement

* (update) changelog

* Update test-notification.ts

* tweak

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-09-12 15:48:19 +09:00
syuilo
ff9a65e8fa
feat: passkey support (#11804)
https://github.com/MisskeyIO/misskey/pull/149
2023-09-08 14:05:03 +09:00
syuilo
ca00a08e6e feat: introduce aidx and make it default
Co-Authored-By: MeiMei <30769358+mei23@users.noreply.github.com>
2023-09-06 18:33:51 +09:00
syuilo
1beaac8e2d fixes 2023-09-05 17:02:14 +09:00
syuilo
f53cffaeb2 enhance(backend): タイムライン等の有効期限を設定可能に
Resolve #11773
2023-09-05 15:03:50 +09:00
syuilo
1f7a81aae7
update deps (#11764)
* update deps

* node16

* wip

* wip

* wip

* Update test-utils.ts

* wip

* Update tsconfig.json

* wip

* Update package.json

* wip

* Update following.vue

* Update followers.vue

* Update index.vue

* Update share.vue

* Update MkUserPopup.vue

* Update MkPostForm.vue

* wip

* Update MkTokenGenerateWindow.vue

* Update MkPagination.vue

* refactor

* update deps

* update deps

* Update sw.ts

* wip

* wip

* wip

* Update FetchInstanceMetadataService.ts

* Update FetchInstanceMetadataService.ts

* update node

* update deps

* 🎨
2023-09-04 13:33:38 +09:00
syuilo
257c4fccf1
feat: Refine 2fa (#11766)
* wip

* Update 2fa.qrdialog.vue

* Update 2fa.vue

* Update CHANGELOG.md

* tweak

* ✌️
2023-08-28 18:25:31 +09:00
taichan
af806352a1
feat: ローカルのみノート検索 (#11451)
* Add local search

* Update CHANGELOG

* lint

* Remove TODO comment

* lint

* Update packages/backend/src/core/SearchService.ts

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-08-20 13:39:37 +09:00
Essem
3eacbe6b6d
enhance(backend): Add address bind config option (#11725)
* Add address bind config option

* Edit changelog

* forgot to add to types
2023-08-20 13:20:01 +09:00
Juunini
60fe5d6824
fix(backend): fix typo lnik to link (#11740) 2023-08-19 15:49:21 +09:00
woxtu
dd1783f984
chore(backend): Resolve import/no-default-export rule violations (#11732)
* Disable `import/no-default-export` properly

* Disable `import/no-default-export`
2023-08-17 21:20:58 +09:00
syuilo
792622aead
refactor: prefix Mi for all entities (#11719)
* wip

* wip

* wip

* wip

* Update RepositoryModule.ts

* wip

* wip

* wip

* Revert "wip"

This reverts commit c1c13b37d2aaf3c65bc148212da302b0eb7868bf.
2023-08-16 17:51:28 +09:00
syuilo
9487856495
feat: refine announcement (#11497)
* wip

* Update read-announcement.ts

* wip

* wip

* wip

* Update index.d.ts

* wip

* Create 1691649257651-refine-announcement.js

* wip

* wip

* wip

* wip

* wip

* wip

* Update announcements.vue

* wip

* wip

* Update announcements.vue

* wip

* Update announcements.vue

* wip

* Update misskey-js.api.md

* Update users.ts

* Create MkAnnouncementDialog.stories.impl.ts

* wip

* wip

* Create AnnouncementService.ts
2023-08-13 20:12:29 +09:00
Kagami Sascha Rosylight
ec229dbd3b
fix(backend/ApNoteService): try retrieving again when failed by duplication (#11472)
* fix(backend/ApNoteService): try retrieving again when failed by duplication

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-08-08 13:26:03 +09:00
anatawa12
c5b8766a18
feat: sensitive channel (#11438)
* feat(backend): add isSensitive to Channel

* feat(backend): support isSensitive in channel endpoints

* feat(frontend/channel-editor): support isSensitive in create/edit channel page

* feat(frontend/channel): show sensitive indicator for sensitive channels

* docs(changelog): add チャンネルをセンシティブ指定できるようになりました

* chore: license header for each file

* chore: add isSensitive of channel to Note object
2023-08-05 13:58:31 +09:00
woxtu
79966d33b5
Fix typos (#11450) 2023-08-05 13:56:33 +09:00
woxtu
8a6791da3f
refactor(backend): Remove unused injections (#11462)
* Remove unused injections

* Remove unused imports
2023-08-05 10:33:00 +09:00
syuilo
2b4c8c9e0f
update deps (#11409)
* update deps

* Update .eslintrc.js

* Update .eslintrc.js

* lint

* lint

* Update update.ts

* update deps

* Update .eslintrc.js
2023-07-31 19:14:20 +09:00
Shun Sakai
c2370a1be6
chore: 著作権とライセンスについての情報を各ファイルに追加する (#11348)
* chore: Add the SPDX information to each file

Add copyright and licensing information as defined in version 3.0 of
the REUSE Specification.

* tweak format

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-07-27 14:31:52 +09:00
woxtu
cb0fa9a8ab
Use promises API (#11351) 2023-07-27 09:04:19 +09:00
Koki Takahashi
0404d9c103
fix(backend): Change isPublic to correctly recognize as:Public term (#11347)
* fix: Change isPublic to correctly recognize as:Public term

* Update CHANGELOG.md

---------

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2023-07-25 10:35:21 +00:00
Acid Chicken (硫酸鶏)
c9b9db13c7
refactor: avoid redundant method chain 2023-07-21 10:07:03 +00:00
syuilo
af2368bd2b perf(backend): use RSA 2048bit
#11129
2023-07-21 11:59:00 +09:00
tamaina
dc93a418c0
perf(backend): createPersonでキャッシュに保存する, DBのトランザクション回数を減らす (#11324)
* perf(backend): createPersonでキャッシュを積極的に利用する, トランザクション回数を減らす

* move comment

* fix

* oops

* fix

* fix

* fix
2023-07-20 14:44:37 +09:00
syuilo
871027fa0c enhance: ユーザーにロールが期限付きでアサインされている場合、その期限をユーザーのモデレーションページで確認できるように
Close #11059
2023-07-20 10:54:41 +09:00
xtex
bf9e74ca05
fix: failed to resolve acct URI which points to local Person (#11024)
* fix: resolving alias for local users (#9199)

Signed-off-by: xtex <xtexchooser@duck.com>

* style: return type for RemoteUserResolveService#resolveSelf

Signed-off-by: xtex <xtexchooser@duck.com>

* docs: update CHANGELOG

Signed-off-by: xtex <xtexchooser@duck.com>

* style: fix typecheck

Signed-off-by: xtex <xtexchooser@duck.com>

---------

Signed-off-by: xtex <xtexchooser@duck.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-07-19 13:01:14 +09:00
woxtu
8c77153c04
Fix auto-fixable issues (#11314) 2023-07-19 11:27:50 +09:00
Kagami Sascha Rosylight
d5f30ecb86
feat(backend): allow disabling cache for sensitive files (#11245)
* feat(backend): allow disabling cache for sensitive files

* Update CHANGELOG.md

* fix storybook

* Update locales/ja-JP.yml

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-07-15 20:12:20 +09:00
syuilo
f96ed9a3f3 fix type errors 2023-07-15 20:07:31 +09:00
woxtu
b392f44b81
refactor(backend): Improve UUID generation (#11286)
* Replace with `crypto.randomUUID()`

* Remove uuid
2023-07-15 18:39:38 +09:00
ZerglingGo
8f196fc67c
fix: typo in comment (#11283) 2023-07-15 10:01:41 +09:00
まっちゃとーにゅ
9e330c9e38
feat: MeilisearchにIndexするノートの範囲を設定できるように (#11282) 2023-07-15 09:59:19 +09:00
yukineko
02957a1b5d
enhance: 招待機能の改善 (#11195)
* refactor(backend): 招待機能を改修

* feat(backend): 招待コードのcreate/delete/listエンドポイントを追加

* add(misskey-js): エンドポイントと型を追加

* change(backend): metaでinvite関連の情報も返すように

* add(misskey-js): エンドポイントと型を追加

* add(backend): `/endpoints/invite/limit`を追加

* fix: createdByがnullableではなかったのを修正

* fix: relationが取得できていなかった問題を修正

* fix: パラメータを間違えていたのを修正

* feat(client): 招待ページを実装

* change(client): インスタンスメニューの「招待」押した場合に招待ページに飛ぶように変更

* feat: 招待コードをコピーできるように

* change(backend): metaに招待コード発行に関する情報を持たせるのをやめる

* feat: ロールごとに招待コードの発行上限数などを設定できるように

* change(client): 招待コードをコピーしたときにダイアログを出すように

* add: 招待に関する管理者用のエンドポイントを追加

* change(backend): モデレーターであれば作成者以外でも招待コードを削除できるように

* change(backend): admin/invite/listはオフセットでページネーションするように

* feat(client): 招待コードの管理ページを追加

* feat(client): 招待コードのリストをソートできるように

* change: `admin/invite/create`のレスポンスを修正

* fix(client): 有効期限を指定できていなかった問題を修正

* refactor: 必要のない箇所を削除

* perf(backend): use limit() instead of take()

* change(client): 作成ボタンを見た目を変更

* refactor: 招待コードの生成部分を共通化し、コード内に"01OI"のいずれかの文字を含まないように

* fix(client): paginationの仕様が変わっていたので修正

* change(backend): expiresAtパラメータのnullを許容

* change(client): 有効期限を設けないときは日付の入力欄を非表示に

* fix: 自身のポリシーよりもインスタンス側のポリシーが優先表示される問題を修正

* fix: n時間のときに「n時間間」となってしまうのを修正

* fix(backend): ポリシーが途中で変更されたときに作成可能数がマイナス表記になってしまうのを修正

* change(client): 招待コードのユーザー名が不明な理由を表示するように

* update: CHANGELOG.md

* lint

* refactor

* refactor

* tweak ui

* 🎨

* 🎨

* add(backend): indexを追加

* change(backend): indexの追加に伴う変更

* change(client): インスタンスメニューの「招待」の場所を変更

* add(frontend): MkInviteCode用のstorybookを追加

* Update misskey-js.api.md

* fix(misskey-js): InviteのcreatedByの型が間違っていたのを修正

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2023-07-15 09:57:58 +09:00
okayurisotto
2b6dbd4fcb
refactor: 可読性のため一部でArray.prototype.atを使うように (#11274)
* refactor: `Array.prototype.at`を使うように

* fixup! refactor: `Array.prototype.at`を使うように
2023-07-14 10:45:01 +09:00
okayurisotto
c0dbc3b53f
refactor: substr -> substring (#11273) 2023-07-14 07:59:54 +09:00
syuilo
af30959cb9 fix runtime error 2023-07-13 20:15:47 +09:00
okayurisotto
e35a370af0
refactor(backend): core/activitypub (#11247)
* eslint: `explicit-function-return-type`

* eslint: `no-unnecessary-condition`

* eslint: `eslint-disable-next-line`

* eslint: `no-unused-vars`

* eslint: `comma-dangle`

* eslint: `import/order`

* cleanup: unnecessary non-null assertion

* cleanup: `IActivity`に`actor`は常に存在するようなので

* cleanup: unnecessary `as`

* cleanup: unnecessary `Promise.resolve`

* cleanup

* refactor: `String.prototype.match()`である必要がない部分をよりシンプルな書き方に変更

* refactor: よりよい型定義

* refactor: よりよい型定義

- `LdSignature`の`normalize`メソッドでの使われ方から、
	- `data`引数の型定義を`any`から`JsonLdDocument`へ修正
	- `getLoader`メソッドの返り値の型定義の一部を`any`から`RemoteDocument`へ修正
		- `contextUrl`が不正な値(`null`)となっていたことが判明したため`undefined`へ修正
		- `document`の型と合わせるために`CONTEXTS`の型定義の一部を`unknown`から`JsonLd`へ修正
			- とりあえず`satisfies`を使用
		- `document`の型と合わせるために`fetchDocument`メソッドの返り値の型定義の一部を`unknown`から`JsonLd`へ修正
			- どうしようもなく`as`を使用

* refactor: 型ガードを使うことでnon-null assertionをやめた

* refactor: non-null assertionをやめた

`.filter()`で行っている型ガードなどの文脈から、より適しているだろうと思われる書き方に変更した。

* refactor: 型ガードを使うことで`as`をやめた

* refactor: `as`をやめた

* refactor: よりよい型定義

- `id`は`null`とのunionになっていたが、`null`を渡している場面はなかった
	- またおそらくこのメソッドは`IOrderedCollection`を返すため、そちらに合わせて`null`とのunionをやめた
		- `IOrderedCollection`とはまだ型に相違がある
- `totalItems`をコメントや使われ方を元に`number`へ推論

* refactor: `for-of` -> `Array.prototype.map`

* refactor: `delete`演算子を使わない形に
2023-07-13 12:48:34 +09:00
okayurisotto
cf3e39178b
refactor(backend): 存在確認のfindOneByexistに置き換え (#11224)
* refactor(backend): 存在確認の`findOneBy`を`exist`に置き換え

* cleanup
2023-07-11 14:58:58 +09:00
nomad
791ae608a5
fix(backend): fix fetchInstanceMetadata error (#11236) 2023-07-11 14:40:56 +09:00
Kagami Sascha Rosylight
5059d4d7e1
refactor(backend): skip fetching notes when the data is same-origin (#11200)
* refactor(backend): skip fetching notes when the data is same-origin

* Update CHANGELOG.md

* sentFrom
2023-07-09 08:59:44 +09:00
Caipira
60366a4558
fix(backend): Remove Meilisearch index when notes are deleted (#10988)
* fix(backend): Include feature to delete Meilisearch index notes

* Update variable name
`cascadingNotesFilter` -> `federatedLocalCascadingNotes`

* tweak

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-07-08 21:31:38 +09:00
tamaina
7ec07d5fd2
perf(backend): Reduce memory usage of MemoryKVCache (#11076)
* perf(backend): Reduce memory usage of MemoryKVCache

* fix
2023-07-08 21:18:16 +09:00
syuilo
081a14d6f3 perf(backend): use limit() instead of take() 2023-07-08 16:53:07 +09:00
okayurisotto
4f876c9e8d
refactor(backend): core/activitypub/models (#11067)
* cleanup(`ApImageService.ts`)

* refactor(`ApImageService.ts`)

* cleanup(`check-https.ts`)

* cleanup(`ApMentionService.ts`)

* refactor(`ApMentionService.ts`)

* cleanup(`ApNoteService.ts`): unneeded `eslint-disable-next-line`

* cleanup(`ApNoteService.ts`)

* WIP(`ApImageService.ts`): `image.url`を`getApHrefNullable()`に通すかどうか悩んでいる

* refactor(`ApNoteService.ts`): function return type

* cleanup(`ApNoteService.ts`): deadcode

* refactor(`ApNoteService.ts`): `eslint-disable-next-line`

* refactor(`ApNoteService.ts`): non-null assertion

これまでは`getApId()`の方でエラーがスローされていた。

* cleanup(`ApNoteService.ts`): unneeded await

* refactor(`ApNoteService.ts`): note.attachment

- `toArray()`を使うように
- よくわからない条件式を整理
- `as`をなくすために`promiseLimit()`でジェネリクスを使うように

* cleanup(`ApNoteService.ts`)

* refactor(`ApNoteService.ts`): よりよい型定義

`res`が`null`でないことは確認されているようだったので`null`とのunionはなくした

* refactor(`ApNoteService.ts`): 不要な条件を削除

* cleanup(`ApNoteService.ts`)

* cleanup(`ApNoteService.ts`): 重要でない`as`を削除

* refactor(`ApNoteService.ts`): `eslint-disable-next-line`

* cleanup(`ApNoteService.ts`): deadcode

* cleanup(`ApNoteService.ts`): unneeded non-null assertion

* refactor(`ApNoteService.ts`): 不要な条件を削除

* WIP(`ApNoteService.ts`): `as`をなくす

エラーメッセージを考える

* cleanup(`ApNoteService.ts`): 不要な`as`を削除

* cleanup(`ApPersonService.ts`): `no-unused-vars`

* cleanup(`ApPersonService.ts`): deadcode

* refactor(`ApPersonService.ts`): function return type

* cleanup(`ApPersonService.ts`): deadcode

* cleanup(`ApPersonService.ts`): deadcode

* WIP(`ApPersonService.ts`): `as`を調整

`null`でないか確認する処理が続いていたので型アサーションは`null`とのunionにした。
より本質的な改善の余地があるように感じるのでひとまずWIPとしてコミット。

* refactor(`ApPersonService.ts`): `eslint-disable-next-line`

* WIP(`ApPersonService.ts`): `as any`をなくした

エラーをスローするようにせざるを得なかったのでエラーメッセージを考える必要がある。

* WIP(`ApNoteService.ts`): non-null assertion

non-nullアサーションを減らすために事前に存在確認をするようにした。
エラーをスローするようにしたのでメッセージを考えなければならない。

* refactor(`ApNoteService.ts`): non-null assertion -> optional chaining

* refactor(`ApPersonService.ts`): `eslint-disable-next-line`

* refactor(`ApPersonService.ts`): `eslint-disable-next-line`

* refactor(`ApPersonService.ts`): function return type

* refactor(`ApPersonService.ts`): type guardによるnon-null assertionの削除

* WIP(`ApPersonService.ts`): `analyzeAttachments`

- Field型を事前に定義しておくように

- `attachments`が`IObject`だった場合、返り値が`{ fields: [] }`になるようだが構わないのか?
- `toArray()`を通すべきでは?

* Revert "WIP(`ApImageService.ts`): `image.url`を`getApHrefNullable()`に通すかどうか悩んでいる"

This reverts commit aeefb843a8a688f8a356794e8981c58f8a2733af.

* cleanup(`ApImageService.ts`): `import`

* refactor(`ApImageService.ts`): 冗長だった部分を短く

* cleanup(`ApMentionService.ts`): `import`

* refactor(`ApImageService.ts`): `JSON.stringify()`でのindentationを追加

* cleanup(`ApNoteService.ts`): `import`

* cleanup(`ApNoteService.ts`)

* cleanup(`ApNoteService.ts`)

* cleanup(`ApNoteService.ts`)

* cleanup(`ApNoteService.ts`): `any`に対するnon-null assertion

* refactor(`ApNoteService.ts`): 添付ファイル

* cleanup(`ApPersonService.ts`): `import`

* refactor(`ApPersonService.ts`): より実情に即した`as`に

* cleanup(`ApPersonService.ts`)

* refactor(`ApPersonService.ts`): 冗長だった部分を修正

* cleanup(`ApPersonService.ts`): deadcode

* cleanup(`ApPersonService.ts`)

* cleanup(`ApQuestionService.ts`): `import`

* refactor(`ApQuestionService.ts`): `eslint-disable-next-line`

* refactor(`ApQuestionService.ts`): `eslint-disable-next-line`

* cleanup(`ApQuestionService.ts`)

* refactor(`ApQuestionService.ts`): non-null assertionを消した

* cleanup(`ApQuestionService.ts`)

* WIP(`ApQuestionService.ts`): non-null assertionを消す

エラーメッセージを考える必要がある。

* refactor(`ApQuestionService.ts`): `any`を消す

* refactor(`ApQuestionService.ts`): function return type

* WIP(`ApPersonService.ts`): 可読性の低い三項演算子を削除しつつnon-null assertionを回避

エラーメッセージを考える必要がある。

* cleanup(`ApPersonService.ts`): 不必要な三項演算子を削除

* cleanup(`ApPersonService.ts`): 不要な`as`

* cleanup(`ApPersonService.ts`)

* refactor(`ApPersonService.ts`)

* refactor(`ApPersonService.ts`): 可読性の低い三項演算子を削除

元の実装が悪いと判断し`null`かどうかの確認をより厳密に行うようにした。

* cleanup(`ApPersonService.ts`)

* cleanup(`ApPersonService.ts`)

* refactor(`ApPersonService.ts`): 返り値を`void`に統一

この返り値を参照しているコードは見当たらなかった。
また、普通に意味がない値であるように見受けられた。

* fixup! refactor(`ApPersonService.ts`): 返り値を`void`に統一

* refactor(`ApNoteService.ts`)

* refactor(`ApPersonService.ts`)

* cleanup(`ApPersonService.ts`)

* cleanup(`ApPersonService.ts`)

* refactor(`ApPersonService.ts`): 返り値の`void`統一と条件式の調整

この返り値を参照しているコードは見当たらなかった。
また、普通に意味がない値であるように見受けられた。

* cleanup(`ApQuestionService.ts`)

* refactor(`ApQuestionService.ts`)

* refactor(`ApQuestionService.ts`)

* refactor(`tag.ts`): function return type

* fixup! enhance: account migration (#10592)

* fixup! WIP(`ApPersonService.ts`): 可読性の低い三項演算子を削除しつつnon-null assertionを回避

* fixup! cleanup(`ApPersonService.ts`): 不要な`as`

* refactor: エラーメッセージを見繕った

* Revert "cleanup(`ApImageService.ts`): `import`"

This reverts commit 1454d04c377eaf46013b0f3c3ce664a4034fd53a.

* Revert "cleanup(`ApMentionService.ts`): `import`"

This reverts commit 244f6720c134a3434e33c1caf6e3e0c2c87b58f5.

* Revert "cleanup(`ApNoteService.ts`): `import`"

This reverts commit d8f0d769733c4cb0629821b04e557a0ae6f5ff5b.

* Revert "cleanup(`ApPersonService.ts`): `import`"

This reverts commit 5190ef954caf376da46c707f52e02208d53caafd.

# Conflicts:
#	packages/backend/src/core/activitypub/models/ApPersonService.ts

* Revert "cleanup(`ApQuestionService.ts`): `import`"

This reverts commit 778585e2882477fec5f11fabf398b4b89cf26da2.

* processRemoteMoveはそのままにしてほしい

* Revert "fixup! refactor(`ApPersonService.ts`): 返り値を`void`に統一"

This reverts commit 083cd678abcd64325b9628895366c03b893e42ca.

* Revert "refactor(`ApPersonService.ts`): 返り値を`void`に統一"

This reverts commit bfa0fcd6f01a6e519ea0c68017358f9980d2ed96.

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2023-07-08 08:57:13 +09:00
tamaina
b318789354 fix(backend): deliverManyにcontentのnullチェックを追加
https://github.com/MisskeyIO/misskey/pull/99
2023-07-07 23:15:04 +00:00
tamaina
0b8e0fa91b fix 2023-07-07 22:55:53 +00:00
popkirby
8daca59ca6
perf(backend): use mutex for nsfw model loading (#11109)
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2023-07-08 07:27:26 +09:00
okayurisotto
d84796588c
cleanup: trim trailing whitespace (#11136)
* cleanup: trim trailing whitespace

* update(`.editorconfig`)

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-07-08 07:08:16 +09:00
Yuriha
4c879b3a33
perf(backend): Improve performance of FetchInstanceMetadata (#11128)
* Perf: Avoid retries to acquire lock in fetchInstanceMetadata

* Fix

* Add Changelog

* Fix typo

* Fix lint

* 記法をMisskey式にする

* ????

* refactor
https://github.com/misskey-dev/misskey/pull/11128#pullrequestreview-1518059366

* refactor

* getいらない?

* fix

* fix

* Update CHANGELOG.md

* clean up

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2023-07-07 23:28:27 +09:00
syuilo
d5c4e77c44 update deps 2023-07-07 10:53:06 +09:00
okayurisotto
4a7da723b3
refactor(backend): ノート削除時のfindCascadingNotesの処理を整理 (#11131)
* refactor(backend): ノート削除時の`findCascadingNotes`の処理を整理

* cleanup: unneeded async await

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-07-06 11:25:46 +09:00
okayurisotto
9959f5bd04
refactor(ApDbResolverService.ts): URLを扱う複雑な正規表現をURLインターフェイスで置き換え (#11123)
* refactor(`ApDbResolverService.ts`): URLを扱う複雑な正規表現をURLインターフェイスで置き換え

* fixup! refactor(`ApDbResolverService.ts`): URLを扱う複雑な正規表現をURLインターフェイスで置き換え
2023-07-06 08:47:47 +09:00
Umisyo(Souta Kusunoki)
8f94b36732
refactor: ApDeliverManagerService.tsの型とJSDocを適切に置き換え (#11096)
* refactor: ApDeliverManagerService.ts のanyを適切な型に置き換え

Signed-off-by: Umisyo <kusunokisouta@gmail.com>

* fix: quote to single quote

Signed-off-by: Umisyo <kusunokisouta@gmail.com>

* refactor: JSDocを実態に合わせて修正

Signed-off-by: Umisyo <kusunokisouta@gmail.com>

* fix: activityのnullを許容するよう変更

Signed-off-by: Umisyo <kusunokisouta@gmail.com>

---------

Signed-off-by: Umisyo <kusunokisouta@gmail.com>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2023-07-05 12:17:52 +09:00
tamaina
22227fa641
perf(backend): Use addBulk to add deliver queues (#11114) 2023-07-05 12:15:48 +09:00
syuilo
8099bc24e1
refactor(backend): use node16 for moduleResolution (#10938)
* refactor(backend): use node16 for moduleResolution

* update deps

* Update tsconfig.json

* ✌️

* revive KEYWORD

* restore strict-event-emitter-types dependency

* restore ms dependency

* cancel redundant import reorder

* fix

* Delete ms.ts

* remove rndstr

---------

Co-authored-by: Kagami Sascha Rosylight <saschanaz@outlook.com>
2023-06-25 21:13:15 +09:00
Kagami Sascha Rosylight
a2c0573f84
refactor(backend): replace private-ip with ipaddr.js (#11041)
* refactor(backend): replace private-ip with ipaddr.js

* restore ip-cidr
2023-06-25 06:35:09 +09:00
Caipira
e8c5117b2d
fix(backend): Resolve missing parseObjectId in IdService (#11039) 2023-06-23 16:30:47 +09:00
Balazs Nadasdi
e2261b63e9
fix: clear queue endpoint error with redis script (#11037)
Error message:
```
ReplyError: ERR value is not an integer or out of range script: 720d973b3877f92b4fb3285ced83c97cdd204979, on @user_script:209.
```

The whole error can be tracked back to one of the arguments, which is
`Infinity` in the codebase, but it has to be a number.

The documentation in bullmq says `0` is unlimited[^1], and bullmq tries to
parse the argument with `tonumber` which returns with `-9223372036854775808` if
the argument is `"Infinity"` which is out of bound.

```
127.0.0.1:6379> eval 'return tonumber(ARGV[3])' '2' 'slippy.xyz:queue:inbox:inbox:delayed' 'slippy.xyz:queue:inbox:inbox:events' 'slippy.xyz:queue:inbox:inbox:' '1687183763944' Infinity 'delayed'
(integer) -9223372036854775808
127.0.0.1:6379>
```

[^1]: https://github.com/taskforcesh/bullmq/blob/master/src/commands/cleanJobsInSet-2.lua#L10

Signed-off-by: Efertone <efertone@pm.me>
2023-06-22 15:56:40 +09:00
syuilo
e8420ad90b fix(backend): キャッシュが溜まり続けないように
Related #10984
2023-06-10 13:45:11 +09:00
syuilo
b6f21b6edb refactor 2023-05-29 13:21:26 +09:00
syuilo
fd7b77c542
enhance(backend): migrate bull to bullmq (#10910)
* wip

* wip

* Update QueueService.ts

* wip

* refactor

* ✌️

* fix

* Update QueueStatsService.ts

* refactor

* Update ApNoteService.ts

* Update mock-resolver.ts

* refactor

* Update mock-resolver.ts
2023-05-29 11:54:49 +09:00
nenohi
bd6666173a
fix:ロールタイムライン無効に関する修正 (#10843)
* 修正

* note visibility change

* public投稿のみ

* update changelog

* RN非表示機能がうごかないところだった
2023-05-19 17:12:22 +09:00
Chocolate Pie
dddbc1c894
feat: 公開リスト (#10842)
* feat: まず公開できるように (misskey-dev/misskey#10447)

* feat: 公開したリストのページを作成 (misskey-dev/misskey#10447)

* feat: いいねできるように

* feat: インポートに対応

* wip

* wip

* CHANGELOGを編集

* add note

* refactor

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-05-19 10:06:12 +09:00
syuilo
3804c6e7ad feat: センシティブなカスタム絵文字のリアクションを受け入れない設定を追加 2023-05-19 09:43:38 +09:00
syuilo
231506772a tweak of 7ce569424 2023-05-18 20:17:32 +09:00
syuilo
db1098a180 feat(backend): カスタム絵文字ごとに連合するかどうか設定できるように 2023-05-18 18:48:35 +09:00
syuilo
7ce569424a feat: カスタム絵文字ごとにそれをリアクションとして使えるロールを設定できるように 2023-05-18 18:45:49 +09:00
syuilo
9b5b3a4d1b perf(backend): pre-compile regexp 2023-05-18 18:18:25 +09:00
syuilo
d10d5a8d53 enhance: タイムラインにフォロイーの行った他人へのリプライを含めるかどうかの設定をアカウントに保存するのをやめるように
Resolve #10646
2023-05-16 12:16:37 +09:00
syuilo
1cc106b8de fix(backend): ひとつのMeilisearchサーバーを複数のMisskeyサーバーで使えない問題を修正 2023-05-11 21:09:29 +09:00
syuilo
26d85c8bed enhance(backend): ノートのハッシュタグもMeilisearchに突っ込むように
今後ハッシュタグ検索とか実装するときのため
2023-05-11 16:33:39 +09:00
syuilo
b380dc53e1 fix typo 2023-05-11 16:22:46 +09:00
nenohi
c15b75e477
センシティブワードを正規表現、CWにも適用するように (#10688)
* cwにセンシティブが効いてない

* CWが無いときにTextを見るように

* 比較演算子間違えた

* とりあえずチェック

* 正規表現対応

* /test/giにも対応

* matchでしなくてもいいのでは感

* レビュー修正

* Update packages/backend/src/core/NoteCreateService.ts

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* Update packages/backend/src/core/NoteCreateService.ts

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* 修正

* wipかも

* wordsでスペース区切りのものできたかも

* なんか動いたかも

* test作成

* 文言の修正

* 修正

* note参照

---------

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2023-05-10 18:02:41 +09:00
syuilo
341c42ebb9 enhance(backend): graceful shutdown for job queue and refactor 2023-05-10 15:05:08 +09:00
syuilo
ae5a72a2df feat: 投稿したコンテンツのAIによる学習を軽減するオプションを追加
Resolve #10819
2023-05-10 10:52:41 +09:00
syuilo
22d6c7fe8a fix(backend): 13.11を経験しない状態で13.12にアップデートした場合ユーザープロフィール関連の画像が消失する問題を修正
Fix #10811
2023-05-09 15:28:44 +09:00
syuilo
b2f6c67aa9 fix(backend): リモートサーバーの情報が更新できない問題を修正
Fix #10787
2023-05-09 14:57:42 +09:00
syuilo
95e7e003fd fix test 2023-05-07 12:04:16 +09:00
syuilo
29a84230b0 enhance(backend): SearchService.searchNoteでhost指定対応 2023-05-07 11:59:06 +09:00
syuilo
6ad9a9677a fix test 2023-05-07 11:31:32 +09:00
syuilo
1a4b4348a9 fix(backend): sort notes
Fix #10776
2023-05-06 12:49:49 +09:00
syuilo
0a59407a3c fix type 2023-05-06 10:24:14 +09:00
syuilo
10ff379b4c enhance(backend/frontend): モデレーションノートをユーザーのプロフィールページからも閲覧および編集できるように 2023-05-06 09:51:06 +09:00