Commit Graph

2288 Commits

Author SHA1 Message Date
syuilo 8f025c447b fix(backend): ログインできなくなるため、ugcVisibilityForVisitorがnoneでもusers/showは許可するように 2025-06-02 08:37:22 +09:00
おさむのひと 0c2d799acd
fix(backend): ジョブキュー画面のPausedタブをアクティブにすると400エラーが返ってくるのを修正 (#16124)
* fix(backend): ジョブキュー画面のPausedタブをアクティブにすると400エラーが返ってくるのを修正

* fix CHANGELOG.md
2025-05-31 16:34:25 +09:00
syuilo 0f6b28f970 enhance(backend): tweak default maxFileSizeMb value
ref: #15988
2025-05-29 17:35:10 +09:00
syuilo 85c28d5cb7 enhance(backend): 外部サイトのOGPのキャッシュ期間を調整 2025-05-29 13:53:33 +09:00
anatawa12 1214d1d8fc
Export/Import withReplies (#15986)
* feat: export withReplies of UserList

* feat: export withReplies of following

* import following時のwithRepliesがデフォルト値であることを明示する

* changelog

* update index.d.ts

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-05-29 13:15:41 +09:00
anatawa12 367dac4edd
Fix: ミュート対象ユーザーが引用されているノートがRNされたときにミュートを貫通してしまう問題 (#16009)
* 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>
2025-05-29 13:13:07 +09:00
syuilo e4b7a1f4e1
fix tests
* test

* Update activitypub.ts

* Update activitypub.ts

* Update create.ts

* Update create.ts

* Update endpoints.ts
2025-05-29 12:41:27 +09:00
syuilo 825c337cf4 improve log 2025-05-28 19:01:21 +09:00
おさむのひと 9bbc2028ad
feat: URLプレビューのリダイレクトを受け入れるかどうかを設定できるようにする (#16112)
* feat: URLプレビューのリダイレクトを受け入れるかどうかを設定できるようにする

* fix CHANGELOG.md

* fix lang
2025-05-27 20:46:22 +09:00
anatawa12 e078cd9296
fix: jest.js exits with zero value even if underlying jest exited with non-zero value (#16111) 2025-05-27 15:07:47 +09:00
かっこかり 1276e65049
fix(backend): follow-up of #16105 (#16109) 2025-05-27 14:42:48 +09:00
かっこかり 07c2de3749
fix(backend): typeormのbreaking changeに対応 (#16105)
* fix(backend): typeormのbreaking changeに対応

* attempt to fix test
2025-05-27 13:50:45 +09:00
renovate[bot] 47f4f11e3e
fix(deps): update [backend] update dependencies (#16087)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 13:18:59 +09:00
zyoshoka d27075c5f5
fix(backend): correct invalid schema format specifying only `required` for `anyOf` (#16089)
* fix(backend): correct invalid schema format specifying only `required` for `anyOf`

* refactor(backend): make types derived from `allOf` or `anyOf` more strong
2025-05-27 08:57:09 +09:00
zyoshoka ed3a844f5d
fix(backend): add response schema for `notes/show-partial-bulk` endpoint (#16093) 2025-05-25 08:38:45 +09:00
syuilo 4fcb80bcf2 enhance(backend): ファイル種別が判定できない場合、拡張子を参照するように 2025-05-24 14:28:49 +09:00
syuilo 90e39d22d2 fix(backend): unallowedFileTypeエラーがハンドリングされていない問題を修正 2025-05-24 13:55:34 +09:00
zyoshoka 9c98c13743
fix(backend): better nullable ref schema representation (#16088)
* fix(backend): better nullable ref schema representation

* refactor
2025-05-23 20:27:16 +09:00
かっこかり 9d36d36fc4
fix(backend): admin側のエンドポイントで作成した招待コードに作成者の情報が記録されない問題を修正 (#16076)
* fix(backend): admin側のエンドポイントで作成した招待コードに作成者の情報が記録されない問題を修正

* Update Changelog
2025-05-23 09:49:21 +09:00
syuilo e750c9171e
feat: ロールでアップロード可能なファイル種別を設定可能に (#16081)
* wip

* Update RoleService.ts

* wip

* Update RoleService.ts

* Update CHANGELOG.md
2025-05-22 23:01:31 +09:00
renovate[bot] c2478e5877
fix(deps): update [backend] update dependencies (#15911)
* fix(deps): update [backend] update dependencies

* run pnpm dedupe to fix type errors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-05-22 19:31:38 +09:00
かっこかり 000ed1f51f
fix(frontend): ジョブキューインスペクタの型エラー解消 (#16020)
* fix(frontend): ジョブキューインスペクタの型エラー解消

* fix

* fix

* fix

* fix
2025-05-22 12:06:07 +09:00
かっこかり c7318f5803
fix(backend): 連合モードが「なし」の場合はactivity jsonへのリンクタグを省略するように (#16074)
* fix(backend): 連合モードが「なし」の場合はactivity jsonへのリンクタグを省略するように

* Update Changelog

* flip condition
2025-05-22 12:02:01 +09:00
syuilo 9480120eba
Feat: ドライブ周りのUIの強化 (#16011)
* wip

* wip

* Update MkDrive.vue

* wip

* Update MkDrive.vue

* Update MkDrive.vue

* wip

* Update MkDrive.vue

* Update MkDrive.vue

* wip

* Update MkDrive.vue

* wip

* wip

* wip

* wip

* Update MkDrive.vue

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* feat(frontend): upload dialog (#16032)

* wip

* wip

* Update MkUploadDialog.vue

* wip

* wip

* wip

* wip

* wip

* Update MkUploadDialog.vue

* wip

* wip

* Update MkDrive.vue

* wip

* wip

* Update MkPostForm.vue

* wip

* Update room.form.vue

* Update os.ts

* wiop

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update select-file.ts

* wip

* wip

* Update MkDrive.vue

* Update drag-and-drop.ts

* wip

* wip

* wop

* wip

* wip

* Update MkDrive.vue

* Update CHANGELOG.md

* wipo

* Update MkDrive.folder.vue

* wip

* Update MkUploaderDialog.vue

* wip

* wip

* Update MkUploaderDialog.vue

* wip

* Update MkDrive.vue

* Update MkDrive.vue

* wip

* wip
2025-05-21 07:31:24 +09:00
syuilo 26506677c2
enhance: いくつかの設定ファイルの項目をコントロールパネルで設定するように (#16026)
* wip

* Update CHANGELOG.md

* feat: migrate to existing config value (#16030)

* wip

* Update CHANGELOG.md

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2025-05-12 16:55:01 +09:00
syuilo b18d6b4cef lint 2025-05-11 17:17:07 +09:00
anatawa12 cbc53de823
fix: RateLimiterService (#13997)
* fix rate limit check never ends

* fix: long term / short term limitがないときでもそれぞれ用のnew Limiterとlimiter.getが呼ばれる問題

* refactor: wrap ratelimiter with promise

* refactor: reimplement max/min with async

* refactor: reimplement limit with async

* refactor: do not check long term limit inside min

* refactor: check if there is rate limit inside min/max function

* refactor: remove unnecessary return in min/max function

* refactor: remove unnecessary max/min function

* refactor: return rate limit instead of throwing an object

* fix: レートリミットのfactorが二回適用されて二乗の効果がある問題を修正

* fix lint error

---------

Co-authored-by: Kisaragi <48310258+KisaragiEffective@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2025-05-11 15:37:46 +09:00
syuilo 2c96f7f258 enhance(backend): increase MAX_ROOM_MEMBERS to 50 2025-05-11 15:32:36 +09:00
syuilo 0a0d42bb48 enhance: 招待されているが参加していないルームを開いたときに、招待を承認するかどうか尋ねるように 2025-05-10 11:25:00 +09:00
syuilo bbe26607eb enhance: リプライ元にアンケートがあることが表示されるように
Resolve #15998
2025-05-09 20:36:14 +09:00
syuilo 1febae7128 fix(backend): チャットルームが削除された場合・チャットルームから抜けた場合に、未読状態が残り続けることがあるのを修正 2025-05-09 20:12:33 +09:00
syuilo 96bc042d67
Feat: サーバー初期設定ウィザード (#15954)
* wip

* wip

* Update welcome.setup.vue

* wip

* wip

* wip

* wip

* Update MkServerSetupWizard.vue

* Update MkServerSetupWizard.vue

* wip

* wip

* wip

* Update types.ts

* wip

* wip

* Update CHANGELOG.md
2025-05-09 19:41:54 +09:00
anatawa12 0bd44bca6d
fix: exported antenna data cannot be imported in some cases (#15985)
* chore: add ExportedAntenna type

* chore: use ExportedAntenna on export and fix schema

* fix: excludeNotesInSensitiveChannel is not included

* chore: revert unnecessary changes

* chore: add doc for future developer

* docs: update changelog
2025-05-09 17:48:01 +09:00
syuilo ebf291084f
Feat: UGCの公開範囲設定機能 (#15938)
* wip

* Update CHANGELOG.md

* wip

* wip

* Update show.ts
2025-05-09 17:44:35 +09:00
syuilo 8c2ab25e5f
Feat: No websocket mode (#15851)
* wip

* wip

* wip

* wip

* Update MkTimeline.vue

* wip

* wip

* wip

* Update MkTimeline.vue

* Update use-pagination.ts

* wip

* wip

* Update MkTimeline.vue

* Update MkTimeline.vue

* wip

* wip

* Update MkTimeline.vue

* Update MkTimeline.vue

* Update MkTimeline.vue

* wip

* Update use-pagination.ts

* wip

* Update use-pagination.ts

* Update MkNotifications.vue

* Update MkNotifications.vue

* wip

* wip

* wip

* Update use-note-capture.ts

* Update use-note-capture.ts

* Update use-note-capture.ts

* wip

* wip

* wip

* wip

* Update MkNoteDetailed.vue

* wip

* wip

* Update MkTimeline.vue

* wip

* fix

* Update MkTimeline.vue

* wip

* test

* Revert "test"

This reverts commit 3375619396.

* Update use-pagination.ts

* test

* Revert "test"

This reverts commit 42c53c830e.

* test

* Revert "test"

This reverts commit c4f8cda4aa.

* Update style.scss

* Update MkTimeline.vue

* Update MkTimeline.vue

* Update MkTimeline.vue

* ✌️

* Update MkTimeline.vue

* wip

* wip

* test

* Update MkPullToRefresh.vue

* Update MkPullToRefresh.vue

* Update MkPullToRefresh.vue

* Update MkPullToRefresh.vue

* Update MkTimeline.vue

* wip

* tweak navbar

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update home.vue

* wip

* refactor

* wip

* wip

* Update note.vue

* Update navbar.vue

* Update MkPullToRefresh.vue

* Update MkPullToRefresh.vue

* Update MkPullToRefresh.vue

* wip

* Update MkStreamingNotificationsTimeline.vue

* Update use-pagination.ts

* wip

* improve perf

* wip

* Update MkNotesTimeline.vue

* wip

* megre

* Update use-pagination.ts

* Update use-pagination.ts

* Update MkStreamingNotesTimeline.vue

* Update use-pagination.ts

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md
2025-05-09 17:40:08 +09:00
anatawa12 406406328c
Fix 1745378064470-composite-note-index.js (#15968) 2025-05-06 20:15:26 +09:00
おさむのひと 29f9580143
fix: developのtypecheckエラーを修正 (#15967) 2025-05-06 19:59:24 +09:00
zyoshoka 3b676f39df
fix(backend): enumerate achievement types in some response schema (#15953)
* fix(backend): enumerate achievement types in some response schema

* refactor: use `ref`
2025-05-06 19:52:30 +09:00
syuilo f6158abb68 use sharp 0.33.5
Fix #15920
2025-05-05 18:23:25 +09:00
renovate[bot] c23f2ff900
chore(deps): update node.js to v22.15.0 (#15606)
* chore(deps): update node.js to v22.15.0

* chore: determine Jest args from Node.js version

* fix

* fix: `import.meta.dirname` is not supported in v20.10.0

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2025-05-04 19:00:36 +09:00
zyoshoka a5fa9a2cef
chore(workflow): use `node-version-file` instead of hardcoded `node-version` (#15658)
* chore(workflow): use `node-version-file` instead of hardcoded `node-version`

* chore: test min version
2025-05-04 14:14:09 +09:00
おさむのひと 8c0c503c6c
refactor: ファイルアップロード時のテストを追加 (#15928)
* refactor: ファイルアップロード時のテストを追加

* なぜかsemverが消えてた
2025-05-04 09:38:35 +09:00
おさむのひと 526057cc61
Revert "fix: 添付ファイルのあるリクエストを受けたときの初動を改善 (#15896)" (#15927)
* Revert "fix: 添付ファイルのあるリクエストを受けたときの初動を改善 (#15896)"

This reverts commit 7e8cc4d7c0.

* fix CHANGELOG.md
2025-05-03 16:23:06 +09:00
おさむのひと c13aa0c224
fix(backend): チャンネルフォロー一覧のsinceId/untilIdによる絞り込みが上手く動いていないのを修正 (#13698)
* fix(backend): チャンネルフォロー一覧のsinceId/untilIdによる絞り込みが上手く動いていないのを修正

* fix CHANGELOG.md

* docs(changelog): fix mistaken changelog insertion (restore newline)

* docs(changelog): update insertion position

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2025-05-03 15:40:57 +09:00
anatawa12 1af98b690b
feat: CREATE INDEX CONCURRENTLY for "userId" "id" composite note index if admin wish. (#15915)
* chore: CREATE INDEX CONCURRENTLY for "userId" "id" composite note index

* chore: remove { concurrent: true } and comment why

* update comment

* feat: add MISSKEY_MIGRATION_CREATE_INDEX_CONCURRENTLY option

* fix: spdx license header

* alter comment

* chore: improve behavior when migration failure

* docs(changelog): 2025.4.1 で追加されたインデックスの再生成をノートの追加しながら行えるようになりました

* ちょっと表現を変更

---------

Co-authored-by: 饺子w (Yumechi) <35571479+eternal-flame-ad@users.noreply.github.com>
2025-05-03 12:57:50 +09:00
anatawa12 795b8366b5
Block deliver by software (#15727)
* feat(backend): suspend instance by software

* feat(frontend): suspend instance by software

* docs(chaangelog): 連合先のソフトウェア及びバージョン名により配信停止を行えるようになりました

* chore: 例で使うバージョン名を変える

* fix: broken lockfile

* fix: broken lock file

* fix broken lock file

* update changelog

* fix dependencies

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-05-01 17:58:34 +09:00
anatawa12 2fcb50273d
Exclude suspended users note from most timelines (#15775)
* feat: exclude notes by suspended user from FTT timeline endpoint

* feat: exclude notes by suspended user from DB based timelines

* chore: fix types

* chore: fix types

* chore: fix non-reply / renote

* chore: fix non-reply / renote

* test: update test

* docs(changelog): 凍結されたユーザのノートが各種タイムラインで表示されないように

* Exclude suspended users note from featured

* fix: join user

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-05-01 17:56:24 +09:00
syuilo d6ae4c980b feat(frontend): タイトルバーを表示できるように 2025-04-29 09:43:15 +09:00
Julia d10fdfe973
Merge commit from fork
* SP-2025-03.1 always wrap icon&thumbnail URLs

if they're not HTTP URLs, the frontend won't be able to display them
anyway (`<img src="mailto:…">` or '<div stile="background-image:
url(nntp:…)">` aren't going to work!), so let's always run them through the
media proxy, which will fail harder (fetching a `javascript:` URL
won't do anything in the backend, might do something in the frontend)
and will always protect the client's address in cases like `gemini:`
where the browser could try to fetch

* SP-2025-03.2 use object binding for more styles

interpolating a random (remote-controlled!) string into a `style`
attribute is a bad idea; using VueJS object binding, we should get
proper quoting and therefore safe parse failures instead of CSS
injections / XSS

* SP-2025-03.3 slightly more robust "self" URL handling

parse URLs instead of treating them as strings; this is still not
perfect, but the `URL` class only handles full URLs, not relative
ones, so there's so way to ask it "give me a URL object that
represents this resource relative to this base URL"

notice that passing very weird URLs to `MkUrl` and `MkUrlPreview` will
break the frontend (in dev mode) because there's an untrapped `new
URL(…)` that may explode; production builds seem to safely ignore the
error, though

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
2025-04-29 08:15:54 +09:00
おさむのひと 7e8cc4d7c0
fix: 添付ファイルのあるリクエストを受けたときの初動を改善 (#15896)
* wip

* ロールポリシーの値も参照するように

* エンドポイントのテストを追加

* fix review

* add spdx

* fix CHANGELOG.md

* fix test

* regenerate

* add log

* Revert "add log"

This reverts commit 4b2bf59a60.

* add log

* fix

* Revert "add log"

This reverts commit c5a73d57da.
2025-04-29 08:15:09 +09:00