Kisaragi Marine
54ee8834d1
Merge remote-tracking branch 'kisaragi/refactor/kill-any/backend-test' into refactor/kill-any/backend-test
...
# Conflicts:
# packages/backend/test/e2e/move.ts
# packages/backend/test/utils.ts
2024-07-09 19:22:33 +09:00
Kisaragi Marine
7f145fdc35
型アサーションの追加
2024-07-09 19:21:56 +09:00
Kisaragi Marine
67718a5dec
castAsErrorで安全ではないキャストを隠蔽
2024-07-09 19:20:31 +09:00
Kisaragi
58ead0a570
Merge branch 'develop' into refactor/kill-any/backend-test
2024-07-09 18:02:12 +09:00
かっこかり
9ef6c4716c
fix(backend): 名前を空白文字列だけにできる問題を修正 ( #14119 )
...
* fix(backend): 名前を空白文字列だけにできる問題を修正
* Update Changelog
* fix test
* Unicodeを含める
* fix
* ユーザー名がUnicode制御文字とスペースのみで構成される場合はnullに
* Revert "ユーザー名がUnicode制御文字とスペースのみで構成される場合はnullに"
This reverts commit 6c752a69c0
.
* [ci skip] changelog typo
2024-07-07 14:19:00 +09:00
woxtu
de1fe7cc5a
Use built-in API ( #14095 )
2024-07-02 14:47:07 +09:00
Kisaragi
eafae79869
test(backend): goodbye, Lenna ( #14111 )
2024-07-02 14:29:44 +09:00
Kisaragi
03780bcd30
Merge branch 'develop' into refactor/kill-any/backend-test
2024-06-23 04:00:01 +09:00
zyoshoka
961cb6c5ee
fix(backend): fix creating reactions bugs ( #13901 )
...
* fix(backend): add fallback for empty string when creating reaction
* fix(backend): prohibit reactions to Renote
* test(backend): add some tests for `notes/reactions/create` endpoint
* Update CHANGELOG.md
* lint
* Update CHANGELOG.md
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 19:49:38 +09:00
Kisaragi
ac12ab8629
fix(backend): フィードのノートのMFMはHTMLにレンダーしてから返す ( #14006 )
...
* fix(backend): フィードのノートのMFMはHTMLにレンダーしてから返す (test wip)
* chore: beforeEachを使う?
* fix: プレーンテキストにフォールバックしてMFMが含まれていないか調べる方針を実装
* fix: application/jsonだとパースされるのでその作用をキャンセル
* build: fix lint error
* docs: update CHANGELOG.md
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-22 12:51:02 +09:00
zyoshoka
8a9de081f1
fix(backend): fallback if `sinceId` is older than the oldest in cache when using FTT ( #14061 )
...
* fix(backend): fallback if `sinceId` is older than the oldest in cache when using FTT
* Update CHANGELOG.md
* chore: fix description of test
2024-06-22 12:43:03 +09:00
Kisaragi Marine
e90854b031
runtime non-null assertion
2024-06-21 05:04:20 +09:00
Kisaragi Marine
70ccbaa0ca
runtime non-null assertion
2024-06-21 04:53:24 +09:00
Kisaragi Marine
9e7f22f655
split bindings for exports.ts
...
型が合わなくて文句を言ってくるので適切に分割
2024-06-21 04:48:42 +09:00
Kisaragi Marine
a6db224a9f
rewrite `assert.notEqual(expr, null)` to `assert.ok(expr)`
...
こうすることでassertion type扱いになり、non-nullableになる
2024-06-21 04:31:16 +09:00
Kisaragi Marine
3b2bf5ec9c
do not return value that has yielded from `await`-ing `Promise<void>`
2024-06-21 04:19:16 +09:00
Kisaragi Marine
7dfd8f0f8e
kill argument any across a few tests
2024-06-21 04:17:36 +09:00
Kisaragi Marine
dc54f9360e
kill argument any for api-visibility
2024-06-21 03:52:29 +09:00
Kisaragi Marine
1c5e04199e
use optional chain to kill TS2532 on timeline test
...
変更前: 該当ノートが見つからなければundefinedに対するプロパティアクセスとしてテストがクラッシュ
変更後: 該当ノートが見つからなければoptional chainがundefinedとして評価されるが、strictEqualの右辺がnon-nullableなためアサーションに失敗しテストがクラッシュ
2024-06-21 03:47:26 +09:00
Kisaragi Marine
ee465c8072
kill any on timeline test
2024-06-21 03:44:28 +09:00
Ryu jongheon
d0ee0203e1
Fix(backend): Limit antenna/webhook/list to exact amount ( #14036 )
...
... not +1
* Update antennas/clips e2e test
2024-06-18 12:18:04 +09:00
おさむのひと
61fae45390
feat: 通報を受けた際にメールまたはWebhookで通知を送出出来るようにする ( #13758 )
...
* feat: 通報を受けた際にメールまたはWebhookで通知を送出出来るようにする
* モデログに対応&エンドポイントを単一オブジェクトでのサポートに変更(API経由で大量に作るシチュエーションもないと思うので)
* fix spdx
* fix migration
* fix migration
* fix models
* add e2e webhook
* tweak
* fix modlog
* fix bugs
* add tests and fix bugs
* add tests and fix bugs
* add tests
* fix path
* regenerate locale
* 混入除去
* 混入除去
* add abuseReportResolved
* fix pnpm-lock.yaml
* add abuseReportResolved test
* fix bugs
* fix ui
* add tests
* fix CHANGELOG.md
* add tests
* add RoleService.getModeratorIds tests
* WebhookServiceをUserとSystemに分割
* fix CHANGELOG.md
* fix test
* insertOneを使う用に
* fix
* regenerate locales
* revert version
* separate webhook job queue
* fix
* 🎨
* Update QueueProcessorService.ts
---------
Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-06-08 15:34:19 +09:00
Acid Chicken
2b8056a852
fix(backend): use insertOne insteadof insert/findOneOrFail combination ( #13908 )
...
* fix(backend): use insertOne insteadof insert/findOneOrFail combination
* fix: typo
* fix(backend): inherit mainAlias?
* refactor(backend): use extend
* fix(backend): invalid entityTarget
* fix(backend): fake where
* chore: debug
* chore: debug
* test: log
* fix(backend): column names
* fix(backend): remove dummy from
* revert: log
* fix(backend): position
* fix(backend): automatic aliasing
* chore(backend): alias
* chore(backend): remove from
* fix(backend): type
* fix(backend): avoid pure name
* test(backend): fix type
* chore(backend): use cte
* fix(backend): avoid useless alias
* fix(backend): fix typo
* fix(backend): __disambiguation__
* fix(backend): quote
* chore(backend): t
* chore(backend): accessible
* chore(backend): concrete returning
* fix(backend): quote
* chore: log more
* chore: log metadata
* chore(backend): use raw
* fix(backend): returning column name
* fix(backend): transform
* build(backend): wanna logging
* build(backend): transform empty
* build(backend): build alias
* build(backend): restore name
* chore: return entity
* fix: test case
* test(backend): 204
* chore(backend): log sql
* chore(backend): assert user joined
* fix(backend): typo
* chore(backend): log long sql
* chore(backend): log join
* chore(backend): log join depth null
* chore(backend): joinAttributes
* chore(backend): override createJoinExpression
* chore: join log
* fix(backend): escape
* test(backend): log log
* chore(backend): join gonna success?
* chore(backend): relations
* chore(backend): undefined
* chore(backend): target
* chore(backend): remove log
* chore(backend): log chart update
* chore(backend): log columns
* chore(backend): check hasMetadata
* chore(backend): unshift id when not included
* chore(backend): missing select
* chore(backend): remove debug code
2024-06-01 11:16:44 +09:00
syuilo
eaa85f5aa3
fix test
2024-05-31 13:28:11 +09:00
anatawa12
4579be0f54
新着ノートをサウンドで通知する機能をdeck UIに追加 ( #13867 )
...
* feat(deck-ui): implement note notification
* chore: remove notify in antenna
* docs(changelog): 新着ノートをサウンドで通知する機能をdeck UIに追加
* fix: type error in test
* lint: key order
* fix: remove notify column
* test: remove test for notify
* chore: make sound selectable
* fix: add license header
* fix: add license header again
* Unnecessary await
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
* ファイルを選択してください -> ファイルが選択されていません
* fix: i18n忘れ
* fix: i18n忘れ
* pleaseSelectFile > fileNotSelected
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-05-27 20:54:53 +09:00
anatawa12
e423b8ce4b
細かいミュートの処理の修正 ( #13695 )
...
* fix: some replies are removed from global timeline
* refactor: 各チャンネルのミュートとブロックの処理をまとめる
* fix: リノートをミュートでその人のノートのリノートをミュートしていたを修正
* refactor: isPureRenotePackedを他のところでも使う
* docs(changelog): CHANGELOGを更新
* test: withReplies = falseでフォローしてる人によるリプライが流れてくる
* test: ノートミュートしているユーザーの通常ノートのリノートが流れてくる/含まれる
2024-04-17 14:23:41 +09:00
zyoshoka
b35ae97ba7
fix(backend): better `notes/translate` error response ( #13631 )
...
* fix(backend): better `notes/translate` error response
* Update CHANGELOG.md
* test(backend): perform administrative operations as `root`
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-03-30 13:51:53 +09:00
zyoshoka
a1bc8fa77b
test(backend): fix streaming test error when replying to followers-only note ( #13618 )
2024-03-24 16:46:52 +09:00
かっこかり
f4838e50b4
enhance(antenna): Botの投稿を除外できるように ( #13603 )
...
* enhance(antenna): Botの投稿を除外できるように (MisskeyIO#545)
(cherry picked from commit a95ce067c6
)
* Update Changelog
* remove translations
* spdx
---------
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-03-21 07:51:01 +09:00
zyoshoka
412e9f284d
test(backend): enable typecheck by workflow ( #13526 )
2024-03-07 09:51:57 +09:00
zyoshoka
38837bd388
test(backend): refactor tests ( #13499 )
...
* test(backend): refactor tests
* fix: failed test
2024-03-03 20:15:35 +09:00
syuilo
5904d98208
Update packages/backend/test/e2e/mute.ts
...
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-03-01 17:26:27 +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
zyoshoka
16f16e6b08
fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように ( #13477 )
...
* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように
* Update CHANGELOG.md
* test(backend): `notes/create`とWebSocket関連のテストを追加
2024-02-29 20:42:02 +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 421f8d49e5d7a8dc3a798cc54716c767df8be3cb)
* Update Changelog
* Update CHANGELOG.md
* enhance: 通知がミュートを考慮するようにする
* enhance: 通知が凍結も考慮するようにする
* fix: notifierIdがない通知が消えてしまう問題
* Add tests (通知がミュートを考慮しているかどうか)
* fix: notifierIdがない通知が消えてしまう問題 (grouped)
* Remove unused import
* Fix: typo
* Revert "enhance: 通知が凍結も考慮するようにする"
This reverts commit b1e57e571d
.
* 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 239a6952f7
.
* 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 22e2324f96
.
* 🎨
* 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
664aeb3ced
fix(backend): リノート時のHTLへのストリーミングの意図しない挙動を修正 ( #13425 )
...
* fix(backend): リノート時のストリーミングの意図しない挙動を修正
* Update CHANGELOG.md
* fix: 不要な返り値
* fix: 不適切な条件分岐を修正
* test(backend): add htl tests
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-02-28 17:43:17 +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
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
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
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 a9ca55343d
.
* 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 865458989f
.
* fix(misskey-js): `openapi-parser`で`validate`のかわりに`parse`を用いるように
* Update CHANGELOG.md
2024-01-13 16:54:25 +09:00
おさむのひと
35ec41fc1e
enhance(backend): テストの高速化 ( #12939 )
...
* enhance(backend): テストの高速化
* add ls
* 自動的にマージされるようなので不要
* 起動方法を揃える
* fix test
2024-01-08 17:43:52 +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
2a9db983fc
feat: export clips ( #12931 )
...
* feat: export clips
* Update CHANGELOG.md
2024-01-07 10:35:58 +09:00
おさむのひと
30311aca18
fix(misskey-js): /signupと/signinの定義を作成してフロントの型エラーを抑制する ( #12846 )
...
* fix(misskey-js): /signupと/signinの定義を復活してフロントの型エラーを抑制する
* fix ci
* fix ci
* fix
* fix
---------
Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
2024-01-03 13:41:28 +09:00
Kagami Sascha Rosylight
ad346b6f36
feat(backend/oauth): allow CORS for token endpoint ( #12814 )
...
* feat(backend/oauth): allow CORS for token endpoint
* no need to explicitly set origin to `*`
* Update CHANGELOG.md
2023-12-27 15:10:24 +09:00