Commit graph

406 commits

Author SHA1 Message Date
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
syuilo
bd1c2abffc clean up 2023-05-06 09:39:14 +09:00
Chocolate Pie
39748ea0c3
feat: アンテナのエクスポート・インポート (#10754)
* feat: アンテナのエクスポートに対応 (misskey-dev/misskey#10690)

* feat: アンテナのインポートに対応 (misskey-dev/misskey#10690)

* fix: タイポを修正

* feat: ユーザーリストをサポート

* fix: バグを直した

* fix: バグを直した

* fix: 適当に決めた変数名を変更

* fix

* fix: 変数の変更、リファクタリング
2023-05-06 08:17:55 +09:00
syuilo
5dfbce7571 feat: チャンネルの削除
Resolve #7171
Resolve #9935
2023-05-06 08:15:17 +09:00
nenohi
2d84e04240
ロールにNSFWを強制的につけるオプションを追加 (#10731)
* ロールにNSFWを強制的につけるオプションを追加

* すでにあるファイルにNSFWが付与できない

* NSFWを付与しようとするとエラーに

* add test

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

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

* spacingで怒られたので

* ロール作成時のプロパティ削除

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-05-05 14:18:06 +09:00
syuilo
6db37d4fcb fix(backend): ノートの検索インデックス条件を調整 2023-05-05 12:24:29 +09:00
syuilo
5c08f2b93b
feat: Introduce Meilisearch (#10755)
* wip

* wip

* Update SearchService.ts

* Update SearchService.ts

* wip

* wip

* Update SearchService.ts

* Update CHANGELOG.md

* wip

* Update SearchService.ts

* Update docker-compose.yml.example
2023-05-05 08:52:14 +09:00
tamaina
363eb73fb3 fix 2023-05-02 16:21:18 +00:00
tamaina
f3e43a0fc6 refactor 2023-05-02 10:26:18 +00:00
syuilo
8dc5edde76 fix(backend): フォローリクエストの通知が残る問題を修正
Fix #10611
2023-05-02 12:14:06 +09:00
syuilo
d535ec21a2 feat: チャンネルに色を設定できるように 2023-05-02 09:36:40 +09:00
Namekuji
d28866f71a
enhance: account migration (#10592)
* copy block and mute then create follow and unfollow jobs

* copy block and mute and update lists when detecting an account has moved

* no need to care promise orders

* refactor updating actor and target

* automatically accept if a locked account had accepted an old account

* fix exception format

* prevent the old account from calling some endpoints

* do not unfollow when moving

* adjust following and follower counts

* check movedToUri when receiving a follow request

* skip if no need to adjust

* Revert "disable account migration"

This reverts commit 2321214c98.

* fix translation specifier

* fix checking alsoKnownAs and uri

* fix updating account

* fix refollowing locked account

* decrease followersCount if followed by the old account

* adjust following and followers counts when unfollowing

* fix copying mutings

* prohibit moved account from moving again

* fix move service

* allow app creation after moving

* fix lint

* remove unnecessary field

* fix cache update

* add e2e test

* add e2e test of accepting the new account automatically

* force follow if any error happens

* remove unnecessary joins

* use Array.map instead of for const of

* ユーザーリストの移行は追加のみを行う

* nanka iroiro

* fix misskey-js?

* ✌️

* 移行を行ったアカウントからのフォローリクエストの自動許可を調整

* newUriを外に出す

* newUriを外に出す2

* clean up

* fix newUri

* prevent moving if the destination account has already moved

* set alsoKnownAs via /i/update

* fix database initialization

* add return type

* prohibit updating alsoKnownAs after moving

* skip to add to alsoKnownAs if toUrl is known

* skip adding to the list if it already has

* use Acct.parse instead

* rename error code

* 🎨

* 制限を5から10に緩和

* movedTo(Uri), alsoKnownAsはユーザーidを返すように

* test api res

* fix

* 元アカウントはミュートし続ける

* 🎨

* unfollow

* fix

* getUserUriをUserEntityServiceに

* ?

* job!

* 🎨

* instance => server

* accountMovedShort, forbiddenBecauseYouAreMigrated

* accountMovedShort

* fix test

* import, pin禁止

* 実績を凍結する

* clean up

* ✌️

* change message

* ブロック, フォロー, ミュート, リストのインポートファイルの制限を32MiBに

* Revert "ブロック, フォロー, ミュート, リストのインポートファイルの制限を32MiBに"

This reverts commit 3bd7be35d8aa455cb01ae58f8172a71a50485db1.

* validateAlsoKnownAs

* 移行後2時間以内はインポート可能なファイルサイズを拡大

* clean up

* どうせactorをupdatePersonで更新するならupdatePersonしか移行処理を発行しないことにする

* handle error?

* リモートからの移行処理の条件を是正

* log, port

* fix

* fix

* enhance(dev): non-production環境でhttpサーバー間でもユーザー、ノートの連合が可能なように

* refactor (use checkHttps)

* MISSKEY_WEBFINGER_USE_HTTP

* Environment Variable readme

* NEVER USE IN PRODUCTION

* fix punyHost

* fix indent

* fix

* experimental

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-04-30 00:09:29 +09:00
tamaina
09764b909b
enhance(dev): non-production環境でhttpサーバー間でもユーザー、ノートの連合が可能なように (#10717)
* enhance(dev): non-production環境でhttpサーバー間でもユーザー、ノートの連合が可能なように

* refactor (use checkHttps)

* MISSKEY_WEBFINGER_USE_HTTP

* Environment Variable readme

* NEVER USE IN PRODUCTION

* fix punyHost
2023-04-29 23:26:47 +09:00
syuilo
0ad7869249 feat: preserved usernames
Resolve #10704
2023-04-29 17:03:14 +09:00
Yuriha
a986203b38
[fix] .wav .flac ファイルを再生可能にする (#10686)
* .wav .flac ファイルを再生可能にする
file-typeにより判定されたMIME TypeをHTML5 Audio/Video要素に認識されるものに書き換える

* fix typecheck error

* frontend側の FILE_TYPE_BROWSERSAFEも更新

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

* ✌️

* 後方互換を確保

* add tests

* update changelog.md

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2023-04-26 02:17:58 +09:00
syuilo
b57ee4dd96 fix of 34492f3c9a 2023-04-22 20:12:41 +09:00
syuilo
8876ae09ed .js 2023-04-22 20:05:36 +09:00
syuilo
34492f3c9a enhance(backend): tweak cache of federated instance
#10631
2023-04-22 19:59:08 +09:00
nenohi
8dc60cd327
Role timeline setting (#10677)
* ロールタイムライン設定

* isRoleTimeline to isExplorable

* ポリシーではないので削除

* 型からも

* wip

* 足りてなかった説

* wip

* listはpublicを表示

* 前回の記載修正( #10671 )

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-04-20 20:02:50 +09:00
syuilo
40debf20d8 add new achievement 2023-04-20 19:40:02 +09:00
nenohi
65ff2c2498
カスタム絵文字のライセンスを一括でできるように (#10671)
* setlicensebulk追加

* 5時に誤字った!w

* 並び順の変更(set,add,removeの順

* add changelog
2023-04-19 08:25:24 +09:00
tamaina
38fdc73d01 Fix?(server): Content-Dispositionのパースでエラーが発生した場合にもダウンロードが完了するように
#10626
2023-04-15 11:19:00 +00:00
Kisaragi
83d0f819be
refactor(backend): validateNoteの引数の型を強くし、anyを除去 (#10325)
* refactor(backend): validateNoteの引数の型を推論する

* fix(backend): アサーションの内容から推論してエラーの内容を期待されるであろう式へと変更する

* refactor

Co-authored-by: Acid-Chicken <root@acid-chicken.com>

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: Acid-Chicken <root@acid-chicken.com>
2023-04-14 16:27:55 +09:00
tamaina
168fe0e376
fix(server): Force the extention of exported file (#10630)
* fix(server): Force the extention of exported file

* update changelog.md
2023-04-14 14:35:38 +09:00
syuilo
a67439981b fix types 2023-04-14 13:50:05 +09:00
tamaina
93dcd1c98e fix DriveService.ts 2023-04-13 11:27:05 +00:00
CGsama
2423fb8d38
fix: proper expire remote user drivefile over limits at adding time (#9426)
* delete remote user drivefile over limits at adding

* refactor

* delete → expire

* speed up by batch find

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2023-04-13 18:48:38 +09:00
syuilo
5cac1515fd fix(backend): user.memoはdetailがtrueな時だけに 2023-04-13 13:34:54 +09:00
syuilo
97abfd48ce refactor(backend): tweak repository name 2023-04-13 13:31:54 +09:00
Ebise Lutica
605f149235
feat: 自分用メモ機能 (#10516)
* 自分用メモを作成する機能

* 不要なCSSを削除

* メモ: デザイン調整

* デザイン崩れを修正

* fix: メモ機能のe2eテストで見つかった不具合を修正

* デザイン調整

* fix(frontend): 自分用メモtextareaにline-heightが適用されない問題を修正
2023-04-13 13:17:32 +09:00
syuilo
2a7ba37996 [ci skip] improve readability 2023-04-13 09:09:29 +09:00
syuilo
dcbaca4260 fix(backend): チャンネルのピン留めされたノートの順番が正しくない問題を修正
Fix #10541
2023-04-13 08:52:30 +09:00
tamaina
4c0ef07f6f fix 2023-04-12 12:34:34 +00:00
tamaina
3ff5a5ae29 fix type in CustomEmojiService 2 2023-04-12 12:32:27 +00:00
tamaina
6ea057f8f8 fix type in CustomEmojiService 2023-04-12 12:09:28 +00:00
hutchisr
b7d056fb22
Use unique identifier for each follow request (#10600)
Co-authored-by: anemone <anemoneya@icloud.com>
2023-04-12 20:22:50 +09:00
syuilo
72031e49fc Update CustomEmojiService.ts 2023-04-12 16:10:17 +09:00
syuilo
d06d1e8682 fix(backend): カスタム絵文字でリアクションできないことがある問題を修正 2023-04-12 16:07:58 +09:00
syuilo
5d56799070 feat: role timeline
Resolve #10581
2023-04-12 11:40:08 +09:00
tamaina
81d2c5a4a7
enhance: カスタム絵文字関連の変更 (#9794)
* PackedNoteなどのemojisはプロキシしていないURLを返すように

* MFMでx3/x4もしくはscale.x/yが2.5以上に指定されていた場合にはオリジナル品質の絵文字を使用する

* update CHANGELOG.md

* fix changelog

* ??

* wip

* fix

* merge

* Update packages/frontend/src/scripts/media-proxy.ts

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

* merge

* calc scale

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-04-12 10:58:56 +09:00
syuilo
77f91d67b4 perf(backend): ノート作成時のアンテナ追加パフォーマンスを改善 2023-04-12 10:07:14 +09:00
Namekuji
da83322200
feat: queueing bulk follow/unfollow and block/unblock (#10544)
* wrap follow/unfollow and block/unblock as job queue

* create import job to follow in each iteration

* make relationship jobs concurrent

* replace to job queue if called repeatedly

* use addBulk to import

* omit stream when importing

* fix job caller

* use ThinUser instead of User to reduce redis memory consumption

* createImportFollowingToDbJobの呼び出し方を変える, 型補強

* Force ThinUser

* オブジェクト操作のみのメソッド名はgenerate...Data

* Force ThinUser in generateRelationshipJobData

* silent bulk unfollow at admin api endpoint

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2023-04-12 09:13:58 +09:00
syuilo
c10d591bd0 perf(backend): cache swSubscriptions 2023-04-11 14:20:16 +09:00
tamaina
3a90bcc03c
sw: なんかもうめっちゃ変えた (#10570)
* sw: なんかいろいろ

* remove debug code

* never renotify

* update changelog.md
2023-04-11 14:11:39 +09:00
Chimorium
0702f9775a
カスタム絵文字のキャッシュ時に"{}"が入ってしまう問題を修正 (#10573) 2023-04-11 07:39:46 +09:00
syuilo
70a06e30d5 fix(backend): アンテナのノート、チャンネルのノート、通知が正常に作成できないことがある問題を修正
Fix #10482
2023-04-10 10:03:53 +09:00
syuilo
39cf80e19f fix(backend): イベント用redis分離が上手く動かない問題を修正 2023-04-09 17:09:27 +09:00
syuilo
59d0d507d5 fix(backend): 連合しているインスタンスについて予期せず配送が全て停止されることがある問題を修正
Fix #10499
2023-04-09 10:19:57 +09:00
syuilo
1057da1556 add note 2023-04-09 09:53:02 +09:00
tamaina
9feb6b0f5b
fix(server): リアクションできない問題をとりあえず修正 (#10529)
* fix(server): リアクションできない問題をとりあえず修正
Fix #10502

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

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-04-09 09:52:19 +09:00
syuilo
b7ed3ddfdd fix(backend): 通知読み込みでエラーが発生する場合がある問題を修正 2023-04-09 08:02:52 +09:00
tamaina
d76220cc80
fix(server): IdService.parseを全てのidタイプに対応させるように (#10533)
* wip fix-id

* ✌️

* fix import
2023-04-09 04:41:06 +09:00