Commit graph

719 commits

Author SHA1 Message Date
tamaina
eb60460d28
enhance: 禁止ワードチェック強化 (#27)
* enhance: 禁止ワードチェック強化
* リモートの禁止ワードチェックを添付ファイルとユーザーを登録する前に行うなど
  Resolve https://github.com/misskey-dev/misskey/issues/13374
* 禁止ワートの対象の見直し

* performActivityで特定のエラーが出た際にDelayedに追加しないように

* use IdentifiableError

* NoteCreateService.checkProhibitedWords

* https://github.com/misskey-dev/misskey-private/pull/27/files#r1507416135

* remove comment
2024-03-01 20:16:32 +09:00
Yuriha
26d4c5fd94
メンションの最大数をロールごとに設定可能にする (#13343)
* Add new role policy: maximum mentions per note

* fix

* Reviewを反映

* fix

* Add ChangeLog

* Update type definitions

* Add E2E test

* CHANGELOG に説明を追加

---------

Co-authored-by: taichan <40626578+tai-cha@users.noreply.github.com>
2024-02-29 20:48:02 +09:00
かっこかり
39d6af135f
enhance: 通知の履歴をリセットできるように (#13335)
* enhance: 通知の履歴をリセットできるように

* Update Changelog

* 通知欄も連動して更新するように

* revert some changes

* Update CHANGELOG.md

* Remove unused part

* fix
2024-02-29 20:03:30 +09:00
syuilo
98934b6738 fix type 2024-02-29 17:54:32 +09:00
taichan
5f43c2faa2
enhance(backend): 通知がミュート・凍結を考慮するようにする (#13412)
* Never return broken notifications #409

Since notifications are stored in Redis, we can't expect relational
integrity: deleting a user will *not* delete notifications that
mention it.

But if we return notifications with missing bits (a `follow` without a
`user`, for example), the frontend will get very confused and throw an
exception while trying to render them.

This change makes sure we never expose those broken notifications. For
uniformity, I've applied the same logic to notes and roles mentioned
in notifications, even if nobody reported breakage in those cases.

Tested by creating a few types of notifications with a `notifierId`,
then deleting their user.

(cherry picked from commit 421f8d49e5)

* Update Changelog

* Update CHANGELOG.md

* enhance: 通知がミュートを考慮するようにする

* enhance: 通知が凍結も考慮するようにする

* fix: notifierIdがない通知が消えてしまう問題

* Add tests (通知がミュートを考慮しているかどうか)

* fix: notifierIdがない通知が消えてしまう問題 (grouped)

* Remove unused import

* Fix: typo

* Revert "enhance: 通知が凍結も考慮するようにする"

This reverts commit b1e57e571dfd9a7d8b2430294473c2053cc3ea33.

* Revert API handling

* Remove unused imports

* enhance: Check if notifierId is valid in NotificationEntityService

* 通知作成時にpackしてnullになったらあとの処理をやめる

* Remove duplication of valid notifier check

* add filter notification is not null

* Revert "Remove duplication of valid notifier check"

This reverts commit 239a6952f717add53d52c3e701e7362eb1987645.

* Improve performance

* Fix packGrouped

* Refactor: 判定部分を共通化

* Fix condition

* use isNotNull

* Update CHANGELOG.md

* filterの改善

* Refactor: DONT REPEAT YOURSELF
Note: GroupedNotificationはNotificationの拡張なのでその例外だけ書けば基本的に共通の処理になり複雑な個別の処理は増えにくいと思われる

* Add groupedNotificationTypes

* Update misskey-js typedef

* Refactor: less sql calls

* refactor

* clean up

* filter notes to mark as read

* packed noteがmapなのでそちらを使う

* if (notesToRead.size > 0)

* if (notes.length === 0) return;

* fix

* Revert "if (notes.length === 0) return;"

This reverts commit 22e2324f9633bddba50769ef838bc5ddb4564c88.

* 🎨

* console.error

* err

* remove try-catch

* 不要なジェネリクスを除去

* Revert  (既読処理をpack内で行うものを元に戻す)

* Clean

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

* Update packages/backend/src/core/entities/NotificationEntityService.ts

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

* Clean

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
Co-authored-by: kakkokari-gtyih <daisho7308+f@gmail.com>
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-28 21:26:26 +09:00
zyoshoka
0d47877db1
enhance(backend): フォロー・フォロワー関連の通知の受信設定の強化 (#13468)
* enhance(backend): 通知の受信設定に「フォロー中またはフォロワー」を追加

* fix(backend): 通知の受信設定で「相互フォロー」が正しく動作しない問題を修正

* Update CHANGELOG.md
2024-02-28 09:49:34 +09:00
zawa-ch
f906ad6ca7
Enhance: コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加 (#13463)
* コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加

* コメント修正
2024-02-27 18:45:46 +09:00
FineArchs
dd48366ed8
admin/emoji/updateの必須項目を減らす 等 (#13449)
* admin/emoji/update enhancement

* add CustomEmojiService.getEmojiByName

* update endpoint

* fix

* Update update.ts

* Update autogen files

* type assertion

* Update CHANGELOG.md
2024-02-25 18:06:26 +09:00
tamaina
2c6f25b710
fix: 古いキャッシュを使うのを修正 (#13453) 2024-02-25 12:36:10 +09:00
syuilo
41747b6ee2 refactor 2024-02-24 11:50:10 +09:00
tamaina
c0156b740b
enhance?: DeleteAccountServiceでユーザーを削除する際にuserChangeDeletedStateを発行する (#13382) 2024-02-23 18:15:39 +09:00
tamaina
600d91beda
enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる (#13388)
* enhance: リモートのフォロワーから再度Followが来た場合、acceptを返してあげる

* nanka meccha kaeta

* ブロックチェックの後にフォロー関係の存在チェックをする
2024-02-23 18:04:30 +09:00
tamaina
b8d8b359bc
fix: プッシュ通知の変更が1時間ほど反映されない問題を修正 (#13407)
* fix: プッシュ通知の変更が1時間ほど反映されない問題を修正

* 410 to refresh

* refreshCache
2024-02-23 17:19:08 +09:00
okayurisotto
64953fadc9
refactor(backend): Array.prototype.filterでの非null確認ではisNotNull関数を使うように (#13442)
* `Array.prototype.filter`での非null確認では`isNotNull`関数を使うように

* `{}` -> `NonNullable<unknown>`
2024-02-23 14:12:57 +09:00
かっこかり
d20542c495
enhance: metaをSSR HTMLに埋め込む (#13436)
* enhance: `meta`をSSR HTMLに埋め込む

* HTML Metaの有効時間を指定

* 1時間

* MetaEntityService

* JSONをPackするように

* ✌️

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-23 10:47:17 +09:00
tamaina
4d6fab06de
refactor: Refactor NoteReadService.read (#13429)
* refactor: Refactor NoteReadService.read

* clean up

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

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-22 21:10:28 +09:00
syuilo
2bd9f05a92 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-02-22 20:59:57 +09:00
syuilo
26c8b53f70 enhance: サーバーごとにモデレーションノートを残せるように 2024-02-22 20:59:52 +09:00
anatawa12
b36e6b1a77
fix: 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題 (#13428)
* refactor: use IdentifiableError instead of NoteCreateService.ContainsProhibitedWordsError

* fix: notes with prohibited words are reprocessed with delay

* docs(changelog): 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題

* lint: fix lint errors

* fix: rethrowするべきなのにrethrowし忘れていたのを修正
2024-02-22 00:59:59 +09:00
tamaina
ae27085f69
fix: Bump sharp to 0.33.2 (#13391) 2024-02-21 14:42:37 +09:00
okayurisotto
750d262604
refactor(backend): ReactionService.prototype.convertLegacyReactions (#13375)
* add unit tests

* cleanup unnecessary type assertions

* `convertedReaction`変数の定義と変換表に対する存在確認処理の整理

* `count`変数の定義とループ処理での`Object.entries()`の活用

* 条件式の整理

* `Array.prototype.reduce`を使うように

* `Array.prototype.reduce`を使うように

* 配列操作を1つのメソッドチェーンに整理

これまでの実装では、`decodeReaction`の返り値が同一になる異なる入力値が同時に複数個存在した場合、後ろのもので上書きされてしまっていたはず。
これからの実装では、後ろのものは前のものに加算される。
(実際にこの挙動の変更が問題になるシチュエーションはまずないはず。)

* add unit test

* ドキュメントコメントの追加と型定義の調整
2024-02-21 14:31:50 +09:00
syuilo
01de1519dd fix of 9a70ce8f5e
Co-Authored-By: RyotaK <49341894+Ry0taK@users.noreply.github.com>
2024-02-17 14:26:48 +09:00
tamaina
9a70ce8f5e
Merge pull request from GHSA-qqrm-9grj-6v32
* maybe ok

* fix

* test wip

* ✌️

* fix

* if (res.ok)

* validateContentTypeSetAsJsonLD

* 条件を考慮し直す

* その他の+json接尾辞が付いているメディアタイプも受け容れる

* https://github.com/misskey-dev/misskey-ghsa-qqrm-9grj-6v32/pull/1#discussion_r1490999009

* add `; profile="https://www.w3.org/ns/activitystreams"`

* application/ld+json;
2024-02-17 12:41:19 +09:00
zyoshoka
37959bab1d
refactor(backend): remove/replace deprecated type deps (#13252) 2024-02-16 20:09:07 +09:00
syuilo
7cfe7da73d fix 2024-02-16 15:09:05 +09:00
syuilo
f55e1ee138 refactor(backend): misc/cacheをシンプルな実装に戻した 2024-02-16 15:07:12 +09:00
MeiMei
cfa573a3a1
リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 Fix #13273 (#13275)
* リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 Fix #13273

* CHAGELOG

* Use Redis event

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2024-02-16 14:30:53 +09:00
Kisaragi
147e8f1e3e
feat(backend): likeOnlyなどでハートにフォールバックする際異体字セレクタがない方に揃える (#13299)
* feat(backend): likeOnlyなどでハートにフォールバックする際異体字セレクタがない方に揃える

close #13298

* Update ReactionService.ts

* chore(backend): prefer single quote for string literal
2024-02-16 14:25:48 +09:00
tamaina
c1514ce91d (re) update SPDX-FileCopyrightText
Fix  #13290
2024-02-13 15:59:27 +00:00
tamaina
311c2172d7 Revert "update SPDX-FileCopyrightText"
This reverts commit 9b5aeb76d8.
2024-02-13 15:50:11 +00:00
tamaina
32c5c43b6d
enhance: 禁止ワードはリモートノートも対象に (#13280)
Resolve #13279
2024-02-13 04:54:01 +09:00
syuilo
9b5aeb76d8 update SPDX-FileCopyrightText 2024-02-12 11:37:45 +09:00
おさむのひと
614c9a0fc6
fix: 特定文字列を含むノートを投稿できないようにする管理画面用設定項目を追加 (#13210)
* fix: 特定文字列を含むノートを投稿できないようにする管理画面用設定項目を追加

* Serviceでチェックするように変更
2024-02-09 10:07:18 +09:00
かっこかり
0f7918c51b
refactor(backend): exist -> exists (#13203)
* refactor(backend): exist -> exists

* fix
2024-02-08 16:04:41 +09:00
MeiMei
e89d760240
Enhance: 連合向けのノート配信を軽量化 (#13192)
* AP HTML表現をシンプルに

* a

* CHANGELOG

* リンク
2024-02-07 19:57:59 +09:00
MeiMei
d6cb68b091
AP Key の JSON-LD 表現を修正 (#13170) 2024-02-06 16:51:14 +09:00
1Step621
74245df382
Enhance(frontend): フロント側でもリアクション権限のチェックをするように (#13134)
* フロント側でもリアクション権限のチェックをするように

* update CHANGELOG.md

* lint fixes

* remove unrelated diffs

* deny -> reject
denyは「(信用しないことを理由に)拒否する」という意味らしい

* allow -> accept

* EmojiSimpleにlocalOnlyを含めるように

* リアクション権限のない絵文字は打てないように(ダイアログを出すのではなく)

* regenerate type definitions

* lint fix

* remove unused locales

* remove unnecessary async
2024-02-06 16:45:21 +09:00
Gianni Ceccarelli
dabf1867fd
keep cached avatar&banner when refresh fails to get new values (#13145)
* keep cached avatar&banner when refresh fails to get new values

when the remote explicitly tells us a user image is gone, we remove
our cached value, but if we fail to get the image, we keep whatever
value we already have

this should minimise the problem of avatars randomly disappearing

* autogen bits

* pnpm run build-misskey-js-with-types

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2024-02-04 21:03:49 +09:00
Gianni Ceccarelli
bafef1f8b4
ignore instance.actor when checking if there are local users (#13146)
* ignore `instance.actor` when checking if there are local users

We've seen this happen a few times:

* there was some AP software at $some_domain
* it gets replaced by Misskey
* before the first user can be created, an AP activity comes in
* Misskey resolves the activity
* to do this, it creates the `instance.actor` to sign its request
* now there *is* a local user, so the `meta` endpoint returns
  `requireSetup:false`
* the admin is very confused

This commit factors out the check, and doesn't count the
`instance.actor` as a real user.

* autogen bits
2024-02-04 20:46:28 +09:00
atsuchan
2c4ba4723f
fix(backend): メール配信機能が無効ならばメールを送ることのないように (#13152)
Do not send email if email delivery is disabled
2024-02-04 20:44:35 +09:00
tamaina
b0a38c0cae
fix: Hide reactions of all remote users / feat: moderators can see reactions of all users (#13128)
* fix: Hide reactions of all remote users
https://github.com/misskey-dev/misskey/issues/12964

* feat: Moderators can see reactions of all users
https://github.com/misskey-dev/misskey/issues/13127

* modify CHANGELOG.md

* fix iAmModerator
2024-02-01 20:05:45 +09:00
zyoshoka
2db5b61616
refactor(backend): User関連のスキーマ/型の指定を強くする (#12808)
* refactor(backend): User関連のスキーマ/型の指定を強くする

* refactor(backend): `pack()`の引数にスキーマを指定するように

* chore: fix ci

* fix: 変更漏れ

* fix ci

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-31 15:45:35 +09:00
yukineko
a6a91fec3a
refactor: frontendのcomponentsの型エラーを改善 (#12926)
* add: safeFloatParserを追加

* fix: 欠けていた型を追加

* refactor: pageBlockTypesをjson-schemaに移植

* refactor: components/global内の型エラーが出ている箇所を修正

* lint: fix null check style

* refactor: fix type error

* refactor: fix some type errors

* fix: 翻訳が抜けていた箇所を修正

* refactor: getJsonSchemaで正しいスキーマが返されるように修正

* fix: MkChartの型エラーとbytesオプションが機能していない問題を修正

* fix(misskey-js): `drive`->`folderUpdated`のpayloadの型が間違っていたのを修正

* refactor: fix some type errors

* change: Captcha読み込み中の文言をLoadingに変更

* refactor(backend/misskey-js): MainEventの型を改善

* refactor: chartjs-plugin-gradientが二重でpluginに登録されていたのを修正

* update: misskey-js.api.md

* refactor: fix some type errors

* fix: backendのtypecheckが落ちていたのを修正

* update: misskey-js.api.md

* add: json-schemaのnoteにpollの型定義を追加

* refactor: noteのjson-schemaの型を改善

* refactor: MkPoll

* refactor: fix some type errors

* change: UserLiteにisLockedを持たせるように

* fix: notificationスキーマにroleが含まれていないのを修正

* Revert "change: UserLiteにisLockedを持たせるように"

This reverts commit 1bb0c8e7a9b19a4e9f21bf7381712b98f27672a5.

* fix: フォロー通知から鍵垢へのフォローを行うと処理中のまま止まってしまう問題を修正

* refactor: noteスキーマのvisibilityにenumを追加

* change: deepCloneのCloneableTypeにundefinedを追加

* refactor: fix some type errors

* refactor: `allowEmpty: false`を使用していた箇所を`minLength: 1`に置き換え

* enhance: API 'retension' のresponseの型を追加

* fix: Chart関連のtooltipが正しい位置に表示されない問題を修正

* refactor: fix some type errors

* fix: 型情報が不足していたのを修正

* enhance: announcementスキーマにenumを追加

* enhance: ロールポリシーの型定義をRoleServiceからjson-schemaに移植

* refactor: policiesを`ref: RolePolicies`に統一

* fix: API `meta` のレスポンスの型にpoliciesが含まれていないのを修正

* refactor: fix some type errors

* fix: backendのlintが落ちているのを修正

* fix: MkFoldableSectionの開閉時のanimationが適用されていない問題を修正

* fix: backendのtypecheckが落ちているのを修正

* update: run build-misskey-js-with-types

* fix: MkDialogのmount時に文字数制限の判定が行われない問題を修正

* update: CHANGELOG.md

* refactor: MkUserSelectDialogの型を改善

* fix: deepCloneでundefinedはcloneしないように (#9207)

* change: frontendのcloneをbackend側にも反映

* update: CHANGELOG.md

* fix: RoleServiceからPackを通して型RolePoliciesに依存させないように

* Update packages/frontend/src/scripts/get-note-summary.ts

* revert RoleService.ts changes

* change:  optional chaining -> non-null assertion

* remove: unused import

* fix: propsで渡されたuserがUserLiteの場合に意図しない動作になってしまうのを修正

* change: fix null check style

* refactor: fix type error

* change: fix null check style

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

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

* refactor: css moduleでglobalを使わないように

* refactor: roleのiconUrlは必ず存在するものとして扱うように

* enhance: MenuButtonのactiveにcomputedを受け付けられるように

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

* Update MkWindow.vue

* refactor: notification.noteは必ず存在するものとして扱うように

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

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

* fix: MkSignupDialogでdoneのemit時にresを含んでいなかったのを修正

* Update packages/frontend/src/scripts/clone.ts

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

* refactor: 不要な返り値の型を削除

* refactor: 不要なnullチェックを削除

* update: misskey-js-autogen

* update: clone.ts

* refactor

* Update MkNotification.vue

* Update MkNotification.vue

* ✌️

* Update MkNotification.vue

* Update MkNotification.vue

* Update MkNotification.vue

* Update MkNotifications.vue

* Update MkUserSetupDialog.Profile.vue

* Update MkUserCardMini.vue

* ✌️

* Update MkMenu.vue

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-30 19:53:53 +09:00
syuilo
60156a40b2 fix(reversi/backend): refactor and fixes 2024-01-24 16:44:12 +09:00
syuilo
5719a929ad enhance(reversi): 変則なしマッチングを可能に 2024-01-24 16:37:06 +09:00
syuilo
d27b3525cd enhance(reversi): improve matching system 2024-01-24 15:18:50 +09:00
syuilo
a97d4fa4ef fix(reversi): wait redis operation to improve stability 2024-01-24 13:53:55 +09:00
syuilo
908e0f3b8b perf(reversi): set expire matchSpecific and matchAny 2024-01-24 13:51:16 +09:00
syuilo
b68446b289 enhance(reversi): tweak MATCHING_TIMEOUT_MS 2024-01-24 13:32:08 +09:00
syuilo
547be1973d fix of 65557d5f27 2024-01-24 10:35:44 +09:00
syuilo
65557d5f27 enhance(reversi): more robust matching process 2024-01-24 10:16:05 +09:00
syuilo
e8ba0b3f54 enhance(reversi): improve desync handling 2024-01-23 10:51:59 +09:00
syuilo
d380ed36de fix lint 2024-01-22 18:00:46 +09:00
syuilo
4af3640bd3 fix lint 2024-01-22 17:44:03 +09:00
syuilo
94e282b612 perf(reversi): improve performance of reversi backend 2024-01-22 15:41:29 +09:00
syuilo
a431dde537 refactor(reversi): refactoring of reversi backend 2024-01-22 09:29:06 +09:00
syuilo
1a01a85182 perf(reversi): improve performance of reversi backend 2024-01-22 08:39:38 +09:00
syuilo
6039f27bd5 enhance(reversi): tweak reversi 2024-01-21 12:05:51 +09:00
syuilo
a17251d913 enhance(reversi): tweak reversi 2024-01-21 10:07:43 +09:00
syuilo
fcd7ffe956 enhance(reversi): tweak reversi 2024-01-20 21:23:33 +09:00
syuilo
b9a81edae5 enhance(reversi): tweak reversi 2024-01-20 13:14:46 +09:00
syuilo
bc7b2f1876 lint fix 2024-01-20 09:56:13 +09:00
syuilo
a637b4e282 feat: reversi
Resolve #12962
2024-01-19 20:51:49 +09:00
AsukaMari
b17eb8e537
fix: Some fixes for #12850 (#12862)
- refinement the error message when trueMail validation fails
- the settings of trueMail are not displayed after saving
- changing how `Active Email Validation` is saved
2024-01-19 18:48:30 +09:00
a
0283142d0e
Fix: properly handle cc followers (#13009)
* Fix: properly handle cc followers

Fix #13001

* Update CHANGELOG.md

* Fix syntax error
2024-01-17 18:19:20 +09:00
YS
d92aaf81c4
refactor: noteテーブルのインデックス整理と配列カラムへのクエリでインデックスを使うように (#12993)
* Optimize note model index

* enhance(backend): ANY()をやめる (MisskeyIO#239)

* add small e2e test drive endpoint

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-01-15 08:19:27 +09:00
GrapeApple0
ec4e57bb67
fix: isPrivateIpで検証時にipバージョンが一致するかを確認するように (#12988)
* fix: isPrivateIpで検証時にipバージョンが一致するかを確認するように

* Update CHANGELOG.md

* Update CHANGELOG.md
2024-01-14 15:57:26 +09:00
zyoshoka
d792f4f348
fix(backend): 虚無ノートを投稿できる問題の修正と api.json の OpenAPI Specification 3.1.0 への対応 (#12969)
* fix(backend): `text: null`だけのノートは投稿できないように

* add test

* Update CHANGELOG.md

* chore: bump OpenAPI Specification from 3.0.0 to 3.1.0

* chore: テストがすでにコメントで記述されていたのでそっちを使うことにする

* fix test

* fix(backend): prohibit posting whitespace-only notes

* Update CHANGELOG.md

* fix(backend): `renoteId`または`fileIds`(`mediaIds`)または`poll`が`null`でない場合に、`text  が空白文字のみで構成されたリクエストになることを許可して、結果は`text: null`を返すように

* test(backend): 引用renoteで空白文字のみで構成されたtextにするとレスポンスが`text: null`になることをチェックするテストを追加

* fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように

* fix(misskey-js): OpenAPI 3.1に対応

* fix(misskey-js): 型生成をOpenAPI Specification 3.1.0に対応

* fix(ci): `validate-api.json`をOpenAPI Specification 3.1.0に対応

* fix(ci): スキーマ書き換えの際のミスを修正

* Revert "fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように"

This reverts commit a9ca55343df6ea1679599acbc4801f78aa3a242b.

* fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように

* Revert "fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように"

This reverts commit 865458989f9ddacc38d1bb3743a41ea828dbf324.

* fix(misskey-js): `openapi-parser`で`validate`のかわりに`parse`を用いるように

* Update CHANGELOG.md
2024-01-13 16:54:25 +09:00
zyoshoka
618e2ba1d2
fix(backend): drive/files/updateにおけるファイル名のバリデーションが機能していない問題を修正 (#12923)
* fix(backend): `drive/files/update`におけるファイル名のバリデーションが機能していない問題を修正

* Update CHANGELOG.md

* refactor: `!== undefined` -> `!= null`

* add test
2024-01-08 17:40:37 +09:00
Kagami Sascha Rosylight
0c2118e963
refactor: make sure promises are settled before app shutdown (#12942)
👍
2024-01-08 12:28:13 +09:00
かっこかり
6a02dfdd3b
enhance(frontend): バブルゲームの諸々を修正・改良 (#12938)
* enhance(frontend): バブルゲームのテクスチャをゲーム開始時にキャッシュするように

* (fix) カーソルが枠線内を動くように

* (add) 最大コンボ数を表示するように

* (add) 実績を追加

* Update ja-JP.yml

* tweak

* tweak flavor

* perf tweak

* refactor

* perf tweak

* lint

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-08 11:02:05 +09:00
Kagami Sascha Rosylight
2a9db983fc
feat: export clips (#12931)
* feat: export clips

* Update CHANGELOG.md
2024-01-07 10:35:58 +09:00
Chocolate Pie
072f67d6e7
feat: Add support for mCaptcha (#12905)
* feat: Add support for mCaptcha

* fix: Fix docker compose configuration

* chore(frontend/docs): update changelog & fix eslint errors

* `@mcaptcha/vanilla-glue`をダイナミックインポートするように

* chore: Add missing prefix to CHANGELOG

* refactor(backend): 適当につけた変数の名前を変更
2024-01-06 20:14:33 +09:00
riku6460
24645e3d3d
enhance(backend): ActivityPub 周りで連合先から HTTP 429 Too Many Requests を受け取った際にジョブをリトライするように (#12917)
* enhance(backend): ActivityPub 周りで HTTP 429 Too Many Requests を受け取った際にリトライするように

* add to changelog

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2024-01-06 09:40:08 +09:00
MeiMei
d415fd29a3
enhance(backend): ActivityPub Deliver queueでBodyを事前処理するように (#12916)
* Pre-processing deliver body

* CHANGELOG

* ループ内で計算されると意味がないので

* 同じ処理を同じ形に

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-01-06 09:07:48 +09:00
かっこかり
a9127e3ecd
enhance(frontend): チャンネルノートのピン留めをノートメニューからできるように (#12887)
* enhance(frontend): チャンネルノートのピン留めをノートメニューからできるように

* Update Changelog
2024-01-03 13:35:40 +09:00
tamaina
2a33981811
chore: use summaly, browser-image-resizer, and sharp-read-bmp on registry.npmjs.org instead of git (#12856)
* chore: use @misskey-dev/summaly on registry.npmjs.org instead of git

* fix backend dependency

* fic backend dependency

* @misskey-dev/sharp-read-bmp

* fix

* use @misskey-dev/browser-image-resizer
2023-12-31 09:45:35 +09:00
MomentQYC
7948018e6a
feat: Add support for TrueMail (#12850)
Co-authored-by: MarryDream <2190758465@qq.com>
2023-12-29 18:23:29 +09:00
shiosyakeyakini
9022b05fea
fix(backend): 非センシティブのみ(リモートはいいねのみ)が昨日していない問題を修正 (#12801) (#12802)
Co-authored-by: sorairo <sorairo@shiosyakeyakini.info>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-12-26 18:42:37 +09:00
anatawa12
fd040c50b1
fix: 自分のdirect noteがuser list timelineに追加されない (#12782)
* fix: 自分のdirect noteがuser list timelineに追加されない

* docs(changelog): Fix: 自分のdirect noteがuser list timelineに追加されない
2023-12-25 11:56:00 +09:00
Nya Candy
cae40e68e4
fix: lint (#12761) 2023-12-24 15:24:51 +09:00
syuilo
6fce36374d enhance(backend): センシティブワードの設定がハッシュタグトレンドにも適用されるように 2023-12-24 15:23:56 +09:00
anatawa12
2f425aa03f
fix: ブロックされててもpure RNできる (#12758)
なぜかわからないけど元々Quoteはできるようなのでそれに戻しました
2023-12-23 17:55:34 +09:00
syuilo
e852f4b60d Revert "fix(backend): renote判定がおかしい"
This reverts commit f43599552f.
2023-12-23 17:55:27 +09:00
syuilo
f43599552f fix(backend): renote判定がおかしい 2023-12-23 17:54:29 +09:00
syuilo
6e4894c165 lint 2023-12-23 14:39:01 +09:00
GrapeApple0
5b5a537f56
feat: 登録を拒否するメールアドレスのドメインを手動で設定できるように (#12740)
* feat: 使い捨てアドレスのドメインを手動で設定できるように

* Update CHANGELOG.md

* disposableEmailDomains -> bannedEmailDomains

* isBlockedHostを使うように
2023-12-23 12:06:22 +09:00
Nya Candy
b3c4f7eddc
fix: email verify enable logic (#12743) 2023-12-23 11:00:14 +09:00
anatawa12
52b94dbc4a
fix: 引用RNがpure RNとして連合され、pure RNが引用RNとして連合される (#12744)
* fix: quote notes are rendered as pure renote

* fix: filesが指定されてて空配列のときにQuote扱いされる

* chore: isQuoteの仕様をmisc/is-quote.tsと揃える

* docs: is-quote.tsの方にNoteCreateService.isQuoteのことを書いて更新忘れを防ぐ
2023-12-22 14:03:39 +09:00
おさむのひと
433d46e57f
fix(backend): テストが死んでいるのを修正 (#12738)
* fix test

* fix test

* fix test

* fix test

* fix test
2023-12-22 09:06:13 +09:00
anatawa12
b2254a66d3
chore: remove hashtag from featured immediately (#12668)
* chore: remove hashtag from featured immediately

* docs(changelog): ハッシュタグのトレンド除外設定が即時に効果を持つように修正

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-12-21 11:34:19 +09:00
syuilo
b3ab96b5ee fix(backend): ロールアサインの通知がある状態でページをリロードすると通知欄に何もでなくなる
Fix #12729
2023-12-21 11:23:31 +09:00
syuilo
15b0d2aff2
enhance: ロールにアサインされたときの通知 (#12607)
* wip

* Update misskey-js.api.md

* Update CHANGELOG.md

* Update RoleService.ts

* Update locales/ja-JP.yml

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

* Update UserListService.ts

* Update misskey-js.api.md

* fix (#12724)

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2023-12-21 10:39:11 +09:00
zawa-ch
4e2d802967
enhance: “つながりの公開範囲”がフォロー・フォロワー個別設定できるように (#12702)
* Enhance: “つながりの公開範囲”がフォロー・フォロワー個別設定できるように (#12072)

* refactor: crowdin 編集部分のコミットを打ち消し

https://github.com/misskey-dev/misskey/pull/12702#issuecomment-1859417158

* refactor: オブジェクトの名前修正

https://github.com/misskey-dev/misskey/pull/12702#issuecomment-1859417158

* fix: 設定項目の説明を削除

名称が具体的になって必要なくなったため
https://github.com/misskey-dev/misskey/pull/12702#discussion_r1429932463
2023-12-18 20:59:20 +09:00
1STEP621
f6ff3b1f1a
Fix: Renoteの判定が間違っているのを修正 (#12706)
* RNと引用RNの判定が間違っているのを修正

* remove dump.rdb

* update CHANGELOG.md

* lint fix
2023-12-18 19:49:19 +09:00
syuilo
417852779f enhance: アイコンデコレーションの位置を微調整できるように 2023-12-14 20:58:08 +09:00
syuilo
5472f4b934 enhance: アイコンデコレーションを複数設定できるように 2023-12-13 16:56:19 +09:00
KanariKanaru
e6d01e33e6
fix(backend): ブロックした相手から自分のノートが見えないように(/users/featured-notes, /users/notes) (#12511)
* fix: ブロックした相手から自分のノートが見えないように(ユーザー,チャンネル)

* Update CHANGELOG.md

* /users/featured-notesでもブロックを考慮するように

* cacheServiceを使うように

* /channels/timeline.tsで必要のないnoteFilterを持たないように

* Update CHANGELOG.md

* FanoutTimelineEndpointServiceへの対応

- ブロックされている場合は、/users/notesでノートが表示されない
- ミュートしている場合は、ノートが表示される
2023-12-07 18:15:38 +09:00
KanariKanaru
bcf6b7f5ee
enhance: meilisearchを有効にしてもミュートやブロックを考慮するように (#12575)
* enhance: meilisearchを有効にしてもミュートやブロックを考慮するように

* Update CHANGELOG.md
2023-12-07 17:09:31 +09:00
anatawa12
1d3ef7b42f
fix(backend): pagination with sinceId broken (#12586)
* fix(backend): pagination with sinceId broken

* fix(backend): pagination with sinceId broken for dbFallback
2023-12-07 17:07:06 +09:00
anatawa12
8866c530c4
fix(backend): エポックを固定することで年越し時にトレンドが壊れる問題を修正 (#12567) 2023-12-04 20:33:11 +09:00
anatawa12
bb38e62ae6
chore: 自分へのリプライのみ走査するように (#12570) 2023-12-04 17:56:48 +09:00
anatawa12
18109fcef7
Filter User / Instance Mutes in FanoutTimelineEndpointService (#12565)
* fix: unnecessary logging in FanoutTimelineEndpointService

* chore: TimelineOptions

* chore: add FanoutTimelineName type

* chore: forbid specifying both withReplies and withFiles since it's not implemented correctly

* chore: filter mutes, replies, renotes, files in FanoutTimelineEndpointService

* revert unintended changes

* use isReply in NoteCreateService

* fix: excludePureRenotes is not implemented

* fix: replies to me is excluded from local timeline

* chore(frontend): forbid enabling both withReplies and withFiles

* docs(changelog): インスタンスミュートが効かない問題の修正について言及
2023-12-04 14:38:21 +09:00
Acid Chicken (硫酸鶏)
af15f8d09d
fix(backend): reject malformed timestamp (#12554) 2023-12-03 14:38:42 +09:00
MeiMei
238e8ce939
fix: Filter featured collection (#12541) 2023-12-02 19:32:30 +09:00
anatawa12
a631b976c9
Refine fanout timeline (#12507)
* chore(endpoints/hybrid-timeline): don't pack inside getFromDb

* chore(endpoints/hybrid-timeline): Redisから取得する部分のうちSTLに依存しなそうなところを別のServiceに切り出し

* chore(endpoints/local-timeline): FanoutTimelineEndpointServiceで再実装

* chore(endpoints/channels/timeline): FanoutTimelineEndpointServiceで再実装

* chore(endpoints/timeline): FanoutTimelineEndpointServiceで再実装

* chore(endpoints/user-list-timeline): FanoutTimelineEndpointServiceで再実装

* chore(endpoints/users/notes): FanoutTimelineEndpointServiceで再実装

* chore: add useDbFallback to FanoutTimelineEndpointService.timeline and always true for channel / user note list

* style: fix lint error

* chore: split logic to multiple functions

* chore: implement redis fallback

* chore: 成功率を上げる

* fix: db fallback not working

* feat: allowPartial

* chore(frontend): set allowPartial

* chore(backend): remove fallbackIfEmpty

HTL will never be purged so it's no longer required

* fix: missing allowPartial in channel timeline

* fix: type of timelineConfig in hybrid-timeline

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-12-02 18:25:07 +09:00
anatawa12
da0ecb650e
chore: フォローしたときにHTLをパージしなくする (#12522) 2023-12-02 12:04:30 +09:00
zyoshoka
2ee48ae04d
fix(backend): ギャラリーの人気の投稿の選出にidを用いるように (#12448) 2023-11-26 10:05:56 +09:00
zyoshoka
7a494b2aa7
fix(backend): rename FunoutTimelineService to FanoutTimelineService (#12453) 2023-11-26 10:02:22 +09:00
かっこかり
ed6f866a4f
enhance/fix(AP/frontend): 最近追加されたMFMのもろもろを修正 (#12420)
* (enhance) MFM rubyが連合されるように

* Update Changelog

* Update Changelog

* (fix) unixtimeのフォールバック (AP)

* (fix) unixtimeのフォールバック (frontend)

* Update Changelog
2023-11-23 19:49:45 +09:00
anatawa12
864827f788
Hard mute (#12376)
* feat(backend,misskey-js): hard mute storage in backend

* fix(backend,misskey-js): mute word record type

* chore(frontend): generalize XWordMute

* feat(frontend): configure hard mute

* feat(frontend): hard mute notes on the timelines

* lint(backend,frontend): fix lint failure

* chore(misskey-js): update api.md

* fix(backend): test failure

* chore(frontend): check word mute for reply

* chore: limit hard mute count
2023-11-23 18:56:20 +09:00
おさむのひと
b3d1cc9525
サーバ起動時にアンテナが非アクティブだった場合、アクティブ化しても再起動するまで反映されない (#12391)
* サーバ起動時にアンテナが非アクティブだった場合、アクティブ化しても再起動するまで反映されない

* Fix CHANGELOG.md

* lastUsedAtの更新に不備が出るので修正

---------

Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
2023-11-21 15:32:34 +09:00
おさむのひと
8bd9077f77
json-schema配下の最新化 (#12312)
* user.ts、page.ts、drive-folder.tsを各EntityServiceの戻り値をもとに最新化

* 再確認

* fix error

* note以外の残りのファイルを対応

* fix CHANGELOG.md

* fix CHANGELOG.md

* fix user.ts

* fix user.ts

* コメント対応

* fix note.ts

---------

Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
2023-11-21 11:13:56 +09:00
syuilo
ed0cc443ea fix(backend): ロールタイムラインが保存されない問題を修正 2023-11-21 09:55:49 +09:00
syuilo
30dc6e691d lint fix 2023-11-18 21:04:00 +09:00
Nafu Satsuki
0a73973a7c メールアドレスの認証にverifymail.ioを使えるようにする。 2023-11-18 21:01:53 +09:00
syuilo
4b3f9bd9a6 enhance(backend): MFMのunixtimeをISO形式で連合するように 2023-11-17 15:44:36 +09:00
syuilo
be6778ac61 chore(backend): improve performance 2023-11-15 16:10:05 +09:00
atsuchan
50430e310a
Fix: latestRequestReceivedAt (#12270) 2023-11-11 14:51:29 +09:00
GrapeApple0
28e394eddc
fix: 投稿通知がオンでもダイレクト投稿はユーザーに通知されないように (#12263)
* fix: 投稿通知がオンでもダイレクト投稿はユーザーに通知されないように

* Update CHANGELOG.md
2023-11-09 21:35:07 +09:00
Marie
2cce28533f
fix(backend): isBot not being set on Application type (#12248)
* fix: bot not being set on all relays

* updatePerson missing the change

* chore: replace wrong word with correct word
2023-11-05 10:22:10 +09:00
syuilo
c2ddb649f8 enhance: 非通知なお知らせを作成できるように 2023-11-05 09:04:38 +09:00
おさむのひと
39a3f4ae98
feat: チャンネル内→チャンネル外へのリノート制限機能追加 (#12230)
* チャンネル内→チャンネル外へのリノート制限機能追加

* fix CHANGELOG.md

* コメント対応(canRenoteSwitch→allowRenoteToExternal)

* コメント対応(別チャンネルへのリノート対策)

* コメント対応(canRenote->allowRenoteToExternal)

* fix comment

* Update misskey-js.api.md

* ✌️

---------

Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-11-03 17:34:23 +09:00
かっこかり
24e629ca5c
enhance: 初期設定とチュートリアルを統合 (#12141)
* better onboarding experience

* enhance: iroiro

* (add) title

* (enhance) 戻る・次へボタンを全ページでstickyに

* fix merging

* (add) iroiro

* remove unnecessary file

* Update CHANGELOG.md

* tweak texts

* (fix) reactionViewer mock

* change strings

* Update MkTutorialDialog.Note.vue

* Update ja-JP.yml

* (fix) reactionViewer error

* (fix) path

* refactor

* fix

* Update MkPostForm.vue

* Update ja-JP.yml

* Update ja-JP.yml

* tweak text

* Update ja-JP.yml

* Update ja-JP.yml

* Update ja-JP.yml

* (add) achivement

* (add) もう一度見れますよメッセージを追加

* Revert "feat: レジストリAPIをサードパーティから利用可能に (#12229)"

This reverts commit 79346272f8.

* Revert "(add) もう一度見れますよメッセージを追加"

This reverts commit 6123b35215133f0d5e5db356bb43f4acbafab8fa.

* Revert "Revert "feat: レジストリAPIをサードパーティから利用可能に (#12229)""

This reverts commit bae684e484ef99308d7ac816a822047117efe1c6.

* tweak

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-11-03 15:35:07 +09:00
syuilo
79346272f8
feat: レジストリAPIをサードパーティから利用可能に (#12229)
* wip

* wip

* Update remove.ts

* refactor
2023-11-03 13:23:03 +09:00
syuilo
f62ad3ed3e feat: notification grouping
Resolve #12211
2023-11-02 15:57:55 +09:00
syuilo
9b073e5fe6 fix 2023-11-01 15:32:35 +09:00
syuilo
7ed2a5fc1b perf(backend): remove needless query
#12206
2023-11-01 13:55:19 +09:00
かっこかり
5fb6847419
Feat: 未読通知数を表示できるように (#11982)
* 未読通知数を表示できるように

* Update Changelog

* オプトインにする

* Fix lint

* (add) テスト通知のプッシュ通知を追加

* add test

* フロントエンドの表示上限を99に変更

* Make it default on

* 共通スタイルをくくりだす

* Update Changelog

* tweak

* Update UserEntityService.ts

* rename

* Update navbar-for-mobile.vue

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-11-01 13:34:05 +09:00
syuilo
a35fe29ef4 fix(backend): アクセストークンを削除すると、通知が取得できなくなる場合がある問題を修正 2023-10-31 11:45:03 +09:00
GrapeApple0
4f180ad45c
feat: アイコンデコレーションの管理をロールで設定できるように (#12173)
* アイコンデコレーションの管理をロールで設定できるように

* インポートミス

* Update packages/frontend/src/ui/_common_/common.ts

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

* Update packages/frontend/src/ui/_common_/common.ts

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

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-10-30 15:33:15 +09:00
anatawa12
7015cc937b
fix(backend): We can renote pure renote (#12171)
* chore: make pure renote detection an function

* fix: we can renote pure renote

* docs(changelog): リノートをリノートできるのを修正

* fix: remaining debug log

* chore: move isPureRenote to misc

* chore: make isPureRenote type guard

* chore: use isPureRenote in other places

* fix CHANGELOG

* style: fix lint

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-10-30 13:48:22 +09:00
かっこかり
117db08880
fix(backend): プロフィールの自己紹介欄のMFMを連合するように(実装漏れ) (#12185)
* (refactor) eliminate nested ternary operation

* fix lint

* Jissou more
2023-10-30 08:20:32 +09:00
かっこかり
59cc101752
fix(backend): プロフィールの自己紹介欄のMFMを連合するように (#12184)
* (fix) federate user description mfm

* fix

* Update Changelog
2023-10-29 19:33:35 +09:00
taichan
8a2309ba7d
fix(backend): ハッシュタグのランキングの問い合わせ結果がないときのエラー修正 (#12145)
* fix(backend): undefined result error

* Update Changelog

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

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

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-10-27 18:37:17 +09:00
おさむのひと
a8ee67cace
Fix: チャンネルのフォロー・アンフォローの反映速度を改善 (#12149)
* チャンネルのフォロー・アンフォローの反映速度を改善

* fix lint

* userFollowingChannelsCacheの場所をCacheServiceからChannelFollowingServiceに移動

---------

Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
2023-10-27 18:34:02 +09:00
atsuchan
9d0648ed35
enhance(server): Improve user block (Renote Part) (#12089) 2023-10-23 16:42:26 +09:00
syuilo
e6c54de814 enhance(backend): RedisへのTLのキャッシュをオフにできるように 2023-10-23 15:17:25 +09:00
syuilo
5a39c1a8eb fix type 2023-10-23 11:07:27 +09:00
syuilo
c9ae5d0e51 fix type 2023-10-23 09:24:13 +09:00
syuilo
9221cbf42b fix(backend): fix i/signin-history response 2023-10-23 08:59:05 +09:00
syuilo
4eaa02d25f enhance: improve avatar decoration 2023-10-22 13:02:24 +09:00
syuilo
72327716ca fix(backend): リストTLに自分のフォロワー限定投稿が含まれない問題を修正
Fix #12110
2023-10-22 10:40:53 +09:00
syuilo
2c0a139da6
feat: Avatar decoration (#12096)
* wip

* Update ja-JP.yml

* Update profile.vue

* .js

* Update home.test.ts
2023-10-21 18:38:07 +09:00
shiosyakeyakini
6d6ddbc35e
fix(backend) api/iの未読のお知らせにcreatedAtを追加するように修正 (#12092)
Co-authored-by: sorairo <sorairo@shiosyakeyakini.info>
2023-10-21 07:53:57 +09:00
syuilo
b394328eb1 fix(backend): フォロ限へのリプのリプ元が(非公開)の表示のまま
Fix #12083
2023-10-20 11:58:09 +09:00
syuilo
6ff5bfd2bc clean up 2023-10-20 07:48:31 +09:00
syuilo
30efd932a5 enhance: nyaizeはクライアントで表示時に行うように
Resolve #12030
2023-10-19 11:42:17 +09:00
syuilo
ec45db7870 refactor and perf tweak 2023-10-19 11:19:42 +09:00
syuilo
f9549e1f1b fix(backend): fix of 1671575d5d 2023-10-19 11:17:59 +09:00