* chore: change 3rd parameter of generateMutedUserQueryForNotes to options
* chore: allow specifying note column for note/block query
* chore: check for mute / block for renote of note with DB query
* chore: check for mute / block for renote of note with FTT
* refactor: ミュート・ブロックのためのクエリ呼び出しを一つの関数にまとめる
* docs(changelog): ミュート対象ユーザーが引用されているノートがRNされたときにミュートを貫通してしまう問題を修正
* fix missing default parameter
* Update is-user-related.ts
* test: add tests for mutes
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
* Exclude blocked instance note from most timelines
* Exclude blocked instance note from FTT timelines
* Exclude blocked instance note from featured
* fix type
* fix: reply to my follower notes are not shown on the home timeline
* fix: reply to follower note by non-following is on social timeline
* docs: changelog
* test: add endpoint test for changes
* test(e2e): 自分のfollowers投稿に対するリプライが流れる
* test(e2e/streaming): 自分のfollowers投稿に対するリプライが流れる
* test(e2e/streaming): フォローしていないユーザによるフォロワー限定投稿に対するリプライがソーシャルタイムラインで表示されることがある問題
* test(e2e/timelines): try fixing typecheck error
---------
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
* 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): インスタンスミュートが効かない問題の修正について言及
* 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>
* fix: muted user query also checks instances
This way it can be ensured that the instance mute is used everywhere it
is required without checking the whole codebase again. Muted users and
muted instances should be used together anyways.
* fix lint
* remove empty file
If the endpoint is to be implemented later, the file can be added back,
but for now it is confusing to have an empty file.
* enhance(doc): document defaults
Default for `isPublic` is based on the database schema default value.
Defaults for `local` and `withFiles` are based on the behaviour of the endpoint.
* enhance(doc): explain nullable emoji category
* fix: make nullable if default is null
* enhance(doc): explain mute attribute expiresAt
* fix: define required fields
- `notes/create`: the default for `text` has been removed because ajv can not handle
`default` inside of `anyOf`, see
https://ajv.js.org/guide/modifying-data.html#assigning-defaults
and the default value cannot be `null` if text is `nullable: false` in the `anyOf`
first alternative.
- `notes/create`: The `mediaIds` property has been marked as deprecated because it
has the same behaviour as using `fileIds`, but the implementation tries to handlè
`fileIds` first.
- The result schema for `admin/emoji/list` has been altered because the `host`
property will always be `null` as it is filtered this way in the database query.
See packages/backend/src/server/api/endpoints/admin/emoji/list.ts line 67.
* enhance(doc): explain nullable hostname
* update changelog
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>