anatawa12
376147b948
Merge remote-tracking branch 'upstream/develop' into block-deliver-by-software
2025-04-10 19:32:03 +09:00
syuilo
c500e4392a
hideNotesInSensitiveChannel -> excludeNotesInSensitiveChannel
2025-04-08 20:50:38 +09:00
anatawa12
7c071c6c53
Merge branch 'develop' into block-deliver-by-software
2025-04-07 20:31:31 +09:00
かっこかり
9d3f3264fd
enhance: チャットの閲覧を無効化できるように ( #15765 )
...
* enhance: チャットの閲覧を無効化できるように
* fix
* fix
* fix
* readonlyの説明を追加
* enhance: チャットが無効な場合はチャット関連の設定も隠すように
* fix
* refactor: ChatServiceからApiに関するドメイン知識を排除
2025-04-07 19:09:11 +09:00
anatawa12
cab82452ec
Copy role on move ( #15745 )
...
* feat(backend): copyOnMoveAccount
* feat(endpoints): copyOnMoveAccount
* feat(frontend): copyOnMoveAccount
* docs(changelog): アカウントのマイグレーション時に古いアカウントからロールをコピーできるようになりました。
* fix: spdx header for migration
* Update locales/ja-JP.yml
* copyOnMoveAccount -> preserveAssignmentOnMoveAccount
* fix: check for preserveAssignmentOnMoveAccount
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-03 19:22:49 +09:00
かっこかり
e07bb1dcbc
fix: チャット周りの修正 ( #15741 )
...
* fix(misskey-js): チャットのChannel型定義を追加
* fix(backend); canChatで塞いでいない書き込み系のAPIを塞ぐ
* fix(frontend): チャット周りのフロントエンド型修正
* lint fix
* fix broken lockfile
* fix
* refactor
* wip
* wip
* wip
* clean up
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-03 15:28:10 +09:00
Nanashi.
98eadd7093
feat: アンテナでセンシティブなチャンネルからのノートを除外できるように ( #15346 )
...
* feat(db): マイグレーションを追加
* feat(backend): カラムの定義を追加
* wip
* feat: フラグを設定出来るように
* feat: /notesエンドポイントを対応
* feat: websocketを対応
* test: テストを追加
* docs: CHANGELOGを更新
* docs: CHANGELOGの追加場所を修正
* chore: api.jsonを更新
* docs(CHANGELOG): General欄に移動
* docs: フォーマットを揃える
* chore: クエリを削除
* revert: 英訳を消す
* chore: note.channelを追加するところを変える
* docs: CHANGELOGを更新する
* docs(CHANGELOG): 2025.3.2に移動
* chore: changelogを下に移動
* ci: CI再実行用の空コミット
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-02 16:01:24 +09:00
anatawa12
446016f701
Merge branch 'develop' into block-deliver-by-software
2025-04-02 12:20:07 +09:00
anatawa12
55d835ad51
Fix: 通知のページネーションで2つ以上読み込めなくなることがある問題 ( #15277 )
...
* fix: notifications-groupedのinclude/exclude typesに:groupedを指定できてしまう問題
* refactor: 通知の取得処理を Notification Service に移動
* feat: add function to parse additional part of id
* fix: 通知のページネーションが正しく動かない問題
Redisにのページネーションで使用する時間及びidとRedis上のものが混同されていたので、Misskeyが生成するものに寄せました。
* pnpm run build-misskey-js-with-types
* chore: XADDをretryするように
* fix: notifications-groupedでxrevrangeしているのを消し忘れていた
2025-04-02 10:37:16 +09:00
anatawa12
fa731ac717
feat(backend): suspend instance by software
2025-03-31 17:02:13 +09:00
syuilo
b95da9c9a4
enhance(backend): ミュートしているユーザーをユーザー検索の結果から除外するように
2025-03-27 17:12:23 +09:00
syuilo
c29a5764d3
refactor(backend): better method name
2025-03-27 16:51:08 +09:00
syuilo
98554579ea
enhance: チャットのリアクションを削除できるように
2025-03-25 16:09:19 +09:00
syuilo
a01ae38a07
enhance: モデレーターがチャットルームの内容を確認・削除できるように
2025-03-25 15:51:45 +09:00
syuilo
304d0eb83b
enhance: チャットルームに招待されたときの通知を追加
2025-03-25 15:25:43 +09:00
syuilo
c51e862b7d
enhance: 送信したチャットルームへの招待を確認できるように
2025-03-25 13:41:12 +09:00
syuilo
f1f24e39d2
Feat: Chat ( #15686 )
...
* wip
* wip
* wip
* wip
* wip
* wip
* Update types.ts
* Create 1742203321812-chat.js
* wip
* wip
* Update room.vue
* Update home.vue
* Update home.vue
* Update ja-JP.yml
* Update index.d.ts
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Update CHANGELOG.md
* wip
* Update home.vue
* clean up
* Update misskey-js.api.md
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* lint fixes
* lint
* Update UserEntityService.ts
* search
* wip
* 🎨
* wip
* Update home.ownedRooms.vue
* wip
* Update CHANGELOG.md
* Update style.scss
* wip
* improve performance
* improve performance
* Update timeline.test.ts
2025-03-24 21:32:46 +09:00
syuilo
08b131ec33
refactor(backend): better prop name
2025-03-22 08:16:15 +09:00
syuilo
616cccf251
enhance(backend): refine system account ( #15530 )
...
* wip
* wip
* wip
* Update SystemAccountService.ts
* Update 1740121393164-system-accounts.js
* Update DeleteAccountService.ts
* wip
* wip
* wip
* wip
* Update 1740121393164-system-accounts.js
* Update RepositoryModule.ts
* wip
* wip
* wip
* Update ApRendererService.ts
* wip
* wip
* Update SystemAccountService.ts
* fix tests
* fix tests
* fix tests
* fix tests
* fix tests
* fix tests
* add print logs
* ログが長すぎて出てないかもしれない
* fix migration
* refactor
* fix fed-tests
* Update RelayService.ts
* merge
* Update user.test.ts
* chore: emit log
* fix: tweak sleep duration
* fix: exit 1
* fix: wait for misskey processes to become healthy
* fix: longer sleep for user deletion
* fix: make sleep longer again
* デッドロック解消の試み
https://github.com/misskey-dev/misskey/issues/15005
* Revert "デッドロック解消の試み"
This reverts commit 266141f66f
.
* wip
* Update SystemAccountService.ts
---------
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2025-03-02 20:06:20 +09:00
syuilo
c63c3462dd
refactor
2025-02-28 09:34:21 +09:00
Esurio/1673beta
bd13fb626c
fix(backend): S3_SAFEかつURL_SAFEでない文字列をprefixに使えないように ( #15455 )
...
* fix(backend): S3_SAFEかつURL_SAFEでない文字列をprefixに使えないように
* update CHANGELOG
* fix validation
* fix: remove unused import
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-02-26 01:56:23 +00:00
かっこかり
b5799351d0
fix(backend): clips/updateのdescriptionで空文字を許容するように ( #15429 )
...
* fix(backend): clips/updateのdescriptionで空文字を許容するように
* Update Changelog
* fix: createの際も空文字を許容するように
* fix test
* fix test
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-02-26 01:27:38 +00:00
syuilo
2b6638e160
feat: google analytics ( #15451 )
...
* wip backend
* wip frontend
* build misskey-js
* implement control panel
* fix
* introduce analytics wrapper
* spdx
* Update analytics.ts
* Update common.ts
* wip
* wip
* wip
* wip
* wip
* Update CHANGELOG.md
---------
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-02-25 11:51:23 +00:00
饺子w (Yumechi)
25052164c0
Merge commit from fork
...
* fix(backend): Fix an issue where the origin of ActivityPub lookup response was not validated correctly.
[GHSA-6w2c-vf6f-xf26](https://github.com/misskey-dev/misskey/security/advisories/GHSA-6w2c-vf6f-xf26 )
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
* Enhance: Add configuration option to disable all external redirects when responding to an ActivityPub lookup (config.disallowExternalApRedirect)
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
* fixup! fix(backend): Fix an issue where the origin of ActivityPub lookup response was not validated correctly.
* docs & one edge case
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
* apply suggestions
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
* remove stale frontend reference to _responseInvalidIdHostNotMatch
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
* apply suggestions
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
---------
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-02-23 19:21:34 +09:00
lqvp
e339293673
feat: アクセストークン発行時に通知するように ( #15422 )
...
* feat: アクセストークン発行時に通知するように (misskey-dev/misskey#13353 )
* fix: 不要な翻訳を削除/インデントを揃えるように
* chore(backend): 不要なawaitを削除
* chore: changelogへ追加
2025-02-11 01:15:33 +00:00
zyoshoka
dc608aada0
fix(backend): correct `admin/meta` response schema ( #15434 )
2025-02-09 07:17:48 +00:00
Esurio/1673beta
231c2c2e54
fix(backend): `following/invalidate`でフォロワーを解除しようとしているユーザーの情報を返すように ( #15430 )
2025-02-08 12:51:30 +00:00
syuilo
fbc6d0de54
enhance: ページslugに使用可能な文字を限定 ( #15395 )
...
* wip
* paramの正規表現で弾くように
* apiWithDialogを使用するように
* Update CHANGELOG.md
---------
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-02-05 01:39:46 +00:00
おさむのひと
f9ad127aaf
feat: 新カスタム絵文字管理画面(β)の追加 ( #13473 )
...
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* fix
* fix
* fix
* fix size
* fix register logs
* fix img autosize
* fix row selection
* support delete
* fix border rendering
* fix display:none
* tweak comments
* support choose pc file and drive file
* support directory drag-drop
* fix
* fix comment
* support context menu on data area
* fix autogen
* wip イベント整理
* イベントの整理
* refactor grid
* fix cell re-render bugs
* fix row remove
* fix comment
* fix validation
* fix utils
* list maximum
* add mimetype check
* fix
* fix number cell focus
* fix over 100 file drop
* remove log
* fix patchData
* fix performance
* fix
* support update and delete
* support remote import
* fix layout
* heightやめる
* fix performance
* add list v2 endpoint
* support pagination
* fix api call
* fix no clickable input text
* fix limit
* fix paging
* fix
* fix
* support search
* tweak logs
* tweak cell selection
* fix range select
* block delete
* add comment
* fix
* support import log
* fix dialog
* refactor
* add confirm dialog
* fix name
* fix autogen
* wip
* support image change and highlight row
* add columns
* wip
* support sort
* add role name
* add index to emoji
* refine context menu setting
* support role select
* remove unused buttons
* fix url
* fix MkRoleSelectDialog.vue
* add route
* refine remote page
* enter key search
* fix paste bugs
* fix copy/paste
* fix keyEvent
* fix copy/paste and delete
* fix comment
* fix MkRoleSelectDialog.vue and storybook scenario
* fix MkRoleSelectDialog.vue and storybook scenario
* add MkGrid.stories.impl.ts
* fix
* [wip] add custom-emojis-manager2.stories.impl.ts
* [wip] add custom-emojis-manager2.stories.impl.ts
* wip
* 課題はまだ残っているが、ひとまず完了
* fix validation and register roles
* fix upload
* optimize import
* patch from dev
* i18n
* revert excess fixes
* separate sort order component
* add SPDX
* revert excess fixes
* fix pre test
* fix bugs
* add type column
* fix types
* fix CHANGELOG.md
* fix lit
* lint
* tweak style
* refactor
* fix ci
* autogen
* Update types.ts
* CSS Module化
* fix log
* 縦スクロールを無効化
* MkStickyContainer化
* regenerate locales index.d.ts
* fix
* fix
* テスト
* ランダム値によるUI変更の抑制
* テスト
* tableタグやめる
* fix last-child css
* fix overflow css
* fix endpoint.ts
* tweak css
* 最新への追従とレイアウト微調整
* ソートキーの指定方法を他と合わせた
* fix focus
* fix layout
* v2エンドポイントのルールに対応
* 表示条件などを微調整
* fix MkDataCell.vue
* fix error code
* fix error
* add comment to MkModal.vue
* Update index.d.ts
* fix CHANGELOG.md
* fix color theme
* fix CHANGELOG.md
* fix CHANGELOG.md
* fix center
* fix: テーブルにフォーカスがあり、通常状態であるときはキーイベントの伝搬を止める
* fix: ロール選択用のダイアログにてコンディショナルロールを×ボタンで除外できなかったのを修正
* fix remote list folder
* sticky footers
* chore: fix ci error(just single line-break diff)
* fix loading
* fix like
* comma to space
* fix ci
* fix ci
* removed align-center
---------
Co-authored-by: osamu <46447427+sam-osamu@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-01-20 11:35:37 +00:00
anatawa12
145c6cf2b5
fix: node.js の punycode モジュールが使用されている場所がある問題 ( #15248 )
...
* fix: punycode.js が使用されていない場所がある問題
* fix: use punycode/punycode.js on backend
* fix: use punycode/punycode.es6.js on backend
* fix: d.ts missing declare keyword
* chore: don't use punycode.js on backend
* update pnpm-lock.yaml
* chore: remove punycode.d.ts
* chore: use punycode.js instead of punycode npm package
* chore: bump psl to 1.15.0
* chore: bump nsfwjs to 4.2.0
4.2.1 is not usable because of https://github.com/infinitered/nsfwjs/issues/904
* chore: prevent loading node-fetch from tensorflow
* chore: DOMWindow['document'] => Document
IDK why DOMWindow['document'] fails, but might be related to tsc internal complexity limit
* fix: disable --trace-deprecation
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 12:37:39 +00:00
かっこかり
da9e05582d
fix(backend): `pages/update`のnameの重複チェックはnameプロパティがある時のみ行うように ( #15104 )
...
* fix(backend): pagesのnameの重複チェックはnameプロパティがある時のみ行うように
* Update Changelog
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 11:30:49 +00:00
おさむのひと
64501c69a1
feat(frontend): Botプロテクションの設定変更時は実際に検証を通過しないと保存できないようにする ( #15151 )
...
* feat(frontend): CAPTCHAの設定変更時は実際に検証を通過しないと保存できないようにする
* なしでも保存できるようにした
* fix CHANGELOG.md
* フォームが増殖するのを修正
* add comment
* add server-side verify
* fix ci
* fix
* fix
* fix i18n
* add current.ts
* fix text
* fix
* regenerate locales
* fix MkFormFooter.vue
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 10:57:58 +00:00
4ster1sk
020882edcf
fix(backend): アプリ作成方式で作成したトークンの権限を表示するように ( #15177 )
2025-01-04 06:06:19 +00:00
かっこかり
f123be38b9
enhance(frontend): 照会の際にエラーを表示するように ( #15147 )
...
* enhance: 照会の失敗理由を表示するように
* Update Changelog
* fix
* fix test
* lookupErrors-> remoteLookupErrors
2024-12-19 16:05:33 +09:00
かっこかり
c1f19fad1e
fix(backend): fix apResolver ( #15010 )
...
* fix(backend): fix apResolver
* fix
* add comments
* tweak comment
2024-11-21 14:36:24 +09:00
かっこかり
53e827b18c
fix(backend): fix security patches ( #15008 )
2024-11-21 10:30:30 +09:00
syuilo
0f59adc436
fix ap/show
2024-11-21 09:25:18 +09:00
Julia
5f675201f2
Merge commit from fork
...
* enhance: Add a few validation fixes from Sharkey
See the original MR on the GitLab instance:
https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/484
Co-Authored-By: Dakkar <dakkar@thenautilus.net>
* fix: primitive 2: acceptance of cross-origin alternate
Co-Authored-By: Laura Hausmann <laura@hausmann.dev>
* fix: primitive 3: validation of non-final url
* fix: primitive 4: missing same-origin identifier validation of collection-wrapped activities
* fix: primitives 5 & 8: reject activities with non
string identifiers
Co-Authored-By: Laura Hausmann <laura@hausmann.dev>
* fix: primitive 6: reject anonymous objects that were fetched by their id
* fix: primitives 9, 10 & 11: http signature validation
doesn't enforce required headers or specify auth header name
Co-Authored-By: Laura Hausmann <laura@hausmann.dev>
* fix: primitive 14: improper validation of outbox, followers, following & shared inbox collections
* fix: code style for primitive 14
* fix: primitive 15: improper same-origin validation for
note uri and url
Co-Authored-By: Laura Hausmann <laura@hausmann.dev>
* fix: primitive 16: improper same-origin validation for user uri and url
* fix: primitive 17: note same-origin identifier validation can be bypassed by wrapping the id in an array
* fix: code style for primitive 17
* fix: check attribution against actor in notes
While this isn't strictly required to fix the exploits at hand, this
mirrors the fix in `ApQuestionService` for GHSA-5h8r-gq97-xv69, as a
preemptive countermeasure.
* fix: primitive 18: `ap/get` bypasses access checks
One might argue that we could make this one actually preform access
checks against the returned activity object, but I feel like that's a
lot more work than just restricting it to administrators, since, to me
at least, it seems more like a debugging tool than anything else.
* fix: primitive 19 & 20: respect blocks and hide more
Ideally, the user property should also be hidden (as leaving it in leaks
information slightly), but given the schema of the note endpoint, I
don't think that would be possible without introducing some kind of
"ghost" user, who is attributed for posts by users who have you blocked.
* fix: primitives 21, 22, and 23: reuse resolver
This also increases the default `recursionLimit` for `Resolver`, as it
theoretically will go higher that it previously would and could possibly
fail on non-malicious collection activities.
* fix: primitives 25-33: proper local instance checks
* revert: fix: primitive 19 & 20
This reverts commit 465a9fe6591de90f78bd3d084e3c01e65dc3cf3c.
---------
Co-authored-by: Dakkar <dakkar@thenautilus.net>
Co-authored-by: Laura Hausmann <laura@hausmann.dev>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-11-21 08:20:09 +09:00
zawa-ch.
763c708253
Fix(backend): アカウント削除のモデレーションログが動作していないのを修正 ( #14996 ) ( #14997 )
...
* アカウント削除のモデレーションログが動作していないのを修正
* update CHANGELOG
2024-11-19 21:12:40 +09:00
饺子w (Yumechi)
e800c0f85a
fix(backend): お知らせ作成時に画像URL入力欄を空欄に変更できないのを修正 ( #14990 )
...
* fix(backend): アナウンスメントを作成ときに画像URLを後悔できないのを修正
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
* Update CHANGELOG.md
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
---------
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2024-11-19 10:29:42 +09:00
かっこかり
c0d1682604
feat: 送信したフォローリクエストを確認できるように ( #14856 )
...
* FEAT: Allow users to view pending follow requests they sent
This commit implements the `following/requests/sent` interface firstly
implemented on Firefish, and provides a UI interface to view the pending
follow requests users sent.
* ux: should not show follow requests tab when have no pending sent follow req
* fix default followreq tab
* fix default followreq tab
* restore missing hasPendingReceivedFollowRequest in navbar
* refactor
* use tabler icons
* tweak design
* Revert "ux: should not show follow requests tab when have no pending sent follow req"
This reverts commit e580b92c37
.
* Update Changelog
* Update Changelog
* change tab titles
---------
Co-authored-by: Lhc_fl <lhcfl@outlook.com>
Co-authored-by: Hazelnoot <acomputerdog@gmail.com>
2024-11-15 17:30:54 +09:00
4ster1sk
794cb9ffe2
fix(backend): followedMessageではなくdescriptionになっていたのを修正 ( #14908 )
2024-11-07 17:16:51 +09:00
4ster1sk
bca690f256
fix(backend): フォロワーへのメッセージの絵文字をemojisに含めるように ( #14904 )
2024-11-07 15:10:10 +09:00
かっこかり
b1c82213a3
fix(backend): FTT無効時にユーザーリストタイムラインが使用できない問題を修正 ( #14878 )
...
* fix: return getfromdb when FanoutTimeline is not enabled
* Update Changelog
* fix
---------
Co-authored-by: Lhc_fl <lhcfl@outlook.com>
2024-11-06 22:01:21 +09:00
syuilo
74847bce30
enhance: アイコンデコレーション管理画面の改善
2024-10-28 20:42:14 +09:00
かっこかり
eeea4ec00b
fix(backend): 招待コード発行可能残り数算出に使用すべきロールポリシーの値が違うのを修正 ( #14834 )
...
* fix: should use invite limit cycle to calculate invite/limit
* Update Changelog
* Update changelog
---------
Co-authored-by: Lhc_fl <lhcfl@outlook.com>
2024-10-25 15:09:37 +09:00
syuilo
952fec5665
feat: 過去のノートを非公開化/フォロワーのみ表示可能にできる機能 ( #14814 )
...
* wip
* Update CHANGELOG.md
* wip
* wip
* wip
* Update privacy.vue
* wip
2024-10-22 17:08:53 +09:00
syuilo
5c79d8db20
feat: ノートの閲覧にログイン必須にする設定 ( #14799 )
...
* wip
* wip
* wip
* Update packages/frontend/src/pages/note.vue
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
* wip
* Update WebhookTestService.ts
* Update privacy.vue
* wip
* rename
* Update locales/ja-JP.yml
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
* 🎨
* wip
---------
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-10-21 12:49:29 +09:00
syuilo
ff47fef572
feat: リモートサーバーのサーバー情報を収集しないオプション ( #14634 )
...
* wip
* wip
* Update FetchInstanceMetadataService.ts
* Update FetchInstanceMetadataService.ts
* Update types.ts
2024-10-13 20:22:16 +09:00
かっこかり
45d42b8641
feat: ユーザーの名前に禁止ワードを設定できるように ( #14756 )
...
* wip
* 🎨
* Enhance: モデレーター以上は制限の影響を受けないように
* refactor
* better error handling
* fix
* Revert "better error handling"
This reverts commit 5670b29cfa
.
* error handling
* エラーが出ないのを修正
* translation
* Update Changelog
* status code
* ✌️
* モデレーター以上は影響ないことを明記
* 🎨
* update changelog
* spdx
* Update update.ts
* refactor
* eliminate `screen name`
* remove untracked file
---------
Co-authored-by: KanariKanaru <93921745+kanarikanaru@users.noreply.github.com>
2024-10-13 20:21:25 +09:00