1
0
mirror of https://github.com/misskey-dev/misskey.git synced 2026-06-17 08:14:50 +02:00

Compare commits

..

1831 Commits

Author SHA1 Message Date
syuilo
72a4413394 Update CHANGELOG.md 2026-05-15 09:56:40 +09:00
syuilo
eb7a2e107f support node 26 2026-05-15 09:56:04 +09:00
ã‹ãŖã“ã‹ã‚Š
1684dc9c05 fix(deps): broken lockfile (#17404) 2026-05-15 09:47:35 +09:00
renovate[bot]
08c6efb044 fix(deps): update dependency sanitize-html to v2.17.4 [security] [ci skip] (#17402)
* fix(deps): update dependency sanitize-html to v2.17.4 [security]

* fix minimumReleaseAgeExclude

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2026-05-15 09:44:57 +09:00
syuilo
62b323b58b update re2 2026-05-15 09:39:57 +09:00
ã‹ãŖã“ã‹ã‚Š
a3227c99ed deps: update dependencies (#17400)
* deps: Update Dependencies

* run pnpm dedupe

* update some major packages

* update to pnpm v11

* update systeminformation

* fix indent

* fix: rollback sharp to 0.33
2026-05-14 22:51:57 +09:00
github-actions[bot]
f4bca4641c Bump version to 2026.5.2-beta.0 2026-05-14 00:54:20 +00:00
syuilo
e233556700 Update CHANGELOG.md 2026-05-12 21:35:47 +09:00
4ster1sk
6665c398d6 feat: 投į¨ŋ通įŸĨč¨­åŽšã—ãŸãƒĻãƒŧã‚ļãƒŧをãƒĒ゚トでčĻ‹ã‚‹ã“ã¨ãŒã§ãã‚‹ã‚ˆã†ãĢ (#17385)
* feat: 投į¨ŋ通įŸĨã‚’č¨­åŽšã—ãŸãƒĻãƒŧã‚ļãƒŧをãƒĒ゚トでčĻ‹ã‚‹ã“ã¨ãŒã§ãã‚‹ã‚ˆã†ãĢ

* test(e2e): 投į¨ŋ通įŸĨぎテ゚トčŋŊ加

* chore: 不åŋ…čρãĒã‚ŗãƒŧドぎ削除
2026-05-12 21:34:45 +09:00
github-actions[bot]
bf3c1f6686 Bump version to 2026.5.2-alpha.0 2026-05-12 10:16:46 +00:00
ãŠã•ã‚€ãŽã˛ã¨
f6ea52b1be docs: AI ã‚ŗãƒŧãƒ‡ã‚Ŗãƒŗã‚°ã‚¨ãƒŧã‚¸ã‚§ãƒŗãƒˆå…ąé€šč¨­åŽšã‚’čŋŊ加 (#17396)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 17:56:06 +09:00
Acid Chicken
b950f905e5 perf: rsa sign on slacc (#17322)
* perf: rsa sign on slacc

* fix: missing async/await

* fix: threadPoolSize is always number

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* test(backend): init slacc in unit setup and await ap-request signing

* test(backend): move slacc init to unit testEnvironment

* test(backend): delete unused file

* docs: update CHANGELOG

* docs: fix indent

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* chore: migrate to vitest

* fix

* fix: fix changelog

* chore: regenerate lockfile

* docs: changelog

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2026-05-12 17:36:49 +09:00
Copilot
a19da1258d fix(frontend): missing はい/いいえ in base-role ã€ŒãƒãƒŖãƒŗãƒãƒĢぎäŊœæˆã€ header (#17380)
* Initial plan

* fix(frontend): show base-role value text for channel creation policy

Agent-Logs-Url: https://github.com/misskey-dev/misskey/sessions/c4fcb1b7-eb6e-444b-bbdf-9b367bc13544

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Update changelog [ci skip]

* fix

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2026-05-10 14:00:43 +09:00
Sayamame-beans
408d05654c fix(frontend): デッキぎã‚Ģナムから開いたã‚ĸãƒŗãƒ†ãƒŠãƒģãƒĒã‚šãƒˆãŽįˇ¨é›†ã‚Ļã‚Ŗãƒŗãƒ‰ã‚Ļを、"ポップã‚ĸã‚Ļト"、"新しいã‚ŋãƒ–ã§čĄ¨į¤ē"、"ãƒĒãƒŗã‚¯ã‚’ã‚ŗãƒ”ãƒŧ"した場合ãĢčĒ¤ãŖãŸãƒĒãƒŗã‚¯ãŒä¸Žãˆã‚‰ã‚Œã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17384)
* fix(frontend): incorrect page link for deck pageWindow

* docs(changelog): update changelog
2026-05-10 13:35:18 +09:00
Sayamame-beans
3074784d4d Fix: ãƒĒã‚šãƒˆįˇ¨é›†į”ģéĸãĢおけるãƒĻãƒŧã‚ļãƒŧčŋŊ加時ぎãƒĻãƒŧã‚ļãƒŧ選択ダイã‚ĸログãĢおいãĻ、č‡ĒčēĢぎã‚ĸã‚Ģã‚ĻãƒŗãƒˆãŒæ¤œį´ĸįĩæžœãŽä¸€čϧãĢ襨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17386)
* fix(frontend): cannot add self to list by selectUser dialog

* docs(changelog): update changelog
2026-05-10 07:55:25 +09:00
ã‹ãŖã“ã‹ã‚Š
a09a2c2eee enhance: įĩĩ文字デãƒŧã‚ŋãŽå‚į…§ã‚’č‡Ē前ナイブナãƒĒãĢ変更 (#17381)
* wip

* enhance: įĩĩ文字デãƒŧã‚ŋãŽå‚į…§ã‚’č‡Ē前ナイブナãƒĒãĢ変更

* fix

* update to v17.0.2

* fix assets handling

* fix

* update mfm-js

* update emoji library

* Update COPYING [ci skip]

* Update Changelog

* Update Changelog

* fix: į̝æœĢぎįĩĩ文字ãĢフりãƒŧãƒĢバックできるようãĢ
2026-05-09 18:35:38 +09:00
4ster1sk
717931cfcb fix(frontend): ãƒ‰ãƒŠã‚¤ãƒ–ãŽãƒ•ã‚Ąã‚¤ãƒĢæ›´æ–°ãŒåŗåē§ãĢ反映されãĒã„å•éĄŒãŽäŋŽæ­Ŗ (#17383) 2026-05-09 18:33:16 +09:00
syuilo
9027129b58 enhance(frontend): MkInputでthrottleできるようãĢ & delayč¨­åŽšã§ãã‚‹ã‚ˆã†ãĢ 2026-05-08 18:26:05 +09:00
ã‹ãŖã“ã‹ã‚Š
b73ac26612 Update CHANGELOG.md 2026-05-07 13:37:36 +09:00
ã‹ãŖã“ã‹ã‚Š
b528ff9c59 enhance(frontend): テãƒŧãƒžãŽéŠį”¨įŽĄį†ã‚’æ”šå–„ (#17376)
* wip

* add test

* use themeManager.currentCompiledTheme for obtaining theme variables / reduce getComputedStyle usage

* fix

* fix: better error handling on theme installation

* Update Changelog

* chore: remove frontend-shared builds as it is currently working as a stub package

* fix: broken lockfile

* fix

* fix lint

* fix
2026-05-07 11:42:45 +09:00
github-actions[bot]
a82ba0d775 [skip ci] Update CHANGELOG.md (prepend template) 2026-05-06 10:44:25 +00:00
github-actions[bot]
b78e0168b0 Release: 2026.5.1 2026-05-06 10:44:17 +00:00
ã‹ãŖã“ã‹ã‚Š
33f59b3469 Update CHANGELOG.md 2026-05-06 15:08:22 +09:00
syuilo
5b478dda9d New Crowdin updates (#17372)
* New translations ja-jp.yml (Turkish)

[ci skip]

* New translations ja-jp.yml (Thai)

[ci skip]

* New translations ja-jp.yml (Thai)

[ci skip]

* New translations ja-jp.yml (Chinese Simplified)

[ci skip]

* New translations ja-jp.yml (Chinese Simplified)

[ci skip]
2026-05-06 11:12:51 +09:00
ã‹ãŖã“ã‹ã‚Š
90725d6a8c enhance(frontend): MkNoteDetailedぎå…Ŧé–‹į¯„å›˛čĄ¨į¤ēを攚善 (#17374)
* enhance(frontend): 노트 ėƒė„¸ íŽ˜ė´ė§€ė—ė„œ ęŗĩ氜 ë˛”ėœ„ëĨŧ ėžė„¸ížˆ í‘œė‹œí•˜ë„ëĄ ę°œė„ ë¨

* Update Changelog

* fix

---------

Co-authored-by: NoriDev <m1nthing2322@gmail.com>
2026-05-05 20:53:27 +09:00
github-actions[bot]
86542f07d3 Bump version to 2026.5.1-beta.0 2026-05-04 14:22:27 +00:00
syuilo
45022bc766 New Crowdin updates (#17324)
* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

[ci skip]

* New translations ja-jp.yml (Chinese Simplified)

[ci skip]

* New translations ja-jp.yml (Chinese Simplified)

[ci skip]

* New translations ja-jp.yml (Chinese Simplified)

[ci skip]

* New translations ja-jp.yml (Chinese Simplified)

[ci skip]

* New translations ja-jp.yml (Korean)

[ci skip]

* New translations ja-jp.yml (Chinese Simplified)

[ci skip]

* New translations ja-jp.yml (Chinese Simplified)

[ci skip]

* New translations ja-jp.yml (Chinese Simplified)

[ci skip]

* New translations ja-jp.yml (Chinese Simplified)

[ci skip]
2026-05-04 20:32:06 +09:00
Wonwoo Choi
35711fc8e1 fix(backend): Acquire lock of Announce object in announceNote even if it is from a relay actor (#17356)
fix(backend): Always acquire lock of Announce object in announceNote
2026-05-03 21:03:25 +09:00
ã‹ãŖã“ã‹ã‚Š
45f140aa86 deps: Update dependencies [ci skip] (#17368)
* update deps

* update deps

* rollback got to v14

* Revert "rollback got to v14"

This reverts commit 780abdf7b6.

* rollback rolldown to v1.0.0-rc.15
2026-05-03 18:24:53 +09:00
renovate[bot]
22ce7b58ca chore(deps): update [docker] update dependencies [ci skip] (#17369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-03 18:22:37 +09:00
renovate[bot]
37107c9818 chore(deps): update [github actions] update dependencies [ci skip] (#17370)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-03 18:22:02 +09:00
renovate[bot]
a5a43c8c06 chore(deps): update [github actions] update dependencies (major) (#17204)
chore(deps): update [github actions] update dependencies

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-03 17:45:12 +09:00
ã‹ãŖã“ã‹ã‚Š
723d8add2f refactor: パ゚キãƒŧぞわりぎナイブナãƒĒを更新 (#17354)
* refactor: パ゚キãƒŧぞわりぎナイブナãƒĒを更新

* fix
2026-05-03 17:16:06 +09:00
ã‹ãŖã“ã‹ã‚Š
9d20152e05 Update CHANGELOG.md (follow-up of #17121) [ci skip 2026-05-03 17:15:29 +09:00
Copilot
37412f0e1b enhance: Add canCreateChannel role policy (#17121)
* Initial plan

* Add canCreateChannel role policy to control channel creation

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Add canCreateChannel to getUserPolicies return value

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Add canCreateChannel translations for en-US and ja-JP

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Add canCreateChannel to misskey-js rolePolicies array

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Add frontend UI for canCreateChannel policy configuration

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* fix: build autogen files

* 🎨

* migrate

* fix: unnecessary changes to non-Japanese locales

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2026-05-03 17:10:17 +09:00
kami8
712b51c142 Fix(frontend): ロãƒŧãƒĢč¨­åŽšį”ģéĸでロãƒŧãƒĢをã‚ĸã‚ĩã‚¤ãƒŗ/ã‚ĸã‚ĩã‚¤ãƒŗč§Ŗé™¤ã—ãŸéš›ã€ãƒĒロãƒŧドしãĒくãĻもį”ģéĸãĢ反映されるようäŋŽæ­Ŗ (#17365)
* ロãƒŧãƒĢぎäģ˜ä¸Žã€å‰ĨåĨĒ垌ãĢPaginatorぎãƒĒロãƒŧãƒ‰ã‚’čĄŒãŖãĻ襨į¤ēを更新するå‡Ļį†ã‚’čŋŊ加

* CHANGELOGを更新
2026-05-03 16:15:03 +09:00
github-actions[bot]
2b4bdbfde7 Bump version to 2026.5.1-alpha.0 2026-05-03 06:54:33 +00:00
ã‹ãŖã“ã‹ã‚Š
39032c4b1b fix: update summaly (#17355)
* fix: update summaly

* Update Changelog
2026-05-03 15:48:22 +09:00
ã‹ãŖã“ã‹ã‚Š
f5a3d8996d fix(backend): å…Ŧé–‹į¯„å›˛ãŒãƒ•ã‚Šãƒ­ãƒ¯ãƒŧぎ投į¨ŋが通įŸĨされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17363)
* fix(backend): å…Ŧé–‹į¯„å›˛ãŒãƒ•ã‚Šãƒ­ãƒ¯ãƒŧぎ投į¨ŋが通įŸĨされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Udpate Changelog
2026-05-03 15:43:39 +09:00
kami8
d55e936653 devcontainerᔍdbã‚ŗãƒŗãƒ†ãƒŠãŽvolumeぎマã‚Ļãƒŗãƒˆãƒ‘ã‚šã‚’å¤‰æ›´ (#17360)
* `.devcontainer/compose.yml`ぎvolumeぎマã‚Ļãƒŗãƒˆãƒ‘ã‚šã‚’äŋŽæ­Ŗ

* CHANGELOGぎ更新
2026-05-03 09:23:00 +09:00
mq1
6229ac365e fix(backend): ULIDäŊŋį”¨æ™‚ãĢnotificationTimelineへぎXADDãŒå¤ąæ•—ã—įļšã‘、通įŸĨãŒį´„10᧒遅åģļã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17358) 2026-05-02 20:23:10 +09:00
github-actions[bot]
6d9412b338 [skip ci] Update CHANGELOG.md (prepend template) 2026-05-02 03:30:59 +00:00
github-actions[bot]
a23a72b015 Release: 2026.5.0 2026-05-02 03:30:51 +00:00
ã‹ãŖã“ã‹ã‚Š
93bd9d551d fix: review fixes for v2026.5.0 release (#17350)
* fix/perf: NotificationManager in NoteCreateService

* fix: treat skip as successful return in InboxProcessorService

* chore: remove comment

* fix: simplify ReactionPicker/EmojiPicker by importing components directly

* refactor: move filename parsing to setup in MkUploaderItems

* refactor
2026-05-02 10:03:34 +09:00
syuilo
35d6c20828 Update CHANGELOG.md 2026-05-01 14:22:54 +09:00
github-actions[bot]
7c9942f014 Bump version to 2026.5.0-alpha.0 2026-05-01 05:21:43 +00:00
github-actions[bot]
665adfccb7 Bump version to 2026.4.0-beta.2 2026-04-30 02:31:32 +00:00
ã‹ãŖã“ã‹ã‚Š
973b5b50a9 fix(frontend): ぞれãĢãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãƒģįĩĩ文字ピッã‚Ģãƒŧが動äŊœã—ãĒくãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17349)
* Revert "fix(frontend): popupぎりã‚ĸã‚¯ãƒ†ã‚Ŗãƒ“ãƒ†ã‚ŖãŒãƒãƒŖãƒŗã‚¯ã‚’ãžãŸã„ã§åˆ‡ã‚Œã‚‹äē‹ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ"

This reverts commit 0a93f526dd.

* fix: iOS PWA でãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãƒģįĩĩ文字ピッã‚Ģãƒŧが動äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

Agent-Logs-Url: https://github.com/lqvp/misskey-tempura/sessions/44526368-0e6a-4a94-8991-fcdc094d2b96

Co-authored-by: lqvp <183242690+lqvp@users.noreply.github.com>

* refactor

* fix

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: lqvp <183242690+lqvp@users.noreply.github.com>
2026-04-30 11:29:23 +09:00
renovate[bot]
985de915b3 fix(deps): update dependency sanitize-html to v2.17.3 [security] (#17319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-27 15:17:25 +09:00
ã‹ãŖã“ã‹ã‚Š
0227148c89 Update CHANGELOG for #17347 2026-04-27 10:40:12 +09:00
github-actions[bot]
7bfd85cdba Bump version to 2026.4.0-beta.1 2026-04-27 01:33:17 +00:00
Copilot
21f51be5b7 fix: redirect beta/alpha/rc "what's new" button to GitHub releases page (#17347)
* Initial plan

* fix: redirect beta/alpha/rc update info button to GitHub releases page

Agent-Logs-Url: https://github.com/misskey-dev/misskey/sessions/4ac22dd9-13dd-4ef2-a6f7-d68cfda4a19f

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-27 10:31:02 +09:00
ã‹ãŖã“ã‹ã‚Š
b45f18cd14 fix(backend): ノãƒŧト通įŸĨでå…Ŧé–‹į¯„å›˛ã‚’č€ƒæ…Žã™ã‚‹ã‚ˆã†ãĢ (#17335)
* fix(backend): ノãƒŧト通įŸĨでå…Ŧé–‹į¯„å›˛ã‚’č€ƒæ…Žã™ã‚‹ã‚ˆã†ãĢ

* refactor: remove unused imports

* Update Changelog

* Update Changelog

* fix: フりロワãƒŧ限厚ノãƒŧトは通įŸĨ

---------

Co-authored-by: lqvp <183242690+lqvp@users.noreply.github.com>
2026-04-27 10:26:13 +09:00
ã‹ãŖã“ã‹ã‚Š
6176cca0a4 fix(frontend): MenuRadioãŽæŒ‡åŽšæ–šæŗ•å¤‰æ›´ (#17345)
* fix(frontend): MenuRadioãŽæŒ‡åŽšæ–šæŗ•å¤‰æ›´

* fix indent

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-27 10:18:03 +09:00
syuilo
9569310adb type: 'radio'ãĒMenuItemが抟čƒŊしãĒくãĒãŖãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17344)
* fix

* Update CHANGELOG.md
2026-04-27 10:08:45 +09:00
syuilo
b28338c812 enhance(frontend): å­ãƒĄãƒ‹ãƒĨãƒŧ襨į¤ē時ぎã‚Ŧãƒŧドがradioでも劚くようãĢ 2026-04-27 08:42:12 +09:00
ã‹ãŖã“ã‹ã‚Š
0f5da63328 fix(backend): ãƒ–ãƒ­ãƒƒã‚¯ã—ãŸã‚¤ãƒŗã‚šã‚ŋãƒŗã‚šãŽInboxã‚¸ãƒ§ãƒ–ãŒč“„įŠã—įļšã‘ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17336)
* fix(backend): ãƒ–ãƒ­ãƒƒã‚¯ã—ãŸã‚¤ãƒŗã‚šã‚ŋãƒŗã‚šãŽInboxã‚¸ãƒ§ãƒ–ãŒč“„įŠã—įļšã‘ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* refactor

* Upddate changelog

---------

Co-authored-by: lqvp <183242690+lqvp@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-26 11:40:55 +09:00
Evan Prodromou
23715c649c fix: change bare activity.actor to getApId(activity.actor) in InboxPrâ€Ļ (#17340)
* fix: change bare activity.actor to getApId(activity.actor) in InboxProcessorService (closes #17338)

* doc: update CHANGELOG.md to note fix for #17338

* fix: additional activity.actor wrappers in ApInboxService

* Update CHANGELOG.md

---------

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-26 11:39:16 +09:00
ã‹ãŖã“ã‹ã‚Š
1dc5c60b2b fix(backend): meilisearchをäŊŋį”¨ã—ãĻいãĒい場合ぎnoteSearchableScopeぎ値がčĒ¤ãŖãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17341)
* fix(backend): meilisearchをäŊŋį”¨ã—ãĻいãĒい場合ぎnoteSearchableScopeぎ値がčĒ¤ãŖãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2026-04-26 11:37:26 +09:00
ã‹ãŖã“ã‹ã‚Š
3a3057a1b1 fix(backend): RoleService.getAdministratorIds でãƒĻãƒŧã‚ļãƒŧIDãŒé‡č¤‡ã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17334)
* fix(backend): adminロãƒŧãƒĢãŒč¤‡æ•°äģ˜ã„ãĻãĻも通įŸĨãŒé‡č¤‡ã—ãĒいようãĢ

* add tests

* Update Changelog

* âœŒī¸

Co-Authored-by: lqvp <183242690+lqvp@users.noreply.github.com>

---------

Co-authored-by: lqvp <183242690+lqvp@users.noreply.github.com>
2026-04-24 17:56:52 +09:00
github-actions[bot]
8a85ee1d45 Bump version to 2026.4.0-beta.0 2026-04-23 01:13:02 +00:00
ã‹ãŖã“ã‹ã‚Š
c1b73f947c fix(gh): misskey-jsがpublishされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ 2026-04-22 19:24:31 +09:00
ã‹ãŖã“ã‹ã‚Š
bda98ba1d9 deps: update security dependencies (#17330)
* deps: update security dependencies

* deps: update some major dependencies

* attempt to fix tsconfig

* attempt to fix tsconfig

* attempt to fix tsconfig

* fix build
2026-04-22 11:46:45 +09:00
ã‹ãŖã“ã‹ã‚Š
351fe2f70a fix(frontend): loosen MkButton props type (#17329) 2026-04-21 16:37:59 +09:00
ã‹ãŖã“ã‹ã‚Š
6d15fe32d0 enhance(backend/test): Migrate tests to vitest (#16935)
* wip

* update fake-timers and migrate

* fix

* remove jest-mock

* fix

* fix

* fix

* fix

* attempt to fix unit tests

* attempt to fix e2e tests

* fix federation test [ci skip]

* attempt to fix e2e tests

* fix typecheck

* fix unit tests

* fix

* attempt to fix e2e

* fix

* Revert "attempt to fix e2e"

This reverts commit b7b7b05d85.

* attempt to fix e2e

* revert attempt to fix e2e

* update deps

* update vitest

* migrate

* attempt to fix e2e

* update

* fix

* remove vite swc plugin as oxc parser can handle decorators

* attempt to fix drive/files/create test

* Revert "attempt to fix drive/files/create test"

This reverts commit 4715153375.

* fix: ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆãĢぞつわるテ゚トをunitからe2eãĢį§ģ動

* attempt to fix e2e

* remove swc

* attempt to fix e2e

* Revert "attempt to fix e2e"

This reverts commit 9fb86a4076.

* add logs for debug

* attempt to fix e2e

* Partially revert "attempt to fix e2e"

This reverts commit fb0008c85a.

* attempt to fix test

* fix: attempt to fix test

* Revert "fix: attempt to fix test"

This reverts commit ed2f5c40e8.

* Revert "attempt to fix test"

This reverts commit d7329c46f1.

* attempt to fix e2e

* fix: surpass eventemitter warning by increasing defaultMaxListeners

* attempt to fix e2e

* fix

* fix e2e not ending properly

* exp: add hanging-process reporter for investigation

* Revert "exp: add hanging-process reporter for investigation"

This reverts commit 26851f8282.

* update changelog
2026-04-20 14:57:29 +09:00
ã‹ãŖã“ã‹ã‚Š
1391269a67 Update CHANGELOG.md 2026-04-18 15:02:27 +09:00
github-actions[bot]
86092f2faf Bump version to 2026.4.0-alpha.6 2026-04-16 07:37:51 +00:00
ã‹ãŖã“ã‹ã‚Š
c640aeb27a deps: update security dependencies (#17318) 2026-04-16 16:32:17 +09:00
ã‹ãŖã“ã‹ã‚Š
0be3142d54 fix(backend): devã‚ĩãƒŧバãƒŧぎčĩˇå‹•ãĢå¤ąæ•—ã™ã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17317)
* fix(backend): devã‚ĩãƒŧバãƒŧぎčĩˇå‹•ãĢå¤ąæ•—ã™ã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­ŖīŧŸ

* fix
2026-04-16 14:33:36 +09:00
ã‹ãŖã“ã‹ã‚Š
37bfcb604f enhance(backend): bundle backend using Rolldown (#17068)
* enhance(backend): bundle backend using rolldown

* fix

* fix [ci skip]

* remove unused build script

* fix

* enhance: čĩˇå‹•からlistenぞでかかる時間を減らす (MisskeyIO#1410)

* âœŒī¸

* fix

* update rolldown

* fix(backend): extract static error classes to avoid rolldown design:paramtypes omission

* update rolldown

* Revert "fix(backend): extract static error classes to avoid rolldown design:paramtypes omission"

This reverts commit e2243c9dc3.

* fix

* perf: avoid generating sourcemap in production

* fix

* fix

* fix

* fix paths

* fix

* fix

* fix

* fix

* fix

* enhance: ãƒãƒƒã‚¯ã‚¨ãƒŗãƒ‰ãŽé–‹į™ēã‚ĩãƒŧバãƒŧåˆļåžĄã‚’rolldownå´ã§čĄŒã†ã‚ˆã†ãĢ

* remove nodemon

* Update Changelog

* tweak config

* fix

* fix

* fix

* clean up

---------

Co-authored-by: あわわわとãƒŧãĢゅ <17376330+u1-liquid@users.noreply.github.com>
Co-authored-by: bab <mashirohira@gmail.com>
2026-04-16 12:44:50 +09:00
github-actions[bot]
024f8bb102 Bump version to 2026.4.0-alpha.5 2026-04-15 14:12:00 +00:00
Jaehong Kang
277a1ef31f fix(backend): handle relay-delivered Announce activities correctly (#17308)
* fix(backend): handle relay-delivered Announce activities correctly

Relay Announce activities now use the target note URI instead of the
Announce URI for federation allowlist checks, dedup locking, and
existence lookups. Notes delivered via relay are published directly to
the notes stream without creating a renote.

Closes #11056

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

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-15 23:05:36 +09:00
syuilo
8e536eb4b9 Update CHANGELOG.md 2026-04-15 20:30:23 +09:00
ã‚‹ãĄãƒŧか
360e805638 enhance: ã‚ĸバã‚ŋãƒŧãƒ‡ã‚ŗãƒŦãƒŧã‚ˇãƒ§ãƒŗã¸ãŽã‚ĢテゴãƒĒぎ導å…Ĩ (#17034)
* feat(backend): AvatarDecorationãĢcategoryをčŋŊ加し、é–ĸ逪APIãŽãƒ—ãƒ­ãƒ‘ãƒ†ã‚Ŗãƒģæˆģり値ãĢも反映

* feat(frontend): ã‚ĸバã‚ŋãƒŧãƒ‡ã‚ŗãƒŦãƒŧã‚ˇãƒ§ãƒŗãŽã‚ĢテゴãƒĒč¨­åŽšæŠŸčƒŊ

* chore(frontend): įŽĄį†į”ģéĸとãƒĻãƒŧã‚ļãƒŧ側ぎį”ģéĸで、ã‚ĸバã‚ŋãƒŧãƒ‡ã‚ŗãƒŦãƒŧã‚ˇãƒ§ãƒŗãŽã‚°ãƒĢãƒŧãƒ—åŒ–ãŽã‚ŗãƒŧãƒ‰ã‚’ã‚ã‚‹į¨‹åēĻįĩąä¸€

* CHANGELOGを更新

* fix: group-avatar-decorations.tsをäŊŋį”¨ã™ã‚‹ã‚ˆã†äŋŽæ­Ŗ

* chore: ã‚ŗãƒŧãƒ‡ã‚Ŗãƒŗã‚°čĻį´„ã¸ãŽæē–æ‹ 

* 型エナãƒŧã‚’č§Ŗæļˆ
2026-04-15 20:29:17 +09:00
ã‹ãŖã“ã‹ã‚Š
c95aef7535 refactor(frontend): ロãƒŧãƒĢポãƒĒã‚ˇãƒŧã‚¨ãƒ‡ã‚Ŗã‚ŋをįĩąåˆ (#17125)
* refactor(frontend): ロãƒŧãƒĢポãƒĒã‚ˇãƒŧã‚¨ãƒ‡ã‚Ŗã‚ŋをįĩąåˆ

* fix

* fix lint

* clean up

* fix

* fix lint
2026-04-15 17:41:40 +09:00
github-actions[bot]
758a085812 Bump version to 2026.4.0-alpha.4 2026-04-15 02:53:54 +00:00
syuilo
a6de986f83 Update CHANGELOG.md 2026-04-15 11:40:36 +09:00
Copilot
12e590a63f fix(backend): Prevent retry of inbox jobs with role-based validation errors (#17167)
* Initial plan

* Handle too many mentions error in inbox without retry

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-15 11:39:49 +09:00
ã‹ãŖã“ã‹ã‚Š
a5b1f839ac fix(backend): fix flaky e2e test on recursive drive folder check (#17311) 2026-04-15 11:38:38 +09:00
ã‹ãŖã“ã‹ã‚Š
d7ceaa9c88 fix(backend): attempt to fix flaky e2e test on home timeline streaming (#17312) 2026-04-15 11:37:20 +09:00
ã‹ãŖã“ã‹ã‚Š
55b0fbd172 fix(backend): robots.txtでčŋ”却する内厚ぎčĒŋ整 (#17165)
* fix(backend): robots.txtでčŋ”却する内厚ぎčĒŋ整

* Update Changelog

* fix: add paths

* Update Changleog
2026-04-15 09:56:07 +09:00
ã‹ãŖã“ã‹ã‚Š
6532cb85e7 Update CHANGELOG.md for #17310 [ci skip] 2026-04-15 09:03:53 +09:00
mq1
5dc508346c fix(backend): ULIDã‚’æ­Ŗã—ãå‡Ļį†ã§ããĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17310)
fix(backend): fix parseUlidFull to correctly handle Crockford Base32 chars W/X/Y/Z
2026-04-15 09:02:43 +09:00
renovate[bot]
c9c6ef2772 chore(deps): update dependency lodash to v4.18.1 [security] (#17278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 23:49:55 +09:00
ã‹ãŖã“ã‹ã‚Š
4d6256e91d deps: Update dependencies (#17304)
* update deps

* update dependencies (major)

* fix: migrate meilisearch

* fix: migrate color-convert types

* fix cypress?

* rollback ts v5 as it is not supported by cypress

* fix fake-timers
2026-04-12 00:57:16 +09:00
github-actions[bot]
cdf0438154 Bump version to 2026.4.0-alpha.3 2026-04-11 05:45:50 +00:00
ã‹ãŖã“ã‹ã‚Š
29cecd750f fix(backend): 存在しãĒいActorãĢ寞するDeleteã‚ĸã‚¯ãƒ†ã‚Ŗãƒ“ãƒ†ã‚Ŗã¯į„ĄčĻ–ã™ã‚‹ã‚ˆã†ãĢ (#17294)
* fix(backend): 存在しãĒいActorãĢ寞するDeleteã‚ĸã‚¯ãƒ†ã‚Ŗãƒ“ãƒ†ã‚Ŗã¯į„ĄčĻ–ã™ã‚‹ã‚ˆã†ãĢ

* Update Changelog

* fix

* Revert "fix"

This reverts commit 985feea326.

* fix?

* fix

* fix

* fix

* fix

* refactor: remove unused imports

* fix

* Update CHANGELOG.md [ci skip]
2026-04-11 14:45:11 +09:00
FINEARCHS
68e3476a16 fix(frontend): ドナイブへぎį”ģ像ã‚ĸップロãƒŧド時ãĢãƒ•ã‚Ąã‚¤ãƒĢåãŽå¤‰æ›´ãŒį„ĄčĻ–ã•ã‚Œã‚‹ä¸å…ˇåˆã‚’äŋŽæ­Ŗ (#17302)
* ãƒ‰ãƒŠã‚¤ãƒ–ãŽåŽŸãƒ•ã‚Ąã‚¤ãƒĢ名ではãĒくsuffixをäŋæŒã™ã‚‹ã‚ˆã†ãĢ

* MkUploaderItemsã§ãƒ•ã‚Ąã‚¤ãƒĢåãŒåœ§į¸ŽåžŒãŽæ‹Ąåŧĩ子もåĢめãĻ襨į¤ēされるようãĢ

* Apply suggestion from @kakkokari-gtyih

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>

* changelog

---------

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-11 14:23:42 +09:00
ã‹ãŖã“ã‹ã‚Š
3cb003366f fix(frontend): é€ŖåˆãŒį„ĄåŠšåŒ–ã•ã‚ŒãŸã‚ĩãƒŧバãƒŧでInstance TickerãŽč¨­åŽšãŒä¸­é€”åŠį̝ãĢæļˆãˆãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17303)
* fix(frontend): é€ŖåˆãŒį„ĄåŠšåŒ–ã•ã‚ŒãŸã‚ĩãƒŧバãƒŧでInstance TickerãŽč¨­åŽšãŒä¸­é€”åŠį̝ãĢæļˆãˆãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2026-04-11 13:16:55 +09:00
danominium
787de92c2f fix(frontend): bannerUrl がįŠēぎ場合ãĢ /about ペãƒŧジで /null へぎã‚ĸクã‚ģ゚がį™ēį”Ÿã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17299)
fix(frontend): bannerUrl がįŠēぎ場合ãĢ /about ペãƒŧジで /null へぎãƒĒクエ゚トがį™ēį”Ÿã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

bannerUrl がįŠēぎ場合は čƒŒæ™¯į”ģåƒã‚’č¨­åŽšã—ãĒい。

about.overview.vue ぎ background-image: url("null"); ãĢã‚ˆãŖãĻ /null へぎãƒĒクエ゚トがį™ēį”Ÿã—ãĻしぞうため。
2026-04-11 02:04:39 +09:00
syuilo
22577e2134 perf(frontend): improve about#emojis rendering performance 2026-04-09 14:28:04 +09:00
github-actions[bot]
0355420c81 Bump version to 2026.4.0-alpha.2 2026-04-09 05:23:06 +00:00
ã‹ãŖã“ã‹ã‚Š
4750980cef enhance(frontend): update vite to v8 再 (#17289)
* Revert "Revert "deps: Update vite to v8" (#17283)"

This reverts commit a18c909ba3.

* fix(frontend): popupぎりã‚ĸã‚¯ãƒ†ã‚Ŗãƒ“ãƒ†ã‚ŖãŒãƒãƒŖãƒŗã‚¯ã‚’ãžãŸã„ã§åˆ‡ã‚Œã‚‹äē‹ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* update vite/rolldown
2026-04-09 14:20:07 +09:00
ã‹ãŖã“ã‹ã‚Š
92e0e8edf7 refactor(frontend): refactor deck events (#17290) 2026-04-08 14:45:30 +09:00
ã‹ãŖã“ã‹ã‚Š
5cb3a91b15 fix(frontend): follow-up of #17282 2026-04-08 10:48:07 +09:00
ã‹ãŖã“ã‹ã‚Š
60018d16da enhance(frontend): niraxãĢテ゚トをčŋŊ加 (#17287)
* fix(frontend): follow-up of #13509

* fix: fix use of inappropriate method

* enhance(frontend): niraxãĢテ゚トをčŋŊ加
2026-04-07 22:03:08 +09:00
github-actions[bot]
b63984893e Bump version to 2026.4.0-alpha.1 2026-04-07 11:42:38 +00:00
ã‹ãŖã“ã‹ã‚Š
d4a5048aae fix(frontend): routerがmatchAllãĢå…ĨãŖãŸéš›ãĢ一åēĻ location.href ãĢã‚ˆã‚‹éˇį§ģをčŠĻãŋる挙動ãĢé–ĸするäŋŽæ­Ŗ (#17281)
* fix(frontend): follow-up of #13509

* fix: fix use of inappropriate method

* Update CHANGELOG.md [ci skip]
2026-04-07 20:35:06 +09:00
syuilo
b9923d0a23 New Crowdin updates (#17260)
* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)
2026-04-07 19:30:26 +09:00
syuilo
38be94b2a3 enhance(frontend): improve nested popup menu ux (#17187)
* wip

* Update MkMenu.vue

* wip

* wip

* Update MkMenu.vue

* wip

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue

* đŸ’ĸ

* Update MkMenu.vue

* Update MkMenu.vue

* Update MkMenu.vue
2026-04-07 16:52:30 +09:00
ã‹ãŖã“ã‹ã‚Š
ae34578c6f refactor(frontend): MkButtonぎpropsį­‰æ•´į† (#17282)
* refactor(frontend): MkButtonぎpropsį­‰æ•´į†

* fix
2026-04-06 22:28:44 +09:00
github-actions[bot]
367766d864 Bump version to 2026.4.0-alpha.0 2026-04-06 11:16:40 +00:00
ã‹ãŖã“ã‹ã‚Š
a18c909ba3 Revert "deps: Update vite to v8" (#17283)
Revert "deps: Update vite to v8 (#17238)"

This reverts commit e601fcb729.
2026-04-06 20:15:57 +09:00
ã‹ãŖã“ã‹ã‚Š
0b7b59f1e2 enhance(frontend): ãƒãƒŖãƒŗãƒãƒĢ指厚ãƒĒノãƒŧトでãƒĒノãƒŧãƒˆå…ˆãŽãƒãƒŖãƒŗãƒãƒĢãĢį§ģ動できるようãĢ (#17280)
* enhance(frontend): ãƒãƒŖãƒŗãƒãƒĢ指厚ãƒĒノãƒŧトでãƒĒノãƒŧãƒˆå…ˆãŽãƒãƒŖãƒŗãƒãƒĢãĢį§ģ動できるようãĢ

* Update Changelog

* fix condition

* refactor
2026-04-05 17:22:17 +09:00
Evan Prodromou
8169c57bd1 fix(backend): handle array or string in alsoKnownAs (#17275)
* fix: handle array or string in alsoKnownAs, closes #17274

* style: use more idiomatic toArray() for UserEntityService handling of alsoKnownAs

* fix: handle array-valued or unwrapped alsoKnownAs in ApPersonService

* doc: note about bugfix for alsoKnownAs
2026-04-05 00:43:37 +09:00
ã‹ãŖã“ã‹ã‚Š
e601fcb729 deps: Update vite to v8 (#17238)
* deps: Update vite to v8

* fix

* migrate some plugins to rolldown-based

* fix broken lockfile

* wip

* update rolldown

* override rolldown version

* perf

* spdx

* fix

* update vite to 8.0.1

* chore: rewrite rollup-plugin-unwind-css-module-class-name with MagicString

* format

* swap type definitions

* replace using MagicString

* provided magicString

* fix code style

* fix

* fix

* fix

* fix

* fix

---------

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

* fix: lint fixes

* swap sass with sass-embedded

* fix lint

* fix: ã‚¤ãƒŗãƒŠã‚¤ãƒŗåŒ–ã•ã‚ŒãŸVue SFCå‡ē力ãĢ寞しãĻCSS ModuleåŽšįžŠå‰Šé™¤ãŒåŠšã‹ãĒいぎをäŋŽæ­Ŗ

* fix

* fix: ãƒãƒƒã‚¯ã‚¨ãƒŗãƒ‰ãŽCSSčĒ­ãŋčžŧãŋãŽæ–šæŗ•ãŒæ‚ĒいぎをäŋŽæ­Ŗ

* fix: äŊŋį”¨ã•ã‚ŒãĒいpreloadを削除

* fix lint [ci skip]

* Apply suggestion from @syuilo

* Add comment in pnpm-workspace.yaml [ci skip]

* update vite/rolldown

* remove magic-string

---------

Co-authored-by: cm-ayf <cm.ayf2734@gmail.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-04-01 17:05:57 +09:00
Copilot
5361a3819b fix(backend): /api-doc ãĢã‚ĸクã‚ģ゚できãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17267)
* Initial plan

* fix: fix /api-doc returning 404 after backend minification (#17266)

Agent-Logs-Url: https://github.com/misskey-dev/misskey/sessions/8d7d0585-55da-412f-a8ee-dde1b6565026

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* enhance: API DocぎHTMLをJSXã§į”Ÿæˆã™ã‚‹ã‚ˆã†ãĢ

* Update Changelog

* chore: remove unused imports [ci skip]

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2026-04-01 14:43:34 +09:00
ã‹ãŖã“ã‹ã‚Š
dbc5fe2454 deps: update dependencies (#17263)
* deps: update dependencies

* fix?

* fix

* Update AiService.ts

* fix

* update deps
2026-04-01 12:16:36 +09:00
github-actions[bot]
7bd7e5c4db [skip ci] Update CHANGELOG.md (prepend template) 2026-03-31 12:14:45 +00:00
github-actions[bot]
b97683cdb2 Release: 2026.3.2 2026-03-31 12:14:38 +00:00
github-actions[bot]
ece9679cc4 Bump version to 2026.3.2-beta.0 2026-03-23 11:14:32 +00:00
ã‹ãŖã“ã‹ã‚Š
c5fd36094d enhance(frontend): ã‚Ļã‚Ŗãƒŗãƒ‰ã‚Ļぎ初期ã‚ĩイã‚ēをį”ģéĸã‚ĩイã‚ēã‹ã‚‰å‹•įš„ãĢæąēめるようãĢ (#17257)
* enhance(frontend): ã‚Ļã‚Ŗãƒŗãƒ‰ã‚Ļぎ初期ã‚ĩイã‚ēをį”ģéĸã‚ĩイã‚ēã‹ã‚‰å‹•įš„ãĢæąēめるようãĢ

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-03-22 13:32:45 +09:00
ã‹ãŖã“ã‹ã‚Š
b5a6e12439 fix(frontend): ã‚Ļã‚Ŗãƒŗãƒ‰ã‚Ļぎã‚ŋイトãƒĢをクãƒĒックしãĻも最前éĸãĢå‡ēãĒいぎをäŋŽæ­Ŗ (#17255)
* fix(frontend): ã‚Ļã‚Ŗãƒŗãƒ‰ã‚Ļぎã‚ŋイトãƒĢをクãƒĒックしãĻも最前éĸãĢå‡ēãĒいぎをäŋŽæ­Ŗ

* Update Changelog
2026-03-22 13:21:14 +09:00
github-actions[bot]
1d171aeb96 Bump version to 2026.3.2-alpha.2 2026-03-21 03:32:26 +00:00
ã‹ãŖã“ã‹ã‚Š
b826a16231 fix(backend): 初期čĒ­čžŧ時ãĢåŋ…čρãĒãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽã‚ĸã‚ģットがすずãĻčĒ­ãŋčžŧぞれãĻいãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17254)
* fix: ãƒãƒƒã‚¯ã‚¨ãƒŗãƒ‰ãŽCSSčĒ­ãŋčžŧãŋãŽæ–šæŗ•ãŒæ‚ĒいぎをäŋŽæ­Ŗ

* fix: äŊŋį”¨ã•ã‚ŒãĒいpreloadを削除

* Update Changelog

* add comments
2026-03-21 12:26:50 +09:00
renovate[bot]
9e38288da5 chore(deps): update [github actions] update dependencies (#17253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 20:24:58 +09:00
ã‹ãŖã“ã‹ã‚Š
57ed2914d1 deps: update dependencies (#17252) [ci skip] 2026-03-20 20:08:58 +09:00
ã‹ãŖã“ã‹ã‚Š
54e94263a8 fix(backend): ãƒãƒŖãƒŗãƒãƒĢミãƒĨãƒŧトを有劚ãĢしãĻいる際ãĢノãƒŧãƒˆãŽé–˛čĻ§ãŒã§ããĒくãĒã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17251)
* fix(backend): ãƒãƒŖãƒŗãƒãƒĢミãƒĨãƒŧトäŊŋį”¨æ™‚ãĢãƒĻãƒŧã‚ļãƒŧぎノãƒŧト一čϧčĒ­ãŋčžŧãŋãĢå¤ąæ•—ã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* more fix

* Update Changelog
2026-03-20 19:11:56 +09:00
4ster1sk
0e4732180f fix(frontend): Unicodeįĩĩ文字ぎãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãŒčĄ¨į¤ēãĢ反映されãĒã„ã“ã¨ãŒã‚ã‚‹å•éĄŒãŽäŋŽæ­Ŗ (#17250) 2026-03-20 17:15:59 +09:00
github-actions[bot]
df1fa8b90a Bump version to 2026.3.2-alpha.1 2026-03-20 07:36:34 +00:00
syuilo
45df44899a New Crowdin updates (#17234)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)
2026-03-20 16:35:19 +09:00
ã‹ãŖã“ã‹ã‚Š
2904b5a342 fix(backend): fix streaming note hiding logic (#17248)
* fix(backend): fix streaming note hiding logic

* Update Changelog

* refactor: avoid using generator function

---------

Co-authored-by: Acid Chicken <root@acid-chicken.com>
2026-03-20 14:01:27 +09:00
ã‹ãŖã“ã‹ã‚Š
f16ef2ef56 fix(frontend): įĩĩ文字パãƒŦットがįŠēぎįŠļ態でMisskeyãĢついãĻぎペãƒŧã‚¸ãŒé–˛čĻ§ã§ããĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17243)
* fix(frontend): įĩĩ文字パãƒŦットがįŠēぎįŠļ態でMisskeyãĢついãĻぎペãƒŧã‚¸ãŒé–˛čĻ§ã§ããĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

* extension

* add comment
2026-03-18 21:34:28 +09:00
ã‹ãŖã“ã‹ã‚Š
a3b0dc91e8 fix(backend): AcceptヘッダをįŊ˛åãŽå¯žčąĄãĢåĢめãĒいようãĢ (#17240)
* fix(backend): AcceptヘッダをįŊ˛åãŽå¯žčąĄãĢåĢめãĒいようãĢ

* Update Changelog
2026-03-16 13:42:51 +09:00
syuilo
07bbc5ab33 enhance(frontend): improve zoomLines effect 2026-03-11 15:59:00 +09:00
syuilo
bbffa563d9 refactor(frontend): refactor blur.glsl 2026-03-11 10:35:59 +09:00
github-actions[bot]
1eefd8d3f0 Bump version to 2026.3.2-alpha.0 2026-03-09 09:32:58 +00:00
ã‹ãŖã“ã‹ã‚Š
589a3e229b Update CHANGELOG.md 2026-03-09 18:25:04 +09:00
renovate[bot]
9377e94072 chore(deps): update [docker] update dependencies (#17203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 18:22:09 +09:00
ã‹ãŖã“ã‹ã‚Š
bc19359876 fix(backend): follow-up of 47db963 (#17231)
fix(backend): follow-up of 47db963d8d
2026-03-09 18:21:25 +09:00
syuilo
47db963d8d chore(backend): éžãƒ­ã‚°ã‚¤ãƒŗįŠļæ…‹ãŽã‚ąã‚ĸ 2026-03-09 13:57:59 +09:00
syuilo
277716bc49 fix(backend): č‡Ēåˆ†ãŽčĄŒãŖãŸãƒ•ã‚Šãƒ­ãƒ¯ãƒŧ限厚投į¨ŋぞたは指名投į¨ŋãĢč‡Ē分č‡ĒčēĢでãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãĒãŠčĄŒãŖãŸå ´åˆãŽã‚¤ãƒ™ãƒŗãƒˆãŒæĩã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ 2026-03-09 13:51:56 +09:00
syuilo
db5cc6c058 Revert "fix(backend): č‡Ēåˆ†ãŽčĄŒãŖãŸãƒ•ã‚Šãƒ­ãƒ¯ãƒŧ限厚投į¨ŋぞたは指名投į¨ŋãĢč‡Ē分č‡ĒčēĢでãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãĒãŠčĄŒãŖãŸå ´åˆãŽã‚¤ãƒ™ãƒŗãƒˆãŒæĩã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ"
This reverts commit 06f8dd39ca.
2026-03-09 13:51:18 +09:00
syuilo
06f8dd39ca fix(backend): č‡Ēåˆ†ãŽčĄŒãŖãŸãƒ•ã‚Šãƒ­ãƒ¯ãƒŧ限厚投į¨ŋぞたは指名投į¨ŋãĢč‡Ē分č‡ĒčēĢでãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãĒãŠčĄŒãŖãŸå ´åˆãŽã‚¤ãƒ™ãƒŗãƒˆãŒæĩã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ 2026-03-09 13:50:10 +09:00
syuilo
307e90427a format 2026-03-09 13:48:32 +09:00
github-actions[bot]
d083855f7f [skip ci] Update CHANGELOG.md (prepend template) 2026-03-09 01:03:01 +00:00
github-actions[bot]
4ec56ba9f6 Release: 2026.3.1 2026-03-09 01:02:56 +00:00
ã‹ãŖã“ã‹ã‚Š
5e62ad160e Update CHANGELOG.md 2026-03-09 09:36:02 +09:00
github-actions[bot]
e554e72b55 Bump version to 2026.3.1-alpha.0 2026-03-09 00:34:23 +00:00
ã‹ãŖã“ã‹ã‚Š
25783425e1 deps: update dependencies (#17229)
* deps: update dependencies

* update lockfile
2026-03-09 09:09:09 +09:00
ã‹ãŖã“ã‹ã‚Š
582ebe422c Update CHANGELOG.md 2026-03-09 08:24:52 +09:00
ã‹ãŖã“ã‹ã‚Š
06e74508a2 Merge commit from fork
* Tighten security on channels

* Fix main channel

* add comments, improve typing

* fix indent

* fix: missing membership checks in chat-room

* remove unnecessary check in chat-user

* fix

* refactor: use exists

* fix

---------

Co-authored-by: Julia Johannesen <julia@insertdomain.name>
2026-03-09 08:18:14 +09:00
ã‹ãŖã“ã‹ã‚Š
b361a10c48 Merge commit from fork
* Tighten security in `HashtagChannel`

* Add isNoteVisibleForMe in stream channel

Co-Authored-By: Julia Johannesen <julia@insertdomain.name>

* Tighten note visibility checks in WebSocket (No.1)

* refactor

* Fix main channel

Co-Authored-By: Julia Johannesen <julia@insertdomain.name>

* fix typo

* fix missing lockdown (requireSigninToViewContents) checks

* fix(backend): streamingでぎロックダã‚ĻãƒŗæŒ™å‹•äŋŽæ­Ŗ

* fix: åŧ•ᔍãƒĒノãƒŧãƒˆã‚’į„ĄæĄäģļで隠しãĻã„ãŸå•éĄŒã‚’äŋŽæ­Ŗ

* fix: åŧ•ᔍãƒĒノãƒŧãƒˆã‚’å˜į´”ãĢãƒĒノãƒŧト場合ãĢ内厚がčĻ‹ãˆã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* refac

* fix

* fix

* fix

* Update docs

---------

Co-authored-by: Julia Johannesen <julia@insertdomain.name>
Co-authored-by: KanariKanaru <93921745+kanarikanaru@users.noreply.github.com>
2026-03-09 08:15:31 +09:00
syuilo
a07dc589e7 Merge commit from fork
Co-authored-by: Julia Johannesen <197614925+juliajohannesen@users.noreply.github.com>
2026-03-09 08:14:12 +09:00
ã‹ãŖã“ã‹ã‚Š
b5d399674a Merge commit from fork
Co-authored-by: Julia Johannesen <julia@insertdomain.name>
2026-03-09 08:12:20 +09:00
ã‹ãŖã“ã‹ã‚Š
e074a91189 Merge commit from fork 2026-03-09 08:11:25 +09:00
renovate[bot]
29c357a988 chore(deps): update [github actions] update dependencies (#17202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-07 14:39:40 +09:00
ã‹ãŖã“ã‹ã‚Š
ac45781ef9 deps: security dependency updates [ci skip] (#17225) 2026-03-07 14:35:10 +09:00
anatawa12
5d78b320de chore(backend): delete unused ChannelsService (#17218) 2026-03-05 21:57:07 +09:00
syuilo
a025209602 fix(frontend): æ„å›ŗã›ãšå‚į…§æ¸Ąã—ãĢãĒã‚Šåž—ã‚‹įŽ‡æ‰€ã‚’deepCloneするようãĢäŋŽæ­Ŗ (#17207)
įžįŠļは(おそらく)å•éĄŒã¯čĩˇããĻいãĒいがäģŠåžŒå•éĄŒãŒį™ēįžã™ã‚‹ã‚ˇãƒãƒĨエãƒŧã‚ˇãƒ§ãƒŗãŒå‡ēãĻくる可čƒŊ性がある
2026-03-05 20:38:42 +09:00
github-actions[bot]
d5b86a8b49 [skip ci] Update CHANGELOG.md (prepend template) 2026-03-05 10:56:52 +00:00
github-actions[bot]
1a62318bcc Release: 2026.3.0 2026-03-05 10:56:46 +00:00
syuilo
9c30c0915a Update CHANGELOG.md 2026-03-05 19:35:06 +09:00
github-actions[bot]
53b9abd098 Bump version to 2026.3.0-alpha.0 2026-03-05 10:28:23 +00:00
ã‹ãŖã“ã‹ã‚Š
3980b2ca55 fix: review fixes (#17208)
* fix: OAuthぎContent-Typeã‚’æ­Ŗã—ãåˆ¤åŽšã™ã‚‹ã‚ˆã†ãĢ

* fix(frontend): fix outdated comments

* fix: storagePersistenceぎtop-level awaitã‚’č§Ŗæļˆ

* fix

* fix(frontend): add comment

Co-Authored-By: anatawa12 <anatawa12@icloud.com>

* fix

* fix: rename `users/get-following-users-by-birthday`

* fix: fix types

* Update MkForm.vue

* refactor utility/storage.ts

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-03-05 19:24:30 +09:00
syuilo
810faa8e5d New Crowdin updates (#17097)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)
2026-02-28 15:48:03 +09:00
æžœį‰ŠãƒĒãƒŗ
ae1304d645 perf: MFM MkA, MkLink, MkSparkle ぎ slot æŒ‡åŽšæ–šæŗ•ã‚’äŋŽæ­Ŗ (#17156) 2026-02-28 15:47:29 +09:00
ã‹ãŖã“ã‹ã‚Š
676e164634 deps: Security dependency updates (#17198)
* update deps

* update security deps
2026-02-28 13:56:34 +09:00
ã‹ãŖã“ã‹ã‚Š
71f50d3280 fix(frontend): secure contextではãĒい場合ぱトãƒŦãƒŧジ永įļšåŒ–ã‚’įĸēčĒã—ãĒいようãĢ (#17189)
* fix(frontend): secure contextではãĒい場合ぱトãƒŦãƒŧジ永įļšåŒ–ã‚’įĸēčĒã—ãĒいようãĢ

* Update Changelog
2026-02-23 16:53:41 +09:00
github-actions[bot]
d4cd47f455 Bump version to 2026.2.0-beta.0 2026-02-22 10:11:10 +00:00
ã‹ãŖã“ã‹ã‚Š
22a6935468 deps: update dependencies (#17184)
* update deps

* fix
2026-02-22 19:06:33 +09:00
syuilo
264068c58b chore(frontend): getHexã§ä¸æ­ŖãĒ値がčŋ”される可čƒŊ性があるぎをäŋŽæ­Ŗ 2026-02-22 13:56:20 +09:00
ã‹ãŖã“ã‹ã‚Š
97f7659bac fix(frontend): ã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŽčĄ¨į¤ē更新がおかしくãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17175)
* fix(frontend): ã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŽčĄ¨į¤ē更新がおかしくãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* fix: keyがついãĻいãĒã„įŽ‡æ‰€å…¨ãĻをäŋŽæ­Ŗ

* Revert "fix: keyがついãĻいãĒã„įŽ‡æ‰€å…¨ãĻをäŋŽæ­Ŗ"

This reverts commit 7f4d90feea.

* Revert "fix(frontend): ã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŽčĄ¨į¤ē更新がおかしくãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ"

This reverts commit 38a000c904.

* fix
2026-02-16 19:56:48 +09:00
ã‹ãŖã“ã‹ã‚Š
41620600cc fix(frontend): ã‚Ļã‚Ŗãƒŗãƒ‰ã‚Ļぎドナッグãƒģã‚ĩイã‚ēå¤‰æ›´ãŽãƒã‚¤ãƒŗã‚ŋãƒŧã‚’ã‚­ãƒŖãƒ—ãƒãƒŖã™ã‚‹ã‚ˆã†ãĢ (#17159)
* fix(frontend): ã‚Ļã‚Ŗãƒŗãƒ‰ã‚Ļぎドナッグãƒģã‚ĩイã‚ēå¤‰æ›´ãŽãƒã‚¤ãƒŗã‚ŋãƒŧã‚’ã‚­ãƒŖãƒ—ãƒãƒŖã™ã‚‹ã‚ˆã†ãĢ

* Update Changelog

* fix
2026-02-16 19:23:30 +09:00
ã‹ãŖã“ã‹ã‚Š
b5121dc70e deps: update dependencies (#17174)
* deps: update dependencies

* update

* run pnpm dedupe

* update tsgo

* rollback tsgo
2026-02-16 12:02:36 +09:00
ã‹ãŖã“ã‹ã‚Š
bd992661f4 Update CHANGELOG.md 2026-02-15 15:50:42 +09:00
ã‹ãŖã“ã‹ã‚Š
799f5ab504 enhance(frontend): いくつかぎtodoãŽč§Ŗæļˆ (#17154) 2026-02-15 12:08:10 +09:00
github-actions[bot]
d4bc753e72 Bump version to 2026.2.0-alpha.0 2026-02-15 03:04:38 +00:00
ã‹ãŖã“ã‹ã‚Š
af40eb4d31 fix: user-tagペãƒŧジでãƒĻãƒŧã‚ļãƒŧãŒé‡č¤‡ã—ãĻčĒ­ãŋčžŧぞれるぎをäŋŽæ­Ŗ (#17163)
* fix: user-tagをペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãĢ寞åŋœã•せる

* update changelog
2026-02-15 11:50:23 +09:00
ã‹ãŖã“ã‹ã‚Š
a22b82c414 fix(frontend): フりロãƒŧæ‰ŋčĒé€šįŸĨでフりロãƒŧã•ã‚ŒãŸéš›ãŽãƒĄãƒƒã‚ģãƒŧジ内ぎįĩĩæ–‡å­—ãŒčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17164)
* fix(frontend): フりロãƒŧæ‰ŋčĒé€šįŸĨでフりロãƒŧã•ã‚ŒãŸéš›ãŽãƒĄãƒƒã‚ģãƒŧジ内ぎįĩĩæ–‡å­—ãŒčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* update changelog
2026-02-15 11:49:37 +09:00
ã‹ãŖã“ã‹ã‚Š
28f5b2f173 fix(frontend): ãŧかしãƒģåĄ—ã‚Šã¤ãļしãƒģãƒĸã‚ļイクぎį”ģ像エフェクトをäŋŽæ­Ŗ (#17155)
* fix(frontend): ãŧかしãƒģåĄ—ã‚Šã¤ãļしãƒģãƒĸã‚ļイクぎį”ģ像エフェクトをäŋŽæ­Ŗ

* Update Changelog

* fix changelog [ci skip]

* fix changelog [ci skip]

* tweak

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-02-08 09:48:04 +09:00
æžœį‰ŠãƒĒãƒŗ
c86cbfcfba worker-multi-dispatch ãŽã‚ŗãƒĄãƒŗãƒˆã‚’æŠ‘åˆļ (#17157) 2026-02-07 17:46:17 +09:00
ã‹ãŖã“ã‹ã‚Š
00cbd1e6db fix(frontend): ノãƒŧãƒˆãŽčŠŗį´°čĄ¨į¤ēでãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗä¸€čĻ§ãŒå…¨äģļ襨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17137)
* fix(frontend): ノãƒŧãƒˆãŽčŠŗį´°čĄ¨į¤ēでãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗä¸€čĻ§ãŒå…¨äģļ襨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2026-02-02 22:37:24 +09:00
ã‹ãŖã“ã‹ã‚Š
65e51463c8 fix(frontend): CSSぎ指厚がčĒ¤ãŖãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17135) 2026-01-31 22:38:16 +09:00
Ken_Cir
39362f78a6 fix(backend): inconsistent permissions for /admin/get-user-ips (#17136)
* fix(backend): inconsistent permissions for /admin/get-user-ips

* Update Changelog
2026-01-31 22:37:48 +09:00
renovate[bot]
d2154214ba fix(deps): update dependency tar to v7.5.7 [security] (#17104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 18:18:34 +09:00
renovate[bot]
97312b97f8 chore(deps): update pnpm to v10.28.2 [security] (#17133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 10:53:08 +09:00
poppingmoon
5e2b041f84 fix(frontend): remove ensureSignin from reversi game page (#17130) 2026-01-28 20:44:58 +09:00
syuilo
ec97f49919 Create copilot-instructions.md 2026-01-28 19:42:43 +09:00
ã‹ãŖã“ã‹ã‚Š
4910fff7fb fix(frontend): mCaptchaが動äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17127)
* fix(frontend): mCaptchaが動äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

* remove mcaptcha vanila glue
2026-01-28 11:55:35 +09:00
ã‹ãŖã“ã‹ã‚Š
fc7655c808 deps: update dependencies [ci skip] (#17126)
* deps: update dependencies

* update vunerable packages as well
2026-01-24 02:41:10 +09:00
syuilo
ae2ac9d50f fix(frontend): 投į¨ŋフりãƒŧムぎã‚ĸップロãƒŧãƒ‰ãƒ•ã‚Ąã‚¤ãƒĢã‚’åŗã‚¯ãƒĒックしたときぎ挙動がおかしいぎをäŋŽæ­Ŗ 2026-01-22 20:31:42 +09:00
syuilo
8932492fd3 enhance(frontend): æˇģäģ˜į”ģåƒãŽãƒĄãƒ‹ãƒĨãƒŧã‚’åŗã‚¯ãƒĒックでもå‘ŧãŗå‡ēせるようãĢ 2026-01-22 20:29:11 +09:00
syuilo
a168e7b648 enhance(dev): Improve mem report (#17119)
* wip

* Update report-backend-memory.yml

* Update report-backend-memory.yml

* Update measure-memory.mjs

* Update report-backend-memory.yml
2026-01-22 18:53:53 +09:00
syuilo
1adcb03b93 Update report-backend-memory.yml 2026-01-22 15:01:38 +09:00
syuilo
b6e737dc76 Update report-backend-memory.yml 2026-01-22 14:47:05 +09:00
syuilo
2fa6ecc7ef enhance(dev): improve mem report (#17118)
* wip

* wip

* Update report-backend-memory.yml

* Update report-backend-memory.yml

* Update .github/workflows/report-backend-memory.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-22 14:32:57 +09:00
syuilo
f744b5711f enhance(dev): improve mem report (#17117)
* wip

* Update report-backend-memory.yml
2026-01-22 13:14:05 +09:00
syuilo
2b3d72bb73 Update measure-memory.mjs (#17116) 2026-01-22 12:16:38 +09:00
syuilo
3205eb6925 lint 2026-01-22 12:14:51 +09:00
syuilo
d4fcc694a6 enhance(backend): remove redis-info dep 2026-01-22 10:28:03 +09:00
ã‹ãŖã“ã‹ã‚Š
389861f1da refactor(frontend): fix invalid self-closing tags (#17103)
* fix(frontend): fix invalid self-closing tags

* apply eslint rules

* fix

* fix
2026-01-16 22:42:08 +09:00
syuilo
ec683f04d1 enhance(dev): ãƒĄãƒĸãƒĒäŊŋį”¨é‡æ¯”čŧƒãŽActionsでGCしãĻから取垗する
Resolve #16961
2026-01-14 16:12:44 +09:00
ã‹ãŖã“ã‹ã‚Š
bd81a6c8ad refactor(frontend): anyを除åŽģ2 (#17092)
* wip

* fix types

* fix
2026-01-14 14:45:45 +09:00
syuilo
d8318c02a1 refactor(frontend): MkRadioをMkRadiosãĢįĩąåˆ 2026-01-14 14:21:51 +09:00
ã‹ãŖã“ã‹ã‚Š
b941c896aa refactor(frontend): MkRadiosぎ指厚をpropsã‹ã‚‰čĄŒã†ã‚ˆã†ãĢ (#16597)
* refactor(frontend): MkRadiosぎ指厚をpropsã‹ã‚‰čĄŒã†ã‚ˆã†ãĢ

* spdx

* fix lint

* fix: mkradiosã‚’å‹•įš„slotsãĢ寞åŋœã•せる

* fix: remove comment [ci skip]

* fix lint

* fix lint

* migrate

* rename

* fix

* fix

* fix types

* remove unused imports

* fix

* wip

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-01-14 14:02:50 +09:00
github-actions[bot]
153ebd4392 Bump version to 2026.1.0-beta.0 2026-01-13 06:30:05 +00:00
ã‹ãŖã“ã‹ã‚Š
bc5aef846b enhance(frontend): į”ģéĸ嚅がåēƒã„ã¨ãã¯ãƒĄãƒ‡ã‚Ŗã‚ĸをæ¨Ēä¸Ļãŗã§čĄ¨į¤ēできるようãĢするã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã‚’čŋŊ加 (#16946)
* enhance(frontend): į”ģéĸ嚅がåēƒã„ã¨ãã¯ãƒĄãƒ‡ã‚Ŗã‚ĸをæ¨Ēä¸Ļãŗã§čĄ¨į¤ēできるようãĢするã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã‚’čŋŊ加

* Update Changelog

* Update CHANGELOG.md
2026-01-13 15:28:54 +09:00
poppingmoon
4a0edf348a fix(frontend): use logical OR for fallback of file comment (#17089) 2026-01-13 15:04:23 +09:00
ã‹ãŖã“ã‹ã‚Š
f3aa5081ed fix(frontend): MkFormでå…Ĩ力ãĢ不備がある場合は厌äē†ãƒœã‚ŋãƒŗã‚’æŠŧしãĻįļščĄŒã§ããĒいようãĢ (#17096)
* fix(frontend): MkFormでå…Ĩ力ãĢ不備がある場合は厌äē†ãƒœã‚ŋãƒŗã‚’æŠŧしãĻįļščĄŒã§ããĒいようãĢ

* fix lint
2026-01-13 15:02:50 +09:00
poppingmoon
c0d5c0df69 fix(frontend): add "px" suffix to borderWidth of Ui:C:container (#17088)
* fix: add "px" suffix to borderWidth of Ui:C:container

* docs: update changelog
2026-01-13 15:00:46 +09:00
ãŠã•ã‚€ãŽã˛ã¨
0b383efa5a Refactor FileServerService: Extract file handling logic into dedicated handlers (#17090)
- Introduced FileServerDriveHandler to manage drive file requests.
- Created FileServerFileResolver for resolving file access keys and downloading files.
- Added FileServerProxyHandler to handle proxy requests and image processing.
- Moved utility functions to FileServerUtils for better organization.
- Removed redundant methods from FileServerService, improving readability and maintainability.
2026-01-13 15:00:11 +09:00
ã‹ãŖã“ã‹ã‚Š
abe745ec87 fix(frontend/widget): AiscriptAppぎ゚クãƒĒãƒ—ãƒˆéŠį”¨ã‚’æ‰‹å‹•ãĢ変更 (#17095) 2026-01-11 21:56:58 +09:00
syuilo
2168395b71 New Crowdin updates (#16982)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2026-01-11 19:37:00 +09:00
renovate[bot]
7a9c4591c2 chore(deps): update [docker] update dependencies (#16082)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-11 19:33:48 +09:00
ã‹ãŖã“ã‹ã‚Š
4bc0026900 deps(frontend): update vue-tsc to v3.2.1 (#17091) 2026-01-11 15:00:00 +09:00
syuilo
faf2399e31 enhance(frontend): é€ŖåˆãĒしが指厚されãĻいるときãĢå…Ŧé–‹į¯„å›˛ã‚’æŒ‡åãĢできるようãĢ
Resolve #14760
2026-01-11 13:58:58 +09:00
ãŠã•ã‚€ãŽã˛ã¨
106fffdcfe chore(backend): FileServerServiceぎunit-testをčŋŊ加 (#17086)
* add test

* fix

* fix type error
2026-01-11 11:34:29 +09:00
github-actions[bot]
141964e57c Bump version to 2026.1.0-alpha.4 2026-01-09 14:19:30 +00:00
syuilo
41592eafb3 refactor: make noImplicitAny true (#17083)
* wip

* Update emojis.emoji.vue

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update manager.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update analytics.ts
2026-01-09 22:06:40 +09:00
ã‹ãŖã“ã‹ã‚Š
2a14025c29 fix(frontend): popupぎemitåž‹ãŒæ­Ŗã—ãåˆŠį”¨ã§ãã‚‹ã‚ˆã†ãĢäŋŽæ­Ŗ (#16826)
* fix(frontend): popupぎemitåž‹ãŒæ­Ŗã—ãåˆŠį”¨ã§ãã‚‹ã‚ˆã†ãĢäŋŽæ­Ŗ

* fix: revert unnecessary code (for testing purpose)

* fix lint

* fix type errors

* fix types

* add comment

* fix

* fix

* fix: OverloadToUnionぎäģ•įĩ„ãŋを変更

* add comments, clean up

* fix lint

* fix types

* clean up [ci skip]

* fix

* add comments [ci skip]
2026-01-09 12:21:08 +09:00
github-actions[bot]
75b5dc1cd8 Bump version to 2026.1.0-alpha.3 2026-01-08 12:35:31 +00:00
syuilo
ee0eeb052f 🎨 2026-01-08 21:31:44 +09:00
ã‹ãŖã“ã‹ã‚Š
ece4efcefe fix(frontend): mfmFunctionPickerをäŊŋį”¨ã—ãĻæŒŋå…Ĩã™ã‚‹éš›ãŽãƒãƒŗãƒ‰ãƒĒãƒŗã‚°ã‚’æ”šå–„ (#17018)
* fix(frontend): mfmFunctionPickerをäŊŋį”¨ã—ãĻįĩĩ文字をæŒŋå…Ĩã™ã‚‹éš›ãŽãƒãƒŗãƒ‰ãƒĒãƒŗã‚°ã‚’æ”šå–„

* fix

* Update MkPostForm.vue

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-01-08 21:08:27 +09:00
ã‹ãŖã“ã‹ã‚Š
cd973b252a fix(frontend): 2月29æ—ĨをčĒ•į”Ÿæ—ĨãĢč¨­åŽšã—ãĻã„ã‚‹å ´åˆã€åšŗåš´ã¯3月1æ—ĨをčĒ•į”Ÿæ—ĨとしãĻæ‰ąã†ã‚ˆã†ãĢ (#17072)
* fix(frontend): 2月29æ—ĨをčĒ•į”Ÿæ—ĨãĢč¨­åŽšã—ãĻã„ã‚‹å ´åˆã€åšŗåš´ã¯3月1æ—ĨをčĒ•į”Ÿæ—ĨとしãĻæ‰ąã†ã‚ˆã†ãĢ

* Update Changelog

* add tests

* spdx
2026-01-08 12:16:33 +09:00
anatawa12
666f78e676 enable and fix no-unused-vars and no-async-promise-executor (#17070)
* dev: set --no-bail for lint task

* lint: enable no-async-promise-executor lint and fix them

* lint: enable no-unused-vars with allowing _ prefix

* lint: fix semi
2026-01-08 11:49:12 +09:00
renovate[bot]
cf89c4e363 chore(deps): update pnpm to v10.27.0 [security] (#17082)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-08 09:00:30 +09:00
github-actions[bot]
bf41e9edd1 Bump version to 2026.1.0-alpha.2 2026-01-07 13:02:33 +00:00
syuilo
f92c187e2b make __VUE_OPTIONS_API__ false (#17077) 2026-01-07 21:59:22 +09:00
syuilo
8c5572dd3b enhance(frontend): remove vuedraggable (#17073)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update page-editor.blocks.vue

* Update MkDraggable.vue

* refactor

* refactor

* âœŒī¸

* refactor

* Update MkDraggable.vue

* ios

* 🎨

* 🎨
2026-01-07 21:46:03 +09:00
syuilo
e18b92823f Update README.md 2026-01-07 21:43:31 +09:00
anatawa12
2d709ceeb4 fix: typo in import specifier (#17076) 2026-01-07 20:40:14 +09:00
anatawa12
38b3eecc8c migrate build scripts to esmodules (#17071)
* chore: migrate build scripts to esmodules

* chore: do not use export default in build script
2026-01-06 19:23:59 +09:00
ãŠã•ã‚€ãŽã˛ã¨
f6fc78f578 refactor: DriveFileEntityServiceとDriveFolderEntityServiceãŽč¤‡æ•°äģļ取垗をãƒĒãƒ•ã‚Ąã‚¯ã‚ŋ (#17064)
* refactor: DriveFileEntityServiceとDriveFolderEntityServiceãŽč¤‡æ•°äģļ取垗をãƒĒãƒ•ã‚Ąã‚¯ã‚ŋ

* add test

* fix

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/backend/test/unit/entities/DriveFolderEntityService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Revert "Update packages/backend/src/core/entities/DriveFileEntityService.ts"

This reverts commit 83bb9564cf.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-06 13:13:06 +09:00
syuilo
6e99acf7a7 update clean scripts 2026-01-05 21:49:45 +09:00
github-actions[bot]
553a147396 Bump version to 2026.1.0-alpha.1 2026-01-05 12:03:42 +00:00
syuilo
7bcfeba7e5 Minify backend (#17054)
* wip

* Update build.js

* Update build.js

* [minify-backendᔍ] ãƒ•ã‚Ŗã‚¸ãƒ“ãƒĒãƒ†ã‚Ŗæ¤œč¨ŧ (#16878)

* fix: minify-backend

* 間違えãĻå…Ĩã‚ŒãĄã‚ƒãŖãŸãŽã‚’æˆģす

* čŋŊåž“

* fix

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* test

* use node 24

* Revert "use node 24"

This reverts commit 7ae2debf23.

* Revert "test"

This reverts commit d919879091.

* Update package.json

* wip

* Update compile_config.js

* Revert "Update compile_config.js"

This reverts commit 0ee286f02b.

* Update config.ts

* wip

* Update .swcrc

* Update ClientServerService.ts

* [ci skip] update CHANGELOG

---------

Co-authored-by: ãŠã•ã‚€ãŽã˛ã¨ <46447427+samunohito@users.noreply.github.com>
2026-01-05 20:56:52 +09:00
renovate[bot]
4f65c1529b chore(deps): update [misskey-js] update dependencies [ci skip] (#17025)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-03 18:35:10 +09:00
ã‹ãŖã“ã‹ã‚Š
589ae8d4c6 fix(deps): update [frontend] update dependencies (#17062)
* fix(deps): update [frontend] update dependencies

* rollback tsgo to fix type error

* Revert "rollback tsgo to fix type error"

This reverts commit 3a0b94e5b2.

* rollback vue-tsc to fix type errors (test)

* update vue-tsc to 3.2.0

* update vue-tsc stack to v3.2.1

* rollback vue-tsc to v3.1.8
2026-01-03 18:15:34 +09:00
ã‹ãŖã“ã‹ã‚Š
0be4405a79 fix(deps): run pnpm dedupe (#17063) 2026-01-03 15:30:04 +09:00
renovate[bot]
2fba2e7049 fix(deps): update [root] update dependencies [ci skip] (#17023)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-03 12:28:57 +09:00
github-actions[bot]
96b03a7179 Bump version to 2026.1.0-alpha.0 2026-01-02 12:51:50 +00:00
ã‹ãŖã“ã‹ã‚Š
cdb958cdf0 fix(frontend): įŽĄį†į”ģéĸでã‚ĸãƒŧã‚Ģイブ済ぎおįŸĨã‚‰ã›ã‚’čĄ¨į¤ēした際ãĢã‚ĸã‚¯ãƒ†ã‚Ŗãƒ–ãĒおįŸĨらせが多い旨ぎč­Ļ告がå‡ēã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17059)
* fix(frontend): įŽĄį†į”ģéĸでã‚ĸãƒŧã‚Ģイブ済ぎおįŸĨã‚‰ã›ã‚’čĄ¨į¤ēした際ãĢã‚ĸã‚¯ãƒ†ã‚Ŗãƒ–ãĒおįŸĨらせが多い旨ぎč­Ļ告がå‡ēã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2026-01-02 21:50:25 +09:00
syuilo
245775ea87 [skip ci] Update CHANGELOG.md 2026-01-02 21:48:39 +09:00
renovate[bot]
40d55fc6a3 fix(deps): update [backend] update dependencies (#17026)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 21:47:23 +09:00
ã‹ãŖã“ã‹ã‚Š
9c22538454 fix(frontend): ãƒ•ã‚Ąã‚¤ãƒĢã‚ŋブぎã‚ģãƒŗã‚ˇãƒ†ã‚Ŗãƒ–ãƒĄãƒ‡ã‚Ŗã‚ĸを開く際ãĢįĸēčĒãƒ€ã‚¤ã‚ĸログをå‡ēã™č¨­åŽšãŒéŠį”¨ã•ã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17019)
* fix(frontend): ãƒ•ã‚Ąã‚¤ãƒĢã‚ŋブぎã‚ģãƒŗã‚ˇãƒ†ã‚Ŗãƒ–ãƒĄãƒ‡ã‚Ŗã‚ĸを開く際ãĢįĸēčĒãƒ€ã‚¤ã‚ĸログをå‡ēã™č¨­åŽšãŒéŠį”¨ã•ã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

* refactor

* Update Changelog
2026-01-02 21:41:32 +09:00
ã‹ãŖã“ã‹ã‚Š
a1ba403f9a fix(frontend): ãƒ­ã‚°ã‚¤ãƒŗãƒ€ã‚¤ã‚ĸãƒ­ã‚°ãŒčĄ¨į¤ēされたあとぎå‡Ļį†ãŒãŠã‹ã—ããĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#17038)
* fix(frontend): ãƒ­ã‚°ã‚¤ãƒŗãƒ€ã‚¤ã‚ĸãƒ­ã‚°ãŒčĄ¨į¤ēされたあとぎå‡Ļį†ãŒãŠã‹ã—ããĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2026-01-02 21:38:53 +09:00
ã‹ãŖã“ã‹ã‚Š
443e1ed29e refactor(frontend): prefer.model, store.modelではcustomRefをäŊŋį”¨ã™ã‚‹ã‚ˆã†ãĢ (#17058)
* refactor(frontend): prefer.model, store.modelではcustomRefをäŊŋį”¨ã™ã‚‹ã‚ˆã†ãĢ

* fix: watchãŽč§Ŗé™¤ãĢå¤ąæ•—ã—ãĻもエナãƒŧでčŊãĄãĒいようãĢ

* Update packages/frontend/src/lib/pizzax.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-02 21:34:43 +09:00
ã‹ãŖã“ã‹ã‚Š
b5454cb2c4 fix(frontend): į™ģ錞æ—ĨãĢよるã‚Ŋãƒŧトぎ場合はpaginator側ぎã‚ŊãƒŧトをäŊŋį”¨ã™ã‚‹ã‚ˆã†ãĢ (#17048)
* fix(frontend): į™ģ錞æ—ĨãĢよるã‚Ŋãƒŧトぎ場合はpaginator側ぎã‚ŊãƒŧトをäŊŋį”¨ã™ã‚‹ã‚ˆã†ãĢ

* Update Changelog

* fix lint

* refactor
2026-01-01 10:32:38 +09:00
ã‹ãŖã“ã‹ã‚Š
8577f10456 2026 (#17052) 2026-01-01 00:00:00 +09:00
ã‹ãŖã“ã‹ã‚Š
16ffd88ecc enhance: čĒ•į”Ÿæ—ĨぎãƒĻãƒŧã‚ļãƒŧã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆã§ã€ä슿—ĨだけãĢé™ã‚‰ãšã€į›´čŋ‘ぎčĒ•į”Ÿæ—ĨãƒĻãƒŧã‚ļãƒŧã‚’čĄ¨į¤ēできるようãĢ (#13637)
* enhance(frontend): 「ä슿—ĨčĒ•į”Ÿæ—Ĩぎフりロãƒŧ中ãƒĻãƒŧã‚ļãƒŧ」ã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆã‚’ãƒĒãƒ•ã‚Ąã‚¯ã‚ŋãƒĒãƒŗã‚°

(cherry picked from commit 24652b9364)

* fix(backend): åš´čļŠã—ぎ時期でčĒ•į”Ÿæ—Ĩ検į´ĸクエãƒĒãƒŧがčǤ動äŊœã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (MisskeyIO#577)

(cherry picked from commit 38581006be)

* fix

* spdx

* delete birthday param on users/following api

* åį§°ã‚’ä¸€æœŦ化

* Update Changelog

* Update Changelog

* fix(frontend/WidgetBirthdayFollowings): ãƒĻãƒŧã‚ļãƒŧãŽåå‰ãŒé•ˇã„ã¨æŠ•į¨ŋボã‚ŋãƒŗãŒã¯ãŋå‡ēãĻã—ãžã†å•éĄŒã‚’äŋŽæ­Ŗ (MisskeyIO#582)

(cherry picked from commit fa47a545b1)

* use module css

* default 3day

* Revert "delete birthday param on users/following api"

This reverts commit a47456c1c4.

* Update Changelog

* æ—Ĩäģ˜ãŒīŧ‘ãƒļ月ã‚ēãƒŦãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­ŖīŧŸ

* fix: æ—Ĩäģ˜é–ĸé€ŖãŽãƒã‚°ã‚’äŋŽæ­Ŗ

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>

* build misskey-js types

* add comment

* Update CHANGELOG.md

* migrate

* change migration

* UPdate Changelog

* fix: revert unnecessary changes

* 🎨

* i18n

* fix

* update changelog

* 🎨

* fix lint

* refactor: remove unnecessary classes

* fix

* fix

---------

Co-authored-by: ãžãŖãĄã‚ƒã¨ãƒŧãĢゅ <17376330+u1-liquid@users.noreply.github.com>
Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2025-12-31 22:33:26 +09:00
ã‹ãŖã“ã‹ã‚Š
866e675134 fix(frontend): ã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŽč¨­åŽšį”ģéĸぎプãƒŦビãƒĨãƒŧãŒåˆŠį”¨ã§ããĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17056) 2025-12-31 18:06:22 +09:00
ã‹ãŖã“ã‹ã‚Š
01aa56c602 enhance(backend/oauth): Support client information discovery in the IndieAuth 11 July 2024 spec (#17030)
* enhance(backend): Support client information discovery in the IndieAuth 11 July 2024 spec

* add tests

* Update Changelog

* Update Changelog

* fix tests

* fix test describe to align with the other describe format
2025-12-31 14:50:01 +09:00
ã‹ãŖã“ã‹ã‚Š
ff7d2c1083 refactor(frontend): remove undefined css rules (#17051) 2025-12-31 13:42:59 +09:00
ã‹ãŖã“ã‹ã‚Š
404fca6c2d fix(frontend): fix build error (#17050) 2025-12-30 17:55:52 +09:00
ã‹ãŖã“ã‹ã‚Š
3fe0477cac fix(frontend): ãƒ‡ã‚ŖãƒŦã‚¯ãƒ†ã‚Ŗãƒ–ãŽåž‹ãŒåŊ“たらãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17049) 2025-12-30 16:39:07 +09:00
ã‹ãŖã“ã‹ã‚Š
97d485bdd2 enhance(frontend): ã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŽč¨­åŽšé …į›ŽãŽå¤šč¨€čĒžå¯žåŋœ (#17032)
* enhance(frontend): ã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŽč¨­åŽšé …į›ŽãŽå¤šč¨€čĒžå¯žåŋœ

* Update Changelog

* refactor: move options locale key to root for optimizing artifacts for locale inlining

* fix

* fix

* âœŒī¸

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-30 15:59:18 +09:00
ã‹ãŖã“ã‹ã‚Š
4285303c81 fix(frontend): follow-up of #17033 (#17047)
* wip

* fix

* ref -> reactive

* tweak throttle threshold

* tweak throttle threshold

* rssč¨­åŽšãĢはmanualSaveをäŊŋį”¨ã™ã‚‹ã‚ˆã†ãĢ

* Update MkWidgetSettingsDialog.vue

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-30 14:32:40 +09:00
ã‹ãŖã“ã‹ã‚Š
14f58255ee enhance(frontend): ã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŽč¨­åŽšį”ģéĸã‚’æ”šč‰¯ (#17033)
* enhance(frontend): ã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŽč¨­åŽšį”ģéĸã‚’æ”šč‰¯

* Update Changelog

* fix lint
2025-12-28 20:50:11 +09:00
ãŠã•ã‚€ãŽã˛ã¨
b69b0acf59 chore: SearchServiceぎunit-testčŋŊ加 (#17035)
* add serach service test

* add meili test

* CIぎäŋŽæ­ŖãŒčļŗã‚ŠãĒã‹ãŖãŸ

* テ゚トぎčŋŊ加

* fix
2025-12-28 19:57:18 +09:00
ã‹ãŖã“ã‹ã‚Š
7a5430199f enhance(frontend): MkDriveでč‡Ēå‹•ã§ã‚‚ãŖã¨čĻ‹ã‚‹ã‚’æœ‰åŠšåŒ– (#17037)
* enhance(frontend): MkDriveでč‡Ēå‹•ã§ã‚‚ãŖã¨čĻ‹ã‚‹ã‚’æœ‰åŠšåŒ–

* Update Changelog
2025-12-28 19:53:08 +09:00
syuilo
c32307dca4 Update README.md 2025-12-27 14:30:36 +09:00
kami8
bc78bb9b8e Fix(frontend): ドナイブクãƒĒãƒŧナãƒŧからį”ģ像を削除した際、ãƒĒロãƒŧドしãĒくãĻもį”ģéĸãĢ反映されるようäŋŽæ­Ŗ (#16888)
* ドナイブクãƒĒãƒŧナãƒŧã§ãƒ•ã‚Ąã‚¤ãƒĢ削除垌、ãƒĒロãƒŧドãĒしでį”ģéĸãĢ反映されるようãĢäŋŽæ­Ŗ

* CHANGELOG.mdをäŋŽæ­Ŗ

* CHANGELOGãŒãŠã‹ã—ã‹ãŖãŸãŽã§äŋŽæ­Ŗ
2025-12-26 09:19:32 +09:00
renovate[bot]
a33b003282 chore(deps): update [tools] update dependencies [ci skip] (#17024)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-23 19:32:38 +09:00
anatawa12
74e847a04d refactor: use TRANSIENT scope to avoid service bucket relay (#16985)
* refactor: use TRANSIENT scope to avoid service bucket relay

* lint: fix lints

* refactor: use transient for apResolver

* Update packages/backend/src/core/activitypub/models/ApImageService.ts

* fix
2025-12-22 17:01:10 +09:00
anatawa12
06657c81d3 feat: use tsgo where capable (#16984) 2025-12-22 16:52:05 +09:00
ãŠã•ã‚€ãŽã˛ã¨
5c5e965151 fix(ci): dockleぎciをより厉厚しãĻ動かせるようãĢする (#16987) 2025-12-22 16:51:38 +09:00
github-actions[bot]
b07a1e692f [skip ci] Update CHANGELOG.md (prepend template) 2025-12-22 05:30:46 +00:00
github-actions[bot]
78348007ed Release: 2025.12.2 2025-12-22 05:30:41 +00:00
ã‹ãŖã“ã‹ã‚Š
92f1e599db Update CHANGELOG.md [ci skip] 2025-12-22 12:05:25 +09:00
github-actions[bot]
26b5979c76 Bump version to 2025.12.2-beta.4 2025-12-20 12:30:29 +00:00
ã‹ãŖã“ã‹ã‚Š
b1048525d2 fix(frontend): 一部ぎUnicodeįĩĩ文字がãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãƒœã‚ŋãƒŗãĢãĒらãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#17017)
* fix(frontend): 一部ぎUnicodeįĩĩ文字がãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãƒœã‚ŋãƒŗãĢãĒらãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

* fix
2025-12-20 21:23:39 +09:00
ã‹ãŖã“ã‹ã‚Š
4c31eb409c fix(frontend): ゚トãƒŦãƒŧジがæļˆåŽģされるäē‹ãŒã‚ã‚‹å•éĄŒã‚’čģŊ減 (#16704)
* fix(frontend): ゚トãƒŦãƒŧジがæļˆåŽģされるäē‹ãŒã‚ã‚‹å•éĄŒã‚’čģŊ減

* add comment

* add catch to continue request permissions

* Update Changelog

* update changelog

* fix

通įŸĨæ¨Šé™ãŽč¨ąå¯å–åž—ã¯ãƒœã‚ŋãƒŗæŠŧ下時ãĢį§ģ動

* fix

* wip

* Update main-boot.ts

* wip

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-20 21:22:31 +09:00
ãŠã•ã‚€ãŽã˛ã¨
f739cb6270 fix: admin/queue/deliver-delayedとadmin/queue/inbox-delayedぎåŋœį­”速åēĻを攚善 (#17009) 2025-12-20 19:15:05 +09:00
github-actions[bot]
81bacb6203 Bump version to 2025.12.2-beta.3 2025-12-20 10:07:41 +00:00
ã‹ãŖã“ã‹ã‚Š
ee8dccea2f fix(backend): fix #16994 by approach 6 (#17005)
* fix(backend): narrow down trustproxy default value and enhance documentation on how to configure it

* Update Changelog

* indent [ci skip]

* Update CHANGELOG.md [ci skip]

* add cloudflare specific example

* Update .config/example.yml

Co-authored-by: anatawa12 <anatawa12@icloud.com>

* fix: productionでIPãƒŦãƒŧトãƒĒミットされる際ãĢlocalhostからãƒĒクエ゚トがæĨたらログを掋すようãĢ

* fix: wrong condition

* fix: use own logger for signin api

* flip configuration

* fix

* fix [ci skip]

* fix: wrong message [ci skip]

* fix: ãŠã“ãŒãŠã‹ã—ã„ã‹æ˜Žč¨˜ [ci skip]

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
2025-12-20 19:07:05 +09:00
syuilo
6d00645bc7 fix(frontend): iPadOSぎPWAでã‚ĸプãƒĒを切りæ›ŋえた際ãĢã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆčĄ¨į¤ēボã‚ŋãƒŗãŒæļˆæģ…ã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ 2025-12-18 20:27:12 +09:00
syuilo
baeed4bc80 perf(backend): lazy load systeminformation
systeminformationをåŋ…čĻã¨ã™ã‚‹æŠŸčƒŊを有劚ãĢしãĻいãĒいã‚ĩãƒŧバãƒŧã§į„Ąé§„ãĢčĒ­ãŋčžŧãžã‚Œã‚‹ã“ã¨ãŒį„Ąã„ã‚ˆã†ãĢ
2025-12-18 20:05:20 +09:00
syuilo
dba44daf9c 🎨 and refactor 2025-12-18 15:40:40 +09:00
syuilo
46e6dd99d1 chore: remove beta label from some features 2025-12-18 15:15:07 +09:00
syuilo
f48af7f73b 🎨 2025-12-18 14:55:19 +09:00
syuilo
834e8b4c24 fix(frontend): デッキUIã§ãƒĄãƒ‹ãƒĨãƒŧäŊįŊŽã‚’下ãĢしãĻã„ã‚‹ã¨ãƒ—ãƒ­ãƒ•ã‚Ąã‚¤ãƒĢ削除ボã‚ŋãƒŗãŒčĄ¨į¤ēされãĒいぎをäŋŽæ­Ŗ 2025-12-18 14:55:16 +09:00
github-actions[bot]
7ef0c96758 Bump version to 2025.12.2-beta.2 2025-12-17 03:31:55 +00:00
syuilo
b10074e939 enhance(frontend): add deck tour 2025-12-17 12:27:55 +09:00
renovate[bot]
260dbd150b fix(deps): update dependency systeminformation to v5.27.14 [security] [ci skip] (#17003)
* fix(deps): update dependency systeminformation to v5.27.14 [security]

* update whitelist to force update systeminformation package

* bump other dependencies to fix dep error

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-17 09:36:15 +09:00
syuilo
79cbbcfe0f Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-12-17 09:08:25 +09:00
syuilo
c893f85864 Update example.yml 2025-12-17 09:08:22 +09:00
syuilo
24d4ffa2ec Update CHANGELOG.md
Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-12-17 09:07:51 +09:00
github-actions[bot]
0b931daefd Bump version to 2025.12.2-beta.1 2025-12-16 14:00:25 +00:00
ã‹ãŖã“ã‹ã‚Š
cc05d93194 fix(frontend): ぞれãĢč¨­åŽšå¤‰æ›´ãŽã‚ŋブ間同期ãĢå¤ąæ•—ã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16991) 2025-12-16 22:56:57 +09:00
ã‹ãŖã“ã‹ã‚Š
90345591bb fix(frontend): į„Ąé™ã‚šã‚¯ãƒ­ãƒŧãƒĢã§ãã‚‹įŽ‡æ‰€ãŽčĒŋ整 (#17000) 2025-12-16 22:50:26 +09:00
github-actions[bot]
730227f353 Bump version to 2025.12.2-beta.0 2025-12-16 12:31:04 +00:00
syuilo
4acb37ee9d Update CHANGELOG.md 2025-12-16 21:23:51 +09:00
syuilo
7025769c69 fix(frontend): バãƒŧã‚¸ãƒ§ãƒŗčĄ¨č¨˜ãŽãĒいPlayãŒæ­Ŗã—ãå‹•äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16996
2025-12-16 21:23:23 +09:00
syuilo
1a4ef8769f Update CHANGELOG.md 2025-12-16 20:08:01 +09:00
github-actions[bot]
055cd0c250 Bump version to 2025.12.2-alpha.0 2025-12-16 11:00:42 +00:00
syuilo
d35ddc77d2 enhance(backend): request ip が localhost ã ãŖãŸå ´åˆã€ãƒŦãƒŧトãƒĒミットを゚キップ & č­Ļ告をå‡ēすようãĢ 2025-12-16 19:56:44 +09:00
syuilo
8d871a58e3 Update CHANGELOG.md 2025-12-16 19:55:31 +09:00
syuilo
99b0b436e0 Update example.yml 2025-12-16 19:55:16 +09:00
syuilo
e3d5b95672 Revert "Merge commit from fork"
This reverts commit 5512898463.

see https://github.com/misskey-dev/misskey/issues/16994
2025-12-16 14:21:39 +09:00
ã‹ãŖã“ã‹ã‚Š
0d52145b2b deps: update deps [ci skip] (#16997)
* update deps

* update chokidar to v5

* fix type error

* rollback serviceworker types to r74

* fix [ci skip]
2025-12-16 11:42:06 +09:00
ã‹ãŖã“ã‹ã‚Š
467404d5bb fix(gh): thollander/actions-comment-pull-request@v3 ぎ breaking change 寞åŋœæŧã‚Œ 2025-12-16 09:45:26 +09:00
renovate[bot]
99e25784ad chore(deps): update [github actions] update dependencies (major) (#16869)
* chore(deps): update [github actions] update dependencies

* migrate

* bump download-artifact to v7

* bump upload-artifact to v6

---------

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-12-16 09:26:10 +09:00
github-actions[bot]
9e1e40d35a [skip ci] Update CHANGELOG.md (prepend template) 2025-12-14 07:27:11 +00:00
github-actions[bot]
8eb6e29d2c Release: 2025.12.1 2025-12-14 07:27:06 +00:00
Copilot
2d198a711b Update PostgreSQL volume mount paths for PostgreSQL 18 (#16986)
* Initial plan

* Update PostgreSQL volume mount paths for PostgreSQL 18 compatibility

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-14 11:32:42 +09:00
syuilo
e0b872dc09 Update CHANGELOG for version 2025.12.1
Removed empty section under General and retained fixes under Client.
2025-12-13 21:16:12 +09:00
github-actions[bot]
711b86ab7d Bump version to 2025.12.1-alpha.1 2025-12-13 10:14:03 +00:00
syuilo
e8b4dae553 New Crowdin updates (#16939)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2025-12-13 19:08:25 +09:00
ã‹ãŖã“ã‹ã‚Š
36d404818d fix(frontend/aiscript): nullをčŋ”すnote_view_intrruptorが動äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16977)
* fix(frontend/aiscript): nullをčŋ”すnote_view_intrruptorが動äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2025-12-13 19:08:02 +09:00
ã‹ãŖã“ã‹ã‚Š
cb03f3f013 fix(frontend): follow-up of 16970 (#16975) 2025-12-13 18:22:40 +09:00
ã‹ãŖã“ã‹ã‚Š
c109bec013 fix(frontend): ãƒ‰ãƒŠã‚¤ãƒ–ãƒ•ã‚Ąã‚¤ãƒĢをæ—Ĩäģ˜äģĨ外でä¸Ļãŗæ›ŋえる場合は月でグãƒĢãƒŧプ化しãĻ襨į¤ēしãĒいようãĢ (#16978)
* fix(frontend): ãƒ‰ãƒŠã‚¤ãƒ–ãƒ•ã‚Ąã‚¤ãƒĢをæ—Ĩäģ˜äģĨ外でä¸Ļãŗæ›ŋえる場合は月でグãƒĢãƒŧプ化しãĻ襨į¤ēしãĒいようãĢ

* Update Changelog
2025-12-13 18:17:09 +09:00
ã‹ãŖã“ã‹ã‚Š
6fa4eb8c4f fix(frontend): į„Ąé™ã‚šã‚¯ãƒ­ãƒŧãƒĢã§ãã‚‹įŽ‡æ‰€ãŽčĒŋ整 (#16979) 2025-12-13 18:16:15 +09:00
github-actions[bot]
5fb4caa14b Bump version to 2025.12.1-alpha.0 2025-12-12 08:09:12 +00:00
ãžãŖãĄã‚ƒãĻぃãƒŧ。
bc1f83664f fix(sw): Service Worker Auto Preloadをã‚Ēプトã‚ĸã‚ĻトするようãĢ (#16971)
* Service Worker Auto Preloadをã‚Ēプトã‚ĸã‚ĻトするようãĢ

* TypeErrorをäŋŽæ­Ŗ

* ã‚ŗãƒĄãƒŗãƒˆã‚’čŋŊ記
2025-12-12 17:08:15 +09:00
anatawa12
78435dc8d4 Fix: deckぎã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗã‚ģãƒŦクã‚ŋぎデフりãƒĢãƒˆãŽå€¤ãŒįžåœ¨ãŽã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗã§ã¯ãĒã„å•éĄŒ (#16008)
* fix: os.selectãŽåž‹åŽšįžŠãŽä¸Šã§ default ãŒæ–‡å­—åˆ—ã§ã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* fix: deckぎã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗé¸æŠžį”ģéĸでä슿Œ‡åŽšã•ã‚ŒãĻいるã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗãŒãƒ‡ãƒ•ã‚ŠãƒĢトで選択されãĒã„å•éĄŒ

* fix lint

* fix: type error
2025-12-12 12:53:59 +09:00
ã‹ãŖã“ã‹ã‚Š
d74aded35f fix: remove unused dependencies (#16969)
* fix(frontend): remove unused dependencies

* fix(backend): remove unused dependencies
2025-12-12 10:45:45 +09:00
FINEARCHS
d605680524 fix(frontend): ã‚Ēãƒŧナãƒŧä¸åœ¨ãŽãƒãƒŖãƒŗãƒãƒĢをミãƒĨãƒŧトできãĒいぎをäŋŽæ­Ŗ (#16906)
* ã‚Ēãƒŧナãƒŧä¸åœ¨ãŽãƒãƒŖãƒŗãƒãƒĢをミãƒĨãƒŧトできãĒいぎをäŋŽæ­Ŗ

* update changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-11 23:15:57 +09:00
ã‹ãŖã“ã‹ã‚Š
1096ce8e4a fix(frontend): 削除されたノãƒŧトぎãƒĒノãƒŧãƒˆãŒæ­Ŗã—ãčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16970)
* fix(frontend): 削除されたノãƒŧトぎãƒĒノãƒŧãƒˆãŒæ­Ŗã—ãčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

* 🎨

* fix
2025-12-11 23:10:23 +09:00
syuilo
8e6fffee68 enhance: use native glob (#16965)
* enhance: use native glob

* remove tiny-glob

* remove fast-glob

* refactor

* fix: use async glob if possible

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-12-11 23:08:26 +09:00
ãžãŖãĄã‚ƒãĻぃãƒŧ。
2cffd9f0fb fix(sw): ã‚Ēãƒ•ãƒŠã‚¤ãƒŗæ™‚ãŽfetch timeoutå‡Ļį†ã‚’åŽŸčŖ… (#16952)
* fix(sw): implement fetch timeout handling for navigation and offline content

* fix(sw): increase fetch timeout

* fix(sw): improve fetch timeout handling for i18n content

* fix(sw): įĩåą€ã€fetchを通るかCacheがhitするはずãĒぎで、i18nぎところはいらãĒい

* fix(sw): 400į•Ē台ぎエナãƒŧã‚’į„ĄæĄäģļでã‚Ēãƒ•ãƒŠã‚¤ãƒŗãƒšãƒŧジãĢしãĻいたぎをäŋŽæ­Ŗ

* 間違えた

* i18nもtimeoutがåŋ…čρ

* import sortingをäŋŽæ­Ŗ

* import sortingをäŋŽæ­Ŗ

* Fix: Frontend ぎsharedãĢはã‚ĸクã‚ģ゚できãĒいじゃん...

* SPDX

* Update CHANGELOG.md

* Update packages/sw/src/scripts/lang.ts

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>

* Update packages/sw/src/sw.ts

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>

---------

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-12-10 17:26:30 +09:00
syuilo
988f5ab69f fix(backend): ジョブキãƒĨãƒŧでSentryが有劚ãĢãĒらãĒã„å•éĄŒã‚’äŋŽæ­Ŗ 2025-12-08 15:44:37 +09:00
ã‹ãŖã“ã‹ã‚Š
3afe7c5348 Update CHANGELOG.md [ci skip] 2025-12-08 10:20:07 +09:00
ã‹ãŖã“ã‹ã‚Š
73cc30f50f fix(frontend): ロãƒŧãƒ‰æ™‚ãŽč¨€čĒžåˆ¤åŽšįĩæžœãŒäŋå­˜ã•れãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16956)
* fix(frontend): ロãƒŧãƒ‰æ™‚ãŽč¨€čĒžåˆ¤åŽšįĩæžœãŒäŋå­˜ã•れãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2025-12-08 10:17:13 +09:00
github-actions[bot]
da3b3af984 [skip ci] Update CHANGELOG.md (prepend template) 2025-12-06 12:23:00 +00:00
github-actions[bot]
3273ca7512 Release: 2025.12.0 2025-12-06 12:22:55 +00:00
syuilo
b67bfe0763 Update CHANGELOG.md
Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-12-06 21:03:06 +09:00
ã‹ãŖã“ã‹ã‚Š
63d2870755 fix(backend): fix tests (#16947)
* fix(backend): shouldHideNoteByTimeぎロジックぎčĒ¤ã‚Šã‚’äŋŽæ­Ŗ

* fix tests
2025-12-06 19:32:13 +09:00
syuilo
61f9c148f0 🎨 2025-12-06 18:46:13 +09:00
syuilo
8927a9e98a Update CHANGELOG.md 2025-12-06 18:27:57 +09:00
ãŠã•ã‚€ãŽã˛ã¨
dc77d59f87 Merge commit from fork 2025-12-06 18:25:20 +09:00
github-actions[bot]
2d0dae236f Bump version to 2025.12.0-beta.0 2025-12-06 08:41:10 +00:00
syuilo
a1f0ca4b8f use node 22.15.0 by default
#16944
2025-12-06 17:39:17 +09:00
syuilo
2a996287e3 update pnpm to 10.24.0 2025-12-06 16:44:23 +09:00
renovate[bot]
65dd917bfb fix(deps): update [backend] update dependencies [ci skip] (#16941)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 23:55:00 +09:00
renovate[bot]
b0bffd3842 fix(deps): update [frontend] update dependencies [ci skip] (#16942)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 23:10:04 +09:00
renovate[bot]
4ee6f90ab2 chore(deps): update [tools] update dependencies to v4.0.14 [ci skip] (#16940)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 21:31:04 +09:00
renovate[bot]
50379e52db fix(deps): update dependency nodemailer to v7.0.11 [security] [ci skip] (#16919)
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-12-05 20:57:47 +09:00
renovate[bot]
6bb29ab5c3 fix(deps): update dependency @sentry/node to v10.27.0 [security] [ci skip] (#16860)
* fix(deps): update dependency @sentry/node to v10.27.0 [security]

* fix

---------

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-12-05 20:42:36 +09:00
syuilo
fc1e2229e5 fix(frontend): stacking router viewã§é€Ŗįļšã—ãĻæˆģる操äŊœã‚’čĄŒã†ã¨äŊ•ã‚‚čĄ¨į¤ēされãĒくãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ 2025-12-04 19:03:41 +09:00
syuilo
daf2a57b3c Revert "fix(frontend): stacking router viewã§é€Ŗįļšã—ãĻæˆģる操äŊœã‚’čĄŒã†ã¨äŊ•ã‚‚čĄ¨į¤ēされãĒくãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ"
This reverts commit a3c3052d0f.
2025-12-04 19:01:45 +09:00
renovate[bot]
6716950d7f fix(deps): update dependency body-parser to v2.2.1 [security] (#16899)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-04 17:39:33 +09:00
github-actions[bot]
29a0750eef Bump version to 2025.12.0-alpha.2 2025-12-04 07:51:39 +00:00
syuilo
24bd150967 refactor(backend): 変換垌.config.jsonãĢįĩąä¸€ã™ã‚‹ã‚ˆã†ãĢ+äŋŽæ­ŖãĒお (#16929)
* wip

* Update config.ts

* wip

* convertã¯å…ƒãƒ•ã‚Ąã‚¤ãƒĢを変更するようãĒニãƒĨã‚ĸãƒŗã‚šã‚’č‹Ĩåš˛æ„Ÿã˜ã‚‹ãŽã§compileãĢ攚名

* wip

* Update package.json

* Revert "Update package.json"

This reverts commit e5c2802316.

* wip

* wip

* čŦŽ

* clean up

* wip

* wip

* Revert "wip"

This reverts commit 3aa25ac7cf.

* wip

* wip

* Update dummy.yml

* wip

* Update compile_config.js

* Update compile_config.js

* wip

* Revert "wip"

This reverts commit fd78e097c6.

* Update dummy.yml

* Update compile_config.js
2025-12-04 16:49:25 +09:00
syuilo
a3c3052d0f fix(frontend): stacking router viewã§é€Ŗįļšã—ãĻæˆģる操äŊœã‚’čĄŒã†ã¨äŊ•ã‚‚čĄ¨į¤ēされãĒくãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ 2025-12-04 15:19:15 +09:00
ã‹ãŖã“ã‹ã‚Š
a6f57d99f9 fix(gh): fix federation test (#16936) 2025-12-04 13:36:30 +09:00
syuilo
55ef4c5faa tweak convert_config 2025-12-03 18:20:41 +09:00
syuilo
6293a57de8 fix action 2025-12-03 18:10:08 +09:00
Kagami Sascha Rosylight
5512898463 Merge commit from fork
* Change trustProxy default value to false

* Update trustProxy default value in example.yml

* Update trustProxy default description in example.yml
2025-12-03 16:08:45 +09:00
Copilot
0b77dc8c48 Add backend memory usage comparison action for PRs (#16926)
* Initial plan

* Add backend memory usage comparison action

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Fix deprecated serverProcess.killed usage

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Add explicit permissions to save-pr-number job

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Change PR comment text from Japanese to English

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Inline memory measurement script to fix base ref compatibility

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Revert "Inline memory measurement script to fix base ref compatibility"

This reverts commit 6f76a121ef.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-12-03 16:02:49 +09:00
syuilo
9900b3492a add DeepWiki badge to enable auto-refresh 2025-12-03 12:02:18 +09:00
github-actions[bot]
d9c9b95fc0 Bump version to 2025.12.0-alpha.1 2025-12-03 00:15:47 +00:00
syuilo
613900598a New Crowdin updates (#16911)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)
2025-12-03 09:01:19 +09:00
ãŠã•ã‚€ãŽã˛ã¨
1facca1ac5 enhance(backend): čĩˇå‹•前ãĢconfigをjson化 (#16923)
* enhance(backend): čĩˇå‹•前ãĢconfigをjson化

* fix

* fix

* fix

* fix

* fix

* fix CHANGELOG.md

* fix

* Update CHANGELOG.md

* get original
2025-12-03 09:00:37 +09:00
ã‹ãŖã“ã‹ã‚Š
8d66cc006a Update CHANGELOG.md 2025-12-01 19:04:21 +09:00
github-actions[bot]
72cdaff810 Bump version to 2025.12.0-alpha.0 2025-12-01 09:58:16 +00:00
ã‹ãŖã“ã‹ã‚Š
7b9e83a6b8 enhance(backend): ãƒãƒƒã‚¯ã‚¨ãƒŗãƒ‰ã§č¨€čĒžãƒĒ゚トぎãŋã‚’å‚į…§ã™ã‚‹ã‚ˆã†ãĢ (#16915) 2025-12-01 18:51:36 +09:00
github-actions[bot]
483483bc44 Bump version to 2025.11.2-alpha.4 2025-12-01 09:37:48 +00:00
ã‹ãŖã“ã‹ã‚Š
f222d7e24d enhance(backend): pugをやめ、JSXベãƒŧã‚šãŽãƒ†ãƒŗãƒ—ãƒŦãƒŧトãĢ変更 (#16908)
* enhance(backend): pugをやめ、JSXベãƒŧã‚šãŽãƒ†ãƒŗãƒ—ãƒŦãƒŧトãĢ変更 (to misskey-dev dev branch) (#16889)

* wip

* wip

* wip

* wip

* fix lint

* attempt to fix test

* fix

* fix

* fix: oauthペãƒŧジぎ描į”ģãŒãŠã‹ã—ã„å•éĄŒã‚’äŋŽæ­Ŗ

* typo [ci skip]

* fix

* fix

* fix

* fix

* fix

* refactor

* fix

* fix

* fix broken lockfile

* fix: expose supported languages as global variable

* remove i18n package from root as it is no longer required [ci skip]

* fix

* fix: add i18n package.json to Docker target-builder stage for federation tests (#16909)

* Initial plan

* fix: add i18n package.json to Docker target-builder stage for federation tests

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* fix: followup-test-federation for enh-remove-pug (#16910)

* fix: followup-test-federation for enh-remove-pug

* Revert "fix: add i18n package.json to Docker target-builder stage for federation tests (#16909)"

This reverts commit 14313468d3.

* fix: CSSがčĒ­ãŋčžŧぞれãĒã„å ´åˆãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* fix [ci skip]

* fix: propsぎデフりãƒĢト値をnull合äŊ“æŧ”įŽ—å­ã‹ã‚‰čĢ–į†å’Œæŧ”įޗ子ãĢ変更īŧˆįŠē文字ãĢ寞å‡Ļするためīŧ‰

* remove @types/pug

* enhance: bootloaderを埋めčžŧむようãĢ

* fix possible race condition

* remove esbuild

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: ãŠã•ã‚€ãŽã˛ã¨ <46447427+samunohito@users.noreply.github.com>
2025-12-01 18:36:55 +09:00
syuilo
e1b6e9d4b6 fix(frontend): visibilityStateがhiddenãĒįŠļ態でstartViewTransitionしãĒいようãĢ 2025-12-01 08:21:30 +09:00
renovate[bot]
128fe6d644 chore(deps): update [misskey-js] update dependencies [ci skip] (#16900)
* chore(deps): update [misskey-js] update dependencies

* run pnpm dedupe

---------

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-11-30 22:09:10 +09:00
github-actions[bot]
aa905a74cf Bump version to 2025.11.2-alpha.3 2025-11-30 09:49:21 +00:00
syuilo
5e2a6021ae perf(backend): use node-html-parser instead of microformats-parser (#16907)
* perf(backend): use node-html-parser instead of microformats-parser

microformats-parser ã¯å†…éƒ¨įš„ãĢ parse5 ãĢ䞝存しãĻいãĻį„Ąé§„

* Update OAuth2ProviderService.ts

* Add 'id' parameter to parseMicroformats function

* Update OAuth2ProviderService.ts

* Update OAuth2ProviderService.ts
2025-11-30 18:45:56 +09:00
syuilo
dfd479bec5 perf(backend): lazy load summaly 2025-11-30 16:17:34 +09:00
github-actions[bot]
0933aa4d92 Bump version to 2025.11.2-alpha.2 2025-11-30 05:53:54 +00:00
renovate[bot]
fbd11c1eec chore(deps): update [root] update dependencies (#16902)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-30 14:19:23 +09:00
renovate[bot]
768e1dd016 chore(deps): update [tools] update dependencies [ci skip] (#16903)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-30 14:16:57 +09:00
syuilo
d55f51a69b perf(backend): lazy load sentry 2025-11-30 14:04:41 +09:00
ãŠã•ã‚€ãŽã˛ã¨
fe01a5a28f refactor: localesをworkspaceįŽĄį†ä¸‹ãŽãƒ‘ãƒƒã‚ąãƒŧジãĢ (#16895)
* refactor: localesをworkspaceįŽĄį†ä¸‹ãŽãƒ‘ãƒƒã‚ąãƒŧジãĢ

* fix copilot review

* move

* move

* rename

* fix ci

* revert unwanted indent changes

* fix

* fix

* fix

* fix

* 間違えãĻã‚ŗãƒŸãƒƒãƒˆã—ãĻいたぎをæˆģす

* 不čρ

* čŋŊ加æŧã‚Œ

* ymlぎ場所だけæˆģす

* localesぎäŊįŊŽã‚’æˆģã—ãŸãŽã§ã“ãŽåˇŽåˆ†ã¯ä¸čρ

* å†…åŽšįš„ãĢlocalesãĢã‚ã‚‹æ–šãŒæ­Ŗã—ã„

* i18nãƒ‘ãƒƒã‚ąãƒŧã‚¸į”¨ãŽREADME.mdã‚’į”¨æ„

* fix locale.yml

* fix locale.yml

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-30 13:27:44 +09:00
renovate[bot]
32b5583432 fix(deps): update [frontend] update dependencies [ci skip] (#16901)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-30 11:38:11 +09:00
renovate[bot]
5fbe801d35 fix(deps): update [frontend] update dependencies (major) [ci skip] (#16866)
* fix(deps): update [frontend] update dependencies

* attempt to fix test

* rollback twemoji parser to v16 [ci skip]

* fix [ci skip]

* rollback twemoji parser to v16

* attempt to fix test

---------

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-11-30 11:14:34 +09:00
github-actions[bot]
3c11797c6d Bump version to 2025.11.2-alpha.1 2025-11-30 01:02:00 +00:00
syuilo
10242d5f14 New Crowdin updates (#16877)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)
2025-11-30 10:00:28 +09:00
renovate[bot]
0455187a68 fix(deps): update [backend] update dependencies (major) (#16099)
* fix(deps): update [backend] update dependencies

* update approve builds

* update minimum node version for testing

* remove types/bcryptjs

* fix(backend): remove removed type previously exported from file-type

* migrate webauthnservice

* Update Changelog

* update deps (MisskeyIO#889)

- ãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šã•ã‚ŒãĒいredis-lockをč‡Ēå‰åŽŸčŖ…ãĢ変更
- æ—ĸãĢロックされãĻいる場合ぎãƒĒトナイ間隔をčĒŋ整

* use main redis for lock

* spdx

* tweak max retries

* [ci skip] dedupe

* attempt to fix test

* attempt to fix test

* Revert "attempt to fix test"

This reverts commit c508318627.

* temporarily roll back simonjs/fake-timers to v11.3.1

* Revert "temporarily roll back simonjs/fake-timers to v11.3.1"

This reverts commit 54f1fc3d79.

* migrate sinonjs/fake-timers

* update deps / migrate jest 30

* fix test

* fix: update node.js min version to 20.18.1

* fix: rollback nsfwjs to 4.2.0

* fix

* attempt to fix test

* attempt to fix test

* attempt to fix test

* attempt to fix test

* revert jest 30 related changes

* update deps

* fix test

* fix: rollback nsfwjs to 4.2.0

* fix: rollback sharp to 0.33

* update deps

* fix: rollback sharp-read-bmp to 1.2.0

* fix: rollback nsfwjs to 4.2.0

* recreate lockfile

* update deps

* fix: rollback sharp-read-bmp to 1.2.0

* fix: rollback jsdom, parse5

* fix: rollback jsdom types

* fix [ci skip]

* run pnpm dedupe

* update deps

* run pnpm dedupe [ci skip]

* Update Changelog [ci skip]

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: あわわわとãƒŧãĢゅ <17376330+u1-liquid@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-30 09:58:06 +09:00
github-actions[bot]
1ae8e7900d Bump version to 2025.11.2-alpha.0 2025-11-29 13:06:20 +00:00
syuilo
81635d9f1c chore(backend): remove jsdom completely (#16893)
* wip

* Update utils.ts

* Update fetch-resource.ts

* Update exports.ts

* Update oauth.ts
2025-11-29 21:55:13 +09:00
syuilo
4bdbe794a6 perf(backend): parse5をやめãĻčģŊ量ãĒåŽŸčŖ…ãĢã—ã€ãƒĄãƒĸãƒĒ削減ãƒģéĢ˜é€ŸåŒ– (#16892)
* wip

* test

* Revert "test"

This reverts commit b7c5ae7214.

* Update MfmService.ts
2025-11-29 21:19:55 +09:00
syuilo
cad93071da Revert "chore(backend): remove jsdom"
This reverts commit 2effd9da6e.
2025-11-29 20:11:38 +09:00
syuilo
2effd9da6e chore(backend): remove jsdom 2025-11-29 19:55:52 +09:00
syuilo
2732034447 perf(backend): jsdom、happy-domをやめãĻčģŊ量ãĒåŽŸčŖ…ãĢã—ã€ãƒĄãƒĸãƒĒ削減ãƒģéĢ˜é€ŸåŒ– (#16885)
* wip

* Update packages/backend/src/server/api/endpoints/i/update.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove some packages

* ã‚ŗãƒŸãƒƒãƒˆæŧã‚Œ

* clean up

* fix

* Update MfmService.ts

* fix

* fix

* Update MfmService.ts

* wip

* rename

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/backend/src/core/activitypub/ApRendererService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update MfmService.ts

* Update CHANGELOG.md

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-29 19:16:05 +09:00
github-actions[bot]
17a4d4fad9 [skip ci] Update CHANGELOG.md (prepend template) 2025-11-28 10:04:12 +00:00
github-actions[bot]
f01ceb0b7c Release: 2025.11.1 2025-11-28 10:04:05 +00:00
syuilo
0b3efa47a2 Update CHANGELOG.md 2025-11-28 17:06:29 +09:00
Copilot
e44f14115e enhance(backend): Improve error handling for scheduled post validation (#16642)
* Initial plan

* Add error definitions and handling for scheduling validation errors

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* âœŒī¸

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-28 17:06:04 +09:00
ã‹ãŖã“ã‹ã‚Š
bcd9e106e3 fix(deps): fix broken lockfile (#16880) 2025-11-28 16:55:43 +09:00
renovate[bot]
82b577a2f4 chore(deps): update dependency glob to v13 [ci skip] (#16864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-28 16:53:08 +09:00
renovate[bot]
8d8504103c fix(deps): update dependency glob to v13 (#16870)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-27 18:48:55 +09:00
github-actions[bot]
7a8c4817a8 Bump version to 2025.11.1-beta.3 2025-11-27 09:48:35 +00:00
ã‹ãŖã“ã‹ã‚Š
825dcf7e3e Update CHANGELOG.md [ci skip] 2025-11-27 18:47:44 +09:00
syuilo
53e2be747d New Crowdin updates (#16846)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)
2025-11-27 18:43:16 +09:00
ã‹ãŖã“ã‹ã‚Š
f10496645c fix(frontend/aiscript): å„į¨Žé–ĸ数ぎåŧ•数で明į¤ēįš„ãĢnullが指厚されãĻã„ã‚‹å ´åˆãŽãƒãƒŗãƒ‰ãƒĒãƒŗã‚°ã‚’äŋŽæ­Ŗ (#16838)
* fix(frontend/aiscript): MkDialogぎtitle, textでnullå€¤ã‚’č¨ąåŽšã™ã‚‹ã‚ˆã†ãĢ

* fix

* update aiscript and use new api

* fix

* fix
2025-11-27 18:43:00 +09:00
ã‹ãŖã“ã‹ã‚Š
666e046399 Revert "fix(backend): clips/my-favorites APIをペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãĢ寞åŋœã•せる (#16835)" (#16874)
* Revert "fix(backend): `clips/my-favorites` APIをペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãĢ寞åŋœã•せる (#16835)"

This reverts commit 70fa621e22.

* fix
2025-11-27 18:40:54 +09:00
renovate[bot]
f13a34bda4 fix(deps): update dependency js-yaml to v4.1.1 [security] [ci skip] (#16788)
* fix(deps): update dependency js-yaml to v4.1.1 [security]

* âœŒī¸ [ci skip]

---------

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-11-27 16:24:01 +09:00
renovate[bot]
643fd0f22a fix(deps): update [backend] update dependencies [ci skip] (#16867)
* fix(deps): update [backend] update dependencies

* fix(deps): update [backend] update dependencies

* bump sentry node 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-11-27 13:48:08 +09:00
github-actions[bot]
d3aba01db2 Bump version to 2025.11.1-beta.2 2025-11-27 04:22:23 +00:00
syuilo
8fec44d0e9 refactor
Fix #16872
2025-11-27 13:00:11 +09:00
renovate[bot]
105cc4b50a fix(deps): update [frontend] update dependencies [ci skip] (#16868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 21:40:24 +09:00
syuilo
1590a73d3d perf(backend): åŋ…čρãĢãĒるぞでnsfwjsをčĒ­ãŋčžŧぞãĒいようãĢ 2025-11-26 20:40:20 +09:00
renovate[bot]
18caa20969 fix(deps): update dependency glob to v11.1.0 [security] [ci skip] (#16861)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 20:35:29 +09:00
syuilo
1bb8447c73 enhance(frontend): Change default animatedMfm based on reduced motion preference
3f539916d9 (commitcomment-171408344)
2025-11-26 20:17:59 +09:00
github-actions[bot]
df54bd92d0 Bump version to 2025.11.1-beta.1 2025-11-26 10:45:40 +00:00
syuilo
8cb37792c9 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-11-26 19:39:46 +09:00
syuilo
3f539916d9 enhance(frontend): GIFį”ģåƒã‚’å†į”Ÿã™ã‚‹ã‹ãƒģ動くMFMã‚’čĄ¨į¤ēã™ã‚‹ã‹ãŽč¨­åŽšã§OSぎã‚ĸクã‚ģã‚ˇãƒ“ãƒĒãƒ†ã‚Ŗč¨­åŽšã‚’å‚į…§ã—ãĒいようãĢ
ãƒģOSぎUIぎã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗč¨­åŽšãŒMisskey内ぎGIFãĒおãĢãžã§é€Ŗå‹•ã—ãĻéŠį”¨ã•ã‚Œã‚‹ãŽã¯åˆ†ã‹ã‚ŠãĢくいãƒģ期垅しãĒい動äŊœã¨ãŽåŖ°ãŒå¤šã„ため
ãƒģ動きぎあるã‚Ģ゚ã‚ŋムįĩĩ文字ãĒãŠãŽã‚ŗãƒŗãƒ†ãƒŗãƒ„ã¯Misskeyぎä¸ģčĻéƒ¨åˆ†ã§ã‚ã‚Šã€ãã‚Œã‚’æ­ĸã‚ã‚‹č¨­åŽšã¯ã€æœŦæĨぎ挙動ãĢåŊąéŸŋしãĒã„į¯„å›˛ã§ã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗã‚’æ¸›ã‚‰ã™ã‚ĸクã‚ģã‚ˇãƒ“ãƒĒãƒ†ã‚Ŗč¨­åŽšã¨ã¯čļŖæ—¨ãŒį•°ãĒるため(OSでã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗã‚’æ¸›ã‚‰ã™č¨­åŽšã‚’æœ‰åŠšãĢã—ãŸã‹ã‚‰ã¨ã„ãŖãĻOSで動į”ģãŽå†į”ŸãŒã•ã‚ŒãĒくãĒるわけではãĒいぎと同じ)
2025-11-26 19:39:36 +09:00
renovate[bot]
415339b30b chore(deps): update [misskey-js] update dependencies [ci skip] (#16863)
* chore(deps): update [misskey-js] update dependencies

* update deps

---------

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-11-26 19:37:20 +09:00
syuilo
de7cbb376e fix(frontend): 初回čĒ­ãŋčžŧãŋ時ãĢエナãƒŧãĢãĒã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16562
2025-11-26 19:26:27 +09:00
syuilo
6cb6f794e5 clean up 2025-11-26 19:14:40 +09:00
syuilo
236c235115 enhance(frontend): viewportãŽåąžæ€§ã‚’čĩˇå‹•垌ãĢ変化させãĒいことãĢよりå‡Ļį†ã‚’į°Ąį•Ĩ化+厉厚性向上 2025-11-26 19:12:03 +09:00
renovate[bot]
71808d3cc0 chore(deps): update [tools] update dependencies [ci skip] (#16865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 19:00:05 +09:00
renovate[bot]
989c1b351a fix(deps): update [root] update dependencies [ci skip] (#16862)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-26 18:59:34 +09:00
ã‹ãŖã“ã‹ã‚Š
0c5f61721a fix(frontend): フりロãƒŧᔺčĢ‹ãŽã‚­ãƒŖãƒŗã‚ģãƒĢ時ãĢįĸēčĒãƒ€ã‚¤ã‚ĸログをå‡ēすようãĢ (#16834)
* fix(frontend): フりロãƒŧᔺčĢ‹ãŽã‚­ãƒŖãƒŗã‚ģãƒĢ時ãĢįĸēčĒãƒ€ã‚¤ã‚ĸログをå‡ēすようãĢ

* Update Changelog

* fix: æŗ¨é‡ˆã¯æ›¸ã‹ãĒい
2025-11-26 13:07:28 +09:00
github-actions[bot]
e0e17a78f1 Bump version to 2025.11.1-beta.0 2025-11-26 01:01:54 +00:00
syuilo
2ad393ea45 fix(backend): ワãƒŧドミãƒĨãƒŧãƒˆãŽæ–‡å­—æ•°č¨ˆįŽ—ã‚’äŋŽæ­Ŗ 2025-11-26 09:55:02 +09:00
syuilo
cdf059cc11 chore(dev): use postgresql 18 (#16850) 2025-11-25 19:38:57 +09:00
renovate[bot]
0fdd88f38e fix(deps): update [frontend] update dependencies [ci skip] (#16802)
* fix(deps): update [frontend] update dependencies

* run pnpm dedupe

* [ci skip] run dedupe

---------

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-11-25 10:45:36 +09:00
github-actions[bot]
4679b2b34d Bump version to 2025.11.1-alpha.2 2025-11-25 01:33:05 +00:00
syuilo
052b1a6c76 Update CHANGELOG.md 2025-11-25 10:27:53 +09:00
syuilo
fd15a7fc23 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-11-25 10:20:46 +09:00
syuilo
b895088546 🎨 2025-11-25 10:20:36 +09:00
renovate[bot]
1e5592a5bd fix(deps): update [backend] update dependencies [ci skip] (#16801)
* fix(deps): update [backend] update dependencies

* fix types

---------

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-11-25 10:20:06 +09:00
syuilo
c3ad46ad6f fix(frontend): ãƒŠãƒ“ã‚˛ãƒŧã‚ˇãƒ§ãƒŗãƒãƒŧを下ãĢ襨į¤ēしãĻいるときãĢã€é …į›Žæ•°ãŒå¤šã„ã¨čĄ¨į¤ēãŒå´Šã‚Œã‚‹å•éĄŒã‚’äŋŽæ­Ŗ 2025-11-25 09:46:07 +09:00
syuilo
8c7e1bd287 chore(backend): tweak message 2025-11-25 09:26:22 +09:00
ã‹ãŖã“ã‹ã‚Š
043b9b3d26 fix(frontend): MkRadiosぎslotでv-ifをäŊŋį”¨ã™ã‚‹ã¨įŠēį™ŊぎoptionãŒį”Ÿæˆã•ã‚Œã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16832)
* fix: MkRadiosぎslotでv-ifをäŊŋį”¨ã™ã‚‹ã¨įŠēį™ŊぎoptionãŒį”Ÿæˆã•ã‚Œã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (MisskeyIO#1105)

* Update Changelog

* Update CHANGELOG.md

---------

Co-authored-by: あわわわとãƒŧãĢゅ <17376330+u1-liquid@users.noreply.github.com>
2025-11-25 08:56:30 +09:00
ã‹ãŖã“ã‹ã‚Š
91dafc26a7 refactor(frontend/aiscript): AiScriptバãƒŧã‚¸ãƒ§ãƒŗå–åž—ãƒģ判厚ロジックをįĩąä¸€ (#16845)
* refactor(frontend): AiScriptバãƒŧã‚¸ãƒ§ãƒŗå–åž—ãƒģ判厚ロジックをįĩąä¸€

* fix
2025-11-25 07:23:21 +09:00
github-actions[bot]
4edd6a68e6 Bump version to 2025.11.1-alpha.1 2025-11-24 12:06:01 +00:00
ã‹ãŖã“ã‹ã‚Š
f801d1cf0b fix(backend): DBãƒŦプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’åˆŠį”¨ã™ã‚‹į’°åĸƒã§ã‚¯ã‚¨ãƒĒãƒŧãŒå¤ąæ•—ã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16842)
* fix: DBãƒŦプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’åˆŠį”¨ã™ã‚‹į’°åĸƒã§ã‚¯ã‚¨ãƒĒãƒŧãŒå¤ąæ•—ã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (MisskeyIO#1123)

* Update Changelog

---------

Co-authored-by: あわわわとãƒŧãĢゅ <17376330+u1-liquid@users.noreply.github.com>
2025-11-24 20:59:25 +09:00
ã‹ãŖã“ã‹ã‚Š
42706970f2 fix(frontend): PlayぎAiScriptバãƒŧã‚¸ãƒ§ãƒŗåˆ¤åŽšãŒæ­Ŗã—ãå‹•äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16843)
* fix: aiscript 1.0.0 äģĨ外が全部ãƒŦã‚Ŧã‚ˇãƒŧæ‰ąã„ãĢãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (MisskeyIO#1129)

* Update Changelog

---------

Co-authored-by: あわわわとãƒŧãĢゅ <17376330+u1-liquid@users.noreply.github.com>
2025-11-24 20:53:39 +09:00
syuilo
14730e429a New Crowdin updates (#16797)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)
2025-11-24 17:40:29 +09:00
ã‹ãŖã“ã‹ã‚Š
2ee04860fb enhance(frontend): preferenceぎã‚ŋブ間同期ãĢBroadcast ChannelをäŊŋį”¨ã™ã‚‹ã‚ˆã†ãĢ (#16819)
* enhance(frontend): preferenceぎã‚ŋブ間同期ãĢBroadcast ChannelをäŊŋį”¨ã™ã‚‹ã‚ˆã†ãĢ

* fix

* refactor: EventEmitterをextendするåŊĸãĢ変更
2025-11-24 16:52:46 +09:00
github-actions[bot]
25afb5d279 Bump version to 2025.11.1-alpha.0 2025-11-24 03:05:55 +00:00
ã‹ãŖã“ã‹ã‚Š
c4f53aba3f fix(frontend): ä¸€éƒ¨ãŽã‚ˇãƒãƒĨエãƒŧã‚ˇãƒ§ãƒŗã§æŠ•į¨ŋフりãƒŧムぎツã‚ĸãƒŧãŒčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16837)
* fix(frontend): ä¸€éƒ¨ãŽã‚ˇãƒãƒĨエãƒŧã‚ˇãƒ§ãƒŗã§æŠ•į¨ŋフりãƒŧムぎツã‚ĸãƒŧãŒčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-24 11:18:01 +09:00
ã‹ãŖã“ã‹ã‚Š
86e4f15e95 fix(frontend): ãƒĒã‚ģットボã‚ŋãƒŗã§CWがãƒĒã‚ģットされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16820)
* fix(frontend): ãƒĒã‚ģットボã‚ŋãƒŗã§CWがãƒĒã‚ģットされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* update changelog
2025-11-24 11:13:36 +09:00
ã‹ãŖã“ã‹ã‚Š
6c190e7a5d fix(backend): ãƒãƒŖãƒŗãƒãƒĢぎãƒĒã‚ĸãƒĢã‚ŋã‚¤ãƒ æ›´æ–°ã§éžãƒ­ã‚°ã‚¤ãƒŗæ™‚éžčĄ¨į¤ēč¨­åŽšãŒč€ƒæ…Žã•ã‚ŒãĻいãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16833)
* fix(backend): ãƒãƒŖãƒŗãƒãƒĢぎãƒĒã‚ĸãƒĢã‚ŋイム更新でロックダã‚Ļãƒŗč¨­åŽšãŒč€ƒæ…Žã•ã‚ŒãĻいãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-24 11:11:59 +09:00
zyoshoka
1b46813e7a chore(dev): correct entrypoint path for embed on dev build (#16836) 2025-11-24 11:08:44 +09:00
syuilo
0ea0e05e61 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-11-24 11:01:19 +09:00
syuilo
015e680133 chore(backend/dev): remove cli-highlight dependency to reduce memory usage 2025-11-24 11:01:00 +09:00
ã‹ãŖã“ã‹ã‚Š
ea40a0756f fix(backend): DeepLįŋģč¨ŗãŽAPIキãƒŧ指厚斚åŧå¤‰æ›´ãĢ寞åŋœ (#16839)
* spec: DeepL Deprecation of query parameter and request body authentication (MisskeyIO#1096)

https://developers.deepl.com/docs/resources/breaking-changes-change-notices/november-2025-deprecation-of-legacy-auth-methods

* Update Changelog

* Update Changelog

* âœŒī¸ [ci skip]

---------

Co-authored-by: あわわわとãƒŧãĢゅ <17376330+u1-liquid@users.noreply.github.com>
2025-11-24 10:59:50 +09:00
ã‹ãŖã“ã‹ã‚Š
70fa621e22 fix(backend): clips/my-favorites APIをペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãĢ寞åŋœã•せる (#16835)
* fix(backend): `clips/my-favorites` APIをペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãĢ寞åŋœã•せる

* fix

* fix test

* fix
2025-11-23 22:41:14 +09:00
syuilo
c741aa5d7d chore(dev): add start:inspect command for debugging 2025-11-21 10:04:16 +09:00
ã‹ãŖã“ã‹ã‚Š
7afe0d44d1 fix(frontend): pageheaderぎ型をäŋŽæ­Ŗ (#16803) 2025-11-20 15:40:52 +09:00
æžœį‰ŠãƒĒãƒŗ
e588615ea9 fix: ヘッダãƒŧãƒĄãƒ‹ãƒĨãƒŧãŽãƒãƒŖãƒŗãƒãƒĢã‹ã‚‰ãƒãƒŖãƒŗãƒãƒĢを新čĻäŊœæˆãŽéˇį§ģ先äŋŽæ­Ŗ (#16816)
* fix: ヘッダãƒŧãƒĄãƒ‹ãƒĨãƒŧãŽãƒãƒŖãƒŗãƒãƒĢã‹ã‚‰ãƒãƒŖãƒŗãƒãƒĢを新čĻäŊœæˆãŽéˇį§ģ先äŋŽæ­Ŗ

* add changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-20 15:39:50 +09:00
ã‹ãŖã“ã‹ã‚Š
7e56fed164 fix(frontend): ペãƒŧã‚¸ãŽã‚ŗãƒŗãƒ†ãƒŗãƒ„ãŒã¯ãŋå‡ēã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16817)
* fix(frontend): ペãƒŧã‚¸ãŽã‚ŗãƒŗãƒ†ãƒŗãƒ„ãŒã¯ãŋå‡ēã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2025-11-20 15:38:25 +09:00
kami8
9f810d701d enhance(frontend): ãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãŽå—ã‘å…Ĩã‚Œč¨­åŽšãĢã‚­ãƒŖãƒ—ã‚ˇãƒ§ãƒŗã‚’čŋŊ加 (#16807)
* enhance(frontend): ãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãŽå—ã‘å…Ĩã‚Œč¨­åŽšãĢã‚­ãƒŖãƒ—ã‚ˇãƒ§ãƒŗã‚’čŋŊ加

* Update Changelog

* CHANGELOG.mdをäŋŽæ­Ŗ

* CHANGELOG.mdãŽã‚ŗãƒŗãƒ•ãƒĒã‚¯ãƒˆã‚’č§Ŗæļˆã—、再åēĻå¤‰æ›´å†…åŽšã‚’č¨˜čŧ‰

* æĄäģļåˆ†å˛ã‚’switch文ãĢ変更

* chore: trigger CI re-run
2025-11-19 19:17:43 +09:00
ãŠã•ã‚€ãŽã˛ã¨
2f3421645a fix(devcontainer): devcontainerぎバãƒŧã‚¸ãƒ§ãƒŗã‚ĸップīŧ‹Renovateでbumpå‡ēæĨるようãĢč¨­åŽšã‚’čŋŊ加 (#16793)
* fix(devcontainer): devcontainerぎバãƒŧã‚¸ãƒ§ãƒŗã‚ĸップīŧ‹Renovateでbumpå‡ēæĨるようãĢč¨­åŽšã‚’čŋŊ加

* Update renovate.json5

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update renovate.json5

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix matchFileNames

* using trixie

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-19 12:34:27 +09:00
syuilo
4c0f215fc5 refactor 2025-11-18 16:23:57 +09:00
github-actions[bot]
449b00c934 [skip ci] Update CHANGELOG.md (prepend template) 2025-11-16 08:23:49 +00:00
github-actions[bot]
cdcff3ede8 Release: 2025.11.0 2025-11-16 08:23:43 +00:00
syuilo
9d1c3f053c New Crowdin updates (#16781)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)
2025-11-16 09:12:02 +09:00
github-actions[bot]
8c5d571975 Bump version to 2025.11.0-rc.0 2025-11-15 12:20:55 +00:00
ãŠã•ã‚€ãŽã˛ã¨
c5e9f7add4 fix(ci): DockleぎCIがčŊãĄã‚‹ãŽã‚’äŋŽæ­Ŗ (#16794)
* fix(ci): DockleぎCIがčŊãĄã‚‹ãŽã‚’äŋŽæ­Ŗ

* fix

* fix

* fix

* fix

* fix

* downgrade dockle

* fix
2025-11-15 21:04:45 +09:00
ãŠã•ã‚€ãŽã˛ã¨
e15fdd05b7 fix(frontend): ã‚Ģ゚ã‚ŋムįĩĩ文字(β)į”ģéĸã§å¤‰æ›´čĄŒãŒæ­Ŗã—ããƒã‚¤ãƒŠã‚¤ãƒˆã•ã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16785)
* fix(frontend): ã‚Ģ゚ã‚ŋムįĩĩ文字(β)į”ģéĸã§å¤‰æ›´čĄŒãŒæ­Ŗã—ããƒã‚¤ãƒŠã‚¤ãƒˆã•ã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* rollback

* čŠŗį´°åēĻ->!important
2025-11-15 12:13:50 +09:00
ãŠã•ã‚€ãŽã˛ã¨
41e945b0ef fix(frontend): 投į¨ŋフりãƒŧムぎã‚ĸバã‚ŋãƒŧį”ģåƒãŒį¸Žã‚€ãŽã‚’äŋŽæ­Ŗ (#16790)
* fix(frontend): 投į¨ŋフりãƒŧムぎã‚ĸバã‚ŋãƒŧį”ģåƒãŒį¸Žã‚€ãŽã‚’äŋŽæ­Ŗ

* fix CHANGELOG.md

* fix
2025-11-15 11:33:37 +09:00
syuilo
f89faae0ab chore(frontend): add tip for preference restore 2025-11-13 14:11:38 +09:00
github-actions[bot]
67ca3d7e71 Bump version to 2025.11.0-beta.0 2025-11-12 10:51:11 +00:00
claustra01
2ac2e9e849 ãƒãƒŖãƒŗãƒãƒĢぎčĒŦ明æŦ„ぎ最小文字数åˆļį´„ã‚’é™¤åŽģする (#16782)
* chore: channelぎdescriptionをįŠēæŦ„ãĢできるようãĢする

* update: CHANGELOG.md

* update: CHANGELOG.md

* fix: CHANGELOG.md

* fix: CHANGELOG.md
2025-11-12 18:16:05 +09:00
claustra01
746269c4b1 RoleService.testがPostgreSQLぎdeadlockでrandom failã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16784)
* fix: ä¸Ļ列deleteãĢよるpostgresqlぎdeadlock

* chore: update comment
2025-11-12 18:15:08 +09:00
syuilo
c059256bd6 Update ROADMAP with completed tasks 2025-11-11 09:30:13 +09:00
github-actions[bot]
2e17979abc Bump version to 2025.11.0-alpha.4 2025-11-10 10:08:33 +00:00
syuilo
c2d95ebdcb New Crowdin updates (#16711)
* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Kabyle)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)
2025-11-10 19:06:39 +09:00
ã‹ãŖã“ã‹ã‚Š
cb5de83bad Update lint.yml 2025-11-10 18:46:13 +09:00
syuilo
30d87d5532 Update lint.yml
https://github.com/misskey-dev/misskey/issues/16255
2025-11-10 18:43:03 +09:00
ã‹ãŖã“ã‹ã‚Š
5c212c996a enhance(frontend): ã‚ĸãƒŗãƒ†ãƒŠãƒģãƒĒã‚šãƒˆãŽč¨­åŽšį”ģéĸãƒģã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗãŽå‹•įˇšã‚’æ”šå–„ (#16739)
* enhance(frontend): ã‚ĸãƒŗãƒ†ãƒŠãƒģãƒĒã‚šãƒˆãŽč¨­åŽšį”ģéĸからã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗã¸ãŽå‹•įˇšã‚’čŋŊ加

* Update Changelog

* fix
2025-11-10 17:22:13 +09:00
ã‹ãŖã“ã‹ã‚Š
39e01b1dfe refactor(frontend): ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽåž‹ã‚¨ãƒŠãƒŧč§Ŗæļˆ (#16779) 2025-11-10 16:52:42 +09:00
ã‹ãŖã“ã‹ã‚Š
fd2fe34270 refactor8frontend9: anyを除åŽģ (#16778) 2025-11-10 15:33:54 +09:00
syuilo
73bcd330f7 fix(backend): improve isFederationAllowedHost 2025-11-10 14:09:15 +09:00
syuilo
23d2d191a0 chore(frontend): ã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗį”ģåƒč¨­åŽšã‚’ãƒ‘ãƒ•ã‚Šãƒŧãƒžãƒŗã‚šã‚ģã‚¯ã‚ˇãƒ§ãƒŗãĢもčŋŊ加 2025-11-10 13:23:23 +09:00
ãŠã•ã‚€ãŽã˛ã¨
ca1bf21dcf chore: RoleServiceぎunit-testčŋŊ加 (#16777) 2025-11-10 10:31:49 +09:00
syuilo
1ffc53f596 use esnext to avoid type error 2025-11-09 19:49:27 +09:00
syuilo
4e38f218ec fix type 2025-11-09 19:44:07 +09:00
syuilo
a0d34940ff fix type 2025-11-09 19:43:19 +09:00
syuilo
bdddd623b6 🎨 2025-11-09 19:31:41 +09:00
ã‹ãŖã“ã‹ã‚Š
29bfc9a91a fix(frontend): postform tourを゚キップできるようãĢ (#16767)
* fix(frontend): postform tourを゚キップできるようãĢ

* use closable option
2025-11-09 16:23:58 +09:00
ã‹ãŖã“ã‹ã‚Š
2e596607f8 Update CHANGELOG.md [ci skip] 2025-11-08 19:20:45 +09:00
renovate[bot]
cf89280fc5 fix(deps): update dependency vite to v7.1.11 [security] (#16678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 19:19:58 +09:00
ã‹ãŖã“ã‹ã‚Š
c0f4c47c53 fix(misskey-js): misskey-js autogen が動äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16773)
* fix(misskey-js): misskey-js autogen が動äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* rollback eslint-plugin to eliminate unwanted side-effects
2025-11-08 18:45:54 +09:00
renovate[bot]
58995e6b97 fix(deps): update [backend] update dependencies (#16771)
* fix(deps): update [backend] update dependencies

* run pnpm dedupe [ci skip]

* run pnpm dedupe [ci skip]

---------

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-11-08 17:53:12 +09:00
renovate[bot]
d00ca499a3 chore(deps): update [misskey-js] update dependencies [ci skip] (#16768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 17:49:05 +09:00
ã‹ãŖã“ã‹ã‚Š
ec1120bdaa fix(deps): update @typescript-eslint/* dependencies [ci skip] (#16772)
* fix(deps): update `@typescript-eslint/*` dependencies

* fix lint
2025-11-08 17:30:58 +09:00
renovate[bot]
3a65728fb4 fix(deps): update [frontend] update dependencies [ci skip] (#16769)
* fix(deps): update [frontend] update dependencies

* run ci

---------

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-11-08 16:22:38 +09:00
renovate[bot]
e4c03b9f4e fix(deps): update dependency tar to v7.5.2 [security] [ci skip] (#16728)
* fix(deps): update dependency tar to v7.5.2 [security]

* regenerate lockfile

---------

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-11-08 16:17:53 +09:00
renovate[bot]
b82533c4b8 fix(deps): update [root] update dependencies [ci skip] (#16770)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 16:14:17 +09:00
syuilo
ef1cdca6f9 refactor(frontend): specify global object 2025-11-07 20:20:13 +09:00
Copilot
46d30f454b Fix postMessage type error in Web Worker files by adding triple-slash directives (#16761)
* Initial plan

* Add triple-slash directives to worker files to fix postMessage type error

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-07 20:18:33 +09:00
syuilo
b300b5b94a fix type 2025-11-07 13:56:41 +09:00
github-actions[bot]
39d6aecc57 Bump version to 2025.11.0-alpha.3 2025-11-07 04:27:23 +00:00
syuilo
edbe30a3df fix tuype 2025-11-07 13:02:46 +09:00
syuilo
ad4751918b fix type 2025-11-07 12:56:28 +09:00
syuilo
bd9041bd8f fix type 2025-11-07 12:55:01 +09:00
syuilo
4dcff123df fix type 2025-11-07 12:53:28 +09:00
syuilo
990be44d98 fix type 2025-11-07 12:45:47 +09:00
syuilo
78d65ef3dd fix type 2025-11-07 12:39:25 +09:00
æžœį‰ŠãƒĒãƒŗ
0a67d6f1a0 fix(frontend): 一部ぎペãƒŧã‚¸ã§ã‚‚ãŖã¨čĻ‹ã‚‹ãŒč‡Ēå‹•ã§čĄŒã‚ã‚ŒãĒいバグぎäŋŽæ­Ŗ (#16754)
* 一部ぎペãƒŧã‚¸ã§ã‚‚ãŖã¨čĻ‹ã‚‹ãŒč‡Ēå‹•ã§čĄŒã‚ã‚ŒãĒいバグぎäŋŽæ­Ŗ

* fix(frontend): MkPagination で UI ã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗã‚Ēフ時ãĢč‡Ē動ロãƒŧドが動äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

Transition ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãŽ mode="out-in" が、ã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗį„ĄåŠšæ™‚ã§ã‚‚
éŠį”¨ã•ã‚ŒãĻおり、IntersectionObserver ぎ検å‡ēãĢåš˛æ¸‰ã—ãĻã„ãŸå•éĄŒã‚’äŋŽæ­Ŗã€‚
ã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗæœ‰åŠšæ™‚ãŽãŋ mode="out-in" ã‚’éŠį”¨ã™ã‚‹ã‚ˆã†ãĢ変更。

Co-authored-by: æžœį‰ŠãƒĒãƒŗ <fruitriin@users.noreply.github.com>

* enhance: ãƒĻãƒŧã‚ļãƒŧãŽč¨­åŽšå€¤ãĢã‹ã‹ã‚ã‚‰ãšį„Ąé™ã‚šã‚¯ãƒ­ãƒŧãƒĢをã‚ĒフãĢできるã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã‚’čŋŊ加

* Update Changelog

* MkNotesTimeline.vueãĢforceDisableInfiniteScrollをčŋŊ加、 note.vueぎ前斚向ぎčĒ­ãŋčžŧãŋでこれを有劚

* fix lint

* refactor

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: æžœį‰ŠãƒĒãƒŗ <fruitriin@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-11-07 11:27:08 +09:00
syuilo
e312283ea0 enhance(frontend): 投į¨ŋフりãƒŧãƒ ãŽãƒ’ãƒŗãƒˆã‚’čŋŊ加 (#16712)
* wip

* wip

* Update MkSpot.vue

* Update MkPostForm.vue

* wip

* wip

* Update CHANGELOG.md
2025-11-07 11:03:33 +09:00
syuilo
e8c78e12d5 Update package.json 2025-11-07 11:03:23 +09:00
github-actions[bot]
37fe7a9634 Bump version to 2025.11.0-alpha.2 2025-11-06 23:43:26 +00:00
ãŠã•ã‚€ãŽã˛ã¨
729abbef62 feat: ãƒãƒŖãƒŗãƒãƒĢミãƒĨãƒŧãƒˆãŽåŽŸčŖ… (#14105)
* add channel_muting table and entities

* add channel_muting services

* ã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗå–åž—å‡Ļį†ã¸ãŽįĩ„ãŋčžŧãŋ

* misskey-jsãŽåž‹ã¨ã‚¤ãƒŗã‚ŋãƒŧフェãƒŧã‚šį”Ÿæˆ

* Channel゚キãƒŧマãĢミãƒĨãƒŧãƒˆæƒ…å ąã‚’čŋŊ加

* ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽåŽŸčŖ…

* æĄäģļãŒé€†ã ãŖãŸãŽã‚’äŋŽæ­Ŗ

* 期限切れミãƒĨãƒŧトを掃除する抟čƒŊã‚’åŽŸčŖ…

* TLぎæŠŊå‡ēæĄäģļčĒŋᝀ

* 名前ぎ変更と変更不čĻãŽåˇŽåˆ†ã‚’ãƒ­ãƒŧãƒĢバック

* äŋŽæ­Ŗæŧã‚Œ

* isChannelRelatedãŽæĄäģļãĢčĒ¤ã‚ŠãŒã‚ãŖãŸ

* [wip] テ゚トčŋŊ加

* テ゚トぎčŋŊ加と検å‡ēした不備ぎäŋŽæ­Ŗ

* fix test

* fix CHANGELOG.md

* 通常はFTTãĢしãĻおく

* åŽŸčŖ…åŋ˜ã‚Œå¯žåŋœ

* fix merge

* fix merge

* add channel tl test

* fix CHANGELOG.md

* remove unused import

* fix lint

* fix test

* fix favorite -> favorited

* exclude -> include

* fix CHANGELOG.md

* fix CHANGELOG.md

* maintenance

* fix CHANGELOG.md

* fix

* fix ci

* regenerate

* fix

* Revert "fix"

This reverts commit 699d50c6ec.

* fixed

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-07 08:39:21 +09:00
github-actions[bot]
e74ab35de3 Bump version to 2025.11.0-alpha.1 2025-11-06 11:33:32 +00:00
syuilo
4ba18690d7 feat(frontend): EXIFフãƒŦãƒŧム抟čƒŊ (#16725)
* wip

* wip

* Update ImageEffector.ts

* Update image-label-renderer.ts

* Update image-label-renderer.ts

* wip

* Update image-label-renderer.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update use-uploader.ts

* Update watermark.ts

* wip

* wu

* wip

* Update image-frame-renderer.ts

* wip

* wip

* Update image-frame-renderer.ts

* Create ImageCompositor.ts

* Update ImageCompositor.ts

* wip

* wip

* Update ImageEffector.ts

* wip

* Update use-uploader.ts

* wip

* wip

* wip

* wip

* Update fxs.ts

* wip

* wip

* wip

* Update CHANGELOG.md

* wip

* wip

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update MkImageFrameEditorDialog.vue

* Update use-uploader.ts

* improve error handling

* Update use-uploader.ts

* 🎨

* wip

* wip

* lazy load

* lazy load

* wip

* wip

* wip
2025-11-06 20:25:17 +09:00
syuilo
26c8914a26 fix(frontend): improve startViewTransition handling 2025-11-06 18:07:03 +09:00
Souma
119423e3ae enhance(frontend): Extend links to profile pages (#16417)
* feat(frontend): Add a link to profile to banner and avatar

Increase the area of links to click easily.

* chore(frontend): Change the link of notes count

Move to the notes tab for better userbility.

* feat(frontend): Add links to notes, followers and following

For easy transition to the shown information.

* docs(changelog): Add a description about this change

Users can notice what's changed by this PR.

* style(frontend): Fix the linter error

Remove the duplicated space.

* refactor(frontend): Don't surround the banners with links

It may conflict with the follow buttons.

* docs(changelog): Move the changes to the latest version

This feature is not merged and will be released in the latest version.

Signed-off-by: Souma <101255979+5ouma@users.noreply.github.com>

---------

Signed-off-by: Souma <101255979+5ouma@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-11-06 13:42:52 +09:00
github-actions[bot]
3de1ce63cd Bump version to 2025.11.0-alpha.0 2025-11-06 03:43:51 +00:00
ã‹ãŖã“ã‹ã‚Š
18fbc9bb05 fix(frontend): 存在しãĒいįŋģč¨ŗã‚­ãƒŧをčŋŊ加 (#16757) 2025-11-06 12:39:48 +09:00
éĨē子w (Yumechi)
37a21cf54e enhance: Remote Notes Cleaning timeout bailout logic (#16752)
* enhance: Remote Notes Cleaning timeout bailout logic

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* fix: dynamic limit did not propagate

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* enhance: reload parameters each batch

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-11-06 12:38:56 +09:00
ã‹ãŖã“ã‹ã‚Š
290fd8c7cc enhance(frontend): ブナã‚Ļã‚ļぎ通įŸĨ樊限をよりįĸē原ãĢ取垗できるようãĢ (#16758)
* enhance(frontend): ブナã‚Ļã‚ļぎ通įŸĨ樊限をよりįĸē原ãĢ取垗できるようãĢ

* Update Changelog
2025-11-06 12:36:36 +09:00
ã‹ãŖã“ã‹ã‚Š
0edb0133fc enhance(frontend): ãƒãƒŖãƒŗãƒãƒĢ周りぎUIãŽæ•´į† (#16743)
* enhance(frontend): ãƒãƒŖãƒŗãƒãƒĢ周りぎUIãŽæ•´į†

* fix: å…ąé€ščĻį´ é–“ãŽä¸€č˛Ģ性をäŋã¤

* Update Changelog

* fix: ãƒãƒŖãƒŗãƒãƒĢ新čĻäŊœæˆã‚’įŽĄį†ã‚ŋブãĢį§ģ動ãƒģ上部ボã‚ŋãƒŗå‰Šé™¤
2025-11-06 10:15:59 +09:00
ã‹ãŖã“ã‹ã‚Š
0abe021640 fix(frontend): PageHeaderぎã‚ŋイトãƒĢがはãŋå‡ēã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16744)
* fix(frontend): PageHeaderぎã‚ŋイトãƒĢがはãŋå‡ēã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

* fix: remove duplicated scoped class to avoid confusion
2025-11-06 09:31:55 +09:00
ã‹ãŖã“ã‹ã‚Š
344f50d538 enhance(frontend): įĩĩ文字パãƒŦãƒƒãƒˆč¨­åŽšãĢčĒŦ明文をčŋŊ加 (#16750)
* enhance(frontend): įĩĩ文字パãƒŦãƒƒãƒˆč¨­åŽšãĢčĒŦ明文をčŋŊ加

* tweak message
2025-11-05 11:35:48 +09:00
ã‹ãŖã“ã‹ã‚Š
1cebad0ddb fix(frontend): navbarぎãƒĒã‚ĸãƒĢã‚ŋイムãƒĸãƒŧドぎã‚Ēãƒŗã‚ĒフįŠļæ…‹ãŽčĄ¨į¤ēをわかりやすく (#16748)
* fix(frontend): navbarぎãƒĒã‚ĸãƒĢã‚ŋイムãƒĸãƒŧドぎã‚Ēãƒŗã‚Ēフをわかりやすく

* Update Changelog

* remove unused imports
2025-11-05 09:45:42 +09:00
ã‹ãŖã“ã‹ã‚Š
3e34e87a59 fix(i18n): čĄ¨č¨˜ã‚†ã‚Œã‚’äŋŽæ­Ŗ (#16749) 2025-11-05 09:45:06 +09:00
ã‹ãŖã“ã‹ã‚Š
b9713259a7 fix(frontend): 襨į¤ēするもぎがãĒいときãĢはMkResultをäŊŋį”¨ã™ã‚‹ã‚ˆã†ãĢ (#16740) 2025-11-04 15:16:58 +09:00
ã‹ãŖã“ã‹ã‚Š
e15b8b7fa3 fix(frontend): formlinkぎ゚ã‚ŋイãƒĢäŋŽæ­Ŗ (#16741) 2025-11-04 15:13:24 +09:00
ã‹ãŖã“ã‹ã‚Š
ca89c86426 fix(frontend): č‡Ē分ãĢå‰˛ã‚ŠåŊ“ãĻられたロãƒŧãƒĢ一čĻ§ãŽäŊ™į™ŊをčĒŋ整 (#16747) 2025-11-04 15:12:20 +09:00
ã‹ãŖã“ã‹ã‚Š
6bce19655b fix(frontend): ドナイブぎtipぎ゚ã‚ŋイãƒĢäŋŽæ­Ŗ (#16742) 2025-11-04 11:58:29 +09:00
ã‹ãŖã“ã‹ã‚Š
78ed024b0b refactor(frontend): EmojiPickerãŽå†—é•ˇãĒCSSã‚’ä¸€éƒ¨į°Ąį•Ĩ化 (#16717) 2025-11-02 12:12:33 +09:00
ã‹ãŖã“ã‹ã‚Š
6f76b598a1 fix: follow-up of #16719 [ci skip] (#16732) 2025-11-01 13:58:35 +09:00
syuilo
a888f2863b Node.js 24 support (#16723)
* Revert "テ゚トが動かãĒいためnodejs 24ã‚ĩポãƒŧトを取りæļˆã—"

This reverts commit a892bbcce5.

* fix jest.js

* ãƒ•ã‚Ąã‚¤ãƒĢぎæˇģä옿–šæŗ•ã‚’å¤‰æ›´

---------

Co-authored-by: samunohito <46447427+samunohito@users.noreply.github.com>
2025-10-30 21:47:04 +09:00
syuilo
a892bbcce5 テ゚トが動かãĒいためnodejs 24ã‚ĩポãƒŧトを取りæļˆã— 2025-10-29 09:58:44 +09:00
ã‹ãŖã“ã‹ã‚Š
6571c87e14 fix: attempt to fix test (#16719)
* fix(backend): attempt to fix test

* fix

* Revert "fix(backend): attempt to fix test"

This reverts commit 67dff577c9.

* attempt to fix test

* Revert "fix"

This reverts commit cec3d2f5c6.

* fix
2025-10-28 11:35:23 +09:00
ã‹ãŖã“ã‹ã‚Š
9e0f18a705 deps: update @types/node to v24 [ci skip] (#16718)
* update `@types/node` to v24

* fix
2025-10-28 11:34:42 +09:00
syuilo
3dfca2d61f lint 2025-10-28 11:05:14 +09:00
syuilo
f1578c282e update deps 2025-10-28 10:43:59 +09:00
syuilo
231a6877be enhance: Node.js v24がActive LTSãĢį§ģčĄŒã•ã‚ŒãŸã“ã¨ãĢäŧ´ã„v24を標æē–ãĢ 2025-10-28 10:27:11 +09:00
ã‹ãŖã“ã‹ã‚Š
d0a5ccc1ec fix(frontend): ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãŽã‚¤ãƒŗãƒãƒŧトåŋ˜ã‚Œ (#16715) 2025-10-27 18:41:17 +09:00
ã‹ãŖã“ã‹ã‚Š
4e16e23acd fix(frontend): confettiãŽåŽŸčĄŒãŒã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗč¨­åŽšã‚’č€ƒæ…Žã—ãĻいãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16714)
* fix(frontend): confettiãŽåŽŸčĄŒãŒã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗč¨­åŽšã‚’č€ƒæ…Žã—ãĻいãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-27 18:41:03 +09:00
github-actions[bot]
17da44078b [skip ci] Update CHANGELOG.md (prepend template) 2025-10-27 04:19:47 +00:00
github-actions[bot]
1f29fb4e40 Release: 2025.10.2 2025-10-27 04:19:42 +00:00
syuilo
0343b4e689 Update CHANGELOG.md 2025-10-27 09:50:27 +09:00
syuilo
a76a1a6305 Add permissions for pull-requests in workflow 2025-10-26 21:16:43 +09:00
github-actions[bot]
1f934ada5d Bump version to 2025.10.2-beta.0 2025-10-26 10:34:10 +00:00
syuilo
cd77404006 fix tooltip text 2025-10-26 19:29:37 +09:00
github-actions[bot]
351386c8ff Bump version to 2025.10.2-alpha.0 2025-10-26 01:35:02 +00:00
syuilo
298f8802d4 fix(frontend): æœŸé™ãŒį„ĄæœŸé™ãŽã‚ĸãƒŗã‚ąãƒŧトãĢ投įĨ¨ã§ããĒã„å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16708
2025-10-26 10:32:12 +09:00
syuilo
6e614ff061 Revert "Fix touch position offset in image masking on iOS devices (#16702)"
This reverts commit 456504cf82.
2025-10-25 19:32:00 +09:00
syuilo
ca76ba1871 Update CHANGELOG.md 2025-10-25 08:47:51 +09:00
syuilo
9f768b8022 fix(frontend): ã‚­ãƒŖãƒƒã‚ˇãƒĨをクãƒĒã‚ĸするとテãƒŧãƒžå†éŠį”¨ã™ã‚‹ãžã§ãƒŦãƒŗãƒ€ãƒĒãƒŗã‚°ãŒæ­Ŗã—ãčĄŒã‚ã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ 2025-10-25 08:22:47 +09:00
github-actions[bot]
4ff826eb3d [skip ci] Update CHANGELOG.md (prepend template) 2025-10-24 06:31:38 +00:00
github-actions[bot]
60bcb9c6a9 Release: 2025.10.1 2025-10-24 06:31:32 +00:00
github-actions[bot]
0c85bfd56f Bump version to 2025.10.1-beta.4 2025-10-24 02:28:37 +00:00
syuilo
9d37f696b4 New Crowdin updates (#16692)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)
2025-10-24 11:15:30 +09:00
syuilo
2734ff6af7 Update CHANGELOG.md 2025-10-24 11:15:11 +09:00
Copilot
456504cf82 Fix touch position offset in image masking on iOS devices (#16702)
* Initial plan

* Fix iOS touch position offset in image masking feature

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-24 11:14:12 +09:00
syuilo
81cea6aed5 Update MkImageEffectorDialog.vue
related? #16703
2025-10-24 11:01:20 +09:00
syuilo
2d1b7c957a Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-10-24 10:41:55 +09:00
syuilo
5b6aa1496a Update about-misskey.vue 2025-10-24 10:40:11 +09:00
github-actions[bot]
259dd34b26 Bump version to 2025.10.1-beta.3 2025-10-23 10:25:35 +00:00
syuilo
cf81406fae Fix audio track loss during video compression on iOS
äŋŽæ­Ŗ: iOSで動į”ģãŽåœ§į¸Žã‚’čĄŒã†ã¨éŸŗåŖ°ãƒˆãƒŠãƒƒã‚¯ãŒå¤ąã‚ã‚Œã‚‹å•éĄŒã‚’äŋŽæ­Ŗ
2025-10-23 19:00:28 +09:00
Copilot
42f230f223 Fix video audio loss during compression by preserving audio stream (#16696)
* Initial plan

* Fix video audio loss during compression by specifying AAC codec

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Fix audio by avoiding transcoding - copy audio stream directly

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-23 18:59:12 +09:00
ã‹ãŖã“ã‹ã‚Š
2e07e50bb4 refactor(frontend): æ—ĸ存ぎGLSLを単į‹ŦãŽãƒ•ã‚Ąã‚¤ãƒĢãĢį§ģ行 (#16677)
* refactor(frontend): æ—ĸ存ぎGLSLを単į‹ŦãŽãƒ•ã‚Ąã‚¤ãƒĢãĢį§ģ行

* fix: glslãƒ•ã‚Ąã‚¤ãƒĢã‚’å‚į…§å…ƒãƒ•ã‚Ąã‚¤ãƒĢと同じ場所ãĢį§ģ動
2025-10-23 11:05:21 +09:00
ã‹ãŖã“ã‹ã‚Š
d203e1a446 refactor(frontend): ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽåž‹ã‚¨ãƒŠãƒŧč§Ŗæļˆ (#16694) 2025-10-23 11:04:27 +09:00
github-actions[bot]
4988719a2e Bump version to 2025.10.1-beta.2 2025-10-22 02:13:11 +00:00
syuilo
f0380f2d1c enhance(frontend): improve theme apply handling 2025-10-22 11:11:30 +09:00
github-actions[bot]
130d065d0c Bump version to 2025.10.1-beta.1 2025-10-22 00:18:40 +00:00
syuilo
7b41fddf54 New Crowdin updates (#16686)
* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (English)
2025-10-22 09:12:22 +09:00
syuilo
aafd8b6bf7 fix(frontend): ダãƒŧクãƒĸãƒŧドぎ同期が抟čƒŊしãĒã„å ´åˆãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16688
2025-10-22 09:11:15 +09:00
github-actions[bot]
7a82c1a912 Bump version to 2025.10.1-beta.0 2025-10-21 11:08:40 +00:00
syuilo
3c97c12e7f enhance(frontend): 下書き/äēˆį´„投į¨ŋ一čĻ§ã¯æŠ•į¨ŋフりãƒŧムぎã‚ĸã‚Ģã‚ĻãƒŗãƒˆãƒĄãƒ‹ãƒĨãƒŧ内ãĢį§ģ動し、下書きäŋå­˜ã¯ã€Œ...ã€ãƒĄãƒ‹ãƒĨãƒŧ内ãĢį§ģ動 2025-10-21 20:03:57 +09:00
syuilo
5b5a1f08e1 enhance(backend): įŽĄį†č€…/ãƒĸデãƒŦãƒŧã‚ŋãƒŧã¯ãƒ•ã‚Ąã‚¤ãƒĢぎã‚ĸップロãƒŧドåˆļ限をバイパ゚するようãĢ
Resolve #16687
2025-10-21 19:24:43 +09:00
syuilo
c4ee95a40a Add workflow to request release review via comment
This workflow triggers a comment reply when an issue comment with '/request-release-review' is created, providing guidance for the release review process.
2025-10-21 14:25:55 +09:00
syuilo
8ea7fe0ba1 Update CHANGELOG for version 2025.10.0 2025-10-21 12:55:31 +09:00
ã‹ãŖã“ã‹ã‚Š
187b6477da fix(deps): fix broken lockfile (#16685) 2025-10-21 11:37:52 +09:00
renovate[bot]
09896fdc12 chore(deps): update [misskey-js] update dependencies to v8.46.1 [ci skip] (#16681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 11:36:03 +09:00
renovate[bot]
d4cda989a2 chore(deps): update [root] update dependencies to v8.46.1 [ci skip] (#16682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 11:35:47 +09:00
renovate[bot]
f93043e170 fix(deps): update [backend] update dependencies [ci skip] (#16683)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 11:28:34 +09:00
renovate[bot]
1c2e57d60c fix(deps): update [frontend] update dependencies [ci skip] (#16684)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 11:06:25 +09:00
github-actions[bot]
67c853104c Bump version to 2025.10.1-alpha.6 2025-10-21 00:58:02 +00:00
syuilo
986d783940 New Crowdin updates (#16673)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)
2025-10-21 09:22:27 +09:00
ã‹ãŖã“ã‹ã‚Š
61cfccff37 fix(deps): fix broken lockfile (#16679) 2025-10-21 09:06:25 +09:00
renovate[bot]
b161fe7adc fix(deps): update dependency nodemailer to v7 [security] [ci skip] (#16611)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 08:56:01 +09:00
renovate[bot]
c3b1c8a8ff chore(deps): update dependency @types/node to v22.18.10 [ci skip] (#16674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 20:41:08 +09:00
renovate[bot]
bc2b512be6 chore(deps): update [misskey-js] update dependencies [ci skip] (#16612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 20:40:38 +09:00
renovate[bot]
7fe9574897 chore(deps): update pnpm/action-setup action to v4.2.0 [ci skip] (#16675)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 19:37:10 +09:00
renovate[bot]
8549f71656 fix(deps): update [backend] update dependencies [ci skip] (#16676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 19:36:43 +09:00
github-actions[bot]
ae4487fa69 Bump version to 2025.10.1-alpha.5 2025-10-20 09:37:00 +00:00
renovate[bot]
0a75d6fcf1 fix(deps): update [frontend] update dependencies [ci skip] (#16613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 16:44:58 +09:00
renovate[bot]
d3bb24d851 chore(deps): update [root] update dependencies [ci skip] (#16614)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 16:27:38 +09:00
æžœį‰ŠãƒĒãƒŗ
9aea7363ce fix(frontend): MkPollãŽé›†č¨ˆåŽŒäē†åžŒãŽæŒ™å‹•がおかしいぎをäŋŽæ­Ŗ (#16646)
* MkPollãŽé›†č¨ˆåŽŒäē†åžŒãŽæŒ™å‹•がおかしいぎをäŋŽæ­Ŗ

* fix lint

* watchを削除できるようãĢäŋŽæ­Ŗ

* fix

* Update Changelog

* fix lint

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-10-20 16:11:01 +09:00
github-actions[bot]
f0889f4b3c Bump version to 2025.10.1-alpha.4 2025-10-20 06:36:00 +00:00
ã‹ãŖã“ã‹ã‚Š
b8433b2413 enhance(frontend): glslを単į‹ŦãŽãƒ•ã‚Ąã‚¤ãƒĢãĢ分é›ĸ (#16665) 2025-10-20 15:23:19 +09:00
syuilo
4e9070a4c5 update happy-dom 2025-10-20 15:19:19 +09:00
syuilo
bff194f648 Update pnpm-workspace.yaml 2025-10-20 15:18:18 +09:00
ã‹ãŖã“ã‹ã‚Š
8714945ec9 fix(frontend): ã‚Ļりãƒŧã‚ŋãƒŧマãƒŧク配įŊŽãŽã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒåŖŠã‚ŒãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16662)
* fix(frontend): ã‚Ļりãƒŧã‚ŋãƒŧマãƒŧク配įŊŽãŽã‚¨ãƒ•ã‚§ã‚¯ãƒˆãŒåŖŠã‚ŒãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* enhance: add settings for noBoundingBoxExpansion

* Update Changelog

* fix

* perf: ã‚Ļりãƒŧã‚ŋãƒŧマãƒŧクぎrepeatをWRAPåąžæ€§ã§åˆļåžĄã™ã‚‹ã‚ˆã†ãĢ

* fix: ã‚Ļりãƒŧã‚ŋãƒŧマãƒŧクをrepeatした際ãĢ回čģĸã‚„æ‹Ąå¤§į¸Žå°ãŽä¸­åŋƒãŒã€ŒäŊįŊŽã€č¨­åŽšã‚’č€ƒæ…Žã—ãĒいぎをäŋŽæ­Ŗ

* fix: ã‚Ļりãƒŧã‚ŋãƒŧマãƒŧクをrepeatした際ãĢマãƒŧã‚¸ãƒŗãŒå„ã‚Ļりãƒŧã‚ŋãƒŧマãƒŧクごとぎマãƒŧã‚¸ãƒŗã¨ãĒãŖãĻいãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* fix: ãƒĒピãƒŧトãƒĸãƒŧãƒ‰æ™‚ãŽæ‹Ąå¤§į¸Žå°ãŽåŽŸį‚šãŒã€ã‚ĸãƒŠã‚¤ãƒĄãƒŗãƒˆãŽč¨­åŽšãĢかかわらずåˇĻ上ãĢãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* enhance: preserveBoundingRect ぎįŋģč¨ŗæ–‡å­—ã‚’å¤‰æ›´

* fix: remove description

* fix

* fix: 回čģĸぎ向きが逆ãĢãĒãŖãĻいるぎをäŋŽæ­Ŗ

* fix: マãƒŧã‚¸ãƒŗã¯å…ƒį”ģ像ぎ大きさãĢå¯žã™ã‚‹å‰˛åˆã§įŽ—å‡ēするようãĢ

* Update watermarkPlacement.ts

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-20 15:05:23 +09:00
syuilo
aadc7bf61a Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-10-20 14:48:16 +09:00
syuilo
acd35ef96c add note 2025-10-20 14:48:14 +09:00
ã‹ãŖã“ã‹ã‚Š
43919a3fe3 Update CHANGELOG.md (follow-up of #16672) 2025-10-20 00:22:25 +09:00
ã‹ãŖã“ã‹ã‚Š
8a21202281 fix(frontend): ãƒĒãƒĸãƒŧトãƒĻãƒŧã‚ļãƒŧぎロãƒŧãƒĢãƒãƒƒã‚¸čĄ¨į¤ēãŽæ–‡č¨€ã‚’ã‚ã‹ã‚Šã‚„ã™ã (#16672) 2025-10-19 23:04:57 +09:00
github-actions[bot]
579499a7df Bump version to 2025.10.1-alpha.3 2025-10-19 04:22:23 +00:00
syuilo
b48233eb4c New Crowdin updates (#16657)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)
2025-10-19 13:19:56 +09:00
ã‹ãŖã“ã‹ã‚Š
d98bf012b5 refactor(frontend): ã‚Ģ゚ã‚ŋãƒ ãƒ‡ã‚ŖãƒŦã‚¯ãƒ†ã‚Ŗãƒ–ãŽåž‹äģ˜ã‘ (#16659)
* refactor(frontend): ã‚Ģ゚ã‚ŋãƒ ãƒ‡ã‚ŖãƒŦã‚¯ãƒ†ã‚Ŗãƒ–ãŽåž‹äģ˜ã‘

* fix
2025-10-19 11:36:00 +09:00
anatawa12
44930342a8 Revert typeorm patches (#16664)
* chore: remove patches

* chore: remove unnecessary 'DEFAULT NULL's

* chore: add patches with .gitkeep
2025-10-19 11:34:34 +09:00
ã‹ãŖã“ã‹ã‚Š
29892d2a01 enhance: ãƒĒãƒĸãƒŧトãƒĻãƒŧã‚ļãƒŧぎロãƒŧãƒĢãƒãƒƒã‚¸ã‚’čĄ¨į¤ēするかおうかをã‚ĩãƒŧバãƒŧįŽĄį†č€…ãŒč¨­åŽšã§ãã‚‹ã‚ˆã†ãĢ (#16661)
* enhance: ãƒĒãƒĸãƒŧトãƒĻãƒŧã‚ļãƒŧぎロãƒŧãƒĢãƒãƒƒã‚¸ã‚’čĄ¨į¤ēするかおうかをã‚ĩãƒŧバãƒŧįŽĄį†č€…ãŒč¨­åŽšã§ãã‚‹ã‚ˆã†ãĢ

* Update Changelog

* build misskey-js with types
2025-10-16 22:45:37 +09:00
ã‹ãŖã“ã‹ã‚Š
b6bf3cfcb7 fix(frontend): バナãƒŧį”ģ像ぎį”ģéĸ上でぎクロップがäģĨ前ぎ挙動と同一ãĢãĒるようãĢ (#16658)
* fix(frontend): バナãƒŧį”ģ像ぎį”ģéĸ上でぎクロップがäģĨ前ぎ挙動と同一ãĢãĒるようãĢ

* fix
2025-10-16 18:04:08 +09:00
ã‹ãŖã“ã‹ã‚Š
a132a1d3e1 fix(frontend): 外部ã‚ĸプãƒĒč¨­åŽšãŽã‚ĸプãƒĒã‚ĸã‚¤ã‚ŗãƒŗãĢ変ãĒäŊ™į™Ŋがå…ĨãŖãĻいるぎをäŋŽæ­Ŗ (#16660) 2025-10-16 18:01:25 +09:00
ã‹ãŖã“ã‹ã‚Š
8cfd147555 fix(frontend): ロãƒŧãƒĢポãƒĒã‚ˇãƒŧãĢよりダイãƒŦã‚¯ãƒˆãƒĄãƒƒã‚ģãƒŧã‚¸ãŒį„ĄåŠšåŒ–ã•ã‚ŒãĻいる際ぎデッキぎダイãƒŦã‚¯ãƒˆãƒĄãƒƒã‚ģãƒŧジã‚Ģナムぎ挙動を攚善 (#16656)
* fix(frontend): ロãƒŧãƒĢポãƒĒã‚ˇãƒŧãĢよりダイãƒŦã‚¯ãƒˆãƒĄãƒƒã‚ģãƒŧã‚¸ãŒį„ĄåŠšåŒ–ã•ã‚ŒãĻいる際ぎデッキぎダイãƒŦã‚¯ãƒˆãƒĄãƒƒã‚ģãƒŧジã‚Ģナムぎ挙動を攚善

* Update Changelog
2025-10-16 11:17:47 +09:00
syuilo
a405575cd6 chore(frontend): add tips 2025-10-16 09:44:58 +09:00
github-actions[bot]
56885cceed Bump version to 2025.10.1-alpha.2 2025-10-15 04:11:32 +00:00
syuilo
3c64281696 Revert "fix(deps): update dependency happy-dom to v20 [security] (#16644)"
This reverts commit 45b3afa70d.
2025-10-15 13:05:37 +09:00
renovate[bot]
45b3afa70d fix(deps): update dependency happy-dom to v20 [security] (#16644)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-15 13:00:29 +09:00
syuilo
beabe84354 New Crowdin updates (#16645)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)
2025-10-15 12:59:49 +09:00
ã‹ãŖã“ã‹ã‚Š
42008d1377 fix(frontend): ãƒ‡ãƒƒã‚­ãŽãƒĄã‚¤ãƒŗã‚ĢナムぎヘッダをクãƒĒックしãĻもペãƒŧジ上部/下部ãĢ゚クロãƒŧãƒĢしãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16653)
* fix(frontend): ãƒ‡ãƒƒã‚­ãŽãƒĄã‚¤ãƒŗã‚ĢナムぎヘッダをクãƒĒックしãĻも上部ãĢ゚クロãƒŧãƒĢしãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* fix

* Update Changelog

* fix lint

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-15 12:59:26 +09:00
ã‹ãŖã“ã‹ã‚Š
3df81931ec fix(frontend): ãƒŠãƒ“ã‚˛ãƒŧã‚ˇãƒ§ãƒŗãƒãƒŧãŽč¨­åŽšã§å‰Šé™¤ã—ãŸé …į›Žã‚’ããŽå ´ã§å†čŋŊ加できãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16652)
* fix(frontend): ãƒŠãƒ“ã‚˛ãƒŧã‚ˇãƒ§ãƒŗãƒãƒŧãŽč¨­åŽšã§å‰Šé™¤ã—ãŸé …į›Žã‚’ããŽå ´ã§å†čŋŊ加できãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2025-10-15 12:14:03 +09:00
github-actions[bot]
4c536630d4 Bump version to 2025.10.1-alpha.1 2025-10-10 10:01:31 +00:00
syuilo
92cc55f0f1 New translations ja-jp.yml (English) (#16633) 2025-10-10 18:59:42 +09:00
ã‹ãŖã“ã‹ã‚Š
f8c6273acc fix(frontend): scroll-driven animation非寞åŋœį’°åĸƒã§ãƒãƒŠãƒŧį”ģ像が上下中夎ãĢ襨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16632)
* fix(frontend): scroll-driven animation非寞åŋœį’°åĸƒã§ãƒãƒŠãƒŧį”ģ像が上下中夎ãĢ襨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2025-10-10 09:33:35 +09:00
ã‹ãŖã“ã‹ã‚Š
edf7beff23 fix(frontend/aiscript): Mk:toastを同期é–ĸ数ãĢ変更 (#16480) 2025-10-09 11:30:34 +09:00
ã‹ãŖã“ã‹ã‚Š
3804028b6e chore(deps): update dependency @types/node to v22.18.8 (#16630)
* chore(deps): update dependency @types/node to v22.18.8

* run pnpm dedupe

* Update Changelog
2025-10-09 10:35:39 +09:00
renovate[bot]
70473c66e9 fix(deps): update [backend] update dependencies [ci skip] (#16615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-09 10:19:43 +09:00
renovate[bot]
a87a3c6693 chore(deps): update [tools] update dependencies [ci skip] (#16546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-09 10:06:14 +09:00
ã‹ãŖã“ã‹ã‚Š
72a5daeb9a update deps [ci skip] (#16628) 2025-10-09 09:57:49 +09:00
github-actions[bot]
54efe1b4c5 Bump version to 2025.10.1-alpha.0 2025-10-09 00:32:10 +00:00
syuilo
24129efe97 New translations ja-jp.yml (Italian) (#16625) 2025-10-09 09:30:01 +09:00
æžœį‰ŠãƒĒãƒŗ
41aa0c8efe [ã‚Ģ゚ã‚ŋムįĩĩ文字beta]MacぎCmdキãƒŧ寞åŋœã¨Ctrl/Cmd+Arrowキãƒŧ寞åŋœ (#16621)
* [ã‚Ģ゚ã‚ŋムįĩĩ文字beta]MacぎCmdキãƒŧ寞åŋœã¨Ctrl/Cmd+Arrowキãƒŧ寞åŋœ

* Update packages/frontend/src/components/grid/MkGrid.vue

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>

---------

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-10-09 09:29:47 +09:00
ãŠã•ã‚€ãŽã˛ã¨
37526de323 fix: aliasesぎåŒēåˆ‡ã‚Šæ–‡å­—ãŒä¸€č‡´ã—ãĻいãĒいぎをäŋŽæ­Ŗ (#16622)
* fix: aliasesぎåŒēåˆ‡ã‚Šæ–‡å­—ãŒä¸€č‡´ã—ãĻいãĒいぎをäŋŽæ­Ŗ

* fix CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-09 09:29:09 +09:00
ã‹ãŖã“ã‹ã‚Š
21ed2e3002 fix(frontend): バナãƒŧį”ģ像ぎã‚ĩイã‚ēãŒãŠã‹ã—ã„å•éĄŒã‚’äŋŽæ­Ŗ (#16627)
* fix(frontend): バナãƒŧį”ģ像ぎã‚ĩイã‚ēãŒãŠã‹ã—ã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2025-10-09 09:28:27 +09:00
github-actions[bot]
917def4e13 [skip ci] Update CHANGELOG.md (prepend template) 2025-10-08 13:18:11 +00:00
github-actions[bot]
d1eb1cad42 Release: 2025.10.0 2025-10-08 13:18:04 +00:00
syuilo
994690eebf Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-10-08 17:50:14 +09:00
syuilo
b25810e091 fix(backend): improve NoteDraftService validation 2025-10-08 17:50:04 +09:00
github-actions[bot]
03544dfd9d Bump version to 2025.10.0-rc.0 2025-10-08 08:49:44 +00:00
æžœį‰ŠãƒĒãƒŗ
d4df749f4f įĩĩ文字ぎčŋŊåŠ čžžæ›¸ã‚’ã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢするとįĩĩ文字ピッã‚Ģãƒŧダイã‚ĸログでãƒĻãƒ‹ã‚ŗãƒŧドįĩĩ文字がå‡ēãĻこãĒいぎをäŋŽæ­Ŗ (#16618)
* Fix: ãƒĻãƒ‹ã‚ŗãƒŧドįĩĩ文字ぎčŋŊåŠ čžžæ›¸ã‚’ã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢするとãƒĻãƒ‹ã‚ŗãƒŧドįĩĩ文字がå‡ēãĻこãĒくãĒる

* add change log

* Update CHANGELOG.md

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>

---------

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-10-08 17:40:19 +09:00
syuilo
04e2d44d28 add note 2025-10-08 17:37:44 +09:00
syuilo
6d2e582eaf fix(backend): improve NoteDraftService validation 2025-10-08 17:36:32 +09:00
syuilo
9eb975e71d enhance(frontend): text/*をデフりãƒĢトでã‚ĸップロãƒŧド可čƒŊãĢ 2025-10-08 17:30:37 +09:00
syuilo
ced687117f Update CHANGELOG.md 2025-10-08 17:27:53 +09:00
syuilo
7cc0483b47 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-10-08 17:19:59 +09:00
syuilo
a8a0c1c1b6 add notes 2025-10-08 17:19:57 +09:00
syuilo
6b438f2ce0 New Crowdin updates (#16605)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)
2025-10-08 11:48:30 +09:00
ã‹ãŖã“ã‹ã‚Š
188b37b33f fix(gh): aiscript 0.19.0 ぎ更新をå›ē厚 (renovate) 2025-10-08 10:46:15 +09:00
syuilo
0b642cf446 chore(frontend): add caption for maxFileSize 2025-10-07 09:47:26 +09:00
syuilo
fe38115883 lint 2025-10-06 20:01:19 +09:00
syuilo
6fba73ca13 Update pnpm-lock.yaml 2025-10-06 19:21:21 +09:00
syuilo
0d33e1f839 fix notes\drafts\create param defs 2025-10-06 19:21:17 +09:00
syuilo
74f33157a3 New Crowdin updates (#16601)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)
2025-10-06 15:39:18 +09:00
syuilo
ae10cad9a7 perf(frontend): improve about#emojis performancce 2025-10-06 10:21:46 +09:00
syuilo
ba9924abdb refactor(frontend): use useTemplateRef 2025-10-06 10:18:14 +09:00
github-actions[bot]
99686801a0 Bump version to 2025.10.0-beta.2 2025-10-06 01:12:30 +00:00
ã‹ãŖã“ã‹ã‚Š
f3e0713501 enhance(frontend): お問い合わせペãƒŧã‚¸ã‹ã‚‰ãƒ‡ãƒã‚¤ã‚šæƒ…å ąã‚’å‡ē力できるようãĢ (#16598)
* enhance(frontend): ãƒ‡ãƒã‚¤ã‚šæƒ…å ąã‚’å‡ē力できるようãĢ

* fix lint

* Update Changelog

* enhance: getHighEntropyValuesがäŊŋį”¨ã§ããĒã‹ãŖãŸå ´åˆãŽãƒ•ã‚ŠãƒŧãƒĢバックをčŋŊ加

* fix lint

* fix: getHighEntropyValuesがäŊŋį”¨ã§ããĒã„å ´åˆã¯į”ŸãŽUAをčŋ”すようãĢ

* enhance: getHighEntropyValuesがäŊŋį”¨ã§ãã‚‹å ´åˆã§ã‚‚į”ŸãŽUAをåĢめるようãĢ

* âœŒī¸

* onHeaderClicked -> onOpened
2025-10-06 10:06:53 +09:00
ã‹ãŖã“ã‹ã‚Š
7fcbf57a9d fix(frontend): 存在しãĒいįŋģč¨ŗã‚’äŋŽæ­Ŗ (#16604) 2025-10-06 10:06:20 +09:00
github-actions[bot]
7cd55c31da Bump version to 2025.10.0-beta.1 2025-10-05 23:59:45 +00:00
ã‹ãŖã“ã‹ã‚Š
d03cf4d7f9 fix(frontend): 通įŸĨãŽč¨­åŽšį”ģéĸでäēˆį´„投į¨ŋé–ĸé€ŖãŽįŋģč¨ŗãŒåŊ“ãŸãŖãĻいãĒã„å•éĄŒãŽäŋŽæ­Ŗ (#16603)
* fix(frontend): äēˆį´„投į¨ŋ通įŸĨãŽč¨­åŽšį”ģéĸãĢ不čļŗã—ãĻいるįŋģč¨ŗã‚’čŋŊ加

* fix(misskey-js): å샿­ĸされた通įŸĨãŒåŽšįžŠãĢæŽ‹ãŖãĻいるぎをäŋŽæ­Ŗ

* fix(frontend): äēˆį´„投į¨ŋぎ厌äē†/å¤ąæ•—é€šįŸĨはã‚Ēãƒŗã‚Ēフぎãŋ
2025-10-06 08:55:22 +09:00
ã‹ãŖã“ã‹ã‚Š
a8fcdb79ab fix(frontend): į”ģéĸåˇĻãŽãƒŠãƒ“ã‚˛ãƒŧã‚ˇãƒ§ãƒŗãƒãƒŧでã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆã‚ĸã‚¤ã‚ŗãƒŗãĢtooltipがつかãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16602) 2025-10-05 18:53:57 +09:00
ã‹ãŖã“ã‹ã‚Š
eae9af73c2 enhance(frontend): MkTabs, MkPageHeader.tabsãĢãĻã‚ŋブハイナイトぎCSS Anchor PositioningãĢ寞åŋœ (#16595)
* fix(frontend): modalぎ中でtabsをäŊŋį”¨ã™ã‚‹éš›ãĢハイナイトが変ãĒäŊįŊŽãĢå‡ēã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* fix lint

* Revert "fix(frontend): modalぎ中でtabsをäŊŋį”¨ã™ã‚‹éš›ãĢハイナイトが変ãĒäŊįŊŽãĢå‡ēã‚‹å•éĄŒã‚’äŋŽæ­Ŗ"

This reverts commit 3b0ec46990.

* fix

* fix

* enhance(frontend): MkTabsぎã‚ŋブハイナイト切りæ›ŋえをCSS anchor positioningãĢ寞åŋœã•せる

* enhance(frontend): MkPageHeader.tabsぎã‚ŋブハイナイト切りæ›ŋえをCSS anchor positioningãĢ寞åŋœã•せる

* 🎨
2025-10-05 18:53:28 +09:00
ã‹ãŖã“ã‹ã‚Š
c0dc156df7 enhance(frontend): ãƒ—ãƒ­ãƒ•ã‚ŖãƒŧãƒĢバナãƒŧį”ģ像ぎparallaxをscroll-driven animationãĢįŊŽãæ›ãˆ (#16241)
* enhance(frontend): ãƒ—ãƒ­ãƒ•ã‚ŖãƒŧãƒĢバナãƒŧį”ģ像ぎparallaxをscroll-driven animationãĢįŊŽãæ›ãˆ

* lint

* revert unrelated changes

* Update packages/frontend/src/pages/user/home.vue

* remove inset shadow

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-10-05 16:49:33 +09:00
ã‹ãŖã“ã‹ã‚Š
720c6519cd refactor(frontend): MkTabぎ指厚をpropsã‹ã‚‰čĄŒã†ã‚ˆã†ãĢ (#16596)
* refactor(frontend): MkTabぎ指厚をpropsã‹ã‚‰čĄŒã†ã‚ˆã†ãĢ

* Update explore.featured.vue
2025-10-05 15:48:11 +09:00
syuilo
f89b4cdc12 Update CHANGELOG with new features and enhancements 2025-10-05 15:45:11 +09:00
ã‹ãŖã“ã‹ã‚Š
46b0e8115a enhance(frontend): åŽŸé¨“įš„æŠŸčƒŊとしãĻTranslator APIã‚’į”¨ã„ãŸįŋģč¨ŗã‚’åŽŸčŖ… (#16600)
* enhance(frontend): åŽŸé¨“įš„æŠŸčƒŊとしãĻTranslator APIã‚’į”¨ã„ãŸįŋģč¨ŗã‚’åŽŸčŖ…

* remove unused imports

* remove unnecessary console.log

* fix 襨記æēれ

* fix lint
2025-10-05 15:43:13 +09:00
syuilo
7796fce779 New Crowdin updates (#16532)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2025-10-05 13:28:23 +09:00
renovate[bot]
3954837cfa fix(deps): update [root] update dependencies [skip ci] (#16576)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 15:58:30 +09:00
renovate[bot]
7ea4cad12e chore(deps): update [misskey-js] update dependencies [skip ci] (#16543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 15:44:08 +09:00
github-actions[bot]
d864e9a269 Bump version to 2025.10.0-beta.0 2025-10-04 06:40:01 +00:00
syuilo
4e0434c275 Update CHANGELOG with new features and enhancements 2025-10-04 15:38:05 +09:00
renovate[bot]
e2f939080a fix(deps): update [frontend] update dependencies [ci skip] (#16548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 15:26:26 +09:00
renovate[bot]
6956f44d1f chore(deps): update [github actions] update dependencies (#16545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 15:18:21 +09:00
renovate[bot]
a393d5a87e fix(deps): update [backend] update dependencies (#16547)
* fix(deps): update [backend] update dependencies

* chore: update typeorm.patch

* fix: handle socket creation failure in HttpRequestServiceAgent

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: anatawa12 <anatawa12@icloud.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-10-04 15:04:28 +09:00
syuilo
6c634de482 Bump version to 2025.10.0 in CHANGELOG
Updated version number and note for pnpm requirement.
2025-10-04 09:50:58 +09:00
syuilo
fc02e0d34d chore(frontend): make enableFolderPageView false by default
see #16553
2025-10-04 08:54:49 +09:00
syuilo
cb1a90ddad chore(frontend): improve usability 2025-10-04 08:53:19 +09:00
github-actions[bot]
f0fb3a56a8 Bump version to 2025.10.0-alpha.0 2025-10-01 04:57:00 +00:00
ã‹ãŖã“ã‹ã‚Š
b8ae7edcec fix(gh): add minimumReleaseAge settings to renovate [ci skip] 2025-09-28 18:28:37 +09:00
syuilo
e24233c1c7 add ideas 2025-09-27 20:53:21 +09:00
syuilo
225154d76d enhance(frontend): improve zoomLines image effect 2025-09-27 18:46:26 +09:00
syuilo
c5f9c0ce5c enhance(frontend): add pixelate mask effect 2025-09-26 18:27:53 +09:00
github-actions[bot]
cce302ae4f Bump version to 2025.9.1-alpha.2 2025-09-26 06:44:58 +00:00
ã‹ãŖã“ã‹ã‚Š
e0d210e15b fix(frontend): ã‚ĸã‚¯ãƒ†ã‚Ŗãƒ“ãƒ†ã‚Ŗã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŽã‚°ãƒŠãƒ•ãƒĸãƒŧドが動äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16579)
* fix(frontend): ã‚ĸã‚¯ãƒ†ã‚Ŗãƒ“ãƒ†ã‚Ŗã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŽã‚°ãƒŠãƒ•ãƒĸãƒŧドが動äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* 🎨

* Update Changelog

* fix
2025-09-26 15:36:50 +09:00
syuilo
0b7634b126 enhance(frontend): テãƒŧマをドナッグ&ドロップできるようãĢ 2025-09-26 15:36:25 +09:00
syuilo
d1446d195a feat: scheduled post (#16577)
* Update NoteDraft.ts

* Update NoteDraft.ts

* wip

* Update CHANGELOG.md

* wip

* Update PostScheduledNoteProcessorService.ts

* Update PostScheduledNoteProcessorService.ts

* Update Notification.ts

* wip

* Update NoteDraftService.ts

* Update NoteDraftService.ts

* Update NoteDraftService.ts

* wip

* Create 1758677617888-scheduled-post.js

* Update index.d.ts

* Update stats.ts

* wip

* wip

* wip

* wip

* wip

* Update MkNotification.vue

* wip

* wip

* wip

* Update NoteDraftService.ts

* Update NoteDraftService.ts

* wip

* wip

* Update NoteDraftEntityService.ts

* wip

* Update index.d.ts

* Update MkPostForm.vue

* wip

* wip

* wip

* Update NoteCreateService.ts

* wip

* wip

* wip

* Update NoteDraftEntityService.ts

* Update NoteCreateService.ts

* Update NoteDraftService.ts

* wip

* Update NoteDraftService.ts

* wip

* wip

* Update MkPostForm.vue

* wip

* Update MkPostForm.vue

* Update os.ts

* wip

* Update MkNoteDraftsDialog.vue
2025-09-26 15:29:52 +09:00
ã‹ãŖã“ã‹ã‚Š
218070eb13 fix(frontend): ビãƒĢãƒ‰æˆæžœį‰ŠãŽãƒ•ã‚Ąã‚¤ãƒĢ名ãĢlocalesぎhashをåĢめるようãĢ (#16580) 2025-09-24 17:01:48 +09:00
syuilo
0f8c068e84 feat(frontend): Video compression (#16574)
* wip

* Update CHANGELOG.md

* wip

* wip

* wip

* wip

* Update use-uploader.ts

* Update use-uploader.ts
2025-09-24 09:01:06 +09:00
github-actions[bot]
69d66b89f2 Bump version to 2025.9.1-alpha.1 2025-09-22 10:52:25 +00:00
éĨē子w (Yumechi)
211365de64 enhance(backend): č¨­åŽšãƒ•ã‚Ąã‚¤ãƒĢãĢFastifyOptions.trustProxyをčŋŊ加 (#16567)
* enhance(backend): č¨­åŽšãƒ•ã‚Ąã‚¤ãƒĢãĢFastifyOptions.trustProxyをčŋŊ加

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* try harder

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-09-22 19:45:01 +09:00
syuilo
966127c63e enhance(frontend): įĩĩ文字ピッã‚Ģãƒŧぎã‚ĩイã‚ēをより大きくできるようãĢ 2025-09-22 19:43:31 +09:00
æžœį‰ŠãƒĒãƒŗ
54800971eb ãƒ—ãƒ­ãƒ•ã‚ŖãƒŧãƒĢぎ「ãƒĻãƒŧã‚ļãƒŧぎノãƒŧトを検į´ĸ」でロãƒŧã‚ĢãƒĢぎãƒĻãƒŧã‚ļãƒŧを検į´ĸできãĒいぎをäŋŽæ­Ŗ (#16570)
* ãƒ—ãƒ­ãƒ•ã‚ŖãƒŧãƒĢぎ「ãƒĻãƒŧã‚ļãƒŧぎノãƒŧトを検į´ĸ」でロãƒŧã‚ĢãƒĢぎãƒĻãƒŧã‚ļãƒŧを検į´ĸできãĒいぎをäŋŽæ­Ŗ

* fix lint
2025-09-22 19:21:01 +09:00
syuilo
13d5c6d2b2 refactor MkAnimBg 2025-09-22 19:00:47 +09:00
syuilo
2cff00eedd update pnpm 2025-09-22 18:27:39 +09:00
syuilo
3fc2261041 dev(pnpm): set minimumReleaseAge to 7days
to mitigate supply-chain attack
Resolve #16572
2025-09-22 18:23:43 +09:00
syuilo
18d66c0233 Update CHANGELOG.md 2025-09-20 14:21:51 +09:00
Copilot
2f52c20150 Implement professional-grade Gaussian-approximated blur effect with resolution independence and configurable quality for image effector system (#16571)
* Initial plan

* Implement blur effect for image effector system

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Improve blur quality with configurable sample count

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Revert to simpler blur implementation with configurable sample count

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Fix blur size independence from sample count

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Make blur radius resolution-independent

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Update blur.ts

* Enhance blur quality with explicit diagonal sampling and fix parameter configuration

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Implement Gaussian-approximated blur with distance-based weighting for superior quality

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* Revert "Implement Gaussian-approximated blur with distance-based weighting for superior quality"

This reverts commit c739e9f55b.

* Revert "Enhance blur quality with explicit diagonal sampling and fix parameter configuration"

This reverts commit ffbc6eeba7.

* wip

* tweak

* ellipse

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-09-20 14:19:35 +09:00
github-actions[bot]
9d70c9ad78 Bump version to 2025.9.1-alpha.0 2025-09-19 13:51:21 +00:00
tamaina
42b2aea533 feat(frontend): č‡Ēåˆ†ãŽãƒ—ãƒ­ãƒ•ã‚ŖãƒŧãƒĢペãƒŧジぎä猿ŦĄå…ƒã‚ŗãƒŧド(QRã‚ŗãƒŧド)ã‚’čĄ¨į¤ēし、äģ–ぎäēēãŽã‚ŗãƒŧドをčĒ­ãŋ取りするペãƒŧジをčŋŊ加 (#16456)
* wip (qr.show.vue)

* added to navbar

* qr.show.vue

* fix

* added to navbar

* fix size

* 🎨

* 🎨

* fix div warn

* fix

* use * 0.25

* fix??

* fix lint

* clean up

* ???

* ?

* fix

* 🎨

* 🎨

* refactor

* 🎨

* 🎨

* :ar:t

* 🎨

* iphone flip

* no lazy import

* 🎨

* 🎨

* 🎨

* ãƒĻãƒŧã‚ļãƒŧ全部flipでいいや

* âœŒī¸

* fix

* fix

* fix lint

* 🎨

* fix type

* fix: local user profile url cannot be resolved with ap/show

* fix: local user url with hostname could not be resolved

* chore: use common utility for checking self host

* wip

* 🎨

* 🎨

* fix imports

* fix

* fix

* fix

* 🎨

* fix...

* set spacer-w

* âœŒī¸

* 全į”ģéĸでQRをčĒ­ã‚€ã‚ˆã†ãĢ

* fix

* 🎨

* modify navbar.ts

* start/stop on vue activation

* display raw content read from qr

* į̝æœĢぎQRã‚’ã‚šã‚­ãƒŖãƒŗã™ã‚‹ãƒœã‚ŋãƒŗã‚’čŋŊ加

* chore

* ã‚„ãŖãąã‚Šmfmを先ãĢ襨į¤ēする

* 🎨

* fix 18n

* QRぎ内厚は/users/:userIdãĢする

* add spdx

* use cqh

* `defineProps` is a compiler macro and no longer needs to be imported.

* use MkUserName

* 🎨

* 🎨

* refactor

* clean up

* refactor

* 🎨

* Update qr.show.vue

* MisskeyロゴãĢdrop-shadowをčŋŊ加

* clean up: do not use empty css

* fix os.select usage

* Update qr.vue

* Update qr.show.vue

* Update qr.show.vue

* Update get-user-menu.ts

* âœŒī¸

* Update show.ts

* Update ja-JP.yml

* watermark

* Update CHANGELOG.md

* Update qr.read.vue

* Update qr.read.vue

* wip

* Update MkWatermarkEditorDialog.Layer.vue

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-09-19 21:02:30 +09:00
syuilo
97adf6f2cc 🎨 2025-09-19 14:23:34 +09:00
tamaina
93ff209c51 enhance(frontend): bootでonunhandledrejectionでrenderErrorする場合、PromiseRejectionEvent.reasonã‚’æ¸Ąã™ã‚ˆã†ãĢ (#16563) 2025-09-18 19:35:23 +09:00
syuilo
5fe08d0bbb fix(frontend): iOSで、デバイ゚がダãƒŧクãƒĸãƒŧドだと初回čĒ­ãŋčžŧãŋ時ãĢエナãƒŧãĢãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16562
2025-09-18 19:18:31 +09:00
syuilo
8c413d01e6 enhance(frontend): マ゚クエフェクト (#16556)
* wip

* wip

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.vue

* Update fillSquare.ts

* Update CHANGELOG.md

* Update fillSquare.ts
2025-09-17 18:38:56 +09:00
syuilo
b231da7c7c enhance(frontend): ãƒãƒŖãƒƒãƒˆãŽæ—ĨæœŦčĒžåį§°ã‚’ãƒ€ã‚¤ãƒŦã‚¯ãƒˆãƒĄãƒƒã‚ģãƒŧジãĢ & ベãƒŧã‚ŋを外す 2025-09-16 16:24:10 +09:00
syuilo
df3e44f62e enhance(backend): allow upload csv by default
Related #16541
2025-09-16 12:16:18 +09:00
ã‹ãŖã“ã‹ã‚Š
e504560477 fix: ã‚ĩãƒŧバãƒŧč¨­åŽšãĢã‚ˆã‚Šã‚ŗãƒŗãƒ†ãƒŗãƒ„ãŽé–˛čĻ§ãŒåˆļ限されãĻã„ã‚‹å ´åˆãŽãƒĄãƒƒã‚ģãƒŧジをåŒēåˆĨするようãĢ (#16527) 2025-09-16 11:53:20 +09:00
syuilo
bcb2073715 enhance(backend): åˆæœŸč¨­åŽšã‚’ã‚šã‚­ãƒƒãƒ—ã—ãŸå ´åˆãŽåˆæœŸįŠļ態ポãƒĒã‚ˇãƒŧã§ã‚¤ãƒŗãƒãƒŧトįŗģをã‚Ēãƒ—ãƒˆã‚¤ãƒŗãĢ
Resolve #16540
2025-09-16 11:26:35 +09:00
syuilo
6a80c23a50 chore(frontend): enable enableFolderPageView by default 2025-09-15 14:33:32 +09:00
syuilo
2621f468ff enhance: åēƒå‘Šã”とãĢã‚ģãƒŗã‚ˇãƒ†ã‚Ŗãƒ–ãƒ•ãƒŠã‚°ã‚’č¨­åŽšã§ãã‚‹ã‚ˆã†ãĢ 2025-09-14 15:25:22 +09:00
ã‹ãŖã“ã‹ã‚Š
d4654dd7bd refactor(frontend): os.select, MkSelectぎitem指厚をã‚ĒブジェクトãĢã‚ˆã‚‹åŽšįžŠãĢįĩąä¸€ã—ã€åž‹ã‚’į‹­ã‚ã‚‹ (#16475)
* refactor(frontend): MkSelectぎitem指厚をã‚ĒブジェクトãĢã‚ˆã‚‹åŽšįžŠãĢįĩąä¸€

* fix

* spdx

* fix

* fix os.select

* fix lint

* add comment

* fix

* fix: os.select寞åŋœæŧã‚Œã‚’äŋŽæ­Ŗ

* fix

* fix

* fix: MkSelectぎmodelãĢå¯žã™ã‚‹åž‹ãƒã‚§ãƒƒã‚¯ã‚’åŽŗæ ŧ化

* fix

* fix

* fix

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

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* fix

* fix types

* fix

* fix

* Update packages/frontend/src/pages/admin/roles.editor.vue

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* fix: MkSelectãĢį›´æŽĨ配列を指厚しãĻいる場合ãĢæ­Ŗå¸¸ãĢåž‹ãŒč§ŖæąēされるようãĢ

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-09-13 21:00:33 +09:00
renovate[bot]
b7da6cad87 fix(deps): update dependency vite [security] (#16535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 10:32:49 +09:00
ã‹ãŖã“ã‹ã‚Š
5b4115e21a refactor(frontend): ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽåž‹ã‚¨ãƒŠãƒŧč§Ŗæļˆīŧˆé€”中ぞでīŧ‰ (#16539)
* fix(frontend): FormLinkをボã‚ŋãƒŗã¨ã—ãĻäŊŋį”¨ã—ãŸéš›ãĢエナãƒŧがå‡ēã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* refactor(frontend): ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽåž‹ã‚¨ãƒŠãƒŧč§Ŗæļˆ

* remove unused ts-expect-error

* migrate

* remove unrelated changes

* fix lint

* more type fixes
2025-09-13 08:33:14 +09:00
syuilo
c174c5c144 Update CHANGELOG.md 2025-09-12 17:13:13 +09:00
ã‹ãŖã“ã‹ã‚Š
aebc3f781e perf(frontend): äŊŽį˛žåēĻãĒįžåœ¨æ™‚åˆģã‚’ä¸€ã‹æ‰€ã§įŽĄį†ã™ã‚‹ã‚ˆã†ãĢ (#16479)
* perf(frontend): äŊŽį˛žåēĻãĒįžåœ¨æ™‚åˆģã‚’ä¸€ã‹æ‰€ã§įŽĄį†ã™ã‚‹ã‚ˆã†ãĢ

* lint

* fix

* remove unused imports

* fix

* Update Changelog

* [ci skip] typo

* enhance: ã‚ĢãƒŦãƒŗãƒ€ãƒŧã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŽæ—Ĩäģ˜å¤‰æ›´ã¯æ™‚間通りãĢčĄŒã†ã‚ˆã†ãĢ

* [ci skip] fix
2025-09-12 17:12:50 +09:00
ã‹ãŖã“ã‹ã‚Š
f60b6291d7 chore(gh): add frontend-builder to renovate 2025-09-10 10:01:25 +09:00
taiy
7673874675 fix(eslint): add window prefix rules to frontend-embed & frontend-shared (#16531) 2025-09-10 09:22:12 +09:00
github-actions[bot]
6e3354f95d [skip ci] Update CHANGELOG.md (prepend template) 2025-09-08 12:29:30 +00:00
github-actions[bot]
b9df928097 Release: 2025.9.0 2025-09-08 12:29:25 +00:00
github-actions[bot]
0754678144 Bump version to 2025.9.0-rc.0 2025-09-08 11:33:58 +00:00
tamaina
a8cc51dc77 fix(frontend): Safari 26でãƒĸバイãƒĢUIãŒå´Šã‚Œã‚‹å•éĄŒãĢ寞するhotfix (#16528) 2025-09-08 20:32:19 +09:00
github-actions[bot]
690edcef16 Bump version to 2025.9.0-beta.1 2025-09-08 11:21:12 +00:00
renovate[bot]
2ea784f345 fix(deps): update [backend] update dependencies (#16491)
* fix(deps): update [backend] update dependencies

* fix type error

* run pnpm dedupe

---------

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-09-08 17:11:18 +09:00
renovate[bot]
20d257b562 chore(deps): update [misskey-js] update dependencies (#16489)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 16:14:23 +09:00
renovate[bot]
c215415613 fix(deps): update [root] update dependencies (#16490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 16:08:15 +09:00
github-actions[bot]
726c03d96a Bump version to 2025.9.0-beta.0 2025-09-08 06:32:15 +00:00
syuilo
e65ddb546c New Crowdin updates (#16526)
* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Russian)
2025-09-08 15:20:07 +09:00
renovate[bot]
85aea9077f fix(deps): update [frontend] update dependencies (#16492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 15:16:22 +09:00
syuilo
f3fffce6a9 fix type 2025-09-08 14:57:53 +09:00
syuilo
eb7db5a3aa Update MkSuspense.vue 2025-09-08 14:56:58 +09:00
syuilo
e33eb26863 Update CHANGELOG.md 2025-09-07 19:41:40 +09:00
ã‹ãŖã“ã‹ã‚Š
430310f306 fix(frontend): ctrlキãƒŧをæŠŧしãĒがらãƒĒãƒŗã‚¯ã‚’ã‚¯ãƒĒックしãĻも新しいã‚ŋブで開かãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16453)
* fix(frontend): ctrlキãƒŧをæŠŧしãĒがらクãƒĒックしãĻも新しいã‚ŋブで開かãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

* fix: åˆļåžĄã‚­ãƒŧぎ場合を個åˆĨãƒãƒŗãƒ‰ãƒĒãƒŗã‚°ã™ã‚‹ãŽã§ã¯ãĒくブナã‚Ļã‚ļæ—ĸ厚ぎ挙動ãĢäģģせるようãĢ

* fix
2025-09-07 09:32:32 +09:00
syuilo
1e1eea521e chore(frontend): add force cloud backup button for debugging 2025-09-07 09:16:25 +09:00
syuilo
86ad771221 New Crowdin updates (#16525)
* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)
2025-09-07 09:01:12 +09:00
syuilo
057acf471e New Crowdin updates (#16493)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)
2025-09-06 20:53:36 +09:00
github-actions[bot]
2bfe257879 Bump version to 2025.9.0-alpha.2 2025-09-06 08:54:34 +00:00
syuilo
6d75624aa8 Update CHANGELOG.md 2025-09-06 17:49:53 +09:00
tamaina
369f0ec88a fix(backend): webpãĒおぎį”ģ像ãĢ寞しãĻã‚ģãƒŗã‚ˇãƒ†ã‚Ŗãƒ–ãĒãƒĄãƒ‡ã‚Ŗã‚ĸぎ検å‡ēãŒéŠį”¨ã•ã‚ŒãĻいãĒã‹ãŖãŸå•éĄŒã‚’äŋŽæ­Ŗ (#16523)
į”ģ像をnsfwjsãĢかける前ãĢsharpで均一ãĢするようãĢした
2025-09-06 17:48:53 +09:00
ã‹ãŖã“ã‹ã‚Š
788c5660ba enhance(frontend): ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽã‚­ãƒŖãƒƒã‚ˇãƒĨクãƒĒã‚ĸ操äŊœã§ãƒ–ナã‚Ļã‚ļãŽå†…éƒ¨ã‚­ãƒŖãƒƒã‚ˇãƒĨも削除するようãĢ (#16522)
* enhance(frontend): ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽã‚­ãƒŖãƒƒã‚ˇãƒĨクãƒĒã‚ĸ操äŊœã§ãƒ–ナã‚Ļã‚ļãŽå†…éƒ¨ã‚­ãƒŖãƒƒã‚ˇãƒĨも削除するようãĢ

* å‰Šé™¤ã™ã‚‹ã‚­ãƒŖãƒƒã‚ˇãƒĨをåĸ—やす

* Update Changelog

* fix: äŊ•らかぎエナãƒŧãŒã‚ãŖãĻã‚‚į„ĄčĻ–ã™ã‚‹ã‚ˆã†ãĢ
2025-09-06 14:46:24 +09:00
github-actions[bot]
6cf1f86636 Bump version to 2025.9.0-alpha.1 2025-09-06 03:42:29 +00:00
syuilo
5b994b3e03 fix(frontend): ãƒ—ãƒ­ãƒ•ã‚Ąã‚¤ãƒĢを垊元垌ã‚ĸã‚Ģã‚ĻãƒŗãƒˆãŽåˆ‡ã‚Šæ›ŋえができãĒã„å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16508
2025-09-06 12:41:27 +09:00
syuilo
7b2abb7577 enhance(frontend): クãƒĒップ/ãƒĒ゚ト/ã‚ĸãƒŗãƒ†ãƒŠ/ロãƒŧãƒĢčŋŊ加įŗģãƒĄãƒ‹ãƒĨãƒŧé …į›ŽãĢおいãĻã€čĄ¨į¤ēäģļæ•°ã‚’æ‹Ąåŧĩ
#16510
2025-09-06 11:18:08 +09:00
github-actions[bot]
b681788315 Bump version to 2025.9.0-alpha.0 2025-09-06 02:11:36 +00:00
syuilo
279af1d72f Update CHANGELOG.md 2025-09-06 11:10:41 +09:00
syuilo
9e188ca3fa Revert "refactor"
This reverts commit aa85d701b9.
2025-09-06 11:09:24 +09:00
syuilo
de1b2223ff enhance(frontend): AiScriptAppã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆã§æ§‹æ–‡ã‚¨ãƒŠãƒŧを検įŸĨしãĻもダイã‚ĸログではãĒくã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆå†…ãĢエナãƒŧã‚’čĄ¨į¤ēするようãĢ 2025-09-05 19:44:11 +09:00
ãĒãŖã‹ã‚
9b565728e7 fix #16494 (#16509) 2025-09-05 15:26:39 +09:00
éĨē子w (Yumechi)
a92fd8856a feat(backend): Send Clear-Site-Data header on /flush (#16517)
* feat(backend): Send Clear-Site-Data header on /flush

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* simplify check on flush.pug

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-09-05 13:55:37 +09:00
takaion
047773341d fix(frontend): エナãƒŧį”ģ像がæ¨ĒãĢåŧ•きäŧ¸ã°ã•れãĻã—ãžã†å•éĄŒãĢ寞åŋœ (#16502)
* fix(frontend): エナãƒŧį”ģ像がæ¨ĒãĢåŧ•きäŧ¸ã°ã•れãĻã—ãžã†å•éĄŒãĢ寞åŋœ

Fix misskey-dev#15982

* Update CHANGELOG.md
2025-09-02 16:40:57 +09:00
yukineko
842670e100 fix(frontend): RSSãƒ†ã‚Ŗãƒƒã‚Ģãƒŧã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŒæ­Ŗã—ãå‹•äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16498)
* fix: RSSãƒ†ã‚Ŗãƒƒã‚Ģãƒŧã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãŒæ­Ŗã—ãæŠŸčƒŊしãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* chore: update CHANGELOG.md
2025-09-02 10:29:25 +09:00
anatawa12
ffc481a994 fix: 「č‡Ēå‹•ã§ã‚‚ãŖã¨čĻ‹ã‚‹ã€ãŽč¨­åŽšãŒã§ããĒã„å•éĄŒ (#16500) 2025-09-02 10:11:50 +09:00
syuilo
2ccf4f94cb refactor 2025-09-01 16:51:58 +09:00
syuilo
3566bc207f refactor 2025-09-01 16:36:15 +09:00
syuilo
4a0e968662 refactor 2025-09-01 16:23:05 +09:00
syuilo
b1479ab1d8 Update misskey-js.api.md 2025-09-01 14:07:24 +09:00
syuilo
18a9ccf7af pnpm dedupe 2025-09-01 14:07:14 +09:00
syuilo
959e72b2b3 refactor 2025-09-01 14:02:14 +09:00
syuilo
a3d78b2f08 refactor 2025-09-01 13:41:40 +09:00
syuilo
3c998e1f48 refactor 2025-09-01 12:59:53 +09:00
syuilo
782c9f9852 refactor 2025-09-01 12:33:44 +09:00
syuilo
d27c740ab0 refactor 2025-09-01 12:31:27 +09:00
syuilo
08ecf7ca79 refactor 2025-09-01 10:19:14 +09:00
syuilo
bdec4bf87a refactor 2025-09-01 10:16:33 +09:00
syuilo
7000095b44 refactor 2025-09-01 10:01:03 +09:00
syuilo
18e42cc83d refactoe 2025-09-01 09:53:38 +09:00
syuilo
11204eeb43 refactor 2025-09-01 09:50:36 +09:00
ã‹ãŖã“ã‹ã‚Š
c95092903a refactor(frontend): ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽåž‹ã‚¨ãƒŠãƒŧč§Ŗæļˆīŧˆé€”中ぞでīŧ‰ (#16477)
* refactor(frontend): ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽåž‹ã‚¨ãƒŠãƒŧč§Ŗæļˆ

* fix

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-08-31 19:53:38 +09:00
github-actions[bot]
21b2b9e5f8 [skip ci] Update CHANGELOG.md (prepend template) 2025-08-31 08:42:45 +00:00
github-actions[bot]
665ec2c43c Release: 2025.8.0 2025-08-31 08:42:39 +00:00
syuilo
34bd840525 Update CHANGELOG.md 2025-08-31 15:56:07 +09:00
syuilo
3d1cbcf094 Update CHANGELOG.md 2025-08-31 15:29:22 +09:00
github-actions[bot]
5f5d88036f Bump version to 2025.8.0-rc.0 2025-08-31 01:32:06 +00:00
syuilo
24739cd040 New Crowdin updates (#16483)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)
2025-08-31 10:24:41 +09:00
syuilo
b491432daa fix(frontend): ã‚ŋッチ操äŊœæ™‚ãĢマã‚Ļ゚ホバãƒŧ時ぎãƒĻãƒŧã‚ļãƒŧプãƒŦビãƒĨãƒŧãŒé–‹ãã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16464
2025-08-31 10:23:29 +09:00
syuilo
ebe029458e enhance(frontend): ã‚ĸã‚¤ã‚ŗãƒŗãŽã‚šã‚¯ãƒ­ãƒŧãƒĢčŋŊåž“ã‚’į„ĄåŠšåŒ–ã™ã‚‹éš›ãŽéŠį”¨į¯„å›˛ã‚’åŧˇåŒ–
Resolve #16485
2025-08-31 10:18:48 +09:00
syuilo
d127d82c5b Update CHANGELOG.md 2025-08-30 19:17:11 +09:00
syuilo
aabda5a956 clean up 2025-08-30 19:15:52 +09:00
syuilo
bd5b38c9d9 Update CHANGELOG.md 2025-08-30 19:12:53 +09:00
syuilo
647e03bf34 update locale 2025-08-30 19:10:19 +09:00
syuilo
d16db7f311 New translations ja-jp.yml (English) (#16472) 2025-08-30 16:11:27 +09:00
github-actions[bot]
ec4731dee4 Bump version to 2025.8.0-beta.6 2025-08-29 07:38:45 +00:00
syuilo
65a4d77a7f fix(backend): ã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗAPIぎ withRenotes: false 時ぎãƒŦã‚šãƒãƒŗã‚šã‚’äŋŽæ­Ŗ 2025-08-29 16:03:03 +09:00
ã‹ãŖã“ã‹ã‚Š
328301ffc2 fix(misskey-js): run api extractor (#16476) 2025-08-29 13:37:17 +09:00
syuilo
def148d7a6 refactor 2025-08-28 20:02:28 +09:00
syuilo
aa85d701b9 refactor 2025-08-28 19:53:10 +09:00
syuilo
f0833cffe9 refactor 2025-08-28 19:47:58 +09:00
github-actions[bot]
9cd918f12b Bump version to 2025.8.0-beta.5 2025-08-28 05:33:23 +00:00
syuilo
195a80622b New Crowdin updates (#16457)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)
2025-08-28 13:31:05 +09:00
syuilo
8b347e23e3 refactor 2025-08-28 13:30:52 +09:00
syuilo
bca3602da2 refactor 2025-08-28 13:24:25 +09:00
syuilo
cfd4d7c57b refactor 2025-08-28 13:20:11 +09:00
tamaina
084ccf5c9a build-misskey-js-with-types (#16471)
* build-misskey-js-with-types

* build-misskey-js-with-types
2025-08-28 11:45:46 +09:00
syuilo
fc1693f768 そもそもnullãĢãĒることはあり垗ãĒã‹ãŖãŸ 2025-08-28 11:39:54 +09:00
syuilo
ff6f115976 refactor 2025-08-28 11:30:03 +09:00
syuilo
8c2b96ad37 lint 2025-08-28 11:16:40 +09:00
syuilo
3e24419981 refactor 2025-08-28 11:15:17 +09:00
tamaina
25c2007f59 build-misskey-js-with-types (#16470) 2025-08-28 10:39:39 +09:00
syuilo
2e4c4dd555 refactor 2025-08-28 08:59:13 +09:00
taiy
653cb116ea fix(build): run build-misskey-js-with-types (#16468) 2025-08-27 19:11:05 +09:00
syuilo
c9f363b215 fix i/apps schema 2025-08-27 17:21:24 +09:00
syuilo
e72da587e4 型ぎæŧã‚Œã‚’äŋŽæ­Ŗ 2025-08-27 17:05:29 +09:00
syuilo
439337a108 json schemaãĢčĒ¤ã‚ŠãŒã‚ã‚‹ãŽã‚’äŋŽæ­Ŗ 2025-08-27 17:01:02 +09:00
syuilo
5fef2332f4 refactor 2025-08-27 17:00:58 +09:00
syuilo
40a325cbe7 userぎjson schemaãĢčĒ¤ã‚ŠãŒã‚ã‚‹ãŽã‚’äŋŽæ­Ŗ 2025-08-27 16:55:07 +09:00
syuilo
5eff31383f refactor 2025-08-27 16:52:58 +09:00
syuilo
575379a683 refactor 2025-08-27 16:48:32 +09:00
syuilo
bf82b49633 refactor 2025-08-27 16:27:16 +09:00
syuilo
87d09f255d refactor 2025-08-27 15:59:39 +09:00
syuilo
98e07c3bd1 perf(frontend): use WeakMap 2025-08-27 12:41:24 +09:00
syuilo
c5bb881438 refactor 2025-08-27 12:40:11 +09:00
syuilo
ee96f77ef2 refactor 2025-08-27 12:09:19 +09:00
syuilo
55eb18f5a6 Update CHANGELOG.md 2025-08-27 10:29:45 +09:00
syuilo
aa8daca914 chore(frontend): skip typecheck for auto-generated files 2025-08-27 10:23:41 +09:00
syuilo
3e9118af3d fix(frontend): lookupペãƒŧジでãƒĒãƒĸãƒŧトURLを指厚した際ãĢæ­Ŗã—ãå‹•äŊœã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ 2025-08-27 10:15:11 +09:00
syuilo
25df56dfd0 refactor 2025-08-27 10:14:17 +09:00
syuilo
231ccae006 tweak locale 2025-08-27 09:57:33 +09:00
syuilo
2e0a34300a refactor 2025-08-27 09:46:31 +09:00
syuilo
d2fd7460ed Update CHANGELOG.md
#16465
2025-08-27 00:41:11 +09:00
syuilo
5e3d8fc9b8 refactor 2025-08-26 20:17:25 +09:00
syuilo
b186c67767 refactor 2025-08-26 20:04:59 +09:00
syuilo
ac7c60d102 refactor and fix 2025-08-26 19:06:15 +09:00
syuilo
b9dbd58a1c refactor 2025-08-26 18:54:54 +09:00
syuilo
69bbac013a refactor 2025-08-26 17:31:36 +09:00
syuilo
203296b9cb chore(frontend): tweak MkServerSetupWizard 2025-08-26 15:02:12 +09:00
syuilo
689d70ffae refactor 2025-08-26 14:38:42 +09:00
syuilo
d5475d1ff6 refactor 2025-08-26 14:22:53 +09:00
syuilo
05cc8047fa refactor 2025-08-26 13:58:57 +09:00
syuilo
d6a1046361 refactor 2025-08-26 13:34:41 +09:00
syuilo
eb9915baf8 refactor and fix 2025-08-26 10:56:09 +09:00
syuilo
dbb6c71c5c refactor 2025-08-26 09:39:23 +09:00
syuilo
9e5c8d94bf refactor 2025-08-26 09:08:00 +09:00
syuilo
120af977a9 refactoe 2025-08-26 08:57:36 +09:00
syuilo
506c8a259b refactor 2025-08-26 08:50:34 +09:00
syuilo
0c8545ec1c Update CHANGELOG.md 2025-08-26 07:44:26 +09:00
tamaina
7e7dc03796 fix(frontend): ap/showでロãƒŧã‚ĢãƒĢãƒĻãƒŧã‚ļãƒŧã‚’č§Ŗæąēした際@username@nullãĢéŖ›ã°ã•ã‚Œã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16460) 2025-08-26 07:43:59 +09:00
syuilo
a874def344 remove unused file 2025-08-25 20:32:07 +09:00
syuilo
44ac51f64f refactor: ReloadSuggest -> ReloadSuggestion 2025-08-25 20:31:22 +09:00
syuilo
3b65be8b91 clean up 2025-08-25 20:29:26 +09:00
syuilo
76beac41d2 refactor 2025-08-25 20:07:33 +09:00
syuilo
69cdc73f5a refactor 2025-08-25 19:55:42 +09:00
syuilo
1c966db324 refactor 2025-08-25 17:12:11 +09:00
syuilo
692284886b refactor 2025-08-25 17:04:49 +09:00
syuilo
0121d19645 refactor 2025-08-25 16:56:10 +09:00
syuilo
bf8636e516 refactor 2025-08-25 16:56:05 +09:00
syuilo
d336a1fb1c refactor 2025-08-25 13:51:52 +09:00
syuilo
7c761e7017 refactor 2025-08-25 13:48:09 +09:00
syuilo
7924daf7f8 refactor 2025-08-25 13:46:22 +09:00
syuilo
2b9706a68b refactor 2025-08-25 13:40:41 +09:00
syuilo
f2d15f9240 refactor 2025-08-25 13:36:38 +09:00
syuilo
caf6a3ab81 refactor 2025-08-25 13:34:17 +09:00
syuilo
f4baa973bf refactor 2025-08-25 13:26:41 +09:00
syuilo
3741fa4b49 refactor 2025-08-25 13:25:05 +09:00
syuilo
27df7f643e fix typo
Fix #16452
2025-08-25 10:07:42 +09:00
syuilo
30987b6f1f Update CHANGELOG.md 2025-08-25 10:05:15 +09:00
anatawa12
41b5677f01 fix: Pages will be deleted when eye-catching image is moved (#16455) 2025-08-25 10:04:35 +09:00
github-actions[bot]
47d83e8930 Bump version to 2025.8.0-beta.4 2025-08-24 09:29:08 +00:00
renovate[bot]
61ff1f313b fix(deps): update [backend] update dependencies (#16450)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-24 18:27:14 +09:00
renovate[bot]
637ad3d479 chore(deps): update [misskey-js] update dependencies (#16448)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-24 16:05:06 +09:00
syuilo
2dd8c2a355 New Crowdin updates (#16442)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Turkish)
2025-08-24 12:02:36 +09:00
renovate[bot]
857a87d4b6 chore(deps): update [github actions] update dependencies (#16447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-24 11:53:23 +09:00
renovate[bot]
8b4cea5c86 fix(deps): update [root] update dependencies (#16449)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-24 11:53:10 +09:00
renovate[bot]
9f25d96ec3 fix(deps): update [frontend] update dependencies (#16387)
* fix(deps): update [frontend] update dependencies

* fix build error

---------

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-08-24 09:13:04 +09:00
syuilo
bd0730e5e8 fix(backend): 削除されたãƒĻãƒŧã‚ļãƒŧãŒãƒãƒŖãƒƒãƒˆãƒĄãƒƒã‚ģãƒŧジãĢãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗã—ãĻいる場合chat/historyãĒおでエナãƒŧãĢãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16445
2025-08-23 17:37:15 +09:00
syuilo
07ccb82691 Update CHANGELOG with recent feature and fix entries 2025-08-22 19:40:15 +09:00
github-actions[bot]
16030c6381 Bump version to 2025.8.0-beta.3 2025-08-22 10:39:14 +00:00
syuilo
1f6716d69b New Crowdin updates (#16436)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)
2025-08-22 19:37:20 +09:00
ã‹ãŖã“ã‹ã‚Š
ade603ff7a fix(frontend): ペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãŽé€˛čĄŒæ–šå‘ã‚’æŒ‡åŽšã§ãã‚‹ã‚ˆã†ãĢ (#16433)
* fix(frontend): ペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãŽé€˛čĄŒæ–šå‘ã‚’æŒ‡åŽšã§ãã‚‹ã‚ˆã†ãĢ

* Update Changelog

* fix lint

* fix: directionをMkPaginationãĢį§ģ動

* fix

* fix

* fix

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-08-22 19:34:20 +09:00
ã‹ãŖã“ã‹ã‚Š
4d215bde10 fix(frontend): follow-up of #16380 2025-08-22 19:31:27 +09:00
ã‹ãŖã“ã‹ã‚Š
20d81696e1 fix(backend): fix test (#16441)
* fix(backend): fix test

* fix

* fix
2025-08-22 18:26:19 +09:00
syuilo
8cbbb80e3f fix(backend): notes/mentions で場合ãĢã‚ˆãŖãĻはä¸Ļãŗé †ãŒæ­Ŗã—ãčŋ”されãĒã„å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16398
2025-08-21 19:10:16 +09:00
ã‹ãŖã“ã‹ã‚Š
1eabb21d69 fix(backend): クãƒĒップ一čϧAPIをペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãĢ寞åŋœã•せる (#16434)
* fix(backend): クãƒĒップ一čϧAPIをペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãĢ寞åŋœã•せる

* Update Changelog
2025-08-21 19:02:21 +09:00
ã‹ãŖã“ã‹ã‚Š
7f6ba2e501 enhance: verify-emailãĢãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰UIã‚’åŽŸčŖ… (#16431)
* enhance: ãƒĄãƒŧãƒĢぎverifyをAPIãĢ変更

* enhance(frontend): ãƒĄãƒŧãƒĢぎVerifyペãƒŧジをčŋŊ加

* fix

* 🎨

* 🎨

* Update Changelog

* lint
2025-08-21 16:52:30 +09:00
github-actions[bot]
8c433d2706 Bump version to 2025.8.0-beta.2 2025-08-20 07:41:12 +00:00
syuilo
3a856b785d New Crowdin updates (#16416)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)
2025-08-20 16:35:50 +09:00
syuilo
b07bf838e3 ã‚ĩãƒŧバãƒŧįŽĄį†ã‚ŗãƒžãƒŗãƒ‰ (#15882)
* wip

* Update cli.ts

* Update cli.ts

* wip

* Update CHANGELOG.md

* Delete cli.mjs
2025-08-20 16:35:26 +09:00
syuilo
bdfe709319 fix(frontend): čĒ­ãŋčžŧãŋį›´åžŒãĢãƒ—ãƒŠã‚°ã‚¤ãƒŗãĢよるノãƒŧãƒˆãŽæ›¸ãæ›ãˆãŒčĄŒã‚ã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ
ブãƒŧト時ãĢãƒ—ãƒŠã‚°ã‚¤ãƒŗãŒãƒ­ãƒŧドされるぞで垅抟
Fix #16428
2025-08-20 15:57:20 +09:00
github-actions[bot]
4190c6cb8e Bump version to 2025.8.0-beta.1 2025-08-19 05:24:14 +00:00
renovate[bot]
44a2d531b3 fix(deps): update dependency tmp to v0.2.4 [security] (#16374)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 14:20:53 +09:00
syuilo
a17271a5c4 Update CHANGELOG.md 2025-08-19 14:19:54 +09:00
syuilo
3980172243 feat: éžãƒ­ã‚°ã‚¤ãƒŗæ™‚ãĢ襨į¤ēされるトップペãƒŧジぎ゚ã‚ŋイãƒĢを選択できるようãĢ 2025-08-19 14:15:19 +09:00
syuilo
3b4879133c 🎨 2025-08-18 18:06:32 +09:00
syuilo
a1232cbae3 Update CHANGELOG.md 2025-08-18 14:47:35 +09:00
github-actions[bot]
ebb014da4c Bump version to 2025.8.0-beta.0 2025-08-18 05:41:44 +00:00
syuilo
7786761d76 chore(frontend): more haptic 2025-08-18 14:24:14 +09:00
Souma
ff334fe9d7 enhance(frontend): Add an option to customize Lockdown duration (#16405)
* chore(locales): Add "setManually" and "_time.month"

Add Japanese locales to auto-generate other languages.

* feat(frontend): Add text fields to set lockdown duration manually

Choose from presets or set it manually.

* refactor(frontend): Make objects contains option's values and labels

When adding a new option, it needed to write two times.

* docs(changelog): Add a description about this change

Users can notice what's changed by this PR.

* refactor(frontend): Manage state by MkSelect

The functions only initialize the values.

* refactor(frontend): Make the custom input as writable computed

Clean up the MkInput components.

* chore(locales): Switch to "custom"

A single word is better than sentence on this situation.

* refactor(frontend): Insert the custom button to presets

Users don't need to click multiple times to use prests.
2025-08-18 14:11:48 +09:00
syuilo
ba40cb750b Update about-misskey.vue 2025-08-18 10:59:31 +09:00
syuilo
fcde6789ff feat(frontend): introduce haptic feedback as experimental feature
#16410
2025-08-18 10:49:27 +09:00
github-actions[bot]
14cc42e305 Bump version to 2025.8.0-alpha.13 2025-08-18 01:22:39 +00:00
syuilo
e481205342 enhance(frontend): update aiscript to 1.1.0 2025-08-18 10:18:34 +09:00
anatawa12
fea9f27fd6 chore: preserve notes with local reactions (#16412) 2025-08-17 17:08:38 +09:00
github-actions[bot]
9ea7340da6 Bump version to 2025.8.0-alpha.12 2025-08-15 13:44:57 +00:00
anatawa12
60f7278aff fix: Remote Note Cleaning will delete notes embedded in a page (#16408)
* feat: preserve number of pages referencing the note

* chore: delete pages on account delete

* fix: notes on the pages are removed by CleanRemoteNotes

* test: add the simplest test for page embedded notes

* fix: section block is not considered

* fix: section block is not considered in migration

* chore: remove comments from columns

* revert unnecessary change

* add pageCount to webhook test

* fix type error on backend
2025-08-15 22:39:55 +09:00
syuilo
bae92a944d enhance(frontend): improve enableInfiniteScroll stability
Close #16318
2025-08-15 12:40:37 +09:00
syuilo
7d30768769 fix(frontend): Botãƒ—ãƒ­ãƒ†ã‚¯ã‚ˇãƒ§ãƒŗãŽč¨­åŽšãŽå¤‰æ›´æ¤œįŸĨãŒæ­Ŗã—ããĒã„å•éĄŒã‚’äŋŽæ­Ŗ 2025-08-15 12:10:14 +09:00
github-actions[bot]
e444942c4e Bump version to 2025.8.0-alpha.11 2025-08-14 08:02:14 +00:00
éĨē子w (Yumechi)
90b9609341 enhance: performance for CleanRemoteNotesProcessorService (#16404)
* enhance: performance for CleanRemoteNotesProcessorService

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* suggestions

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* docs

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* change initial limit to 100

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* robustness for transient race conditions

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* handle cursors in postgres

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* robustness: transient errors and timeout handling

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* use '0' as initial cursor

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-08-14 16:54:28 +09:00
syuilo
c25a922928 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-08-14 16:50:59 +09:00
syuilo
d26169ea32 Update about-misskey.vue 2025-08-14 16:50:56 +09:00
github-actions[bot]
8839d8d679 Bump version to 2025.8.0-alpha.10 2025-08-13 02:01:57 +00:00
syuilo
ad6af74eef New Crowdin updates (#16394)
* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Simplified)
2025-08-13 10:59:40 +09:00
Sayamame-beans
7bb43329bb fix(frontend): ãƒĄãƒŗã‚ˇãƒ§ãƒŗčŖœåŽŒãŽãŸã‚ãŽã‚ĩã‚¸ã‚§ã‚šãƒˆãŒæ­Ŗã—ãčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16401)
* fix(frontend): mention-syntax detection for autocomplete doesn't work properly

* docs(changelog): update changelog
2025-08-13 10:51:23 +09:00
syuilo
4c41930554 Update CHANGELOG.md 2025-08-11 15:54:18 +09:00
syuilo
295f42b986 New Crowdin updates (#16386)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Italian)
2025-08-11 12:25:59 +09:00
syuilo
299f9e3115 fix test 2025-08-11 12:09:25 +09:00
syuilo
1d8e183883 fix test 2025-08-11 12:01:32 +09:00
zyoshoka
f242892382 fix(workflow): correct references to built image's ID (#16391) 2025-08-10 23:54:06 +09:00
syuilo
ecc033f101 fix(backend): fix type errors caused by dependency update
https: //github.com/misskey-dev/misskey/pull/16308
Co-Authored-By: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-08-09 17:41:01 +09:00
renovate[bot]
684dbfd626 fix(deps): update [backend] update dependencies (#16201)
* fix(deps): update [backend] update dependencies

* Update HttpRequestService.ts

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-08-09 17:00:59 +09:00
github-actions[bot]
aa5c42997f Bump version to 2025.8.0-alpha.9 2025-08-09 07:45:10 +00:00
github-actions[bot]
e7b666f567 Bump version to 2025.8.0-alpha.8 2025-08-09 06:04:17 +00:00
renovate[bot]
0f7c0ed053 chore(deps): update [misskey-js] update dependencies (#16346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 14:48:02 +09:00
syuilo
1e92bb4a0a chore(backend): remove unused codes 2025-08-09 14:44:36 +09:00
ã‹ãŖã“ã‹ã‚Š
b5b7914073 enhance: ãƒĻãƒŧã‚ļãƒŧ検į´ĸをåˆļ限できるようãĢ (#16380)
* enhance: ãƒĻãƒŧã‚ļãƒŧ検į´ĸをåˆļ限できるようãĢ

* Update Changelog
2025-08-09 14:41:11 +09:00
syuilo
7595bff43b fix(backend): prevent run repeatable job immediately
Fix #16357
2025-08-09 14:37:09 +09:00
github-actions[bot]
72864fcbd0 Bump version to 2025.8.0-alpha.7 2025-08-09 05:27:57 +00:00
syuilo
1b0de39f92 Update CHANGELOG.md 2025-08-09 14:27:48 +09:00
renovate[bot]
d8a137cb6c chore(deps): update [tools] update dependencies (#16348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 14:26:52 +09:00
ã‹ãŖã“ã‹ã‚Š
ddac2fb7a1 fix(frontend-builder): 言čĒžãƒãƒŗãƒ‰ãƒĢぎäŊœæˆįŠļæŗãŒãƒ­ã‚°ãĢ掋るようãĢ (#16385) 2025-08-09 14:26:03 +09:00
ã‹ãŖã“ã‹ã‚Š
b1b335d55a fix: ãƒãƒŖãƒƒãƒˆãŽåˆŠį”¨å¯åĻポãƒĒã‚ˇãƒŧãŽč€ƒæ…Žæŧã‚Œã‚’äŋŽæ­Ŗ (#16259)
* fix: ãƒãƒŖãƒƒãƒˆãŽåˆŠį”¨å¯åĻポãƒĒã‚ˇãƒŧãŽč€ƒæ…Žæŧã‚Œã‚’äŋŽæ­Ŗ

* 🎨
2025-08-09 14:25:31 +09:00
ã‹ãŖã“ã‹ã‚Š
0586dd98cb fix(deps): regenerate lockfile (#16384) 2025-08-09 14:20:18 +09:00
syuilo
504f886065 Update CHANGELOG.md 2025-08-09 14:14:16 +09:00
Sayamame-beans
2931eb0aad Fix: ãƒãƒŖãƒŗãƒãƒĢぎハイナイトペãƒŧジãĢノãƒŧãƒˆãŒčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16364)
* fix(frontend): unable to see channel's featured notes

* docs(changelog): update changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-08-09 14:13:37 +09:00
anatawa12
103d5a4b44 fix frontend tests broken with aiscript 1.0.0 (#16377)
* test: update test for aiscript 1.0: line info in error

* test: update test for aiscript 1.0: keyword in object literal
2025-08-09 14:12:17 +09:00
ã‹ãŖã“ã‹ã‚Š
785b85ee46 enhance(frontend): į”ģ像エフェクトぎUI攚善 (#16191)
* enhance(frontend): į”ģ像エフェクトぎ攚善

* enhance: i18n colorClampAdvanced

* fix: missing translation

* enhance: i18n blockNoise

* fix lint

* fix: narrow down fx defs types

* fix

* fix: watermarkį”¨ã‚¨ãƒ•ã‚§ã‚¯ãƒˆã¯åˆĨã§åŽšįžŠã—į›´ã™

* fix lint

* ImageEffectorをwatermarkãĢ隠č”Ŋ

* watermarké–ĸé€ŖãŽåŽšįžŠã‚’åŽŒå…¨ãĢ分é›ĸ

* refactor

* fix

* ãŧかし劚果 -> ゚ムãƒŧã‚¸ãƒŗã‚°

* refactor: remove unnecessary `as const`

* Update Changelog
2025-08-09 14:11:19 +09:00
anatawa12
8bd84a0ec4 fix: ã‚ĢãƒŠãƒ ãŽåå‰ãŒæ­Ŗã—ããƒĒ゚ト/ãƒãƒŖãƒŗãƒãƒĢぎ名前ãĢãĒらãĒã„å•éĄŒ (#15987)
* fix: ã‚ĢãƒŠãƒ ãŽåå‰ãŒæ­Ŗã—ããƒĒ゚ト/ãƒãƒŖãƒŗãƒãƒĢぎ名前ãĢãĒらãĒã„å•éĄŒ

* changelog Fix: ã‚ĢãƒŠãƒ ãŽåå‰ãŒæ­Ŗã—ããƒĒ゚ト/ãƒãƒŖãƒŗãƒãƒĢぎ名前ãĢãĒらãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* reduce requests to retrieve timeline name
2025-08-09 10:43:07 +09:00
renovate[bot]
9539995458 fix(deps): update [root] update dependencies (#16349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 10:34:12 +09:00
syuilo
e67ff36e57 enhance(frontend): AiScriptぎcode-splittingãŒæ­Ŗã—ãčĄŒã‚ã‚Œã‚‹ã‚ˆã†ãĢ 2025-08-08 21:50:05 +09:00
github-actions[bot]
96a165d729 Bump version to 2025.8.0-alpha.6 2025-08-08 12:36:36 +00:00
Sayamame-beans
215725a3ac Fix: SystemWebhookč¨­åŽšã§secretをįŠēãĢå‡ēæĨãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16371)
* fix(backend): allow system-webhook secret to be empty

* docs(changelog): update changelog

* chore: run build-misskey-js-with-types
2025-08-08 21:35:02 +09:00
syuilo
3da04fcae4 New Crowdin updates (#16360)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Spanish)
2025-08-08 21:31:59 +09:00
tamaina
85e3e49688 fix(backend): Fix and create unit test of CleanRemoteNotesProcessorService (#16368)
* wip

* test(backend): CleanRemoteNotesProcessorService (basic)

* test(backend): CleanRemoteNotesProcessorService (advanced)

* âœŒī¸

* a

* split initiator query

* no order by

* ???

* old → older
2025-08-08 21:31:31 +09:00
syuilo
076a83466e 🎨 2025-08-08 21:26:53 +09:00
syuilo
aaf3f343ea Update about-misskey.vue 2025-08-08 21:20:23 +09:00
github-actions[bot]
4a5751416a Bump version to 2025.8.0-alpha.5 2025-08-08 09:50:54 +00:00
anatawa12
adb3ad6b7f Follow up per locale bundle (#16381)
* fix docker build

* enable check spdx license id in frontend-builder

* fix eslint config

* run eslint for frontend-builder in ci

* fix eslint

* add license headers

* fix unnecessary comments

* update changelog

* fix generateDts

* fix tsx
2025-08-08 18:47:35 +09:00
anatawa12
8598f3912e per-locale bundle & inline locale (#16369)
* feat: split entry file by locale name

* chore: とりあえず transform hook で雑ãĢåˆ†å‰˛

* chore: とりあえず transform įĩæžœã‚’いい感じãĢ

* chore: concurrent buildでéĢ˜é€ŸåŒ–

* chore: vite ではロãƒŧã‚ąãƒĢぎãĒいもぎをビãƒĢドしãĻ垌å‡Ļį†ã§ãŠã†ãĢかするようãĢ

* chore: 垌å‡Ļį†ãŽãŸã‚ãĢi18n.jを単äŊ“ãĢãĒるようãĢ切りå‡ēす

* chore: use typescript

* chore: remove unref(i18n) in vite build process

* chore: inline variable

* fix: build error

* fix: i18n.ts.something.replaceAll() become error

* chore: ignore export specifier from error

* chore: support i18n.tsx as object

* chore: process literal for all files

* chore: split config and locale

* chore: inline locale name

* chore: remove updating locale in boot common

* chore: use top-level await to load locales

* chore: inline locale

* chore: remove loading locale from boot.js

* chore: remove loading locale from boot.js

* ã‚ŗãƒĄãƒŗãƒˆčŋŊ加

* fix test; fetchãĢå¤ąæ•—ã™ã‚‹

* import削除ログをdebugãƒŦベãƒĢãĢ

* fix: watch pug

* chore: use hash for entry files

* chore: remove es-module-lexer from dependencies

* chore: move to frontend-builder

* chore: use inline locale in embed

* chore: refetch json on hot reload

* feat: store localization related to boot.js in backend in bootloaderLocales localstorage

* åŋœæ€Ĩå‡ĻįŊŽã‚’æˆģす

* fix spex

* fix `Using i18n identifier "e" directly. Skipping inlining.` warning

* refactor: use scriptsDir parameter

* chore: remove i18n from depmap

* chore: make build crash if errors

* error -> warn few conditions

* use inline object

* update localstorage keys

* remove accessing locale localstorage

* fix: failed to process i18n.tsx.aaa({x:i18n.bbb})
2025-08-08 11:26:18 +09:00
syuilo
f86239ab2f Update CONTRIBUTING.md 2025-08-07 17:21:43 +09:00
syuilo
ee9dc94063 enhance(frontend): ã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗãƒšãƒŧã‚¸ãŽãƒĄãƒ‹ãƒĨãƒŧから投į¨ŋフりãƒŧãƒ ãŽčĄ¨į¤ēæœ‰į„Ąã‚’åˆ‡ã‚Šæ›ŋえられるようãĢ 2025-08-06 14:22:21 +09:00
syuilo
998beeae59 feat(frontend): AiScriptを1.0ãĢ更新
Close #16277
2025-08-06 13:32:59 +09:00
syuilo
9931fff35b 🎨 2025-08-05 09:44:59 +09:00
syuilo
b4a0fdfaa1 fix type errors 2025-08-05 09:35:42 +09:00
syuilo
d979cd2c07 fix(frontend): 投į¨ŋフりãƒŧãƒ ã§ãƒ•ã‚Ąã‚¤ãƒĢぎã‚ĸップロãƒŧドが中æ­ĸãžãŸã¯å¤ąæ•—ã—ãŸéš›ãŽãƒãƒŗãƒ‰ãƒĒãƒŗã‚°ã‚’äŋŽæ­Ŗ 2025-08-05 09:15:02 +09:00
syuilo
bb56b3b4f1 feat(frontend): ペãƒŧジぎã‚ŋブバãƒŧを下部ãĢ襨į¤ēできるようãĢ 2025-08-04 20:03:34 +09:00
anatawa12
2f13f923a8 chore: ãƒĒãƒĸãƒŧトノãƒŧãƒˆãŽå‰Šé™¤æĄäģļをデãƒŧã‚ŋベãƒŧ゚上でįĸēčĒã™ã‚‹ã‚ˆã†ãĢ (#16351) 2025-08-04 18:39:08 +09:00
syuilo
93fefc58c7 New translations ja-jp.yml (Turkish) (#16359) 2025-08-04 15:00:53 +09:00
ã‹ãŖã“ã‹ã‚Š
bd7339c397 enhance(i18n): トãƒĢã‚ŗčĒžã‚’čŋŊ加 (#16358) 2025-08-04 14:53:26 +09:00
syuilo
941625fd08 New Crowdin updates (#16336)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Kannada)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Turkish)
2025-08-04 14:47:51 +09:00
syuilo
b6765edffe clean up 2025-08-04 10:31:26 +09:00
anatawa12
9273b21516 fix: /:initialTab? is shown on the URL when opening note with some ways (#16353) 2025-08-03 22:12:35 +09:00
renovate[bot]
aa10e537a5 fix(deps): update [frontend] update dependencies (#16350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-03 13:33:27 +09:00
renovate[bot]
c79fe6dc33 fix(deps): update [frontend] update dependencies (#16347)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-03 12:53:17 +09:00
github-actions[bot]
fbf8db618c Bump version to 2025.8.0-alpha.4 2025-08-03 02:05:40 +00:00
syuilo
6f3cc2cdf7 ã‚ŗãƒŗãƒˆãƒ­ãƒŧãƒĢパネãƒĢぎ検į´ĸ (#16343)
* Update settings.vue

* Update settings.vue

* Update settings.vue

* Update settings.vue

* Update settings.vue

* Update performance.vue

* Update performance.vue

* Update performance.vue

* Update external-services.vue

* wip

* wip

* Update security.vue

* Update settings.vue

* Update CHANGELOG.md

* wip

* Update moderation.vue

* wip

* Update branding.vue

* wip

* Update email-settings.vue

* Update system-webhook.vue

* Update MkSuperMenu.vue

* Update index.vue
2025-08-03 11:02:20 +09:00
syuilo
7c1f4c9037 perf(frontend): tweak css performance 2025-08-03 10:01:25 +09:00
ã‹ãŖã“ã‹ã‚Š
2da20bf3e8 fix(misskey-js): fix misskey-js autogen (#16345) 2025-08-02 17:16:24 +09:00
renovate[bot]
6d54370f01 chore(deps): update [misskey-js] update dependencies (major) (#16177)
* chore(deps): update [misskey-js] update dependencies

* enhance(misskey-js): テ゚ト゚イãƒŧトをVitestãĢįŊŽãæ›ãˆ (#16340)

* enhance(misskey-js): テ゚ト゚イãƒŧトをVitestãĢįŊŽãæ›ãˆ

* fix: 変ãĒã‚‚ãŽãŒæˇˇå…Ĩ

* fix test, lint

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-08-02 16:20:08 +09:00
ã‹ãŖã“ã‹ã‚Š
905d3c87f1 Update CHANGELOG.md 2025-08-02 14:01:57 +09:00
syuilo
fc244067e0 enhnace(frontend): ãƒĒロãƒŧドぎã‚ĩジェ゚トをダイã‚ĸログではãĒくバナãƒŧ襨į¤ēãĢ 2025-08-02 12:10:51 +09:00
syuilo
8449354887 fix e2e 2025-08-02 11:47:24 +09:00
syuilo
57e0f1b4ef fix e2e 2025-08-02 11:03:41 +09:00
github-actions[bot]
a1e170e065 Bump version to 2025.8.0-alpha.3 2025-08-01 13:35:41 +00:00
poppingmoon
73de40b81e enhance: support emojis added in Unicode 16.0 or earlier (#16329)
* add missing emojis to emojilist.json

* reorder family emojis

* reorder harp

* reorder symbols

* correct emoji genders

* add missing emojis to unicode-emoji-indexes

* add Japanese annotations for Sark flag

* correct kana notations

* add square colors

* upgrade @twemoji/parser to 16.0.0

* correct emoji genders

* upgrade mfm.js to 0.25.0
2025-08-01 22:26:29 +09:00
syuilo
2c836e3c24 fix migration
Fix #16341
2025-08-01 21:55:56 +09:00
syuilo
c2c5898221 refactor 2025-08-01 19:55:55 +09:00
æžœį‰ŠãƒĒãƒŗ
99adf12355 ノãƒŧト検į´ĸぎポト指厚ã‚Ēãƒ—ã‚ˇãƒ§ãƒŗãŽé€ŸåēĻæ”šå–„ (#16339)
Co-authored-by: misskey-release-bot[bot] <157398866+misskey-release-bot[bot]@users.noreply.github.com>
2025-08-01 17:48:26 +09:00
github-actions[bot]
7df0a6c55f Bump version to 2025.8.0-alpha.2 2025-08-01 08:23:40 +00:00
ã‹ãŖã“ã‹ã‚Š
e092008dc5 feat(frontend): ã‚ģãƒŧフãƒĸãƒŧド (#16245)
* feat(frontend): ã‚ģãƒŧフãƒĸãƒŧド

* Update Changelog

* Update Changelog

* fix

* fix

* Update Changelog

* Update Changelog

* PWAãŽã‚ˇãƒ§ãƒŧトã‚ĢットįĩŒį”ąã§ã‚‚ã‚ģãƒŧフãƒĸãƒŧドでčĩˇå‹•できるようãĢ

* Update ClientServerService.ts

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-08-01 17:20:40 +09:00
syuilo
0cfc910cdc enhance(frontend): いくつかぎįŋģč¨ŗã‚’čĒŋ整 2025-08-01 16:18:47 +09:00
ã‹ãŖã“ã‹ã‚Š
62f68de800 fix(frontend); Playぎボã‚ŋãƒŗãŒã¯ãŋå‡ēしãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16303) 2025-08-01 14:31:49 +09:00
syuilo
5bf13c4cc2 Update CHANGELOG.md 2025-08-01 13:44:06 +09:00
syuilo
16f47adcc6 Update CHANGELOG.md 2025-08-01 13:43:09 +09:00
github-actions[bot]
8eba8c7218 Bump version to 2025.8.0-alpha.1 2025-08-01 04:06:20 +00:00
syuilo
b214a19d5f New Crowdin updates (#16300)
* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)
2025-08-01 13:04:32 +09:00
syuilo
1082145c74 enhance: ã‚¸ãƒ§ãƒ–ãŽãƒ­ã‚°ã‚’čĄ¨į¤ēできるようãĢ 2025-08-01 12:54:33 +09:00
syuilo
2a836047e3 Update CHANGELOG.md 2025-08-01 12:38:50 +09:00
syuilo
b2b07e5f21 enhance(backend): é€Ŗåˆé–ĸäŋ‚ぎã‚ĩãƒŧバãƒŧč¨­åŽšãŽãƒ‡ãƒ•ã‚ŠãƒĢト値をã‚Ļã‚Ŗã‚ļãƒŧド側ãĢį§ģ動
- ã‚ĩãƒŧバãƒŧåˆæœŸč¨­åŽšã‚Ļã‚Ŗã‚ļãƒŧドでデフりãƒĢãƒˆå€¤ã‚’č¨­åŽšã§ãã‚‹ãŸã‚ã€ãƒ‡ãƒŧã‚ŋベãƒŧ゚上ぎデフりãƒĢト値でã‚ĒãƒŗãĢしãĻおくåŋ…čĻãŒãĒい
- é€Ŗåˆã¯åˆæœŸč¨­åŽšãŒįĩ‚わるぞで閉じられãĻいる斚が厉全
2025-08-01 12:36:25 +09:00
github-actions[bot]
da06f75455 Bump version to 2025.8.0-alpha.0 2025-08-01 02:50:01 +00:00
syuilo
d624da9c1a feat: remote notes cleaning (#16292)
* Create CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* wip

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update CleanRemoteNotesProcessorService.ts

* Update job-queue.job.vue

* wip

* Update CleanRemoteNotesProcessorService.ts

* wip

* wip

* wip

* Update CleanRemoteNotesProcessorService.ts

* wip

* Update CHANGELOG.md

* Revert "wip"

This reverts commit 89d455d302.

* wip

* woip

* Update QueueService.ts

* Update QueueService.ts

* ãƒ”ãƒŗį•™ã‚č€ƒæ…Ž

* Update CleanRemoteNotesProcessorService.ts

* Update QueueService.ts

* Update CleanRemoteNotesProcessorService.ts

* add log

* Update CHANGELOG.md

* wip

* Update MkServerSetupWizard.vue
2025-08-01 11:49:12 +09:00
syuilo
4c520fa693 enhance(frontend): ã‚ĩãƒŧバãƒŧãŽåˆæœŸč¨­åŽšã‚Ļã‚Ŗã‚ļãƒŧãƒ‰ã‚’ã‚„ã‚Šį›´ã›ã‚‹ã‚ˆã†ãĢ 2025-08-01 11:07:09 +09:00
syuilo
a7d1c94f48 enhance(backend): tweak system job log 2025-08-01 09:51:43 +09:00
ã‹ãŖã“ã‹ã‚Š
4f5d3f6f7d fix(frontend): MkNotesTimelineぎæ—Ĩäģ˜dividerぎ゚ã‚ŋイãƒĢäŋŽæ­Ŗ (#16306) 2025-07-31 21:45:34 +09:00
syuilo
4be0045826 update minimum nodejs version 2025-07-31 21:21:44 +09:00
syuilo
18daf43f70 clean up
ワイãƒĢドã‚Ģãƒŧドã‚ģãƒŦクã‚ŋはexpensive
2025-07-31 21:12:07 +09:00
syuilo
862a6fae79 enhance(backend): 古いバãƒŧã‚¸ãƒ§ãƒŗã§äŊœæˆã•ã‚Œįžåœ¨äŊŋわれãĒくãĒãŖãŸrepeatableジョブをクãƒĒãƒŧãƒŗã‚ĸップするようãĢ 2025-07-31 20:57:36 +09:00
ã‹ãŖã“ã‹ã‚Š
a45e89c300 fix(frontend): éŠį”¨ä¸­ãŽãƒ†ãƒŧマをäŋæŒã™ã‚‹éš›ãĢãƒĒã‚ĸã‚¯ãƒ†ã‚Ŗãƒ“ãƒ†ã‚Ŗã‚‚äŋæŒã•ã‚Œã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16304)
* fix(frontend): įžåœ¨ãŽãƒ†ãƒŧマをäŋæŒã™ã‚‹éš›ãĢãƒĒã‚ĸã‚¯ãƒ†ã‚Ŗãƒ“ãƒ†ã‚ŖãŒäŋæŒã•ã‚Œã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

* Update theme.ts
2025-07-31 18:47:22 +09:00
syuilo
35888eb8f4 enhance(backend): BullMQぎå샿­ĸされたRepeatableからJob SchedulersãĢį§ģ行 2025-07-31 18:16:21 +09:00
syuilo
f2a23fb55e ノãƒŧãƒˆãŽč„ąCASCADE削除 (#16332)
* wip

* Update CHANGELOG.md

* Update QueryService.ts

* Update QueryService.ts

* wip

* Update MkNoteDetailed.vue

* Update NoteEntityService.ts

* wip

* Update antennas.ts

* Update create.ts

* Update NoteEntityService.ts

* wip

* Update CHANGELOG.md

* Update NoteEntityService.ts

* Update NoteCreateService.ts

* Update note.test.ts

* Update note.test.ts

* Update ClientServerService.ts

* Update ClientServerService.ts

* add error handling

* Update NoteDeleteService.ts

* Update CHANGELOG.md

* Update entities.ts

* Update entities.ts

* Update misskey-js.api.md
2025-07-31 14:40:51 +09:00
tamaina
414d5958c1 fix(test): Fix name of a test in e2e/timelines.ts (#16334) 2025-07-31 14:22:32 +09:00
tamaina
8c65d8d020 test(backend): e2e/timelines.ts: 非FTT時ぎテ゚トをčŋŊ加, 凍įĩãŽãƒ†ã‚šãƒˆã‚’čŋŊ加, これãĢかかる嚞つかぎバグäŋŽæ­Ŗ (#16284)
* test(backend): 非FTT時ぎテ゚トをčŋŊ加

* clean up

* skip test about reply

* Fix #16289

* clean up

* cherry pick

* add renote test

* Fix https://github.com/misskey-dev/misskey/issues/16293

* remove debug log
2025-07-30 21:41:46 +09:00
ã‹ãŖã“ã‹ã‚Š
927aa9dc3d fix(frontend): inline ãĒ SearchMarker ãŽãƒ‘ã‚šãŒæ­Ŗã—ããĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16301)
* replace URL path for inlined SearchMarkers

The search index looks like:

```ts
[
 {
   id: 'foo', label: 'security',
   path: '/settings/security', inlining: ['2fa'],
 },
 {
   id: '2fa',
   label: 'two-factor auth',
   path: '/settings/2fa', // guessed wrong by the index generation
 },
 {
   id: 'aaaa',
   parentId: '2fa',
   label: 'totp',
 },
 â€Ļ
]
```

This file post-processes that index and re-parents the inlined
sections. Problem was, it left the (wrong) `path` untouched.

Replacing the `path` makes the search work fine.

* Update Changelog

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
2025-07-30 14:39:55 +09:00
ã‹ãŖã“ã‹ã‚Š
1dec8b2329 fix(frontend/test): CypressãŒå¤ąæ•—ã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16307)
* attempt to fix test

* fix(frontend/test): CypressãŒå¤ąæ•—ã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ
2025-07-30 14:12:59 +09:00
zyoshoka
b0493abe93 chore: continue backend E2E test even if fail with minimum Node.js version (#16324)
* chore: continue backend E2E test even if fail with minimum Node.js version

* chore: disable `fail-fast`
2025-07-30 12:32:24 +09:00
ã‹ãŖã“ã‹ã‚Š
4f653f2fbc enhance(frontend): typed nirax (#16309)
* enhance(frontend): typed nirax

* migrate router.replace

* fix
2025-07-30 12:30:35 +09:00
tamaina
b660769288 perf(frontend): draw-blurhash workerぎįĩæžœã‚’postMessageする際ãĢImageBitmapをį§ģč­˛ã™ã‚‹ (#16330) 2025-07-30 09:30:07 +09:00
ã‹ãŖã“ã‹ã‚Š
48246bd166 fix(deps): regenerate lockfile (#16302) 2025-07-19 14:00:19 +09:00
github-actions[bot]
73419e8a61 [skip ci] Update CHANGELOG.md (prepend template) 2025-07-18 00:28:02 +00:00
github-actions[bot]
9852196ddc Release: 2025.7.0 2025-07-18 00:27:57 +00:00
github-actions[bot]
598641de48 Bump version to 2025.7.0-rc.1 2025-07-17 11:07:00 +00:00
syuilo
4d643c77c5 New Crowdin updates (#16274)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (English)
2025-07-17 20:03:13 +09:00
syuilo
a686592734 enhance(frontend): disable InfiniteScroll to improve stability
#16229
2025-07-17 20:02:55 +09:00
syuilo
0619dba04d remove unused code 2025-07-17 20:00:05 +09:00
github-actions[bot]
fbd6b67f1f Bump version to 2025.7.0-rc.0 2025-07-17 08:33:52 +00:00
ã‹ãŖã“ã‹ã‚Š
e5c2be15f7 fix(deps): Node.jsぎ最小バãƒŧã‚¸ãƒ§ãƒŗã‚’åŧ•き上げ (#16296)
* Update package.json

* Update min.node-version

* Update CHANGELOG.md
2025-07-17 13:20:43 +09:00
renovate[bot]
1b791258ce fix(deps): update [frontend] update dependencies (#16202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 12:14:19 +09:00
renovate[bot]
49cac2f72b fix(deps): update [root] update dependencies (#16200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 11:56:55 +09:00
renovate[bot]
5d5aa09459 chore(deps): update [misskey-js] update dependencies (#16199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 11:42:34 +09:00
github-actions[bot]
e1834beae8 Bump version to 2025.7.0-beta.2 2025-07-16 06:52:02 +00:00
anatawa12
6f6fdfe28e Migration cleanup (#16288)
* chore: apply several @Index and @ManyToOne to match actual migration code

* chore: several decorator updates with typeorm bug workaround with patches

* feat: add final cleanup migration

* dev: add .editorconfig settings for generated migrations

* chore: update dockerfile to build package with patches

* chore: update federation test compose to include patches

* chore: revert few dependency update

* chore: don't check disableRegistration on test env

* test: add test for checking migration script

* chore: set proxyRemoteFiles true in test config

* chore: enter invitation code in signup test

* fix: register send button is not disabled when invitationCode is not input
2025-07-16 15:49:05 +09:00
tamaina
ad7bf096e1 enhance(backend): usernameãĢ寞しãĻもprohibitedWordsForNameOfUserã‚’éŠį”¨ (#16282)
* enhance(backend): usernameãĢ寞しãĻもprohibitedWordsForNameOfUserã‚’éŠį”¨
Resolve #16281

* fix locales/index/d.ts
2025-07-15 09:32:46 +09:00
anatawa12
08cc5a99bb Don't remove notes when reply / renote is removed (#16287)
* chore: make NO ACTION on channel/reply/renote removal

* chore(docs): add description to show a possibility of reply null with replyId non-null

* fix: packing NoteDraft fails when reply / renote is removed

* feat: show drafts targeting removed renote / reply as "削除された投į¨ŋへぎ投į¨ŋ"
2025-07-15 09:20:48 +09:00
github-actions[bot]
f954b1e276 Bump version to 2025.7.0-beta.1 2025-07-12 06:17:58 +00:00
syuilo
5ecaf5095e enhance: ã‚Ļりãƒŧã‚ŋãƒŧマãƒŧク抟čƒŊをロãƒŧãƒĢでåˆļåžĄå¯čƒŊãĢ 2025-07-12 15:13:35 +09:00
syuilo
d2c4f79886 New Crowdin updates (#16258)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)
2025-07-12 15:00:30 +09:00
anatawa12
e26369ed48 fix: unable to horizontally scroll when pull to refresh is enabled (#16273) 2025-07-12 15:00:06 +09:00
syuilo
c165749a29 chore(frontend): fix type errors 2025-07-06 20:54:02 +09:00
syuilo
c4fdf5a47c chore(frontend): fix type errors 2025-07-06 20:47:31 +09:00
syuilo
288f0abeac chore(frontend): fix type errors 2025-07-06 20:37:09 +09:00
ã‹ãŖã“ã‹ã‚Š
89ed8be8ff fix(frontend): MkRange/MkSelectでdisabledが劚かãĒくãĒãŖãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16263)
* fix(frontend): MkRange/MkSelectでdisabledが劚かãĒくãĒãŖãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

* čǤ字
2025-07-06 19:38:09 +09:00
ã‹ãŖã“ã‹ã‚Š
a8abb03d17 refactor(frontend): Formぞわりぎ型åŧˇåŒ– (#16260)
* refactor(frontend): Formぞわりぎ型åŧˇåŒ–

* fix

* avoid non-null assertion and add null check for safety

* refactor

* avoid non-null assertion and add null check for safety

* Update clip.vue

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-07-06 19:36:11 +09:00
syuilo
c2a01551a7 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-07-06 19:32:33 +09:00
syuilo
553ccff77c chore(frontend): tweak selector to improve rendering performance 2025-07-06 19:32:31 +09:00
ã‹ãŖã“ã‹ã‚Š
9dddc84750 refactor(frontend): menuãŽåž‹åŽšįžŠãŽå¯čĒ­æ€§å‘ä¸Š (#16261) 2025-07-06 17:24:34 +09:00
syuilo
004cfd5e4b clean up 2025-07-06 15:57:21 +09:00
syuilo
40a35968f0 clean up 2025-07-06 15:54:33 +09:00
syuilo
e6ec15e397 feat: į‰šåŽšãŽãƒ‰ãƒŠã‚¤ãƒ–ãƒ•ã‚Ąã‚¤ãƒĢをæˇģäģ˜ã—ãĻã„ã‚‹ãƒãƒŖãƒƒãƒˆãƒĄãƒƒã‚ģãƒŧジを一čĻ§ã§ãã‚‹ã‚ˆã†ãĢ 2025-07-06 09:54:49 +09:00
syuilo
8430256f22 clean up 2025-07-05 19:29:18 +09:00
Souma
abde15979b enhance(backend): Add display name to email (#16256)
* feat(backend): Add display name to email

Make it clear who sent emails.

* docs(changelog): Add a description about this change

Users can notice what's changed by this PR.
2025-07-05 18:22:08 +09:00
syuilo
f128682200 fix type errors 2025-07-05 17:13:29 +09:00
syuilo
cc4cdd1ec0 clean up 2025-07-05 12:13:08 +09:00
syuilo
075df75afa Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-07-05 11:56:22 +09:00
syuilo
64eb338d65 🎨 2025-07-05 11:56:20 +09:00
tamaina
d986da745b ノãƒŧトぎã‚ĩãƒŧバãƒŧæƒ…å ą(InstanceTicker)ぎデã‚ļã‚¤ãƒŗ/パフりãƒŧãƒžãƒŗã‚šæ”šå–„(-webkit-text-stroke ver) (#16225)
* Revert "enhance(frontend): Instance Tickerぎデã‚ļã‚¤ãƒŗæ”šå–„ (#15946)"

This reverts commit 04928ba7d1.

* enhance(frontend): Instance Tickerぎデã‚ļã‚¤ãƒŗæ”šå–„(-webkit-text-stroke)

* 🎨

* use theme fg/bg

* use panel
2025-07-05 09:59:48 +09:00
syuilo
50f5b29290 New Crowdin updates (#16237)
* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Indonesian)
2025-07-05 09:07:25 +09:00
syuilo
a460bb7913 perf(frontend): improve rendering performance 2025-07-05 09:05:47 +09:00
syuilo
7cf1eccd04 clean up 2025-07-05 08:31:20 +09:00
syuilo
73397e1b7e Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-07-05 08:18:56 +09:00
tamaina
bf17092b41 test: VS Codeä¸Šã§č¤‡æ•°ãŽjestãƒ†ã‚šãƒˆã‚’čĄ¨į¤ēできるようãĢ (#16251) 2025-07-05 08:18:15 +09:00
github-actions[bot]
6d1018f42b Bump version to 2025.7.0-beta.0 2025-07-04 09:52:01 +00:00
ã‹ãŖã“ã‹ã‚Š
7667011266 fix(frontend): ã‚ĻェãƒĢã‚Ģムã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗãŽãƒĄãƒ‡ã‚Ŗã‚ĸ襨į¤ēがCWã‚’č€ƒæ…Žã—ãĻいãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16247)
* fix(frontend): ã‚ĻェãƒĢã‚Ģムã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗãŽãƒĄãƒ‡ã‚Ŗã‚ĸ襨į¤ēがCWã‚’č€ƒæ…Žã—ãĻいãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2025-07-04 18:49:21 +09:00
syuilo
a45ccc18b4 refactor 2025-07-04 18:33:41 +09:00
syuilo
c29a4d9503 fix(test): Play検į´ĸ抟čƒŊでBackend Unit TestãŒåŖŠã‚ŒãĻいる 2025-07-04 18:31:34 +09:00
syuilo
5caf2b27cf fix(test): Play検į´ĸ抟čƒŊでBackend Unit TestãŒåŖŠã‚ŒãĻいる
Fix #16248
2025-07-04 16:32:56 +09:00
syuilo
dd87d26bdc feat: Playを検į´ĸできるようãĢ
#13115
2025-07-04 10:20:00 +09:00
ã‹ãŖã“ã‹ã‚Š
b7a6301c2e fix(frontend): ãƒ—ãƒŠã‚°ã‚¤ãƒŗãŽã‚ĸãƒŗã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢ時ãĢロãƒŧã‚ĢãƒĢぎã‚ģãƒŧブデãƒŧã‚ŋを削除するようãĢ (#16246)
* fix(frontend): ãƒ—ãƒŠã‚°ã‚¤ãƒŗãŽã‚ĸãƒŗã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢ時ãĢロãƒŧã‚ĢãƒĢぎã‚ģãƒŧブデãƒŧã‚ŋを削除するようãĢ

* Update Changelog

* remove unused import

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-07-04 07:40:00 +09:00
syuilo
73e8d950df enhance(frontend): 投į¨ŋフりãƒŧムãĢãƒ•ã‚Ąã‚¤ãƒĢをペãƒŧ゚ト/ドロップした際ぎUXを攚善
Resolve #16205
2025-07-03 19:11:46 +09:00
syuilo
45033974f7 Update CHANGELOG.md 2025-07-03 19:03:34 +09:00
github-actions[bot]
7acfbc23d6 Bump version to 2025.7.0-alpha.0 2025-07-03 09:57:13 +00:00
github-actions[bot]
a9a746edce Bump version to 2025.6.4-alpha.4 2025-07-03 09:55:33 +00:00
ã‹ãŖã“ã‹ã‚Š
179d990c39 fix(frontend): ã‚ŋブが不可čĻ–ãĒあいだぎpaginationぎã‚ĸップデãƒŧトを停æ­ĸするようãĢ (#16243)
* fix(frontend): ã‚ŋブが不可čĻ–ãĒあいだぎpaginationぎã‚ĸップデãƒŧトを停æ­ĸするようãĢ

* fix lint

* 垅たãĒい
2025-07-03 18:52:16 +09:00
4ster1sk
7c44881ca8 enhance(backend): avatarUrlぎ上限文字数ぎåŧ•き上げ (#16235) 2025-07-03 18:03:02 +09:00
tamaina
ccbc4cffaa enhance(frontend): å…ąæœ‰ãƒšãƒŧジで、titleとtextãĢ同じ内厚がå…ĨãŖãĻいた際ぎ削除ロジックをåŧˇåŒ– (#16226)
* enhance(frontend): å…ąæœ‰ãƒšãƒŧジで、titleとtextãĢ同じ内厚がå…ĨãŖãĻいた際ぎ削除ロジックをåŧˇåŒ–
Fix #16224

* fix

* +→*

* fix

* use RegExp.test

* Update packages/frontend/src/pages/share.vue

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2025-07-03 18:00:43 +09:00
tamaina
706244925d fix(frontend): æĄäģļãĢよりäŋå­˜ã§ããĒã„å ´åˆãŽãƒĄãƒƒã‚ģãƒŧã‚¸ã‚’æąŽį”¨įš„ãĒもぎへ (#16238)
Fix #16228
2025-07-03 17:59:55 +09:00
ã‹ãŖã“ã‹ã‚Š
09a5e4b10a fix(frontend): Paginatorぎ型エナãƒŧč§Ŗæļˆ (#16230)
* fix(frontend): fix paginator type error

* fix

* refactor

* fix

* fix

* fix(paginator): remove readonly type

* fix

* typo

* fix: R -> E

* remove any

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-07-03 11:20:26 +09:00
syuilo
c48acad04b 🎨 2025-06-29 17:21:43 +09:00
github-actions[bot]
5d3bb02f4b Bump version to 2025.6.4-alpha.3 2025-06-29 06:47:43 +00:00
syuilo
933e252687 fix of f1deb89e34 2025-06-29 15:36:39 +09:00
syuilo
f1deb89e34 refactor(frontend): improve pagination implementation 2025-06-29 15:11:25 +09:00
syuilo
8bc822d829 feat(backend): クãƒĒップ内でノãƒŧトを検į´ĸできるようãĢ 2025-06-29 15:10:51 +09:00
syuilo
c215cccf1d enhance(frontend): ãƒ•ã‚Ąã‚¤ãƒĢã‚ĸップロãƒŧド時ãĢã‚ģãƒŗã‚ˇãƒ†ã‚Ŗãƒ–č¨­åŽšã•ã‚ŒãĻã„ã‚‹ã‹čĄ¨į¤ēするようãĢ 2025-06-29 08:50:55 +09:00
github-actions[bot]
0685bdf05c Bump version to 2025.6.4-alpha.2 2025-06-28 12:52:32 +00:00
syuilo
3394ed2122 New Crowdin updates (#16207)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (English)
2025-06-28 21:43:22 +09:00
syuilo
c5a440cf22 Update types.ts 2025-06-28 21:43:14 +09:00
syuilo
3c6f07fc8c feat: ãƒĸデログを検į´ĸできるようãĢ 2025-06-28 21:38:54 +09:00
syuilo
3c5ed0ffbb enhance(frontend): improve modlog pagination 2025-06-28 21:18:36 +09:00
syuilo
b8e8f3ad25 enhance: ペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗ(一čĻ§čĄ¨į¤ē)ぎåŸēæē–æ—Ĩ時を指厚できるようãĢ sinceId/untilIdが指厚可čƒŊãĒã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆãĢおいãĻ、sinceDate/untilDateも指厚可čƒŊãĢ 2025-06-28 20:21:21 +09:00
syuilo
012b2a9764 enhance(frontend): improve MkTl rendering 2025-06-28 19:24:55 +09:00
syuilo
dfbc40f868 lint 2025-06-28 19:20:02 +09:00
syuilo
32ddaa0cf8 Update about-misskey.vue 2025-06-28 12:02:16 +09:00
syuilo
bf6e218355 refactor 2025-06-28 12:00:15 +09:00
syuilo
19ef6c0b14 Update about-misskey.vue 2025-06-27 20:10:17 +09:00
syuilo
535b86f05e lint 2025-06-27 10:02:49 +09:00
taichan
01a94eaecb chore(CI): cache ffmpeg (#16223)
* ci: use daily cache for ffmpeg

* fix(ci): input type

* Fix current date

* Just use Daily cache

* fix condition
2025-06-26 19:08:47 +09:00
syuilo
9a28fa0534 refactor(frontend/pref): refactor preferences manager
Refactored preferences manager to decouple account context and storage provider, improving normalization and loading of profiles. Replaced static profile creation/normalization with instance-based logic, and updated usage in preferences.ts to pass account context explicitly. This enhances maintainability and prepares for better guest account handling.
2025-06-26 16:25:43 +09:00
github-actions[bot]
899273554a Bump version to 2025.6.4-alpha.1 2025-06-26 04:38:12 +00:00
syuilo
bf57557ba3 refactor(frontend): refactor uploader image editing features and menu
Replaces separate 'effect' and 'crop' features with a unified 'imageEditing' feature in the uploader. Groups crop and effect actions under a new parent 'editImage' menu item, adds localization for 'editImage', and updates supported types accordingly.
2025-06-26 12:10:15 +09:00
syuilo
8fda4fefaf refactor 2025-06-26 12:06:53 +09:00
syuilo
f1983d1aa5 Update type from UploaderDialogFeatures to UploaderFeatures
Replaces the UploaderDialogFeatures type with UploaderFeatures in the select function and SelectFileOptions type to ensure consistency and correct type usage.
2025-06-26 12:02:25 +09:00
syuilo
60649f4d66 add note 2025-06-26 12:01:56 +09:00
syuilo
525a330637 tweak eslint config 2025-06-26 10:49:41 +09:00
taichan
b455e63da7 chore(frontend): 開į™ēãƒĸãƒŧド時ãĢ言čĒžãƒ•ã‚Ąã‚¤ãƒĢぎ変更をč‡Ē動で反映するようãĢ (#16215)
* chore(frontend): 開į™ēãƒĸãƒŧド時ãĢ言čĒžãƒ•ã‚Ąã‚¤ãƒĢぎ変更をč‡Ē動で反映するようãĢ

* fix message

* naming

* SPDX
2025-06-26 08:26:44 +09:00
syuilo
5626677e86 Update CHANGELOG.md 2025-06-25 20:30:49 +09:00
keito
c424554d4a ジョブキãƒĨãƒŧぎProgressãŽå€¤ã‚’æ­Ŗã—ãč¨ˆįŽ—ã™ã‚‹ (#16218)
* fix: ジョブキãƒĨãƒŧぎProgressãŽå€¤ãŽį¯„å›˛ã‚’ 0~100 ãĢįĩąä¸€

* fix(backend): ジョブキãƒĨãƒŧぎProgressãŽč¨ˆįŽ—ãĢį”¨ã„ã‚‹įˇæ•°ã‚’æœ€åˆãĢ一åēĻだけ取垗する
2025-06-25 20:30:17 +09:00
syuilo
eee9a5f853 enhance(frontend): ペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãŽä¸Ļãŗé †ã‚’é€†ãĢできるようãĢ 2025-06-25 20:26:20 +09:00
github-actions[bot]
4d72d6caf4 Bump version to 2025.6.4-alpha.0 2025-06-25 08:50:37 +00:00
taichan
b752dc72e5 feat: ノãƒŧトぎ下書き(draft of note) (#15298)
* WIp (backend)

* Remove unused

* 下書きbackend įļšã

* fix(backedn): visibilityが下書きãĢ反映されãĒい

* Update packages/backend/src/postgres.ts

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>

* Fix : import order

* fix(backend) : createでcwが劚かãĒい

* FIX FOREGIN KEY

* wip: frontendīŧˆæ—ĸ存ぎ下書きをæŒŋå…Ĩīŧ‰

ぞだīŧšãƒãƒŖãƒŗãƒãƒĢ襨į¤ē、下書きぎäŊœæˆã€å‰Šé™¤

* WIP: ノãƒŧト選択ダイã‚ĸログ
投į¨ŋ時ãĢ下書きを削除

* PromiseãĢ変更

* é€ŖåˆãĒã—ã€ãƒãƒŖãƒŗãƒãƒĢã‚‚čĄ¨į¤ē

* Hashtagぎ値抜けæŧã‚Œ

* hasthagを0文字でもäŊœæˆå¯čƒŊãĢ

* 下書きぎäŋå­˜æŠŸæ§‹

* chore(misskey-js): build types

* localOnly抜けæŧã‚Œ

* ãƒãƒŖãƒŗãƒãƒĢæƒ…å ąãŽæ›¸ãæ›ãˆ

* enhance(frontend): ãƒ˜ãƒƒãƒ€éƒ¨ãŽčĄ¨į¤ē攚善

* fix(frontend): ãƒ•ã‚Ąã‚¤ãƒĢæˇģäģ˜ã§ããĒい

* fix: no file

* fix(frontend): 投įĨ¨ãŒåæ˜ ã•れãĒい

* ãƒãƒƒã‚ˇãƒĨã‚ŋã‚°ãŽåą•é–‹īŧˆã‚ŗãƒĄãƒŗãƒˆã‚ĸã‚Ļト外しåŋ˜ã‚Œīŧ‰

* fix: visibleUserIdsが反映されãĒい

* enhance: APIぎ型を整備

* refactor: 型が整備できたぎでasを削除

* Add userhost

* fix

* enhance: paginationをäŊŋう

* fix

* fix: č‡Ē分ぎã‚ĸã‚Ģã‚Ļãƒŗãƒˆã§ãŽæŠ•į¨ŋã§ã—ã‹ä¸‹æ›¸ãã‚’åˆŠį”¨ã§ããĒいようãĢ

厌全ãĢåĄžãã“ã¨ã¯ã§ããĒいが一åŋœ

* 🎨

* APIぎエナãƒŧIDをčŋŊ加

* enhance: ゚ã‚ŋイãƒĢčĒŋ整

* remove unused code

* 🎨

* fix: ロãƒŧãƒĢポãƒĒã‚ˇãƒŧぎ型

* ロãƒŧãƒĢãŽįˇ¨é›†į”ģéĸ

* ダイã‚ĸログぎ挙動攚善

* 下書き抟čƒŊãŒåˆŠį”¨ã§ããĒã„å ´åˆã¯čĄ¨į¤ēしãĒいようãĢ

* refactor

* fix: ダブãƒĢクãƒĒックが劚かãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* add comments

* fix

* fix: äŋå­˜æ™‚ぎエナãƒŧãŽį¨ŽåˆĨãĢかかわらずmodalを閉じãĒいようãĢ

* fix()backend: NoteDraftぎreply, renoteãŽåž‹ãŒé–“é•ãŖãĻたぎでäŋŽæ­Ŗ (migtrationã¯ã‚ãŖãĻた)

* fix: 投į¨ŋフりãƒŧムをįŠēį™ŊãĢしãĻ通常ãƒĒノãƒŧトできるやつは下書きとしãĻはåŧžãã‚ˆã†ãĢ

* fix(backend): テキ゚トが0文字でも下書きはäŋå­˜ã§ãã‚‹ã‚ˆã†ãĢ

* Fix(backend): replyIdãŽåž‹åŽšįžŠãŒãƒŸã‚šãŖãĻいるぎをäŋŽæ­Ŗ

* chore(misskey-js): update types

* Add CHANGELOG

* lint

* 常ãĢã‚ĩãƒŧバãƒŧ下書きãĢäŋå­˜ã—、上限をčļ…えた場合ぎãŋ尋ねるようãĢ

* NoteDraftServiceãĢcreate, updateぎå‡Ļį†ã‚’į§ģč­˛

* Fix typeerror

* remove tooltip

* Remove Mkbutton:short and use iconOnly

* 不čρãĒã‚ŗãƒĄãƒŗãƒˆãŽå‰Šé™¤

* Remove Short Completely

* wip

* escキãƒŧぞわりぎ挙動を攚善

* 下書き選択時ãĢ下書き可čƒŊæ•°ã¨įžåœ¨ãŽé‡ãŒåˆ†ã‹ã‚‹ã‚ˆã†ãĢ

* cleanUp

* wip

* wi

* wip

* Update MkPostForm.vue

---------

Co-authored-by: ã‹ãŖã“ã‹ã‚Š <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-06-25 17:09:23 +09:00
syuilo
06d31c0b78 fix(frontend): ãƒ•ã‚Ąã‚¤ãƒĢがドナイブぎæ—ĸ厚ã‚ĸップロãƒŧド先ãĢ指厚したフりãƒĢダãĢã‚ĸップロãƒŧドされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16206
2025-06-25 10:55:30 +09:00
syuilo
32d4c312ef enhance(frontend): ãƒ•ã‚Ąã‚¤ãƒĢã‚ĸップロãƒŧド前ãĢã‚­ãƒŖãƒ—ã‚ˇãƒ§ãƒŗč¨­åŽšã‚’čĄŒãˆã‚‹ã‚ˆã†ãĢ
Resolve #16210
2025-06-25 10:49:58 +09:00
syuilo
36fde67992 enhance(frontend): improve theme settings 2025-06-25 10:23:39 +09:00
syuilo
43abbce2af enhance(frontend): 全ãĻぎペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãĢおいãĻã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆãƒĄãƒ‹ãƒĨãƒŧからãƒĒロãƒŧドできるようãĢ 2025-06-25 10:08:44 +09:00
syuilo
684424f26a enhance(frontend): improve useScrollPositionKeeper 2025-06-24 20:30:32 +09:00
syuilo
36989e0cd3 Update about-misskey.vue 2025-06-24 20:24:34 +09:00
syuilo
d518682e73 add note 2025-06-24 11:44:16 +09:00
syuilo
0ada970337 enhance(frontend): č¨­åŽšãŽč‡Ē動バックã‚ĸップをã‚ĒãƒŗãĢã—ãŸį›´åžŒãĢč‡Ē動バックã‚ĸップするようãĢ 2025-06-23 17:12:25 +09:00
github-actions[bot]
a812dfe853 [skip ci] Update CHANGELOG.md (prepend template) 2025-06-16 11:13:27 +00:00
github-actions[bot]
2baec208f5 Release: 2025.6.3 2025-06-16 11:13:22 +00:00
github-actions[bot]
4093616e23 Bump version to 2025.6.3-alpha.0 2025-06-16 10:52:09 +00:00
syuilo
062d5170df fix(frontend): ã‚­ãƒŖãƒƒã‚ˇãƒĨを削除しãĒいとクナイã‚ĸãƒŗãƒˆãŒäŊŋį”¨ã§ããĒã„ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16196
2025-06-16 19:51:26 +09:00
github-actions[bot]
a279bd4d49 [skip ci] Update CHANGELOG.md (prepend template) 2025-06-16 08:58:37 +00:00
github-actions[bot]
978ae706eb Release: 2025.6.2 2025-06-16 08:58:31 +00:00
syuilo
824643a44e [skip ci] Update CHANGELOG.md 2025-06-16 17:57:09 +09:00
github-actions[bot]
213c569242 Bump version to 2025.6.2-alpha.0 2025-06-16 05:08:24 +00:00
syuilo
a1cf2d3074 New Crowdin updates (#16192)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)
2025-06-16 14:07:48 +09:00
syuilo
4ea7c76c02 fix(frontend): ã‚­ãƒŖãƒƒã‚ˇãƒĨを削除しãĒいとクナイã‚ĸãƒŗãƒˆãŒäŊŋį”¨ã§ããĒã„ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ 2025-06-16 13:55:27 +09:00
github-actions[bot]
1782a353d3 [skip ci] Update CHANGELOG.md (prepend template) 2025-06-16 02:33:19 +00:00
github-actions[bot]
c69a13b592 Release: 2025.6.1 2025-06-16 02:33:14 +00:00
syuilo
40e35c051a Update CHANGELOG.md 2025-06-15 11:10:03 +09:00
syuilo
b93717be33 Update CHANGELOG.md
Co-authored-by: ãŠã•ã‚€ãŽã˛ã¨ <46447427+samunohito@users.noreply.github.com>
2025-06-15 11:08:53 +09:00
syuilo
fe805fb7f0 enhance(frontend/image-effector): tweak fxs 2025-06-15 11:06:46 +09:00
syuilo
e9af9d4451 enhance(frontend/image-effector): tweak fxs 2025-06-15 10:57:29 +09:00
syuilo
ce90fee586 enhance(frontend/image-effector): add blockNoise fx 2025-06-15 10:55:11 +09:00
syuilo
5bec8ba6b0 enhance(frontend/image-effector): tweak fxs 2025-06-15 10:19:42 +09:00
syuilo
3dbfd80d65 enhance(frontend/image-effector): tweak colorAdjust fx 2025-06-15 09:25:57 +09:00
syuilo
b33eeb1366 enhance(frontend/image-effector): tweak distort fx 2025-06-15 08:47:59 +09:00
syuilo
420756d744 Update CHANGELOG.md 2025-06-14 19:50:56 +09:00
ã‹ãŖã“ã‹ã‚Š
32d721abf1 refactor(frontend): checkWordMuteぎčŋ”り値がčĒ¤ãŖãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16188)
* refactor(frontend): checkWordMuteぎčŋ”り値がčĒ¤ãŖãĻã„ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* fix lint
2025-06-14 16:08:14 +09:00
github-actions[bot]
8ea6aa2ef3 Bump version to 2025.6.1-rc.0 2025-06-14 03:16:12 +00:00
syuilo
bc07b79a23 fix(frontend): デッキぎã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗã‚ĢãƒŠãƒ ã§æ–°į€ãƒŽãƒŧト時ぎã‚ĩã‚Ļãƒŗãƒ‰ãŒå†į”Ÿã•ã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16164
2025-06-14 11:36:42 +09:00
syuilo
aae7961540 New Crowdin updates (#16187)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2025-06-13 10:31:14 +09:00
github-actions[bot]
1ad32990cb Bump version to 2025.6.1-beta.2 2025-06-12 10:07:07 +00:00
zyoshoka
89db7b3fa8 fix(frontend): display reactions correctly in welcome timeline (#16186) 2025-06-12 19:05:24 +09:00
syuilo
151121a567 New Crowdin updates (#16183)
* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Italian)
2025-06-12 17:34:12 +09:00
mochi33i
966e0812f5 fix(misskey-js) : misskey-jsぎ drive/file/create ã§ãƒ•ã‚Ąã‚¤ãƒĢã‚ĸップロãƒŧドができãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16028)
* fix(misskey-js): drive/file/createが動かãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* CHANGELOG.mdãĢäŋŽæ­Ŗå†…厚をčŋŊ加
2025-06-12 16:54:59 +09:00
syuilo
d378156212 Update CHANGELOG.md 2025-06-12 16:08:07 +09:00
renovate[bot]
568021498f fix(deps): update [root] update dependencies (#16142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 14:39:49 +09:00
github-actions[bot]
8f66ffc14d Bump version to 2025.6.1-beta.1 2025-06-11 03:45:02 +00:00
syuilo
63e8935c86 fix(frontend): disable note_view_interruptor temporary to prevent rendering glitch 2025-06-11 12:42:49 +09:00
renovate[bot]
b16a05b9a7 fix(deps): update [backend] update dependencies (#16143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 09:56:29 +09:00
ãŠã•ã‚€ãŽã˛ã¨
090262f3c6 fix: pnpm-lock.yamlãŽå†į”Ÿæˆ (#16182) 2025-06-11 08:57:42 +09:00
renovate[bot]
bc5a33d87f chore(deps): update [misskey-js] update dependencies (#16140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 16:08:04 +09:00
renovate[bot]
0ffd9e267a fix(deps): update [frontend] update dependencies (#16144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 16:07:34 +09:00
renovate[bot]
81bc27d804 chore(deps): update [tools] update dependencies (#16141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 15:53:04 +09:00
github-actions[bot]
f50abed98d Bump version to 2025.6.1-beta.0 2025-06-10 04:43:58 +00:00
syuilo
8ab574a31a New Crowdin updates (#16163)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)
2025-06-10 13:42:09 +09:00
syuilo
9a3219f12e fix(frontend): Plugin:register_note_view_interruptor()ãĢよるノãƒŧトぎ書き換えが抟čƒŊしãĒã„å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16180
2025-06-10 09:51:45 +09:00
zyoshoka
b5767c315a fix(backend): correct outbox pagination (#16176) 2025-06-08 09:12:59 +09:00
github-actions[bot]
ac9206f192 Bump version to 2025.6.1-alpha.4 2025-06-07 10:52:03 +00:00
ã‹ãŖã“ã‹ã‚Š
e2b38edb3a deps(misskey-js): Update openapi-typescript to v7 (#15491)
* deps(misskey-js): Update openapi-typescript to v7

* update openapi-typescript to v7.7.3

* generate misskey-js types

* bump openapi-typescript

* enhance: į”Ÿæˆį‰Šã‹ã‚‰never型を除åŽģするようãĢ

* regenerate api types

* refactor: å‡Ļį†å…ąé€šåŒ–

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2025-06-07 19:36:00 +09:00
syuilo
c5dc0fd51b Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-06-07 09:26:51 +09:00
syuilo
dda2ad6bcd fix(frontend): support non-image files 2025-06-07 09:26:49 +09:00
github-actions[bot]
a5429ebeee Bump version to 2025.6.1-alpha.3 2025-06-06 23:36:20 +00:00
syuilo
1c3604c7fb 🎨 2025-06-07 08:15:31 +09:00
syuilo
4906f1f45c 🎨 2025-06-07 08:07:23 +09:00
syuilo
6506429f09 enhance(frontend): ã‚ĸップロãƒŧダãƒŧ内でã‚ģãƒŗã‚ˇãƒ†ã‚Ŗãƒ–ãƒ•ãƒŠã‚°ã‚’č¨­åŽšå¯čƒŊãĢ 2025-06-07 07:57:23 +09:00
syuilo
9bd5f887de enhance(frontend): 投į¨ŋフりãƒŧムãĢã‚ĸップロãƒŧダãƒŧを埋めčžŧãŋ (#16173)
* wip

* Update MkPostForm.vue

* wip

* wip

* Update MkPostForm.vue

* wip

* wip

* add tip

* Update tips.ts

* Update MkPostForm.vue
2025-06-07 07:47:43 +09:00
syuilo
be35fe468b refactor(frontend): refactor tips 2025-06-06 21:03:35 +09:00
syuilo
4b9b3ced01 enhance(frontend): improve MkTip usability 2025-06-06 20:59:01 +09:00
syuilo
20b8148ddf chore(frontend): tweak ui 2025-06-06 09:02:47 +09:00
github-actions[bot]
019dfbdc1c Bump version to 2025.6.1-alpha.2 2025-06-05 13:27:28 +00:00
ã‹ãŖã“ã‹ã‚Š
95ea62f222 enhance(frontend): į”ģ像エフェクトぎ操äŊœã§RangeをダブãƒĢクãƒĒックしたらデフりãƒĢトぎ値ãĢæˆģるようãĢ (#16171)
* enhance(frontend): エフェクトぎ操äŊœã§RangeをダブãƒĢクãƒĒックしたらデフりãƒĢトぎ値ãĢæˆģるようãĢ

* fix: trackãŽč¨ˆįŽ—æ–šæŗ•ã‚’äŋŽæ­Ŗ

* remove unnecessary async
2025-06-05 22:25:49 +09:00
syuilo
fde67dca74 enhance(frontend): tweak server setup wizard 2025-06-05 21:05:11 +09:00
ã‹ãŖã“ã‹ã‚Š
a603a4970e enhance(frontend): į”ģåƒã‚¨ãƒ•ã‚§ã‚¯ãƒˆã€Œč‰˛čĒŋčŖœæ­Ŗã€ã‚’čŋŊ加 (#16170) 2025-06-05 20:29:02 +09:00
zyoshoka
f37a1e84bd chore: fix failure to publish misskey-js to npm registry (#16169) 2025-06-05 19:21:15 +09:00
syuilo
6c9e055aae add note 2025-06-05 15:05:00 +09:00
syuilo
a971e44cee refactor(frontend): refactor ImageEffector 2025-06-05 15:00:17 +09:00
syuilo
c6808f1eb6 refactor(frontend): refactor ImageEffector 2025-06-05 12:58:32 +09:00
syuilo
2a78360588 refactor(frontend): refactor ImageEffector 2025-06-05 12:25:22 +09:00
zyoshoka
65ba33867b fix(backend): avoid deadlock when deleting account (#16162) 2025-06-04 19:14:11 +09:00
syuilo
b55cc03621 New Crowdin updates (#16155)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)
2025-06-04 18:25:39 +09:00
ã‹ãŖã“ã‹ã‚Š
80f73c6712 enhance(gh): renovateぎicons-subsetterをfrontendグãƒĢãƒŧプãĢįĩąåˆ (#16161) 2025-06-04 16:39:06 +09:00
syuilo
60fc9a5195 🎨 2025-06-04 16:33:55 +09:00
ã‹ãŖã“ã‹ã‚Š
b43dfa260b fix/refactor(frontend): į”ģåƒįˇ¨é›†æŠŸčƒŊぎäŋŽæ­Ŗãƒģ型åŧˇåŒ– (#16156)
* enhance: refine uploadFile

* fix: missing locale

* refactor: harden types

* refactor: ã‚ˇã‚§ãƒŧダãƒŧãƒ•ã‚Ąã‚¤ãƒĢをlazy-loadingできるようãĢ

* fix(frontend): omit console.log in production environment

* fix: glslぎバãƒŧã‚¸ãƒ§ãƒŗčĄ¨č¨˜ã¯æœ€åˆãŽčĄŒãĢãĒければãĒらãĒい

* fix: ã‚ˇã‚§ãƒŧダãƒŧぎčĒ­ãŋčžŧãŋが厌äē†ã—ãĻからãƒŦãƒŗãƒ€ãƒĒãƒŗã‚°ã‚’čĄŒã†ã‚ˆã†ãĢ

* fix merge failure

* fix: ã‚Ļりãƒŧã‚ŋãƒŧマãƒŧクぎプãƒĒã‚ģットがãĒい場合ãĢdividerが2重ãĢ襨į¤ēã•ã‚Œã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* fix: ã‚ĸップロãƒŧダãƒŧダイã‚ĸログぎ抟čƒŊč¨­åŽšã§ã‚Ļりãƒŧã‚ŋãƒŧマãƒŧã‚¯ãŒį„ĄåŠšãĒ場合でもデフりãƒĢトぎプãƒĒã‚ģãƒƒãƒˆãŒéŠį”¨ã•ã‚ŒãĻã—ãžã†å•éĄŒã‚’äŋŽæ­Ŗ

* fix lint

* Revert "fix: ã‚ˇã‚§ãƒŧダãƒŧぎčĒ­ãŋčžŧãŋが厌äē†ã—ãĻからãƒŦãƒŗãƒ€ãƒĒãƒŗã‚°ã‚’čĄŒã†ã‚ˆã†ãĢ"

This reverts commit e06f37a7d4.

* Revert "fix: glslぎバãƒŧã‚¸ãƒ§ãƒŗčĄ¨č¨˜ã¯æœ€åˆãŽčĄŒãĢãĒければãĒらãĒい"

This reverts commit afcc37d886.

* Revert "refactor: ã‚ˇã‚§ãƒŧダãƒŧãƒ•ã‚Ąã‚¤ãƒĢをlazy-loadingできるようãĢ"

This reverts commit a1ab2fa38c.

* fix: ã‚Ļりãƒŧã‚ŋãƒŧマãƒŧクぎFXåŽšįžŠã‚’åˆ†ã‘ã‚‹

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

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

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

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-06-04 16:22:09 +09:00
syuilo
e3b57a118d 🎨 2025-06-04 16:15:06 +09:00
syuilo
fdcb6a09a9 fix(frontend): ã‚ŋッチ操äŊœæ™‚ãĢãƒãƒŖãƒŧトぎツãƒŧãƒĢチップがæļˆãˆãĒくãĒã‚‹å ´åˆãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ 2025-06-04 16:10:57 +09:00
syuilo
218df19d9c enhance(frontend): ゚マホでぎMkModalWindowãŽčĄ¨į¤ēを最遊化 2025-06-04 12:28:50 +09:00
syuilo
b766589c00 enhance(frontend): ミãƒĨãƒŧトしたįĩĩ文字をデバイ゚間で同期できるようãĢ
Resolve #16158
2025-06-04 12:01:33 +09:00
ã‹ãŖã“ã‹ã‚Š
d94bdff639 fix(misskey-js): build misskey-js with types (#16159) 2025-06-04 11:49:29 +09:00
github-actions[bot]
3a4288fe24 Bump version to 2025.6.1-alpha.1 2025-06-03 12:13:26 +00:00
syuilo
12c71de4c7 New Crowdin updates (#16153)
* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean (Gyeongsang))
2025-06-03 21:07:02 +09:00
syuilo
b7aa013a41 feat: 全ãĻãŽãƒãƒŖãƒƒãƒˆãƒĄãƒƒã‚ģãƒŧジをæ—ĸčĒ­ãĢできるようãĢ 2025-06-03 21:06:37 +09:00
github-actions[bot]
3ff2e6b299 Bump version to 2025.6.1-alpha.0 2025-06-03 10:19:12 +00:00
syuilo
cd9322a824 feat(frontend): į”ģåƒįˇ¨é›†æŠŸčƒŊ (#16121)
* wip

* wip

* wip

* wip

* Update watermarker.ts

* wip

* wip

* Update watermarker.ts

* Update MkUploaderDialog.vue

* wip

* Update ImageEffector.ts

* Update ImageEffector.ts

* wip

* wip

* wip

* wip

* wip

* wip

* Update MkRange.vue

* Update MkRange.vue

* wip

* wip

* Update MkImageEffectorDialog.vue

* Update MkImageEffectorDialog.Layer.vue

* wip

* Update zoomLines.ts

* Update zoomLines.ts

* wip

* wip

* Update ImageEffector.ts

* wip

* Update ImageEffector.ts

* wip

* Update ImageEffector.ts

* swip

* wip

* Update ImageEffector.ts

* wop

* Update MkUploaderDialog.vue

* Update ImageEffector.ts

* wip

* wip

* wip

* Update def.ts

* Update def.ts

* test

* test

* Update manager.ts

* Update manager.ts

* Update manager.ts

* Update manager.ts

* Update MkImageEffectorDialog.vue

* wip

* use WEBGL_lose_context

* wip

* Update MkUploaderDialog.vue

* Update drive.vue

* wip

* Update MkUploaderDialog.vue

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip
2025-06-03 19:18:29 +09:00
syuilo
9fdc3c5def chore(frontend): remove duplicate declarations 2025-06-03 18:44:51 +09:00
ã‹ãŖã“ã‹ã‚Š
4af8c7f8b0 enhance(frontend): ãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãƒ“ãƒĨãƒŧワãƒŧでäŊŋį”¨å¯čƒŊãĒãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗã‚’å„Ē先しãĻ襨į¤ēするã‚Ēãƒ—ã‚ˇãƒ§ãƒŗ (#16149)
* enhance(frontend): ãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãƒ“ãƒĨãƒŧワãƒŧでäŊŋį”¨å¯čƒŊãĒãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗã‚’å„Ē先しãĻ襨į¤ēするã‚Ēãƒ—ã‚ˇãƒ§ãƒŗ

* Update Changelog

* tweak

* fix

* enhance: ãƒĒã‚ĸã‚¯ãƒ†ã‚Ŗãƒ–ã˜ã‚ƒãĒくする

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-06-03 18:44:01 +09:00
syuilo
ed29a3613b fix(frontend): fix user search pagination 2025-06-03 17:57:51 +09:00
ã‹ãŖã“ã‹ã‚Š
810a609df4 fix(frontend): 一部ぎグãƒĒッドぎペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãŒæ­Ŗã—ãčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16147)
* fix(frontend): 一部ぎグãƒĒッドぎペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãŒæ­Ŗã—ãčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* update changelog

* fix
2025-06-03 17:20:11 +09:00
ã‹ãŖã“ã‹ã‚Š
5537558fa7 fix(frontend): ãƒ‰ãƒŠã‚¤ãƒ–ãŽãƒ•ã‚Ąã‚¤ãƒĢ選択が不厉厚ãĒå•éĄŒã‚’äŋŽæ­Ŗ (#16148)
* fix(frontend): ãƒ‰ãƒŠã‚¤ãƒ–ãŽãƒ•ã‚Ąã‚¤ãƒĢ選択が不厉厚ãĢãĒãŖãĻいるぎをäŋŽæ­Ŗ

* Update Changelog
2025-06-03 15:45:26 +09:00
syuilo
26215b7466 🎨 2025-06-03 10:35:02 +09:00
syuilo
0a0247a678 enhance(frontend): add config button to emoji picker to improve usability 2025-06-03 08:04:15 +09:00
syuilo
93d17aff6c refactor(frontend): IDį”Ÿæˆå‡Ļį†ã‚’įĩąä¸€ 2025-06-03 07:37:08 +09:00
syuilo
3bc81522c6 enhance(frontend): IDãĢUUIDをäŊŋうぎをやめる (#16138)
* wip

* Update flash-edit.vue
2025-06-03 07:31:19 +09:00
github-actions[bot]
2a077de148 [skip ci] Update CHANGELOG.md (prepend template) 2025-06-02 00:58:35 +00:00
github-actions[bot]
3eb64ccf7a Release: 2025.6.0 2025-06-02 00:58:25 +00:00
syuilo
47fede5e5c Update CHANGELOG.md 2025-06-02 09:43:27 +09:00
renovate[bot]
b48a25ea77 fix(deps): update [frontend] update dependencies (#16086)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 09:13:06 +09:00
github-actions[bot]
51e7081c9d Bump version to 2025.6.0-beta.1 2025-06-01 23:49:28 +00:00
syuilo
982ae9238d New Crowdin updates (#16136)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)
2025-06-02 08:43:56 +09:00
syuilo
d40c083233 enhance(frontend): éžåŒæœŸįš„ãĒã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãŽčĒ­ãŋčžŧãŋæ™‚ãŽãƒãƒŗãƒ‰ãƒĒãƒŗã‚°ã‚’åŧˇåŒ– 2025-06-02 08:43:04 +09:00
syuilo
8f025c447b fix(backend): ãƒ­ã‚°ã‚¤ãƒŗã§ããĒくãĒるため、ugcVisibilityForVisitorがnoneでもusers/showã¯č¨ąå¯ã™ã‚‹ã‚ˆã†ãĢ 2025-06-02 08:37:22 +09:00
syuilo
9dc423afd4 fix(frontend): tweak MkFolderPage z-index 2025-06-02 08:32:22 +09:00
github-actions[bot]
5893a95c99 Bump version to 2025.6.0-beta.0 2025-06-01 01:49:22 +00:00
syuilo
f4167ae7f1 enhance(frontend): éžåŒæœŸįš„ãĒã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãŽčĒ­ãŋčžŧãŋæ™‚ãŽãƒãƒŗãƒ‰ãƒĒãƒŗã‚°ã‚’åŧˇåŒ– 2025-06-01 10:44:45 +09:00
syuilo
63db879bcc fix(frontend): remove unused text 2025-06-01 10:22:32 +09:00
syuilo
bd17b465c3 New Crowdin updates (#16129)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)
2025-06-01 09:34:08 +09:00
syuilo
6b1fbf6819 Update about-misskey.vue 2025-06-01 09:24:49 +09:00
github-actions[bot]
021c332097 Bump version to 2025.6.0-alpha.0 2025-06-01 00:22:01 +00:00
syuilo
5bdbff19ae fix(frontend): ãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãŽä¸€éƒ¨ãŽįĩĩæ–‡å­—ãŒé‡č¤‡ã—ãĻ襨į¤ēã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16130
2025-06-01 08:10:49 +09:00
syuilo
070a4516fc 🎨 2025-06-01 07:57:22 +09:00
syuilo
c5d33661b2 chore(frontend): improve type def 2025-06-01 07:57:18 +09:00
github-actions[bot]
777ca15083 [skip ci] Update CHANGELOG.md (prepend template) 2025-05-31 12:37:08 +00:00
github-actions[bot]
21344f7695 Release: 2025.5.1 2025-05-31 12:37:02 +00:00
syuilo
4254f52ced New Crowdin updates (#16126)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)
2025-05-31 18:06:59 +09:00
syuilo
f14787bd10 fix(frontend): ベãƒŧ゚ロãƒŧãƒĢぎ、「ã‚ĸップロãƒŧド可čƒŊãĒãƒ•ã‚Ąã‚¤ãƒĢį¨ŽåˆĨ」を変更しãĻã‚‚æ­Ŗã—ãäŋå­˜ã•れãĒい
Fix #16128
2025-05-31 18:04:00 +09:00
syuilo
14cbc78031 Update packages/frontend/src/pages/admin/custom-emojis-manager.register.vue
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2025-05-31 17:41:04 +09:00
github-actions[bot]
62e333191d Bump version to 2025.5.1-beta.6 2025-05-31 07:38:56 +00:00
ãŠã•ã‚€ãŽã˛ã¨
0c2d799acd fix(backend): ジョブキãƒĨãƒŧį”ģéĸぎPausedã‚ŋブをã‚ĸã‚¯ãƒ†ã‚Ŗãƒ–ãĢすると400エナãƒŧがčŋ”ãŖãĻくるぎをäŋŽæ­Ŗ (#16124)
* fix(backend): ジョブキãƒĨãƒŧį”ģéĸぎPausedã‚ŋブをã‚ĸã‚¯ãƒ†ã‚Ŗãƒ–ãĢすると400エナãƒŧがčŋ”ãŖãĻくるぎをäŋŽæ­Ŗ

* fix CHANGELOG.md
2025-05-31 16:34:25 +09:00
syuilo
aa4c7a1313 fix(frontend): ã‚ĸã‚Ģã‚Ļãƒŗãƒˆäžå­˜ã‹ã¤åˆæœŸįŠļæ…‹ã§ã‚ã‚‹č¨­åŽšå€¤ã‚’ã‚ĩãƒŧバãƒŧ同期しようとした際ãĢæ­Ŗã—ãã‚ŗãƒŗãƒ•ãƒĒクト検å‡ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ 2025-05-31 16:33:03 +09:00
syuilo
743995e469 enhance(frontend): make pref sync more smart 2025-05-31 14:15:40 +09:00
syuilo
0254570fbf enhance(frontend): č¨­åŽšãŽåŒæœŸã‚’ã‚ĒãƒŗãĢするときãĢįĢļ合したときãĢ値をマãƒŧジできるようãĢ 2025-05-31 12:49:10 +09:00
syuilo
9f196bbf75 New Crowdin updates (#16116)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)
2025-05-30 16:28:49 +09:00
github-actions[bot]
4c77f3e597 Bump version to 2025.5.1-beta.5 2025-05-29 08:49:19 +00:00
syuilo
85d339ee91 fix(frontend): ãƒãƒŖãƒƒãƒˆãĢ動į”ģãƒ•ã‚Ąã‚¤ãƒĢを送äģ˜ã™ã‚‹ã¨ã€å‹•į”ģãŽčĄ¨į¤ēが崊れãĻしぞいčϖ聴å‡ēæĨãĒã„å•éĄŒã‚’äŋŽæ­Ŗ
Fix #15854
2025-05-29 17:44:30 +09:00
syuilo
0f6b28f970 enhance(backend): tweak default maxFileSizeMb value
ref: #15988
2025-05-29 17:35:10 +09:00
syuilo
75dcebc341 enhance(frontend): デバイ゚ぎダãƒŧクãƒĸãƒŧドと同期するã‚Ēãƒ—ã‚ˇãƒ§ãƒŗãŒæœ‰åŠšãĒときãĢテãƒŧマを手動で切りæ›ŋえようとした際ぎč­Ļå‘Šã‚’čĄ¨į¤ē 2025-05-29 17:32:10 +09:00
syuilo
85c28d5cb7 enhance(backend): 外部ã‚ĩイトぎOGPãŽã‚­ãƒŖãƒƒã‚ˇãƒĨ期間をčĒŋ整 2025-05-29 13:53:33 +09:00
github-actions[bot]
c1ff6feeda Bump version to 2025.5.1-beta.4 2025-05-29 04:24:41 +00: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
github-actions[bot]
e786ff4bf1 Bump version to 2025.5.1-beta.3 2025-05-29 02:50:18 +00:00
syuilo
e4a2d1658b New Crowdin updates (#16085)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)
2025-05-29 11:43:28 +09:00
Soli
ed8a95f5bc fix(frontend): Twitch クãƒĒップぎ埋めčžŧãŋが開けãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16102) 2025-05-29 11:43:08 +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
zyoshoka
97e916c912 refactor(frontend): revoke weakening endpoint param type of API caller for type safety (#16100) 2025-05-27 20:45:05 +09:00
anatawa12
e954060f3b chore(dev): update vite configuration (#16110) 2025-05-27 15:18:37 +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
ã‹ãŖã“ã‹ã‚Š
0504d4399c fix(frontend): ãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗå‰Šé™¤ã‚¤ãƒ™ãƒŗãƒˆãŽã‚ŗãƒŗãƒ‡ã‚Ŗã‚ˇãƒ§ãƒŗãŒčĒ¤ãŖãĻいたぎをäŋŽæ­Ŗ (#16097) 2025-05-25 08:38:29 +09:00
ã‹ãŖã“ã‹ã‚Š
fab9db405c fix(frontend): ã‚ŋãƒ–é–“åŒæœŸãŒčĄŒã‚ã‚Œã‚‹ã¨ãƒ†ãƒŧマが切りæ›ŋわりįļšã‘ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16094) 2025-05-25 08:37:39 +09:00
github-actions[bot]
02b37b7adf Bump version to 2025.5.1-beta.2 2025-05-24 09:42:21 +00:00
ã‹ãŖã“ã‹ã‚Š
02041344bd fix(frontend); ã‚Ģ゚ã‚ŋムįĩĩ文字ぎãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãŒäēŒé‡ã§čĄ¨į¤ēã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#16092)
* fix(frontend): ã‚Ģ゚ã‚ŋムįĩĩ文字ぎãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗãŒäēŒé‡ã§čĄ¨į¤ēã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* fix: improve event locking mechanism

* fix: remove unused console log

* fix: unused import

* fix: そぎ場で書き換えることで再ãƒŦãƒŗãƒ€ãƒĒãƒŗã‚°ã‚’æœ€å°é™ãĢ抑えるīŧˆã‹ã‚‚īŧ‰

* refactor: reactive note data を composableå†…ã§į”Ÿæˆã™ã‚‹ã‚ˆã†ãĢ
2025-05-24 18:31:55 +09:00
github-actions[bot]
fe1b2b00f5 Bump version to 2025.5.1-beta.1 2025-05-24 05:32:52 +00:00
syuilo
4fcb80bcf2 enhance(backend): ãƒ•ã‚Ąã‚¤ãƒĢį¨ŽåˆĨが判厚できãĒã„å ´åˆã€æ‹Ąåŧĩå­ã‚’å‚į…§ã™ã‚‹ã‚ˆã†ãĢ 2025-05-24 14:28:49 +09:00
syuilo
836ed98c54 Update CHANGELOG.md 2025-05-24 14:06:54 +09:00
syuilo
64791a7160 fix(frontend): ãƒĻãƒŧã‚ļãĢ襨į¤ēã•ã‚Œã‚‹ãƒ•ã‚Ąã‚¤ãƒĢį¨ŽåˆĨã¨ã€åŽŸéš›ãŽãƒ•ã‚Ąã‚¤ãƒĢį¨ŽåˆĨãŒį•°ãĒã‚Šã€ãƒ•ã‚Ąã‚¤ãƒĢをã‚ĸップロãƒŧドすることãĢå¤ąæ•—ã™ã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16091
2025-05-24 13:59:26 +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
syuilo
bbbc68a772 enhance(frontend): tweak default preferences 2025-05-23 20:26:12 +09:00
syuilo
554623e5a8 🎨 2025-05-23 15:59:41 +09:00
syuilo
6c4b055921 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-05-23 14:02:57 +09:00
syuilo
227ca69704 🎨 2025-05-23 14:02:55 +09:00
github-actions[bot]
a1b5786939 Bump version to 2025.5.1-beta.0 2025-05-23 03:55:52 +00:00
syuilo
2a6bc2154c fix(frontend): エナãƒŧį”ģ像がæ¨Ē長ãĢãĒる
Fix #15982
2025-05-23 12:33:09 +09:00
syuilo
4ad8b59b49 enhance(frontend): ã‚ĸップロãƒŧド前ぎãƒĒネãƒŧムを可čƒŊãĢ 2025-05-23 12:28:30 +09:00
ã‹ãŖã“ã‹ã‚Š
b6ade8315a fix(frontend): 一厚時間操äŊœãŒãĒã‹ãŖãŸã‚‰å‹•į”ģプãƒŦイヤãƒŧãŽã‚ŗãƒŗãƒˆãƒ­ãƒŧãƒĢを隠すようãĢ (#16073)
* fix(frontend): 一厚時間操äŊœãŒãĒã‹ãŖãŸã‚‰å‹•į”ģプãƒŦイヤãƒŧãŽã‚ŗãƒŗãƒˆãƒ­ãƒŧãƒĢを隠すようãĢ

* Update Changelog
2025-05-23 11:55:48 +09:00
æžœį‰ŠãƒĒãƒŗ
2352d50e99 MkTooltipがį”ģéĸåˇĻįĢ¯ã‚’įĒãæŠœã‘ãĒいようãĢする (#15890) 2025-05-23 11:54:34 +09:00
syuilo
2bfbbbf16a enhance(frontend): improve tips 2025-05-23 10:46:42 +09:00
ã‹ãŖã“ã‹ã‚Š
9d36d36fc4 fix(backend): adminå´ãŽã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆã§äŊœæˆã—ãŸæ‹›åž…ã‚ŗãƒŧドãĢäŊœæˆč€…ãŽæƒ…å ąãŒč¨˜éŒ˛ã•ã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#16076)
* fix(backend): adminå´ãŽã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆã§äŊœæˆã—ãŸæ‹›åž…ã‚ŗãƒŧドãĢäŊœæˆč€…ãŽæƒ…å ąãŒč¨˜éŒ˛ã•ã‚ŒãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog
2025-05-23 09:49:21 +09:00
github-actions[bot]
479d7a58a4 Bump version to 2025.5.1-alpha.5 2025-05-22 14:21:07 +00:00
ã‹ãŖã“ã‹ã‚Š
2fb9a16a02 enhance(gh): do lint check on icons-subsetter in github actions 2025-05-22 23:04:30 +09:00
syuilo
20d56ccb89 New Crowdin updates (#16006)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Sinhala)

* New translations ja-jp.yml (Sinhala)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)
2025-05-22 23:01:53 +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
ã‹ãŖã“ã‹ã‚Š
aaee0a788d enhance(frontend): ã‚ˇãƒŗã‚ŋãƒƒã‚¯ã‚šãƒã‚¤ãƒŠã‚¤ãƒˆãŽã‚¨ãƒŗã‚¸ãƒŗã‚’JavaScriptベãƒŧ゚ぎもぎãĢ変更 (#16084)
* refactor(frontend): ã‚ˇãƒŗã‚ŋãƒƒã‚¯ã‚šãƒã‚¤ãƒŠã‚¤ãƒˆãŽã‚¨ãƒŗã‚¸ãƒŗã‚’JavaScriptベãƒŧ゚ぎもぎãĢ変更

* Update Changelog
2025-05-22 22:57:04 +09:00
ã‹ãŖã“ã‹ã‚Š
e6e8bfa591 feat(frontend): tabler-iconsぎã‚ĩブã‚ģット化 (#15340)
* feat(frontend): tabler-iconsぎäŊŋį”¨ã•ã‚ŒãĻいãĒいã‚ĸã‚¤ã‚ŗãƒŗã‚’å‰Šé™¤ã™ã‚‹ã‚ˆã†ãĢ

* fix

* fix

* fix

* fix

* fix

* Update Changelog

* enhance: tablerぎCSSをäŊŋį”¨ã•ã‚ŒãĻいるクナ゚ぎãŋãĢ限厚

* äŊŋį”¨ã™ã‚‹ã‚ĸã‚¤ã‚ŗãƒŗãƒ‘ãƒƒã‚ąãƒŧジをそろえる

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* spdx

* typo

* fix: ã‚ĩブã‚ģットから除外される書き斚をしãĻいる部分をäŋŽæ­Ŗ

* fix: 同じunicodeãĢč¤‡æ•°ãŽã‚ĸã‚¤ã‚ŗãƒŗclassãŒå‰˛ã‚ŠåŊ“ãĻられãĻいる場合ãĢ寞åŋœ

* remove debug code

* Update CHANGELOG.md

* fix merge error

* setup renovate

* fix: woff2ではãĒくwoffãĢ変換しãĻいたぎをäŋŽæ­Ŗ

* update deps

* update changelog
2025-05-22 22:56:38 +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
renovate[bot]
fb69efd97c chore(deps): update [misskey-js] update dependencies (#15907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 19:20:54 +09:00
renovate[bot]
d072dfaede fix(deps): update [frontend] update dependencies (#15910)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 19:16:10 +09:00
renovate[bot]
4e78c22979 chore(deps): update [tools] update dependencies (#15909)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 18:47:33 +09:00
renovate[bot]
f4630589cf fix(deps): update [root] update dependencies (#15908)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 18:47:21 +09:00
syuilo
23542530e1 feat(frontend): ãƒĸバイãƒĢデバイ゚で折りたたぞれたUIãŽåą•é–‹čĄ¨į¤ēãĢ全į”ģéĸペãƒŧジをäŊŋį”¨ã§ãã‚‹ã‚ˆã†ãĢ 2025-05-22 14:57:35 +09:00
syuilo
65c2adee36 clean up 2025-05-22 13:06:49 +09:00
syuilo
e4db9b64df refactor(frontend): better type defs 2025-05-22 13:05:28 +09:00
syuilo
74c857e23d refactor(frontend): src -> anchorElement 2025-05-22 12:24:52 +09:00
github-actions[bot]
aa55663ef7 Bump version to 2025.5.1-alpha.4 2025-05-22 03:06:08 +00: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
8ad6ffc2b3 fix(frontend): UIぎã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗã‚’ã‚ĒフãĢするとペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãŒčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ
Fix #16078
2025-05-22 09:35:42 +09:00
ã‹ãŖã“ã‹ã‚Š
8c8cea024a enhance(frontend): 通įŸĨč¨­åŽšãƒšãƒŧジãĢã‚ĩã‚Ļãƒŗãƒ‰č¨­åŽšãƒšãƒŧジへぎãƒĒãƒŗã‚¯ã‚’čŋŊ加 (#16072) 2025-05-21 21:13:45 +09:00
ã‹ãŖã“ã‹ã‚Š
ccf5bd337e enhance(frontend): ãƒ•ã‚Ąã‚¤ãƒĢぎã‚ĸップロãƒŧドを中æ­ĸできるようãĢ (#16069)
* enhance(frontend): ãƒ•ã‚Ąã‚¤ãƒĢぎã‚ĸップロãƒŧドを中æ­ĸできるようãĢ

* Update Changelog

* fix: ダイã‚ĸログを閉じたり、中断ボã‚ŋãƒŗãŒæŠŧされたりしたときはそぎ垌ぎã‚ĸップロãƒŧドをすずãĻ中æ­ĸするようãĢ

* fix
2025-05-21 21:13:19 +09:00
ã‹ãŖã“ã‹ã‚Š
e61b5abb05 fix(frontend): čĒ¤æ¤ã‚’äŋŽæ­Ŗ (#16075) 2025-05-21 14:20:51 +09:00
ã‹ãŖã“ã‹ã‚Š
2619f69238 enhance(frontend): テãƒŧマ切りæ›ŋえぎã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗã‚’View TransitionãĢ変更 (#15974)
* enhance(frontend): テãƒŧマ切りæ›ŋえぎã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗã‚’View TransitionãĢ変更

* fix lint

* fix: 切りæ›ŋえ時間を0.5sãĢ
2025-05-21 14:19:34 +09:00
ã‹ãŖã“ã‹ã‚Š
bd7633c70e enhance(frontend/aiscript): AiScriptからtoastをį™ēčĄŒã§ãã‚‹ã‚ˆã†ãĢ (#16071)
* enhance(frontend/aiscript): AiScriptからtoastをį™ēčĄŒã§ãã‚‹ã‚ˆã†ãĢ

* Update Changelog
2025-05-21 10:23:12 +09:00
ã‹ãŖã“ã‹ã‚Š
95093fc927 🎨 (#16070) 2025-05-21 10:16:30 +09:00
github-actions[bot]
ce4269a50c Bump version to 2025.5.1-alpha.3 2025-05-20 23:25:18 +00: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
ã‹ãŖã“ã‹ã‚Š
f74c38f313 enhance(frontend): URLプãƒŦビãƒĨãƒŧをãƒĻãƒŧã‚ļãƒŧã‚ĩã‚¤ãƒ‰ã§į„ĄåŠšåŒ–ã§ãã‚‹ã‚ˆã†ãĢ (#16064)
* enhance(frontend): URLプãƒŦビãƒĨãƒŧをãƒĻãƒŧã‚ļãƒŧã‚ĩã‚¤ãƒ‰ã§į„ĄåŠšåŒ–ã§ãã‚‹ã‚ˆã†ãĢ

* fix lint

* Update Changelog

* fix: č¨­åŽšé …į›Žã‚’ãƒ‡ãƒŧã‚ŋã‚ģãƒŧバãƒŧãĢį§ģ動
2025-05-20 13:42:30 +09:00
ã‹ãŖã“ã‹ã‚Š
7888f771c3 fix(frontend): ãƒĻãƒŧã‚ļãƒŧæĻ‚čĻãƒšãƒŧã‚¸ãŽãƒ•ã‚Ąã‚¤ãƒĢãŽé …į›ŽãŽãƒ‡ã‚ļã‚¤ãƒŗæ”šč‰¯ (#16063) 2025-05-19 15:03:52 +09:00
zyoshoka
3adcce4a31 chore(deps): fix Renovate package lookup failure
Follow-up to #16055
2025-05-16 18:49:13 +09:00
zyoshoka
5169b1adc0 chore(deps): fix Renovate config for Node.js (#16055) 2025-05-16 18:39:25 +09:00
syuilo
e72ce6085a fix(frontend): tweak use-pagination behaviour 2025-05-14 09:17:40 +09:00
syuilo
59fc18f2cd enhance(frontend): add performance tip 2025-05-14 08:26:30 +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
51b5d740f6 🎨
Fix #16018
2025-05-12 12:17:14 +09:00
github-actions[bot]
fe7b2298f6 Bump version to 2025.5.1-alpha.2 2025-05-12 01:02:03 +00:00
taichan
5bc52b6743 feat(frontend): įĩĩ文字をミãƒĨãƒŧト可čƒŊãĢする抟čƒŊ (#15966)
* wip ( įĩĩ文字ミãƒĨãƒŧトぎåŸēį¤ŽåŽŸčŖ…, PoC )

* refactor: įĩĩ文字ぎmute/unmuteå‡Ļį†ãŽå…ąé€šåŒ–

* SPDX

* ãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗã‹ã‚‰ã‚‚įĩĩ文字ミãƒĨãƒŧト可čƒŊãĢ

* emojiMute/emojiUnmute

* replace resource of emojiMute

* add vitest preferstate for mutedEmojis

* add vitest to preferReactive

* æˇˇå…Ĩ削除

* Fix typo (mutedEmojis -> mutingEmojis)

* reactiveやめる

* add時ぎ判厚ミ゚をäŋŽæ­Ŗ

* Add CHANGELOG

* Revert "reactiveやめる"

This reverts commit 442742c371.

* Update Changelog
2025-05-12 10:00:06 +09:00
syuilo
b18d6b4cef lint 2025-05-11 17:17:07 +09:00
syuilo
a78f654322 🎨 2025-05-11 16:28:04 +09:00
syuilo
3d60d18e80 tweak MkMediaImage.vue 2025-05-11 16:25:49 +09:00
ã‹ãŖã“ã‹ã‚Š
c793038a8b fix(frontend): ノãƒŧトčŗŧčĒ­ãŽæŒ™å‹•æ”šå–„ (#16023)
* fix(frontend): ノãƒŧトčŗŧčĒ­ãŽæŒ™å‹•æ”šå–„

* fix

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-05-11 15:53:02 +09:00
ã‹ãŖã“ã‹ã‚Š
3df421da1a refactor(frontend): MkMarquee ãŽã‚ŗãƒŧドぎ可čĒ­æ€§ãŽå‘ä¸Š (#16017)
* fix(frontend/MkMarquee): Composition API ãĢį§ģ行

* move animation to scoped environment

* refactor

---------

Co-authored-by: taiyme <53635909+taiyme@users.noreply.github.com>
2025-05-11 15:43:16 +09:00
syuilo
2ead6b8adc 🎨 2025-05-11 15:40:58 +09:00
syuilo
5465dccda9 Update CHANGELOG.md 2025-05-11 15:39:39 +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
8793176be1 Update about-misskey.vue 2025-05-11 14:26:03 +09:00
syuilo
3100caadda 🎨 2025-05-11 14:23:58 +09:00
syuilo
4d08c0a82b enhance(frontend): blurhashį„ĄåŠšåŒ–ã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã‚’čŋŊ加 2025-05-11 14:17:08 +09:00
syuilo
039aacb31f refactor(frontend): better type def of usePagination 2025-05-10 14:42:18 +09:00
github-actions[bot]
92aca4498b Bump version to 2025.5.1-alpha.1 2025-05-10 03:58:55 +00:00
ã‹ãŖã“ã‹ã‚Š
0133dbfe7e fix(frontend): ã‚ĩã‚Ļãƒŗãƒ‰ãŽãƒ•ã‚ŠãƒŧãƒĢバックが劚かãĒくãĒãŖãĻã„ãŸå•éĄŒã‚’äŋŽæ­Ŗ (#16012) 2025-05-10 12:34:59 +09:00
syuilo
0a0d42bb48 enhance: 招垅されãĻいるが参加しãĻいãĒいãƒĢãƒŧムを開いたときãĢ、招垅をæ‰ŋčĒã™ã‚‹ã‹ãŠã†ã‹å°‹ã­ã‚‹ã‚ˆã†ãĢ 2025-05-10 11:25:00 +09:00
ã‹ãŖã“ã‹ã‚Š
e1cd7c94fb refactor(frontend): use* é–ĸ数ぎæ ŧį´å ´æ‰€ãŽãƒ•ã‚ŠãƒĢダ名を composables ãĢ変更 (#16004)
* refactor(frontend): use* é–ĸ数ぎæ ŧį´å ´æ‰€ã‚’æ­Ŗåŧåį§°īŧˆcomposablesīŧ‰ãĢ変更

* migrate

* move useLoading
2025-05-10 07:58:26 +09:00
github-actions[bot]
c803f842ba Bump version to 2025.5.1-alpha.0 2025-05-09 12:18:54 +00:00
syuilo
b3f8ce60c6 New Crowdin updates (#16003)
* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean (Gyeongsang))
2025-05-09 21:16:40 +09:00
ã‹ãŖã“ã‹ã‚Š
04928ba7d1 enhance(frontend): Instance Tickerぎデã‚ļã‚¤ãƒŗæ”šå–„ (#15946)
* feat(tms): ã‚¤ãƒŗã‚šã‚ŋãƒŗã‚šæƒ…å ąãŽčĄ¨į¤ēäŊįŊŽ (taiyme#198)

* migrate

* fix(InstanceTicker): ãƒĒãƒĸãƒŧトã‚ĩãƒŧバãƒŧぎã‚ĸã‚¤ã‚ŗãƒŗãŒåˆæœŸį”ģ像ãĢãĒã‚‹å•éĄŒ (taiyme#211)

* refactor(InstanceTicker): å‚į…§ãŽæ§‹é€ ã‚’å¤‰æ›´

Co-Authored-By: taiy <53635909+taiyme@users.noreply.github.com>

* perf(TmsInstanceTicker): coloré–ĸ数ãĢ変更 (taiyme#283)

* 🎨

* Update Changelog

* remove unused property

* revert unrelated changes

* fix

* åŽŸčŖ…ã‚’į°Ąį•Ĩ化

* 🎨

* Update CHANGELOG.md

* č‰˛ãŽč¨ˆįŽ—ã‚’ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆå†…ãĢį§ģ動

---------

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2025-05-09 21:16:21 +09:00
syuilo
1b3a8cd97d fix(frontend): "æ™‚č¨ˆ"ã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆ(Clock)ãĢおいãĻ、Transparentč¨­åŽšãŒæœ‰åŠšã§ã‚‚ã€ããŽčƒŒæ™¯ãŒé€éŽã•ã‚ŒãĒい
Fix #15994
2025-05-09 20:41:50 +09:00
syuilo
bbe26607eb enhance: ãƒĒプナイ元ãĢã‚ĸãƒŗã‚ąãƒŧãƒˆãŒã‚ã‚‹ã“ã¨ãŒčĄ¨į¤ēされるようãĢ
Resolve #15998
2025-05-09 20:36:14 +09:00
syuilo
6a2dc2d2d2 follow up of 8c2ab25e5f 2025-05-09 20:27:11 +09:00
syuilo
1febae7128 fix(backend): ãƒãƒŖãƒƒãƒˆãƒĢãƒŧムが削除された場合ãƒģãƒãƒŖãƒƒãƒˆãƒĢãƒŧムから抜けた場合ãĢ、æœĒčĒ­įŠļ態が掋りįļšã‘ることがあるぎをäŋŽæ­Ŗ 2025-05-09 20:12:33 +09:00
syuilo
2c63ab6fe3 New Crowdin updates (#15969)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)
2025-05-09 19:42:04 +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
syuilo
5603cb7e22 refactor 2025-05-07 16:10:43 +09:00
syuilo
86996d9563 🎨 2025-05-07 13:41:51 +09:00
github-actions[bot]
978289535b [skip ci] Update CHANGELOG.md (prepend template) 2025-05-07 02:46:44 +00:00
github-actions[bot]
aa938164f2 Release: 2025.5.0 2025-05-07 02:46:39 +00:00
syuilo
5c38589d03 Update CHANGELOG.md 2025-05-07 11:21:24 +09:00
syuilo
351d91b1c3 enhance(frontend): add debug room 2025-05-07 10:45:01 +09:00
syuilo
181f68e14e 🎨 2025-05-07 10:44:43 +09:00
syuilo
cdd131d542 🎨 2025-05-07 08:55:42 +09:00
syuilo
921b13c26f 🎨 2025-05-06 21:49:10 +09:00
syuilo
5d787e5bb9 enhance(frontend): バックã‚ĸãƒƒãƒ—ã•ã‚ŒãŸč¨­åŽšãŽãƒ—ãƒ­ãƒ•ã‚Ąã‚¤ãƒĢを削除できるようãĢ 2025-05-06 20:57:55 +09:00
syuilo
95a1d17cf6 🎨 2025-05-06 20:41:51 +09:00
github-actions[bot]
14955fa01f Bump version to 2025.5.0-rc.0 2025-05-06 11:28:09 +00:00
syuilo
0f922cda54 New Crowdin updates (#15949)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Russian)
2025-05-06 20:15:42 +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
09317150e1 add icon project file 2025-05-06 16:53:06 +09:00
syuilo
925dd76f00 🎨 2025-05-06 16:51:01 +09:00
syuilo
1d79fc9092 🎨 2025-05-06 16:16:22 +09:00
syuilo
8959bfa1c0 refactor(frontend): įŠē/エナãƒŧįĩæžœčĄ¨į¤ēã‚’ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆåŒ– (#15963)
* wip

* wip

* wip

* wip

* wip

* Update MkResult.vue

* Add storybook story for MkResult (#15964)

* Update MkResult.vue

---------

Co-authored-by: taichan <40626578+tai-cha@users.noreply.github.com>
2025-05-06 14:41:31 +09:00
Kisaragi
d476f7ff50 chore(deps): sharpをå›ē厚 (#15957)
cf. misskey-dev#15920
2025-05-05 20:00:42 +09:00
github-actions[bot]
f251ca8303 Bump version to 2025.5.0-beta.0 2025-05-05 09:31:57 +00:00
syuilo
f6158abb68 use sharp 0.33.5
Fix #15920
2025-05-05 18:23:25 +09:00
syuilo
fc2e128fad tweak ui style 2025-05-05 18:20:55 +09:00
github-actions[bot]
45d6c090f2 Bump version to 2025.5.0-alpha.2 2025-05-05 05:41:19 +00:00
ã‹ãŖã“ã‹ã‚Š
57a1ac3dd0 fix(frontend): æ¨Ē゚ワイプぎ挙動攚善 (#15952) 2025-05-05 14:28:54 +09:00
syuilo
6bbda4d67c fix(frontend): make enableHorizontalSwipe default false 2025-05-05 07:28:15 +09:00
zyoshoka
32d2206832 fix(frontend): handle error in user popup (#15948) 2025-05-05 06:04:20 +09:00
Sayamame-beans
d522d1bf26 docs(changelog): add information for #15924 (#15947) 2025-05-04 20:59:24 +09:00
github-actions[bot]
080276e3e7 Bump version to 2025.5.0-alpha.1 2025-05-04 10:07:59 +00:00
syuilo
619bb2214e New Crowdin updates (#15935)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)
2025-05-04 19:00:56 +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
syuilo
14d6734cb1 Fix MkPullToRefresh behaviour (#15944)
* Update MkPullToRefresh.vue

* Update MkPullToRefresh.vue

* Update MkPullToRefresh.vue
2025-05-04 18:51:30 +09:00
syuilo
3bdb1dd558 🎨 2025-05-04 17:32:09 +09:00
ã‹ãŖã“ã‹ã‚Š
e75d749784 fix(frontend): ダイã‚ĸログぎおįŸĨらせがį”ģéĸからはãŋå‡ēã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#15878)
* fix(frontend): ダイã‚ĸログぎおįŸĨらせがį”ģéĸからはãŋå‡ēã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

* 🎨

* 🎨

* enhance: ゚クロãƒŧãƒĢしãĒいと閉じられãĒいようãĢ

* Update CHANGELOG.md
2025-05-04 15:50:05 +09:00
renovate[bot]
42a2ed8b67 fix(deps): update dependency vite to v6.3.4 [security] (#15918)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-04 14:54:35 +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
ã‹ãŖã“ã‹ã‚Š
0884605b62 fix(frontend): MkFolderぎã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗãĢフりãƒŧãƒĢバックをčŋŊ加 (#15937)
* fix(frontend): ChromeįŗģäģĨ外ぎブナã‚Ļã‚ļでMkFolderがã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* fix

* Update Changelog

* fix
2025-05-04 14:06:43 +09:00
ã‹ãŖã“ã‹ã‚Š
8dbd8ff4cf enhance(frontend): ã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗpush時ぎã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗã‚’čĒŋ整 (#15936)
* fix(frontend): ã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗpush時ぎã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗã‚’åžŠå…ƒ

* 🎨

* enhance: æļˆãˆã‚‹éš›ãŽã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗã‚‚čŋŊ加

* better support for non-supported browsers

* fix: Skip Note Rendering有劚時、TransitionGroupでnoteをčŋŊ加するときãĢ一įžŦãŒããŖã¨ãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* 🎨

* fix
2025-05-04 13:52:01 +09:00
syuilo
5aeedf59ff enhance(frontend): 中クãƒĒックでPullToRefreshするようãĢ
Close #15931
2025-05-04 11:04:51 +09:00
github-actions[bot]
3eaa05a5d9 Bump version to 2025.5.0-alpha.0 2025-05-04 00:41:28 +00:00
syuilo
b0b6962661 New Crowdin updates (#15922)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)
2025-05-04 09:40:06 +09:00
ãŠã•ã‚€ãŽã˛ã¨
8c0c503c6c refactor: ãƒ•ã‚Ąã‚¤ãƒĢã‚ĸップロãƒŧド時ぎテ゚トをčŋŊ加 (#15928)
* refactor: ãƒ•ã‚Ąã‚¤ãƒĢã‚ĸップロãƒŧド時ぎテ゚トをčŋŊ加

* ãĒぜかsemverがæļˆãˆãĻた
2025-05-04 09:38:35 +09:00
syuilo
590cb5f4dd perf(frontend): improve MkInstanceTicker rendering performance 2025-05-04 06:43:53 +09:00
syuilo
90e69f4d10 add note 2025-05-03 21:51:58 +09:00
syuilo
e76e2534d7 perf(frontend): improve MkPullToRefresh render performance 2025-05-03 21:40:18 +09:00
syuilo
27682b980c tweak MkPullToRefresh.vue 2025-05-03 21:14:59 +09:00
syuilo
ef79cc290f perf(frontend): tweak PageWithHeader 2025-05-03 20:15:18 +09:00
syuilo
e7c170cf0c tweak MkPullToRefresh 2025-05-03 18:35:43 +09:00
syuilo
f0544ede87 tweak MkPullToRefresh 2025-05-03 16:51:23 +09:00
syuilo
00008d3763 Update CHANGELOG.md 2025-05-03 16:25:09 +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
syuilo
d25af911cf fix(frontend): tweak universal ui rendering 2025-05-03 11:19:55 +09:00
syuilo
df1a3742dd feat(frontend): マã‚Ļ゚でもã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗã‚’åŧ•ãŖåŧĩãŖãĻ更新できるようãĢ & MkPullToRefreshぎパフりãƒŧãƒžãƒŗã‚šå‘ä¸Š 2025-05-03 10:26:40 +09:00
syuilo
c5235a7b2f perf(frontend): improve timeline page performance 2025-05-02 20:25:51 +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
github-actions[bot]
70232d3d73 [skip ci] Update CHANGELOG.md (prepend template) 2025-04-30 09:01:49 +00:00
github-actions[bot]
979cfc1bcd Release: 2025.4.1 2025-04-30 09:01:43 +00:00
github-actions[bot]
2bd4faafbc Bump version to 2025.4.1-rc.0 2025-04-30 00:15:24 +00:00
zyoshoka
81739b1f82 chore: follow up on fixing Chromatic CI diff strategy (#15912) 2025-04-29 21:22:01 +09:00
Julia
583df3ec63 Merge commit from fork
none of our endpoints will ever contain `..` (they might, maybe, at
some point, contain `.`, as in `something/get.html`?), so every
`Mk:api()` call to an endpoint that contains `..` can't work: let's
reject it outright

Co-authored-by: dakkar <dakkar@thenautilus.net>
2025-04-29 18:06:39 +09:00
github-actions[bot]
2cd3fbf1a3 Bump version to 2025.4.1-beta.9 2025-04-29 08:58:11 +00:00
ã‹ãŖã“ã‹ã‚Š
f8b0863b8e fix(frontend): fix lint (#15906)
* fix(frontend): attempt to fix lint

* fix lint
2025-04-29 15:54:57 +09:00
zyoshoka
41f09fa272 Update CHANGELOG.md 2025-04-29 13:17:01 +09:00
syuilo
813b57bbab fix style 2025-04-29 11:20:43 +09:00
syuilo
d6ae4c980b feat(frontend): ã‚ŋイトãƒĢバãƒŧã‚’čĄ¨į¤ēできるようãĢ 2025-04-29 09:43:15 +09:00
github-actions[bot]
2e91cd6d45 Bump version to 2025.4.1-beta.8 2025-04-28 23:26:26 +00:00
syuilo
4408d070df Update CHANGELOG.md 2025-04-29 08:20:48 +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
syuilo
7407d51df8 New Crowdin updates (#15897)
* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Chinese Simplified)
2025-04-29 08:15:29 +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
syuilo
e5fcb5b53f enhance(frontend): disable router view transition
Fix #15723
2025-04-28 21:25:47 +09:00
zyoshoka
aaa31c9d64 fix(backend): correct response schema of chat endpoints (#15904) 2025-04-28 18:58:08 +09:00
zyoshoka
c3b9a5346f chore(ci): change the Test step to terminate with error in the federation test (#15903)
* chore(ci): change the Test step to terminate with error in the federation test

* chore(ci): always stop servers in the federation test
2025-04-28 18:31:13 +09:00
github-actions[bot]
01230f6990 Bump version to 2025.4.1-beta.7 2025-04-28 04:08:47 +00:00
renovate[bot]
b09bf25e14 chore(deps): update actions/setup-node action to v4.4.0 (#15901)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 13:03:36 +09:00
zyoshoka
7041a3de2a chore: fix Chromatic CI diff strategy (#15902) 2025-04-28 12:57:47 +09:00
syuilo
cf07e1e4b9 perf(frontend): improve timeline performance 2025-04-28 12:53:58 +09:00
renovate[bot]
e8eb4e1965 fix(deps): update [frontend] update dependencies (#15809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 11:41:23 +09:00
ã‹ãŖã“ã‹ã‚Š
b5268fa240 fix(test): fix federation test (#15900) 2025-04-28 11:24:26 +09:00
renovate[bot]
359af232fc fix(deps): update [root] update dependencies (#15691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 11:24:18 +09:00
github-actions[bot]
5d71a5bc23 Bump version to 2025.4.1-beta.6 2025-04-28 01:17:27 +00:00
ã‹ãŖã“ã‹ã‚Š
6acb743e5e deps: update pnpm to v10.10.0 (#15899)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-28 10:12:04 +09:00
syuilo
4054f1a0c4 🎨 2025-04-28 10:07:23 +09:00
syuilo
76bd33f4c8 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-28 09:46:43 +09:00
syuilo
c99f4dc4ce enhance(frontend): add drive tip 2025-04-28 09:46:41 +09:00
renovate[bot]
0c06e5bef5 chore(deps): update [misskey-js] update dependencies (#15791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 09:35:37 +09:00
renovate[bot]
d9ff6011e3 chore(deps): update [tools] update dependencies (#15810)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 09:31:34 +09:00
renovate[bot]
b94ff3590b fix(deps): update [backend] update dependencies (#15811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 09:29:52 +09:00
syuilo
7c23e53034 refactor 2025-04-28 09:28:23 +09:00
syuilo
e0fd1c8f48 tweak custom-emojis-manager 2025-04-28 08:49:37 +09:00
syuilo
8718d1c271 Update CHANGELOG.md 2025-04-28 07:21:52 +09:00
anatawa12
ec92bf47f1 Exclude blocked instance note from most timelines (#15792)
* Exclude blocked instance note from most timelines

* Exclude blocked instance note from FTT timelines

* Exclude blocked instance note from featured

* fix type
2025-04-28 07:21:00 +09:00
syuilo
7581331713 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-27 21:29:36 +09:00
syuilo
2fbb2e9a9f Update CHANGELOG.md 2025-04-27 21:29:15 +09:00
github-actions[bot]
7bc536c948 Bump version to 2025.4.1-beta.5 2025-04-27 12:27:19 +00:00
syuilo
3f08e41818 🎨 2025-04-27 21:14:59 +09:00
syuilo
04b7dd0948 fix(frontend): tweak spacer style 2025-04-27 20:51:57 +09:00
syuilo
ddb41ba821 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-27 20:42:43 +09:00
syuilo
ee49c42410 fix lint 2025-04-27 20:42:41 +09:00
github-actions[bot]
8670ddaffd Bump version to 2025.4.1-beta.4 2025-04-27 11:08:50 +00:00
syuilo
d9bff2cd15 New Crowdin updates (#15849)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Vietnamese)
2025-04-27 20:04:42 +09:00
syuilo
cb2948bf94 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-27 20:04:15 +09:00
syuilo
83893ce52f fix syntax errors 2025-04-27 20:04:13 +09:00
github-actions[bot]
0083386882 Bump version to 2025.4.1-beta.3 2025-04-27 10:58:53 +00:00
syuilo
03e5502d63 add todo 2025-04-27 19:57:19 +09:00
syuilo
0a1ff77f23 perf(frontend): use css-native implementation for spacer rather than vue component 2025-04-27 19:55:56 +09:00
syuilo
c4f13a0472 Update CHANGELOG.md 2025-04-27 17:50:08 +09:00
github-actions[bot]
5e294f4c65 Bump version to 2025.4.1-beta.2 2025-04-27 08:44:59 +00:00
syuilo
0f9dff0521 enhance(frontend): improve usability 2025-04-27 17:43:30 +09:00
syuilo
14d3439a42 enhance(frontend): ã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗã‚’ã‚šãƒ¯ã‚¤ãƒ—ã§åˆ‡ã‚Šæ›ŋえられるようãĢ
Resolve #15722
2025-04-27 17:38:48 +09:00
syuilo
889295d621 fix(frontend): ゚ワイプが劚かãĒいãĒãŠã€ä¸å…ˇåˆãŽå…ƒãĢãĒるmarginをgapãĢįŊŽãæ›ãˆ 2025-04-27 17:29:17 +09:00
syuilo
5b5756d4eb Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-27 17:16:54 +09:00
syuilo
e24a2362fd refactor(frontend): PageWithHeaderãĢMkSwiperを持たせるようãĢ 2025-04-27 17:16:51 +09:00
github-actions[bot]
2e03c0f425 Bump version to 2025.4.1-beta.1 2025-04-27 05:59:23 +00:00
syuilo
66187174d4 🎨 2025-04-27 13:41:41 +09:00
syuilo
73b86d9276 enhance(frontend): improve new emojis manager 2025-04-27 13:31:07 +09:00
zyoshoka
d91a4e3dec fix(ci): change Chromatic build to be triggered when frontend package.json is edited instead of lockfile (#15793)
* fix(ci): correct invalid condition for skipping Chromatic build

* fix: change to be triggered when frontend `package.json` is edited instead of lockfile

* chore: disable automatic rebase of frontend Renovate PRs
2025-04-27 10:49:23 +09:00
ã‹ãŖã“ã‹ã‚Š
6a69e4180b fix(frontend): PageWithHeaderからPageHeaderãĢ全Propsがäŧã‚ãŖãĻいãĒã‹ãŖãŸå•éĄŒã‚’äŋŽæ­Ŗ (#15858) 2025-04-27 10:46:55 +09:00
syuilo
3b3bb36c49 enhance(frontend): 通įŸĨペãƒŧジを゚ワイプで切りæ›ŋえられるようãĢ 2025-04-27 10:14:41 +09:00
syuilo
69cfd34545 Update CHANGELOG.md 2025-04-27 10:01:44 +09:00
syuilo
9481b5a6e8 feat: ã‚ĸップロãƒŧド可čƒŊãĒæœ€å¤§ãƒ•ã‚Ąã‚¤ãƒĢã‚ĩイã‚ēをロãƒŧãƒĢごとãĢč¨­åŽšå¯čƒŊãĢ 2025-04-27 09:35:44 +09:00
github-actions[bot]
effc84b9cc Bump version to 2025.4.1-beta.0 2025-04-27 00:22:13 +00:00
ãĒãŖã‹ã‚
de073d6d69 Fix #15876 įĩĩ文字がã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗã—ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#15881) 2025-04-27 09:16:41 +09:00
syuilo
5042a0aa8f fix(frontend): ã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗã§ãƒŽãƒŧãƒˆãŒé‡č¤‡ã—ãĻ襨į¤ēされることがあるぎをäŋŽæ­Ŗ
Fix #15870
Close #15874
2025-04-27 09:16:17 +09:00
éĨē子w (Yumechi)
7a41cfe28b enhance(backend): DB note (userId) ã‚¤ãƒŗãƒ‡ã‚¯ã‚š -> (userId, id) č¤‡åˆã‚¤ãƒŗãƒ‡ã‚¯ã‚šãĢする (#15879)
* enhance(backend): use composite index for ordering notes by user

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* fixup! enhance(backend): use composite index for ordering notes by user

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-04-23 14:29:42 +09:00
renovate[bot]
0a604285a0 fix(deps): update dependency fastify to v5.3.2 [security] (#15866)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-19 21:07:10 +09:00
syuilo
c99723b59e fix html 2025-04-19 21:01:51 +09:00
syuilo
96bb36f77e 🎨 2025-04-19 14:42:54 +09:00
syuilo
388ef3de08 🎨 2025-04-19 14:42:09 +09:00
syuilo
ff85eff209 🎨 2025-04-19 14:32:19 +09:00
github-actions[bot]
a0b9f456e7 Bump version to 2025.4.1-alpha.2 2025-04-19 05:10:26 +00:00
syuilo
7b38806413 feat: Job queue inspector (#15856)
* wip

* wip

* Update job-queue.vue

* wip

* wip

* Update job-queue.vue

* wip

* Update job-queue.vue

* wip

* Update QueueService.ts

* Update QueueService.ts

* Update QueueService.ts

* Update job-queue.vue

* wip

* wip

* wip

* Update job-queue.vue

* wip

* Update MkTl.vue

* wip

* Update index.vue

* wip

* wip

* Update MkTl.vue

* 🎨

* jobs search

* wip

* Update job-queue.vue

* wip

* wip

* Update job-queue.vue

* Update job-queue.vue

* Update job-queue.vue

* Update job-queue.vue

* wip

* Update job-queue.job.vue

* wip

* wip

* wip

* Update MkCode.vue

* wip

* Update job-queue.job.vue

* wip

* Update job-queue.job.vue

* Update misskey-js.api.md

* Update CHANGELOG.md

* Update job-queue.job.vue
2025-04-19 14:00:38 +09:00
zyoshoka
978ab2f848 fix(storybook): implement missing stories (#15862) 2025-04-18 18:56:46 +09:00
syuilo
74d9cc4e38 🎨 2025-04-18 17:11:35 +09:00
syuilo
7a29aed17c enhance(frontend): improve usability 2025-04-17 20:25:59 +09:00
syuilo
fd61ac5221 refactor(frontend): refactor styles 2025-04-17 20:23:27 +09:00
ã‹ãŖã“ã‹ã‚Š
96de18b096 fix(deps): update vite to v6.3.1 (#15857) 2025-04-17 02:57:53 +00:00
syuilo
eda2f587a3 enhance: ã‚ŗãƒŗãƒˆãƒ­ãƒŧãƒĢパネãƒĢでジョブキãƒĨãƒŧをクãƒĒã‚ĸできるようãĢ 2025-04-16 16:47:03 +09:00
github-actions[bot]
f2aeafaddb Bump version to 2025.4.1-alpha.1 2025-04-16 02:27:40 +00:00
anatawa12
5a9f54a07a Complete unicode emoji after last colon (#13384)
* chore: add types on MkAutocomplete

* feat: complete `:emoji:` to unicode emoji

* chore: do not use fuzzy match for emojiComplete

* docs(changelog): Unicodeįĩĩ文字をslugからå…Ĩ力する際ãĢ`🆗`ぎようãĢ最垌ぎ`:`をå…Ĩ力したあとãĢUnicodeįĩĩ文字ãĢ変換できるようãĢ

* docs(changelog): update changelog insertion position

* chore: improve indent

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-16 11:25:21 +09:00
anatawa12
0257d54add fix: ノãƒŧãƒˆãŽį›´åžŒãŽãƒŽãƒŧãƒˆã‚’čĄ¨į¤ēする抟čƒŊã§čĄ¨į¤ēが逆順ãĢãĒãŖãĻã„ãŸå•éĄŒã‚’äŋŽæ­Ŗ (#15841)
* fix: į‰šåŽšãŽãƒŽãƒŧãƒˆį›´å‰ãŽãƒŽãƒŧãƒˆã‚’čĄ¨į¤ēする抟čƒŊã§čĄ¨į¤ēが逆順ãĢãĒãŖãĻã„ãŸå•éĄŒã‚’äŋŽæ­Ŗ

* docs(changelog): ノãƒŧãƒˆãŽį›´åžŒãŽãƒŽãƒŧãƒˆã‚’čĄ¨į¤ēする抟čƒŊã§čĄ¨į¤ēが逆順ãĢãĒãŖãĻã„ãŸå•éĄŒã‚’äŋŽæ­Ŗ

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-16 11:16:14 +09:00
syuilo
d18bb1dda0 add todo 2025-04-16 11:06:37 +09:00
syuilo
81c24ddcc5 Update CHANGELOG.md 2025-04-16 11:00:38 +09:00
syuilo
17e7340933 enhance(frontend): テãƒŧマでペãƒŧジヘッダãƒŧãŽč‰˛ã‚’å¤‰æ›´ã§ãã‚‹ã‚ˆã†ãĢ 2025-04-16 10:59:05 +09:00
syuilo
29f475b17a 🎨 2025-04-16 10:42:25 +09:00
syuilo
6d90e09a58 enhance(frontend): ã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗäģĨ外でも゚クロãƒŧãƒĢäŊįŊŽãŽäŋæŒã‚’čŠĻãŋるようãĢ 2025-04-16 10:35:05 +09:00
syuilo
35d4b43c95 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-16 10:15:20 +09:00
syuilo
ef477ce1b5 🎨 2025-04-16 10:15:18 +09:00
anatawa12
4bd23c4c8c feat: migrate antenna on account move (#15843)
* feat: migrate antenna on account move

* docs(changelog): ã‚ĸã‚Ģã‚ĻãƒŗãƒˆãŽį§ģčĄŒæ™‚ãĢã‚ĸãƒŗãƒ†ãƒŠãŽãƒ•ã‚ŖãƒĢã‚ŋãƒŧぎãƒĻãƒŧã‚ļが更新されãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* refactor: move to AntennaService
2025-04-16 09:49:27 +09:00
syuilo
46a5aa9ede Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-16 09:25:17 +09:00
syuilo
75267f87d5 refactor(frontend): ã‚ĸã‚Ģã‚Ļãƒŗãƒˆæƒ…å ąã¯storeįŽĄį†ãĢ 2025-04-16 09:25:13 +09:00
anatawa12
c5f1ce60fa fix(sw): type error in sw (#15844) 2025-04-16 07:51:41 +09:00
anatawa12
86774ad753 fix: improve flaky federation test (#15845) 2025-04-16 07:51:21 +09:00
syuilo
de19d9a4d4 refactor(frontend): MkHorizontalSwipe -> MkSwiper 2025-04-15 20:48:25 +09:00
syuilo
165830d6c8 ã‚ŗãƒŸãƒƒãƒˆåŋ˜ã‚Œ 2025-04-15 20:34:00 +09:00
syuilo
ee29f31324 fix(frontend): make keep scroll pos of timeline 2025-04-15 20:33:04 +09:00
github-actions[bot]
f5a89c2533 Bump version to 2025.4.1-alpha.0 2025-04-15 09:32:12 +00:00
syuilo
45d65ffbba New Crowdin updates (#15786)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)
2025-04-15 18:29:22 +09:00
syuilo
fc6037af46 enhance(backend): push notification for chat message
Resolve #15831
2025-04-15 18:27:45 +09:00
Kisaragi
fff2783c1b docs: バックã‚ĸップとログã‚ĸã‚ĻãƒˆãŽč¨­åŽšã‚¯ãƒĒã‚ĸãĢついãĻ書き斚を変える (#15808)
1. 「新しいクナイã‚ĸãƒŗãƒˆã‹ã‚‰ãƒ­ã‚°ã‚¤ãƒŗã—ãŸã¨ãã€ãŒã™ã§ãĢãƒ­ã‚°ã‚¤ãƒŗã—ãŸã“ã¨ãŽã‚ã‚‹ã‚¯ãƒŠã‚¤ã‚ĸãƒŗãƒˆã ã¨ãƒãƒƒã‚¯ã‚ĸップがåŋ…čρãĒいとčĒ­ã‚ã‚‹ãŽã§ã€Œæ–°ã—ã„ã€ã‚’å¤–ã™
2. ログã‚ĸã‚ĻトしãĻã‹ã‚‰č¨­åŽšãƒ‡ãƒŧã‚ŋをブナã‚Ļã‚ļから削除したあとで垊元できるぎはバックã‚ĸãƒƒãƒ—ã‚’ã¨ãŖãĻいるときぎãŋであることをåŧˇčĒŋ

cc 1312fe34c1
2025-04-15 16:15:56 +09:00
anatawa12
b2e3e65896 fix: use ftt for outbox (#15819)
* fix: use ftt for outbox

* chore: check for enableFanoutTimeline

* lint: fix lint
2025-04-15 16:15:27 +09:00
anatawa12
f454e820bd feat: render quote note with quote-inline class for ap compatibility (#15818) 2025-04-15 16:14:52 +09:00
anatawa12
d5fe6e36ae fix: avatarId が null ぎときãĢも avatarUrl が non null æ‹…ãŖãĻã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒ (#15833) 2025-04-15 16:10:17 +09:00
anatawa12
6bd45a27b1 fix: フりãƒĢダを開いたįŠļæ…‹ã§ãƒĄãƒ‹ãƒĨãƒŧからã‚ĸップロãƒŧドしãĻもãƒĢãƒŧトフりãƒĢダãĢã‚ĸップロãƒŧãƒ‰ã•ã‚Œã‚‹å•éĄŒ (#15836)
* fix: フりãƒĢダを開いたįŠļæ…‹ã§ãƒĄãƒ‹ãƒĨãƒŧからã‚ĸップロãƒŧドしãĻもãƒĢãƒŧトフりãƒĢダãĢã‚ĸップロãƒŧãƒ‰ã•ã‚Œã‚‹å•éĄŒ

* docs(changelog): Fix: フりãƒĢダを開いたįŠļæ…‹ã§ãƒĄãƒ‹ãƒĨãƒŧからã‚ĸップロãƒŧドしãĻもãƒĢãƒŧトフりãƒĢダãĢã‚ĸップロãƒŧãƒ‰ã•ã‚Œã‚‹å•éĄŒã‚’äŋŽæ­Ŗ #15836
2025-04-15 16:09:04 +09:00
syuilo
525b6a7677 feat(frontend): chat widget 2025-04-15 15:37:29 +09:00
syuilo
7c0806f208 feat(frontend): chat column
Resolve #15830
2025-04-15 15:36:53 +09:00
ãŠã•ã‚€ãŽã˛ã¨
0d4feed6d3 enhance(backend): フりロãƒŧしãĻいるãƒĻãƒŧã‚ļãƒŧãĒらフりロワãƒŧ限厚投į¨ŋぎノãƒŧトでもã‚ĸãƒŗãƒ†ãƒŠã§æ¤œįŸĨできるようãĢ (#15264)
* フりロãƒŧしãĻいるãƒĻãƒŧã‚ļãƒŧãĒらéĩノãƒŧトでもã‚ĸãƒŗãƒ†ãƒŠãĢã˛ãŖã‹ã‹ã‚‹ã‚ˆã†ãĢ

Co-authored-by: kozakura913 <98575220+kozakura913@users.noreply.github.com>
Co-authored-by: mai <74494945+chan-mai@users.noreply.github.com>

* Eliminate build errors by resolving conflicts

* äŊŽã‚ŗã‚šãƒˆãĒ判厚文を前ãĢã‚‚ãŖãĻきãĻ重い判厚文ãĢå…Ĩる可čƒŊ性を少しでも下げる

* fix CHANGELOG.md

* fix CHANGELOG.md

* fix diff

* removed comment

* fix CHANGELOG.md

---------

Co-authored-by: kozakura913 <98575220+kozakura913@users.noreply.github.com>
Co-authored-by: mai <74494945+chan-mai@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-13 20:48:18 +09:00
ãŠã•ã‚€ãŽã˛ã¨
1f0621b085 ãƒŦプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗč¨­åŽšæ™‚ãĢおけるinsertOne()ぎ挙動をčĒŋ整 (#15109)
* returningをåĢむクエãƒĒをmasterで動かす

* wip

* wip

* fix CHANGELOG.md

* čĒŋ整

* fix

* fix import
2025-04-13 20:44:44 +09:00
anatawa12
4c473eb76d fix: resolve with non-lowercased acct is broken (#15813)
* fix: resolve with non-lowercased acct is broken

* docs(changelog): Fix: 大文字をåĢむãƒĻãƒŧã‚ļぎ URL ã§į´šäģ‹ã•れた場合ãĢ 404 エナãƒŧをčŋ”ã™å•éĄŒ
2025-04-13 18:34:33 +09:00
ã‹ãŖã“ã‹ã‚Š
f7195d54d0 fix(frontend): č‡Ē動バックã‚ĸãƒƒãƒ—ãŒč¨­åŽšã•ã‚ŒãĻいãĒã„į’°åĸƒã§ã¯č¨­åŽšãŒæļˆæģ…する旨ぎč­Ļ告をå‡ēすようãĢ (#15802)
* fix(frontend): č‡Ē動バックã‚ĸãƒƒãƒ—ãŒč¨­åŽšã•ã‚ŒãĻいãĒã„į’°åĸƒã§ã¯ãƒ­ãƒŧã‚ĢãƒĢãŽč¨­åŽšã‚’å‰Šé™¤ã—ãĒいようãĢ

* Update Changelog

* fix lint

* fix: č­Ļ告をå‡ēすだけぎãŋãĢする

* fix

* apply suggestion
2025-04-13 16:59:01 +09:00
ã‹ãŖã“ã‹ã‚Š
8edf1bc208 fix(backend): ã‚ĩãƒŧバãƒŧåãŽå¤‰æ›´ã‚’ã‚ˇã‚šãƒ†ãƒ ã‚ĸã‚Ģã‚ĻãƒŗãƒˆãŽåå‰ãĢ反映するようãĢ (#15806)
* fix(backend): ã‚ĩãƒŧバãƒŧåãŽå¤‰æ›´ã‚’ã‚ˇã‚šãƒ†ãƒ ã‚ĸã‚Ģã‚ĻãƒŗãƒˆãŽåå‰ãĢ反映するようãĢ

* Update Changelog
2025-04-13 16:21:18 +09:00
ã‹ãŖã“ã‹ã‚Š
dd5dd6184a fix(frontend): keyval-storeぎ値が削除できずãĢå‡Ļį†ãŒæ­ĸãžã‚‹å•éĄŒã‚’äŋŽæ­Ŗ (#15803)
* fix(frontend): keyval-storeぎ値が削除できずãĢå‡Ļį†ãŒæ­ĸãžã‚‹å•éĄŒã‚’äŋŽæ­Ŗ

* Update Changelog

* implement abortcontroller

* fix lint
2025-04-13 15:48:43 +09:00
renovate[bot]
81bf139e3e fix(deps): update dependency @nestjs/common to v11.0.16 [security] (#15800)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-12 16:04:20 +09:00
renovate[bot]
a0e9895764 fix(deps): update [backend] update dependencies (#15690)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 19:50:25 +09:00
ã‹ãŖã“ã‹ã‚Š
413324a278 refactor(frontend): frontendぎ検į´ĸã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šäŊœæˆãŽã‚šã‚ŋãƒŗãƒ‰ã‚ĸãƒ­ãƒŗã‚ŗãƒžãƒŗãƒ‰åŽŸčŖ…ã‚’åŽŒå…¨ãĢ削除 (#15790)
This reverts commit e594fb0037.
2025-04-10 18:48:40 +09:00
renovate[bot]
e2b68aabae fix(deps): update [frontend] update dependencies (#15736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 18:26:01 +09:00
github-actions[bot]
0aaeb6d136 [skip ci] Update CHANGELOG.md (prepend template) 2025-04-09 02:17:33 +00:00
github-actions[bot]
fb277501a0 Release: 2025.4.0 2025-04-09 02:17:29 +00:00
syuilo
718138509f Update CHANGELOG.md 2025-04-09 10:56:57 +09:00
github-actions[bot]
a1ef38a606 Bump version to 2025.4.0-rc.5 2025-04-08 23:21:42 +00:00
zyoshoka
4a8b7ef23e fix(ci): correct condition for skipping Chromatic build (#15783) 2025-04-09 08:10:17 +09:00
anatawa12
1f17161dfb feat: show file name for warning / errors of [create-search-index] (#15785) 2025-04-09 08:10:04 +09:00
syuilo
2488708934 New Crowdin updates (#15781)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)
2025-04-09 08:09:43 +09:00
anatawa12
628a0c71a9 fix: direct does not work in nested route (#15784) 2025-04-09 08:09:08 +09:00
syuilo
b40f5b9021 fix typo 2025-04-09 08:08:28 +09:00
syuilo
0f79db6a4d refactor 2025-04-09 08:05:27 +09:00
syuilo
910e097480 add missing SearchMarker 2025-04-09 08:04:00 +09:00
syuilo
a8acbd6e68 refactor 2025-04-09 08:01:10 +09:00
syuilo
c19f51a2ab resolve promise
https://github.com/misskey-dev/misskey/pull/15735#discussion_r2033387035
2025-04-09 07:56:20 +09:00
syuilo
1cf370882e add missing SearchMarker 2025-04-09 07:51:24 +09:00
syuilo
58cb7cf179 update i18n 2025-04-08 20:58:56 +09:00
syuilo
a51192bac5 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-08 20:50:41 +09:00
syuilo
c500e4392a hideNotesInSensitiveChannel -> excludeNotesInSensitiveChannel 2025-04-08 20:50:38 +09:00
syuilo
799226412f Update CHANGELOG.md
Co-authored-by: anatawa12 <anatawa12@icloud.com>
2025-04-08 20:44:15 +09:00
syuilo
0d18c0169f New Crowdin updates (#15776)
* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)
2025-04-08 18:18:02 +09:00
syuilo
863fb5dd7f Update CHANGELOG.md 2025-04-08 15:20:36 +09:00
syuilo
177943b06a Update CHANGELOG.md 2025-04-08 15:19:33 +09:00
syuilo
2aa7630466 🎨 2025-04-08 15:10:51 +09:00
syuilo
c96f345f01 fix(frontend): fix control panel style 2025-04-08 10:56:52 +09:00
syuilo
baf04a1e25 fix(frontend): Fix #15764 2025-04-08 10:38:04 +09:00
syuilo
40097d4aac clean up 2025-04-08 10:37:44 +09:00
github-actions[bot]
01cd398799 Bump version to 2025.4.0-rc.4 2025-04-07 23:44:45 +00:00
syuilo
3d206d2a0f enhance(frontend): č¨­åŽšæ¤œį´ĸ時ãĢå¯žčąĄãŒåĢぞれるMkFolderをč‡Ē動で開いãĻおくようãĢ 2025-04-08 08:43:56 +09:00
syuilo
e8758bf77d Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-08 08:31:54 +09:00
syuilo
278629046a 🎨 2025-04-08 08:31:52 +09:00
syuilo
3374a587a1 refactor 2025-04-08 08:28:17 +09:00
syuilo
ce721a8066 New Crowdin updates (#15773)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)
2025-04-08 08:19:44 +09:00
syuilo
547d6361b7 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-08 08:18:51 +09:00
syuilo
f765b374c7 refactor 2025-04-08 08:18:48 +09:00
github-actions[bot]
b0c0d1b294 Bump version to 2025.4.0-rc.3 2025-04-07 10:49:27 +00:00
syuilo
7f1cd614db Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-07 19:45:31 +09:00
syuilo
33e6ebb2ee enhance(frontend): improve and refactor mobile nav footer 2025-04-07 19:45:28 +09:00
syuilo
65b4458474 fix(frontend): fix drawer menu style 2025-04-07 19:31:15 +09:00
ã‹ãŖã“ã‹ã‚Š
9d3f3264fd enhance: ãƒãƒŖãƒƒãƒˆãŽé–˛čĻ§ã‚’į„ĄåŠšåŒ–ã§ãã‚‹ã‚ˆã†ãĢ (#15765)
* enhance: ãƒãƒŖãƒƒãƒˆãŽé–˛čĻ§ã‚’į„ĄåŠšåŒ–ã§ãã‚‹ã‚ˆã†ãĢ

* fix

* fix

* fix

* readonlyぎčĒŦ明をčŋŊ加

* enhance: ãƒãƒŖãƒƒãƒˆãŒį„ĄåŠšãĒå ´åˆã¯ãƒãƒŖãƒƒãƒˆé–ĸé€ŖãŽč¨­åŽšã‚‚éš ã™ã‚ˆã†ãĢ

* fix

* refactor: ChatServiceからApiãĢé–ĸã™ã‚‹ãƒ‰ãƒĄã‚¤ãƒŗįŸĨč­˜ã‚’æŽ’é™¤
2025-04-07 19:09:11 +09:00
syuilo
6c27ab12eb Update CHANGELOG.md 2025-04-07 17:30:44 +09:00
github-actions[bot]
1ca8d227df Bump version to 2025.4.0-rc.2 2025-04-07 08:17:46 +00:00
syuilo
154b89f07a 🎨 2025-04-07 17:16:08 +09:00
syuilo
3a8d015194 enhance(frontend): improve search index 2025-04-07 17:03:43 +09:00
syuilo
fa52922331 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-07 16:39:08 +09:00
syuilo
5b0f594f15 fix(backend): éžãƒ­ã‚°ã‚¤ãƒŗã§ã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗãŽã‚šãƒˆãƒĒãƒŧムãĢæŽĨįļšã—ãŸéš›ã€čĄ¨į¤ēãĢãƒ­ã‚°ã‚¤ãƒŗåŋ…須ぎノãƒŧトがæĩã‚Œã‚‹å ´åˆãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ 2025-04-07 16:39:03 +09:00
syuilo
297d5e3001 New Crowdin updates (#15761)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)
2025-04-07 16:31:28 +09:00
anatawa12
85a7b10fcd refactor serach index generator code (#15772)
* refactor: flatten search index

* chore: use Function() to simplify parsing attribute

* chore: remove comment handling

* chore: simplify processing SearchLabel and SearchKeyword element

* chore: use SearchLabel in mutedUsers

* chore: small improvements

* chore: remove a fallback path and simplify the entire code

* fix: result path is not correct

* chore: inline function
2025-04-07 14:35:32 +09:00
syuilo
2349a5d20e 🎨
Fix #15753
2025-04-07 10:29:51 +09:00
syuilo
6ef5c8bb92 enhance(frontend): improve migration of old settings 2025-04-07 10:21:49 +09:00
zyoshoka
1ede45c8fb fix(ci): fix Chromatic CI not being skipped for dependency update branches (#15766) 2025-04-07 09:55:18 +09:00
syuilo
f9a3db2ac3 refactor(frontend): refactor styles 2025-04-05 19:49:29 +09:00
syuilo
1626e8038b Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-05 19:45:14 +09:00
syuilo
f71843a7d3 refactor(frontend): refactor divider of panel style 2025-04-05 19:45:11 +09:00
zyoshoka
91416527c2 fix(ci): quote branches-ignore pattern in Storybook workflow (#15762) 2025-04-05 19:32:48 +09:00
anatawa12
e24d799c0a chore: set ignorePatchFailures to false (#15763) 2025-04-05 19:32:35 +09:00
github-actions[bot]
d54153f24e Bump version to 2025.4.0-rc.1 2025-04-05 01:28:52 +00:00
syuilo
bc60411f91 New Crowdin updates (#15752)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)
2025-04-05 10:27:43 +09:00
syuilo
db48b320f5 enhance(frontend): č¨­åŽšį§ģčĄŒæ™‚ãĢãƒŠãƒ“ã‚˛ãƒŧã‚ˇãƒ§ãƒŗãƒãƒŧãĢãƒãƒŖãƒƒãƒˆã‚’čŋŊ加するようãĢ
ãƒãƒŖãƒƒãƒˆãŒãŠã“ãĢあるか分かりãĢくいという意čĻ‹ãŒå¤šã„ãŸã‚
2025-04-05 09:32:57 +09:00
anatawa12
22f874c81d fix: chromatic failure (#15757) 2025-04-05 08:46:48 +09:00
anatawa12
5949bb6c7f fix: unnecesary HMR when we opened setting page (#15756)
* refactor: add MarkerIdAssigner instead of processVueFile and remove transformedCodeCache object

* chore: add minimatch, a glob matcher

* chore: expose MarkerIdAssigner from plugin

* Revert "chore: expose MarkerIdAssigner from plugin"

This reverts commit 88c6d820f8.

* chore: add plugin to generate virtual module

* chore: parse inlining earlier

* chore: use virtual module in search

* chore: use remove old generation

* chore: fix type errors

* chore: add patch to workaround vitejs/vite#19792

* chore: improve filtering files to process

* chore: rename plugin

* docs: add comment for plugin ordering

* fix: unnecessary log

* fix: spdx license header
2025-04-05 08:46:17 +09:00
syuilo
ea9d85a0cc New Crowdin updates (#15740)
* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)
2025-04-03 21:29:45 +09:00
github-actions[bot]
96b21484db Bump version to 2025.4.0-rc.0 2025-04-03 10:28:38 +00: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
syuilo
440a4a4d8b refactor(frontend): refactor MkDateSeparatedList 2025-04-03 15:42:25 +09:00
syuilo
4be9b25185 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-03 15:34:15 +09:00
syuilo
8b7cba1ede 🎨 2025-04-03 15:34:13 +09:00
github-actions[bot]
1188ec458d Bump version to 2025.4.0-beta.2 2025-04-03 06:32:20 +00: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
syuilo
7cecaa5c54 perf(frontend): avoid main thread scroll repaint 2025-04-03 14:32:42 +09:00
syuilo
1779a23e25 🎨 2025-04-03 13:31:13 +09:00
zyoshoka
d7365eb126 fix(storybook): update obsolete method for preferences (#15750) 2025-04-03 12:54:08 +09:00
syuilo
455be80b4f fix(backend): éžãƒ­ã‚°ã‚¤ãƒŗã§ã‚ŋã‚¤ãƒ ãƒŠã‚¤ãƒŗãŽã‚šãƒˆãƒĒãƒŧムãĢæŽĨįļšã—ãŸéš›ã€čĄ¨į¤ēãĢãƒ­ã‚°ã‚¤ãƒŗåŋ…須ぎノãƒŧトがæĩã‚Œã‚‹å ´åˆãŒã‚ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ 2025-04-03 11:32:55 +09:00
syuilo
1a3866c4f6 fix(backend/chat): č‡Ē分がäŊœãŖãŸãƒãƒŖãƒƒãƒˆãƒĢãƒŧムãĢäģ–äēēãŒãƒĄãƒƒã‚ģãƒŧã‚¸ã‚’é€ãŖãŸã¨ããĢæœĒčĒ­ãĢãĒらãĒい
Fix #15748
2025-04-03 11:15:16 +09:00
syuilo
d07552424c 🎨 2025-04-02 19:48:32 +09:00
syuilo
e4ceab5f6c Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-02 19:16:18 +09:00
syuilo
e1dc1e5111 🎨 2025-04-02 19:16:16 +09:00
syuilo
3a16af4b4b Update CHANGELOG.md 2025-04-02 16:01:48 +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
zyoshoka
0bf49818c4 enhance: implement sentryForFrontend (#15433)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-02 15:44:04 +09:00
syuilo
d0a98f6e6c fix(frontend): Fix #15744 2025-04-02 13:04:03 +09:00
anatawa12
102578712b fix: iPadでdeck uiでマã‚Ļ゚ホイãƒŧãƒĢで゚クロãƒŧãƒĢできãĒい (#15244)
* fix: ipadでdeck uiで゚クロãƒŧãƒĢできãĒい

* docs(changelog): iPadOSでdeck uiをマã‚Ļ゚ã‚Ģãƒŧã‚ŊãƒĢãĢã‚ˆãŖãĻ゚クロãƒŧãƒĢできãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* chore: remove pointermove listener

* lint: use window.document

* chore: use passive pointerdown event
2025-04-02 10:48:57 +09:00
github-actions[bot]
2e0c80bc21 Bump version to 2025.4.0-beta.1 2025-04-02 01:47:33 +00:00
syuilo
d44fd87b69 Update CHANGELOG.md 2025-04-02 10:37:48 +09:00
anatawa12
55d835ad51 Fix: 通įŸĨぎペãƒŧジネãƒŧã‚ˇãƒ§ãƒŗã§īŧ’つäģĨ上čĒ­ãŋčžŧめãĒくãĒã‚‹ã“ã¨ãŒã‚ã‚‹å•éĄŒ (#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
syuilo
3ec5bf114b 🎨 2025-04-02 10:25:53 +09:00
syuilo
a5f9eba974 enhance(frontend): ã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢしたテãƒŧマをデバイ゚間で同期できるようãĢ 2025-04-02 10:09:25 +09:00
github-actions[bot]
bd8162c2bd Bump version to 2025.4.0-beta.0 2025-04-01 08:19:26 +00:00
ã‹ãŖã“ã‹ã‚Š
4f206eea9f refactor(frontend): intl-stringぎå‡Ļį†ãŽãƒ‘ãƒ•ã‚Šãƒŧãƒžãƒŗã‚šå‘ä¸Š (#15737)
* refactor(frontend): intl-stringぎå‡Ļį†ãŽãƒ‘ãƒ•ã‚Šãƒŧãƒžãƒŗã‚šå‘ä¸Š

* âœŒī¸
2025-04-01 17:15:22 +09:00
syuilo
f4f9832f8b 🎨 2025-04-01 17:13:58 +09:00
syuilo
70133a88f2 🎨 2025-04-01 16:52:59 +09:00
renovate[bot]
20bc80728c chore(deps): update [misskey-js] update dependencies (#15692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 16:20:52 +09:00
renovate[bot]
1d9810627e chore(deps): update [tools] update dependencies (#15689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 15:51:46 +09:00
renovate[bot]
eb5061db29 chore(deps): update [github actions] update dependencies (#15688)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 15:49:36 +09:00
renovate[bot]
b0c3ec3267 fix(deps): update dependency vite to v6.2.4 [security] (#15733)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 15:48:48 +09:00
syuilo
3a6de462bb Update CHANGELOG.md 2025-04-01 14:04:46 +09:00
github-actions[bot]
b0cdf2feff Bump version to 2025.4.0-alpha.0 2025-04-01 04:52:38 +00:00
github-actions[bot]
4e1e8ff238 Bump version to 2025.3.2-beta.21 2025-04-01 04:33:36 +00:00
syuilo
d04acf04a6 New Crowdin updates (#15725)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)
2025-04-01 13:29:28 +09:00
syuilo
165c7993e6 fix(frontend): fix PageWithAnimBg style 2025-04-01 13:28:13 +09:00
syuilo
500a5615f0 enhance(frontend): åŖį´™ã‚’ãƒ‡ãƒƒã‚­č¨­åŽšãŽä¸€éƒ¨ãĢ 2025-04-01 13:18:49 +09:00
syuilo
5aca91251a fix missing import 2025-03-31 20:48:16 +09:00
syuilo
1c683c3fcc fix(frontend): ã‚¤ãƒŗã‚šãƒˆãƒŧãƒĢしたテãƒŧマがテãƒŧマ一čϧãĢすぐ反映されãĒい 2025-03-31 20:36:49 +09:00
syuilo
08072e294b 🎨 2025-03-31 20:17:48 +09:00
github-actions[bot]
f637d0dff9 Bump version to 2025.3.2-beta.20 2025-03-31 08:34:36 +00:00
ã‹ãŖã“ã‹ã‚Š
15a5bb17e3 fix(frontend): ãƒãƒŖãƒƒãƒˆãŽãƒ‡ã‚ļã‚¤ãƒŗčĒŋ整 (#15708)
* fix(frontend): ãƒãƒŖãƒƒãƒˆãŽãƒ‡ã‚ļã‚¤ãƒŗčĒŋ整

* remove unused locales

* 🎨

* Update XMessage.vue

* Update XMessage.vue

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-03-31 17:33:00 +09:00
syuilo
888e04ce82 fix(frontend): tweak deck onboarding 2025-03-31 16:40:44 +09:00
github-actions[bot]
3a028abea5 Bump version to 2025.3.2-beta.19 2025-03-31 04:26:53 +00:00
syuilo
ff59089ad9 🎨 2025-03-31 13:24:20 +09:00
syuilo
93214862b1 🎨 2025-03-31 13:18:50 +09:00
syuilo
ea722b8360 🎨 2025-03-31 13:00:34 +09:00
syuilo
49f1f7194d 🎨 2025-03-31 11:13:02 +09:00
syuilo
8baf54e629 fix(frontend): fix ad rendering of timeline 2025-03-31 11:01:32 +09:00
syuilo
393f893a2c 🎨 2025-03-30 20:51:27 +09:00
syuilo
87a7238976 enhance(frontend): デッキぎã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã‚’čŋŊ加 2025-03-30 20:44:00 +09:00
syuilo
e0d8702839 perf(frontend): tweak MkRange 2025-03-30 18:13:39 +09:00
syuilo
6e929ece6f fix(frontend): suppress inject warn 2025-03-30 18:13:08 +09:00
syuilo
303b62aff3 New Crowdin updates (#15721)
* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)
2025-03-30 14:34:32 +09:00
syuilo
45b8423429 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-30 14:34:14 +09:00
syuilo
0655c8a29b clean up 2025-03-30 14:33:52 +09:00
syuilo
17f3113b92 🎨 2025-03-30 14:30:04 +09:00
syuilo
4f4cb6738c fix(frontend): drop classic ui 2025-03-30 14:25:56 +09:00
github-actions[bot]
591175b42e Bump version to 2025.3.2-beta.18 2025-03-30 02:54:21 +00:00
syuilo
c03f9bff0a 🎨 2025-03-30 11:52:51 +09:00
syuilo
88c743aa33 chore(frontend): remove unused style 2025-03-30 11:45:41 +09:00
syuilo
c06d0b9b42 enhance(frontend): organize settings page 2025-03-30 11:27:35 +09:00
syuilo
4af49e8385 enhance(frontend): organize settings page 2025-03-30 11:16:38 +09:00
syuilo
aeda34e5e7 fix(frontend): åēƒå‘ŠãŒį„Ąã„å ´åˆãŽčĄ¨į¤ēをäŋŽæ­Ŗ 2025-03-30 09:11:59 +09:00
syuilo
7d842c1a95 fix(frontend): avoid naming confliction of MkAd 2025-03-30 09:07:15 +09:00
syuilo
93fc2456b3 refactor(frontend): refactor base styles 2025-03-30 08:59:18 +09:00
syuilo
a420a95fae perf(frontend): ã‚ĸãƒ‹ãƒĄãƒŧã‚ˇãƒ§ãƒŗį„ĄåŠšæ™‚ãŽãƒ‘ãƒ•ã‚Šãƒŧãƒžãƒŗã‚šã‚’å‘ä¸Š 2025-03-30 08:49:14 +09:00
renovate[bot]
2618585a25 fix(deps): update dependency vite to v6.2.3 [security] (#15710)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-30 08:39:40 +09:00
syuilo
61846a04b2 Update CHANGELOG.md 2025-03-29 23:07:46 +09:00
syuilo
cce88c904b Update CHANGELOG.md 2025-03-29 22:16:22 +09:00
syuilo
d866ab12e9 perf(frontend): reduce stacking context in deck 2025-03-29 22:00:01 +09:00
github-actions[bot]
df75715d29 Bump version to 2025.3.2-beta.17 2025-03-29 12:23:35 +00:00
syuilo
02da241ec9 Revert "(test)"
This reverts commit eb4062cf63.
2025-03-29 21:16:25 +09:00
syuilo
eb4062cf63 (test) 2025-03-29 21:02:31 +09:00
syuilo
d9012740a1 enhance(frontend): ã‚ĸã‚¤ã‚ŗãƒŗãŽã‚šã‚¯ãƒ­ãƒŧãƒĢčŋŊåž“ã‚’į„ĄåŠšåŒ–ã—ãĻパフりãƒŧãƒžãƒŗã‚šå‘ä¸Šã§ãã‚‹ã‚ˆã†ãĢ 2025-03-29 20:56:59 +09:00
syuilo
1b776a7e7e perf(frontend): reduce stack contexts 2025-03-29 20:02:51 +09:00
syuilo
e0b7c56458 Revert "test"
This reverts commit 2787158a04.
2025-03-29 19:23:30 +09:00
syuilo
2787158a04 test 2025-03-29 18:41:52 +09:00
syuilo
2bbc0878e7 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-29 18:03:34 +09:00
syuilo
fb1542429f 🎨 2025-03-29 18:03:31 +09:00
github-actions[bot]
05b23eda59 Bump version to 2025.3.2-beta.16 2025-03-29 09:01:05 +00:00
syuilo
ddd6d72dd7 New Crowdin updates (#15716)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)
2025-03-29 17:59:40 +09:00
syuilo
25db8c2fa9 🎨 2025-03-29 17:59:09 +09:00
syuilo
2ad7b010e4 🎨 2025-03-29 17:57:03 +09:00
syuilo
7c06ffc422 refactor 2025-03-29 17:28:20 +09:00
syuilo
df3ed93f84 clean up 2025-03-29 17:15:47 +09:00
syuilo
b030e33856 perf(frontend): improve performance of timeline page 2025-03-29 17:15:31 +09:00
syuilo
7fd3adedee fix tests 2025-03-29 17:00:01 +09:00
syuilo
ae59578115 refactor 2025-03-29 16:55:12 +09:00
syuilo
609a37742c clean up 2025-03-29 16:11:15 +09:00
syuilo
d9d796b204 lint fixes 2025-03-29 16:09:27 +09:00
syuilo
6c2c3f08be refactor(frontend): use symbol for di 2025-03-29 16:04:01 +09:00
syuilo
e5e4390494 fix(frontend): suppress inject warn 2025-03-29 16:01:51 +09:00
syuilo
5a09e7a8b4 lint 2025-03-29 15:57:34 +09:00
syuilo
88e6bd1533 Update eslint.config.js 2025-03-29 15:55:22 +09:00
syuilo
7d8c98767a lint 2025-03-29 15:53:44 +09:00
syuilo
490222fb78 perf(frontend): avoid needless AsyncComponentWrapper 2025-03-29 15:33:19 +09:00
syuilo
1af4081090 enhance(frontend): disable horizontal swipe for timeline/notifications to improve ux 2025-03-29 15:00:29 +09:00
syuilo
33e76f9dfc Revert "🎨"
This reverts commit 3451c9a0de.
2025-03-29 13:55:05 +09:00
syuilo
8dd8f636dc 🎨 2025-03-29 13:52:15 +09:00
syuilo
3451c9a0de 🎨 2025-03-29 13:39:44 +09:00
syuilo
fc88410c0d refactor(frontend): tweak MkNotes and MkNotifications 2025-03-29 13:34:53 +09:00
syuilo
3682c0069c Revert "test"
This reverts commit 2b42e8f171.
2025-03-29 12:27:13 +09:00
syuilo
2b42e8f171 test 2025-03-29 11:18:49 +09:00
github-actions[bot]
e990831a09 Bump version to 2025.3.2-beta.15 2025-03-28 07:39:15 +00:00
syuilo
18355a0838 perf(frontend): avoid main thread scroll repaint 2025-03-28 16:34:21 +09:00
syuilo
811077ca66 perf(frontend): avoid main thread scroll repaint 2025-03-28 15:26:15 +09:00
syuilo
1c26dae39f enhance(frontend): ãƒĒãƒĸãƒŧトã‚ĸã‚Ģã‚Ļãƒŗãƒˆã§ãƒãƒŖãƒƒãƒˆãŒäŊŋえるかおうかįŸĨã‚‹čĄ“ãŒãĒã„ãŸã‚čĄ¨į¤ēを攚善 2025-03-28 11:00:45 +09:00
syuilo
c37f9d38a3 enhance(frontend): ãƒãƒŖãƒƒãƒˆãŒé–‹æ”žã•ã‚ŒãĻいãĒい場合ぎUIを攚善 2025-03-28 10:48:13 +09:00
syuilo
dec3e86e5e enhance(backend): ã‚ĸã‚Ģã‚Ļãƒŗãƒˆã§ãƒãƒŖãƒƒãƒˆãŒæœ‰åŠšãĢãĒãŖãĻいるかおうかをãƒĻãƒŧã‚ļãƒŧぎãƒŦã‚šãƒãƒŗã‚šãĢåĢめるようãĢ 2025-03-28 10:48:03 +09:00
syuilo
0c14250678 enhance(frontend): ãƒãƒŖãƒƒãƒˆãŒé–‹æ”žã•ã‚ŒãĻいãĒい場合ぎUIを攚善 2025-03-28 10:34:25 +09:00
github-actions[bot]
30e0259062 Bump version to 2025.3.2-beta.14 2025-03-28 00:53:31 +00:00
syuilo
26aa7c6ca1 New Crowdin updates (#15707)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)
2025-03-28 09:49:59 +09:00
syuilo
29f5e5ca32 fix(frontend): classic uiãŒčĄ¨į¤ēできãĒい
Fix #15715
2025-03-28 09:49:47 +09:00
syuilo
a25fa62d64 enhance(frontend): ãƒ•ã‚Ąã‚¤ãƒĢã‚ĸップロãƒŧドå‡Ļį†ãŽãƒĒãƒ•ã‚Ąã‚¯ã‚ŋã¨č¨­åŽšãŽį°Ąį•Ĩ化 2025-03-28 09:47:34 +09:00
syuilo
61e09d483e refactor 2025-03-28 09:22:37 +09:00
syuilo
e40846c46b fix e2e test 2025-03-27 19:50:03 +09:00
syuilo
a78db27a3c Update CHANGELOG.md 2025-03-27 17:30:06 +09:00
syuilo
f7e901deb2 test fixes 2025-03-27 17:30:04 +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
Acid Chicken
ed86b1706d ci(storybook): prevent running for bots 2025-03-26 12:17:56 +09:00
syuilo
36865a5771 enhance(frontend): improve chat ux 2025-03-26 10:49:36 +09:00
syuilo
5e90679916 lint 2025-03-26 10:26:48 +09:00
syuilo
ac49a3e992 typo 2025-03-26 09:06:34 +09:00
syuilo
f0ac0aa84d Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-25 20:06:49 +09:00
syuilo
97fddf2a80 🎨 2025-03-25 20:06:46 +09:00
ã‹ãŖã“ã‹ã‚Š
2a5922836c fix(frontend): ã‚ŗãƒŗãƒˆãƒ­ãƒŧãƒĢパネãƒĢãŽãƒŠãƒ“ã‚˛ãƒŧã‚ˇãƒ§ãƒŗãƒãƒŧがį”ģéĸãĢåŧĩりäģ˜ã‹ãĒã„å•éĄŒã‚’äŋŽæ­Ŗ (#15706) 2025-03-25 19:50:40 +09:00
github-actions[bot]
0e417e51ac Bump version to 2025.3.2-beta.13 2025-03-25 09:40:08 +00:00
syuilo
c5cd3dd373 New Crowdin updates (#15685)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)
2025-03-25 18:35:28 +09:00
syuilo
fc576ebc64 fix(backend): æ‰ŋčĒã—ãŸãƒãƒŖãƒƒãƒˆãƒĢãƒŧムへぎ招垅ぎ通įŸĨが存在するとエナãƒŧãĢãĒã‚‹å•éĄŒã‚’äŋŽæ­Ŗ 2025-03-25 18:34:25 +09:00
syuilo
22f99b42f6 enhance(frontend): refactor and improve ux 2025-03-25 18:30:28 +09:00
syuilo
de76a66c03 enhance(frontend): ã‚ŋブãƒŦãƒƒãƒˆã§ãŽčĄ¨į¤ē時ãĢã‚Ļã‚Ŗã‚¸ã‚§ãƒƒãƒˆãƒœã‚ŋãƒŗã§ãƒšãƒŧジ下部が隠れãĒいようãĢ 2025-03-25 18:15:54 +09:00
syuilo
185f290373 🎨 2025-03-25 18:03:50 +09:00
syuilo
88b48b1d8e fix(backend): ãƒãƒŖãƒƒãƒˆãŽãƒšãƒŧジネãƒŧã‚ˇãƒ§ãƒŗãŒæŠŸčƒŊしãĒã„å•éĄŒã‚’äŋŽæ­Ŗ 2025-03-25 17:57:34 +09:00
syuilo
ef0b97b2dc fix(frontend): ã‚ŗãƒŗãƒ‘ãƒīŧžé€šå ą ãŽå„é€šå ąãŽãƒĻãƒŧã‚ļãƒŧčŠŗį´°ãŒčĄ¨į¤ēできãĒã„å•éĄŒã‚’äŋŽæ­Ŗ
Fix #15704
2025-03-25 16:17:10 +09:00
syuilo
98554579ea enhance: ãƒãƒŖãƒƒãƒˆãŽãƒĒã‚ĸã‚¯ã‚ˇãƒ§ãƒŗã‚’å‰Šé™¤ã§ãã‚‹ã‚ˆã†ãĢ 2025-03-25 16:09:19 +09:00
syuilo
8e72c68205 follow up of a01ae38a07 2025-03-25 15:55:09 +09:00
syuilo
a01ae38a07 enhance: ãƒĸデãƒŦãƒŧã‚ŋãƒŧãŒãƒãƒŖãƒƒãƒˆãƒĢãƒŧムぎ内厚をįĸēčĒãƒģ削除できるようãĢ 2025-03-25 15:51:45 +09:00
syuilo
304d0eb83b enhance: ãƒãƒŖãƒƒãƒˆãƒĢãƒŧムãĢ招垅されたときぎ通įŸĨをčŋŊ加 2025-03-25 15:25:43 +09:00
github-actions[bot]
2fc3baa988 Bump version to 2025.3.2-beta.12 2025-03-25 04:45:07 +00:00
syuilo
c51e862b7d enhance: 送äŋĄã—ãŸãƒãƒŖãƒƒãƒˆãƒĢãƒŧムへぎ招垅をįĸēčĒã§ãã‚‹ã‚ˆã†ãĢ 2025-03-25 13:41:12 +09:00
syuilo
1736955694 fix(backend): č‡Ē分がã‚ĒãƒŧナãƒŧではãĒい参加中ぎãƒĢãƒŧムãĢãƒĄãƒƒã‚ģãƒŧジを送äŋĄã™ã‚‹ã¨ä¸åŋ…čρãĒ通įŸĨがį™ēį”Ÿã™ã‚‹ãŽã‚’äŋŽæ­Ŗ 2025-03-25 13:29:03 +09:00
syuilo
2272eceffa enhance(frontend): Enterã§ãƒãƒŖãƒƒãƒˆãŽãƒĄãƒƒã‚ģãƒŧジを送äŋĄã§ãã‚‹ã‚ˆã†ãĢ 2025-03-25 13:19:54 +09:00
syuilo
8c1fc85d00 enhance(frontend): ãƒãƒŖãƒƒãƒˆãŽé€äŋĄč€…åã‚’čĄ¨į¤ēできるようãĢ 2025-03-25 12:36:21 +09:00
syuilo
9f4fa6d3f5 enhance(frontend): ãƒãƒŖãƒƒãƒˆãŽãƒ›ãƒŧãƒ ãŽčĄ¨į¤ēã‚’åŽšæœŸįš„ãĢ更新するようãĢ 2025-03-25 12:19:59 +09:00
syuilo
023ab02e59 🎨 2025-03-25 12:08:17 +09:00
syuilo
1318a10af8 🎨 2025-03-25 11:37:38 +09:00
syuilo
18bb831777 🎨 2025-03-25 11:33:40 +09:00
github-actions[bot]
e6bc887d6c Bump version to 2025.3.2-beta.11 2025-03-25 02:19:28 +00:00
syuilo
8cbcbd462c enhance(frontend): ãƒãƒŖãƒƒãƒˆį”ģéĸでįĸē原ãĢ最下部ぺクロãƒŧãƒĢčŋŊ垓するようãĢ 2025-03-25 11:11:24 +09:00
syuilo
600bb34172 enhance(frontend): č¨­åŽšãŽã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šæ›´æ–° 2025-03-25 09:54:23 +09:00
syuilo
26b2cfe518 enhance(frontend): ãƒŠãƒ“ã‚˛ãƒŧã‚ˇãƒ§ãƒŗãƒãƒŧぎ副ボã‚ŋãƒŗã‚’éžčĄ¨į¤ēãĢできるようãĢ 2025-03-25 09:50:59 +09:00
syuilo
72734fe365 enhance(frontend): バックグナã‚Ļãƒŗãƒ‰ã§ãƒãƒŖãƒƒãƒˆãƒĄãƒƒã‚ģãƒŧã‚¸ãŒåąŠã„ãŸã¨ããĢã‚ĩã‚Ļãƒŗãƒ‰ã‚’å†į”Ÿã§ãã‚‹ã‚ˆã†ãĢ 2025-03-25 09:36:59 +09:00
syuilo
2370b55a27 enhance(frontend): ãƒãƒŖãƒƒãƒˆãƒĢãƒŧムを削除できるようãĢ 2025-03-25 09:30:14 +09:00
syuilo
5d3e8253c4 fix(frontend): ãƒãƒŖãƒƒãƒˆã‚’å…¨å“ĄãĢč¨ąå¯ã—ãĻいる場合ãĢčĒ°ã‚‚č¨ąå¯ã—ãĻいãĒã„ã¨čĄ¨į¤ēされるぎをäŋŽæ­Ŗ 2025-03-25 09:24:01 +09:00
syuilo
8d6573fbec enhance(frontend): č¨­åŽšãŽį§ģčĄŒã‚’æ‰‹å‹•ã§ãƒˆãƒĒã‚ŦãƒŧできるようãĢ 2025-03-25 08:38:53 +09:00
syuilo
8da1368a0b fix(backend): æ—ĸ存ぎãƒĢãƒŧãƒ ãƒĄãƒŗãƒãƒŧを攚めãĻ招垅できãĒいようãĢ 2025-03-25 08:05:59 +09:00
ã‹ãŖã“ã‹ã‚Š
5513337198 fix(frontend): æœŦį•Ēį’°åĸƒã§ä¸åŋ…čρãĒconsole.logをå‡ēさãĒいようãĢ (#15702) 2025-03-25 08:02:06 +09:00
github-actions[bot]
3f7a2bf5b5 Bump version to 2025.3.2-beta.10 2025-03-24 12:34:25 +00: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
0471e457fe fix(frontend): fix broken styles 2025-03-23 21:23:52 +09:00
syuilo
260d35e2f0 Update CHANGELOG.md 2025-03-22 18:37:41 +09:00
syuilo
3ff9d9f4fd Update CHANGELOG.md 2025-03-22 18:34:56 +09:00
syuilo
27991a3bc8 Update CHANGELOG.md 2025-03-22 18:28:51 +09:00
syuilo
b5f86e5210 refactor(frontend): refactor page styles 2025-03-22 18:25:45 +09:00
syuilo
16cde5568d Update CHANGELOG.md 2025-03-22 15:12:24 +09:00
syuilo
bf07796b6b Update CHANGELOG.md 2025-03-22 15:08:19 +09:00
syuilo
08b131ec33 refactor(backend): better prop name 2025-03-22 08:16:15 +09:00
syuilo
1312fe34c1 Update CHANGELOG.md 2025-03-22 08:12:32 +09:00
github-actions[bot]
97563910fa Bump version to 2025.3.2-beta.9 2025-03-21 12:05:52 +00:00
syuilo
96a7c4a568 fix(frontend): ãƒãƒŖãƒŗãƒãƒĢぎフッã‚ŋãƒŧãŒčĄ¨į¤ēされãĒã„å•éĄŒã‚’äŋŽæ­Ŗ 2025-03-21 21:04:38 +09:00
syuilo
fee6f9fcc2 Update def.ts 2025-03-21 21:04:17 +09:00
renovate[bot]
50724b6ab8 fix(deps): update [frontend] update dependencies (#15625)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 19:41:26 +09:00
renovate[bot]
e61263cff0 fix(deps): update [backend] update dependencies (#15596)
* fix(deps): update [backend] update dependencies

* fix(backend/types): ensure to use nodejs-provided stream api

---------

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-03-21 19:38:11 +09:00
github-actions[bot]
d073fe6b02 Bump version to 2025.3.2-beta.8 2025-03-20 12:18:50 +00:00
syuilo
ce858a676b refactor(frontend): use PageWithHeader instead of MkStickyContainer+MkPageHeader combination 2025-03-20 21:04:37 +09:00
syuilo
733a391d86 follow up of 1fd87bd2e4
ã‚ŗãƒŸãƒƒãƒˆã—åŋ˜ã‚Œ
2025-03-20 20:29:46 +09:00
syuilo
0e25a0fb81 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-20 20:28:29 +09:00
syuilo
1fd87bd2e4 fix(frontend): prevent transition glitch of MkHorizontalSwipe 2025-03-20 20:28:16 +09:00
github-actions[bot]
ebc54b1f82 Bump version to 2025.3.2-beta.7 2025-03-20 10:07:37 +00:00
syuilo
6015254e59 lint fixes 2025-03-20 19:00:09 +09:00
syuilo
c02f0b3b33 Update eslint.config.js 2025-03-20 18:59:10 +09:00
syuilo
abddd40c09 enhance(frontend): 通常ぎRouterViewãĢTransitionをčŋŊ加 2025-03-20 18:55:32 +09:00
ã‹ãŖã“ã‹ã‚Š
a865a949b5 fix(frontend): MkRoleSelectDialogでぎpopupぎäŊŋい斚がčĒ¤ãŖãĻいるぎをäŋŽæ­Ŗ (#15683) 2025-03-20 16:36:37 +09:00
syuilo
0007723405 fix lint 2025-03-20 16:34:50 +09:00
syuilo
71188b3463 fix lint 2025-03-20 16:10:38 +09:00
syuilo
7f534a41a6 fix lint 2025-03-20 16:07:52 +09:00
syuilo
f25963e2c2 Update eslint.config.js 2025-03-20 16:06:32 +09:00
syuilo
dfab6b1b8d lint(frontend): force window prefix 2025-03-20 15:44:06 +09:00
syuilo
fac59d75e2 lint(frontend): relax id-denylist rule 2025-03-20 15:43:35 +09:00
syuilo
fd3e28812e clean up console 2025-03-20 15:15:46 +09:00
syuilo
6a90b7e04b add todo 2025-03-20 15:09:50 +09:00
syuilo
8d8414687a enhance(frontend): improve preference manager stability 2025-03-20 14:57:14 +09:00
syuilo
0c682dd027 🎨 2025-03-20 13:34:57 +09:00
syuilo
3399c786a8 refactor(frontend): refactor components 2025-03-20 13:33:01 +09:00
syuilo
64cf101fe7 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-20 13:16:23 +09:00
syuilo
8b6d90b7a4 🎨 2025-03-20 13:16:08 +09:00
github-actions[bot]
070749bdc8 Bump version to 2025.3.2-beta.6 2025-03-20 04:03:25 +00:00
syuilo
161706c5e2 New Crowdin updates (#15680)
* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Korean (Gyeongsang))
2025-03-20 13:01:20 +09:00
syuilo
596e517f77 fix(frontend): minimum uiãŒčĄ¨į¤ēできãĒい 2025-03-20 12:58:18 +09:00
syuilo
91670caca0 enhance(frontend): tweak install-extensions behaviour 2025-03-20 12:58:01 +09:00
syuilo
fccaadacf0 lint(frontend): improve id-denylist rule 2025-03-20 12:47:51 +09:00
syuilo
282caa0b7e 🎨 for install-extensions 2025-03-20 12:36:48 +09:00
syuilo
9529867630 fix(frontend): dev buildでpreferencesぎã‚ŋブ同期が不åŋ…čρãĢčĄŒã‚ã‚Œã‚‹ãŽã‚’äŋŽæ­Ŗ 2025-03-20 12:02:50 +09:00
github-actions[bot]
d06fadd095 Bump version to 2025.3.2-beta.5 2025-03-20 00:06:04 +00:00
zyoshoka
9dd13f364b fix(backend): mismatch in emojis param of test WebHook payload (#15675)
* fix(backend): mismatch in `emojis` param of test WebHook payload

* fix: test

* fix: type
2025-03-20 09:00:58 +09:00
syuilo
b067d4dcd6 follow up of 7b323031b7 2025-03-20 08:59:54 +09:00
syuilo
acac759d87 fix(frontend): ãƒĸバイãƒĢãƒŦイã‚ĸã‚Ļト時ãĢホãƒŧムをæŠŧしãĻも最上部ぺクロãƒŧãƒĢされãĒい
Fix #15679
2025-03-20 08:35:45 +09:00
syuilo
b37622fa64 🎨 2025-03-19 20:54:07 +09:00
syuilo
c17a104de6 fix(frontend): router view stacking有劚時ãĢinstall-extensionsが動かãĒい 2025-03-19 20:53:48 +09:00
syuilo
4ab9f66356 Update deep-equal.ts 2025-03-19 20:32:15 +09:00
zyoshoka
aed95a765d chore(storybook): fix storybook build (#15678) 2025-03-19 10:52:05 +00:00
Sayamame-beans
71841e365e Enhance: 2æŽĩ階čĒč¨ŧ時ぎãƒĒã‚ĢバãƒĒãƒŧã‚ŗãƒŧãƒ‰ãŽãƒ•ã‚Ąã‚¤ãƒĢ名ãĢã‚ĩãƒŧバãƒŧURLをåĢめるようãĢ (#15677)
* enhance(frontend): include server hostname and port in 2fa recovery code filename

* chore(frontend): fix mistake(use `@` for indicate server hostname)

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-03-19 19:34:57 +09:00
github-actions[bot]
3b20279e20 Bump version to 2025.3.2-beta.4 2025-03-19 10:27:14 +00:00
Yuri Lee
21dc7aebe7 Fix: Don't delete remote emoji when import zip (#15674)
* Fix: Don't delete remote emoji when import zip

* Update packages/backend/src/queue/processors/ImportCustomEmojisProcessorService.ts

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2025-03-19 10:23:50 +00:00
syuilo
aff03708a7 New Crowdin updates (#15667)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)
2025-03-19 19:18:14 +09:00
syuilo
69ad3cf89b Update CHANGELOG.md 2025-03-19 19:17:33 +09:00
syuilo
7b323031b7 refactor(frontend): use useTemplateRef for DOM referencing 2025-03-19 18:46:03 +09:00
syuilo
81ac71f7e5 refactor(frontend): router refactoring 2025-03-19 18:06:22 +09:00
syuilo
2c76018b7f better import paths 2025-03-19 17:27:18 +09:00
syuilo
2dc2d2e4fe refactor 2025-03-19 16:04:01 +09:00
syuilo
409cd4fbd3 refactor(frontend): router refactoring 2025-03-19 15:54:30 +09:00
syuilo
7d4045e8b4 refactor(frontend): router refactoring 2025-03-19 15:24:56 +09:00
syuilo
bdc72e5817 clean up 2025-03-19 15:17:41 +09:00
syuilo
11378b17c5 🎨 2025-03-19 09:31:01 +09:00
syuilo
62bf0d53d3 🎨 2025-03-18 22:21:28 +09:00
syuilo
05391f59a5 enhance(frontend): improve StackingRouterView 2025-03-18 20:55:19 +09:00
syuilo
d609f41f61 🎨 2025-03-18 17:31:25 +09:00
syuilo
0a295e1bb0 🎨 2025-03-18 15:23:50 +09:00
syuilo
474155b677 follow up of 6c8f21b608 2025-03-17 13:27:47 +09:00
syuilo
6c8f21b608 fix(backend): é€Ŗåˆį„Ąã—ãƒĸãƒŧãƒ‰ã§ã‚‚å¤–éƒ¨ã‹ã‚‰į…§äŧšå¯čƒŊã ãŖãŸå•éĄŒã‚’äŋŽæ­Ŗ 2025-03-17 13:21:09 +09:00
ikasoba
7d5daa4b00 fix (#15671) 2025-03-17 03:40:10 +00:00
syuilo
1ce81f243e Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-16 19:04:16 +09:00
syuilo
a773f2976d refactor(frontend): signinRequired -> ensureSignin 2025-03-16 19:04:14 +09:00
github-actions[bot]
467c68fb98 Bump version to 2025.3.2-beta.3 2025-03-16 08:51:58 +00:00
syuilo
22b0ace8b4 enhance(frontend): 投į¨ŋフりãƒŧãƒ ãŽč¨­åŽšãƒĄãƒ‹ãƒĨãƒŧã‚’æ”šč‰¯ (攚)
This reverts commit a814395127.
2025-03-16 17:48:16 +09:00
syuilo
a814395127 Revert "enhance(frontend): 投į¨ŋフりãƒŧãƒ ãŽč¨­åŽšãƒĄãƒ‹ãƒĨãƒŧã‚’æ”šč‰¯ (#14804)"
This reverts commit ce6b2448ce.
2025-03-16 17:21:20 +09:00
syuilo
81a0cbd294 chore(frontend): use toast to show message when call copyToClipboard 2025-03-16 15:04:38 +09:00
syuilo
32844e4775 🎨 2025-03-16 14:56:27 +09:00
github-actions[bot]
fbd9f47182 Bump version to 2025.3.2-beta.2 2025-03-16 05:18:29 +00:00
syuilo
1c9e25470a refactor 2025-03-16 14:15:09 +09:00
ã‹ãŖã“ã‹ã‚Š
ce6b2448ce enhance(frontend): 投į¨ŋフりãƒŧãƒ ãŽč¨­åŽšãƒĄãƒ‹ãƒĨãƒŧã‚’æ”šč‰¯ (#14804)
* enhance(frontend): 投į¨ŋフりãƒŧãƒ ãŽč¨­åŽšãƒĄãƒ‹ãƒĨãƒŧã‚’æ”šč‰¯

* Update Changelog

* indent

* MkMenuぎitemを切りå‡ēしãĻå…ąé€šåŒ–

* remove unused expose

* fix: ドロワãƒŧãĒおぎOptionがåŊ“たらãĒã„å•éĄŒã‚’äŋŽæ­Ŗ

* äģ–ぎpopupMenuãŽé …į›Žé¸æŠžæ™‚ã¨æŒ™å‹•ã‚’ã‚ã‚ã›ã‚‹

* チãƒĨãƒŧトãƒĒã‚ĸãƒĢã§čŠ°ã‚€å•éĄŒã‚’äŋŽæ­Ŗ

* Revert "MkMenuぎitemを切りå‡ēしãĻå…ąé€šåŒ–"

This reverts commit ce3679798c.

* enhance: slotã§å…ąé€šåŒ–

* Update MkPostFormOtherMenu.vue

* remove duplicated locale key

* refactor: ãƒĄãƒ‹ãƒĨãƒŧãŽåŽšįžŠã‚’MkPostFormå´ã§čĄŒã†ã‚ˆã†ãĢ

* Update CHANGELOG.md

* [ci skip] Update MkPostFormOtherMenu.vue

* Update MkPostForm.vue

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-03-16 05:05:58 +00:00
syuilo
7d44b47fdf New Crowdin updates (#15662)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2025-03-16 13:59:22 +09:00
syuilo
dca42fd6e6 enhance(frontend): improve ux for touch devices 2025-03-16 13:59:08 +09:00
syuilo
43153311c6 🎨 2025-03-16 13:43:47 +09:00
syuilo
2b23c7e7f5 chore(frontend): remove duplicated warn 2025-03-16 13:30:08 +09:00
syuilo
2d4e85b466 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-16 13:03:04 +09:00
syuilo
7bfada9792 enhance: remove bull-board support 2025-03-16 13:03:02 +09:00
lqvp
4fef9c670a fix(i18n): 通įŸĨã‚ŋイプぎcreateTokenが抜けãĻいたぎをäŋŽæ­Ŗ (#15663) 2025-03-16 02:27:41 +00:00
syuilo
9599261fc3 fix(frontend): fix settings-search-index of webhook 2025-03-16 11:02:54 +09:00
syuilo
c2940fd77c enhance(frontend): improve usability on touch device 2025-03-16 10:58:06 +09:00
syuilo
2ddedd0ce6 refactor 2025-03-14 19:54:30 +09:00
syuilo
c88f5f5195 Update CHANGELOG.md 2025-03-14 17:00:02 +09:00
github-actions[bot]
30de6d80bb Bump version to 2025.3.2-beta.1 2025-03-14 07:39:14 +00:00
syuilo
63993dace6 fix(frontend): fix pref migration
Fix #15661
2025-03-14 16:37:25 +09:00
syuilo
0929410d36 enhance(frontend): improve pref manager 2025-03-14 15:43:56 +09:00
github-actions[bot]
96866d37cd Bump version to 2025.3.2-beta.0 2025-03-14 03:49:32 +00:00
syuilo
35b66276ff New Crowdin updates (#15621)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)
2025-03-14 12:09:38 +09:00
syuilo
daa16d184f 🎨 2025-03-14 11:58:41 +09:00
syuilo
833a232262 enhance(frontend): clear all client data when logout 2025-03-14 11:55:42 +09:00
github-actions[bot]
bcb891e4fd Bump version to 2025.3.2-alpha.11 2025-03-14 01:29:38 +00:00
syuilo
152660fcf2 enhance(frontend): re-organize settings page 2025-03-14 09:53:44 +09:00
syuilo
a1204f5e3e 🎨 2025-03-14 09:42:53 +09:00
ã‹ãŖã“ã‹ã‚Š
7acd3d1a88 fix(frontend): fix test 2025-03-13 22:32:26 +09:00
syuilo
8c9ec5827f enhance(frontend): improve accounts management 2025-03-13 22:12:23 +09:00
syuilo
44073736de enhance(frontend): improve preferences 2025-03-13 19:44:23 +09:00
syuilo
0126dba475 enhance(frontend): re-organize settings page 2025-03-13 19:30:35 +09:00
github-actions[bot]
3280a3d661 Bump version to 2025.3.2-alpha.10 2025-03-13 09:07:37 +00:00
syuilo
bdf80c49d8 fix(frontend): better migration detection
Fix #15656
2025-03-13 18:05:44 +09:00
syuilo
59169a6450 🎨 2025-03-13 17:42:35 +09:00
syuilo
5d228fb0f3 enhance(frontend): re-organize settings page 2025-03-13 17:39:53 +09:00
syuilo
10b67e1b3a enhance(frontend): improve emoji picker settings 2025-03-13 16:56:47 +09:00
syuilo
3ced310f77 refactor(frontend): organize use functions 2025-03-13 14:05:04 +09:00
syuilo
010ec113c2 refactor(frontend): cond -> scope 2025-03-13 13:45:23 +09:00
syuilo
30005ba959 enhance(frontend): tweak search index 2025-03-13 09:26:04 +09:00
syuilo
6b69588c03 enhance(frontend): improve deck setting page 2025-03-13 09:24:15 +09:00
syuilo
8593aa1418 refactor 2025-03-13 09:10:09 +09:00
syuilo
9876ff9a7a Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-13 09:07:25 +09:00
syuilo
ce6eba77d9 🎨 2025-03-13 09:07:22 +09:00
syuilo
9b2af53025 enhance(frontend): improve pref manager 2025-03-13 09:02:38 +09:00
syuilo
7b6ff19ea3 Update CHANGELOG.md 2025-03-12 21:49:23 +09:00
github-actions[bot]
c9fa95429a Bump version to 2025.3.2-alpha.9 2025-03-12 12:45:35 +00:00
éĨē子w (Yumechi)
e5d117dc98 fix(backend): tighten an overly relaxed criteria and remove capability of matching multiple final URLs in URL authority checking (#15655)
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-03-12 12:39:24 +00:00
syuilo
4a73feb041 enhance(frontend): make deck profiles syncable 2025-03-12 21:12:08 +09:00
syuilo
a06b9eefaa enhance(frontend): suppress needless confirmation when turn on pref sync 2025-03-12 21:05:39 +09:00
syuilo
3129fcf164 fix(frontend): fix type errors 2025-03-12 20:17:54 +09:00
syuilo
35a4544477 add todo 2025-03-12 18:54:36 +09:00
zyoshoka
aa1cc2f817 fix(storybook): use type-only imports in generated stories (#15654) 2025-03-12 16:51:10 +09:00
github-actions[bot]
15685be4cc Bump version to 2025.3.2-alpha.8 2025-03-12 06:10:35 +00:00
syuilo
8508c4dadc refactor 2025-03-12 15:07:45 +09:00
ã‹ãŖã“ã‹ã‚Š
e594fb0037 enhance(dev): frontendぎ検į´ĸã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šäŊœæˆã‚’単į‹ŦãŽã‚ŗãƒžãƒŗãƒ‰ã§čĄŒãˆã‚‹ã‚ˆã†ãĢ (#15653) 2025-03-12 14:37:57 +09:00
syuilo
a369721791 remove todo 2025-03-12 14:35:22 +09:00
syuilo
f8e244f48d enhance(frontend): ã‚ĸã‚Ģã‚Ļãƒŗãƒˆã‚ĒãƒŧバãƒŧãƒŠã‚¤ãƒ‰č¨­åŽšã¨ãƒ‡ãƒã‚¤ã‚šé–“åŒæœŸãŽäŊĩᔍãĢ寞åŋœ 2025-03-12 14:34:10 +09:00
syuilo
8410611512 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-12 13:04:44 +09:00
syuilo
caab1ec7c3 🎨 2025-03-12 13:04:41 +09:00
github-actions[bot]
ffade9740e Bump version to 2025.3.2-alpha.7 2025-03-12 03:03:37 +00:00
syuilo
b03bcf26cd enhance(frontend): č¨­åŽšå€¤ãŽåŒæœŸã‚’åŽŸčŖ…(åŽŸé¨“įš„) 2025-03-12 11:39:05 +09:00
syuilo
ddbc83b2e4 chore(frontend): tweak settings page 2025-03-11 20:42:06 +09:00
syuilo
d185785f20 enhance(frontend): improve settings page 2025-03-11 14:52:04 +09:00
syuilo
02d7fbefc4 🎨 2025-03-11 12:08:15 +09:00
syuilo
f7ea92c68c chore: remove unused files 2025-03-11 12:02:41 +09:00
syuilo
e891d5c5d3 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-11 11:44:34 +09:00
syuilo
57a6b630b7 chore: add note 2025-03-11 11:44:25 +09:00
1869 changed files with 144315 additions and 85939 deletions

2
.claude/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/settings.local.json
/.credentials.json

View File

@@ -0,0 +1,76 @@
# Third-Party Licenses (`.claude/`)
`.claude/` 配下ãĢ取りčžŧぞれãĻいるã‚ĩãƒŧドパãƒŧãƒ†ã‚Ŗį”ąæĨã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãŽãƒŠã‚¤ã‚ģãƒŗã‚šãƒģå‡ēå…¸æƒ…å ąã‚’ãžã¨ã‚ã‚‹ã€‚Misskey æœŦäŊ“は AGPL-3.0-only だが、æœŦãƒ‡ã‚ŖãƒŦクトãƒĒ内ãĢは MIT ナイã‚ģãƒŗã‚šãŽãƒ•ã‚Ąã‚¤ãƒĢがåĢぞれãĻã„ã‚‹ã€‚å„ãƒ•ã‚Ąã‚¤ãƒĢ冒頭ãĢも `SPDX-License-Identifier` とå‡ēå…¸ã‚ŗãƒĄãƒŗãƒˆã‚’äŊĩč¨˜ã—ãĻいる。
最įĩ‚æ›´æ–°: 2026-05-11
---
## 1. everything-claude-code (ECC)
- 上æĩãƒĒポジトãƒĒ: <https://github.com/affaan-m/everything-claude-code>
- 取りčžŧんだバãƒŧã‚¸ãƒ§ãƒŗ: v2.0.0-rc.1
- ナイã‚ģãƒŗã‚š: **MIT**
- Copyright: Copyright (c) 2026 Affaan Mustafa
### 取りčžŧã‚“ã ãƒ•ã‚Ąã‚¤ãƒĢ
| `.claude/` 内ぎパ゚ | 上æĩãƒ‘゚ | 上æĩ frontmatter `origin` | Misskey でぎ攚変 |
|---|---|---|---|
| `skills/context-budget/SKILL.md` | `skills/context-budget/SKILL.md` | ECC | description をæ—ĨæœŦčĒžåŒ–ã€Misskey å›ēæœ‰ãƒĄãƒĸをčŋŊ記 |
| `commands/harness-audit.md` | `commands/harness-audit.md` | ECC | scripts 䞝存ぎč‡Ēå‹•æŽĄį‚šã‚’ã€Claude が `pnpm`/`git`/`grep` ã§æ‰‹å‹•æŽĄį‚šã™ã‚‹į‰ˆãĢ書き換え。Misskey å›ēæœ‰ãŽčŠ•äžĄčģ¸ (SPDX / endpoint-list / migration / locales) をįĩ„ãŋčžŧãŋ |
| `commands/quality-gate.md` | `commands/quality-gate.md` | ECC | 言čĒžč‡Ē動判厚を排除し Misskey å›ē厚 pipeline (`pnpm` + tsgo + ESLint + Vitest) ãĢ。Prettier/Biome フェãƒŧã‚ēを削除 |
### MIT License (full text)
```
MIT License
Copyright (c) 2026 Affaan Mustafa
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
### 上æĩ LICENSE ãƒ•ã‚Ąã‚¤ãƒĢ
<https://github.com/affaan-m/everything-claude-code/blob/main/LICENSE>
---
## 2. AGPL ã‚ŗãƒŧドベãƒŧ゚とぎäē’æ›æ€§
Misskey æœŦäŊ“は **AGPL-3.0-only** で配布されãĻいるが、`.claude/` 配下ぎ MIT ナイã‚ģãƒŗã‚šãƒ•ã‚Ąã‚¤ãƒĢはそぎぞぞ MIT としãĻ掋しãĻいる。
- MIT は permissive ナイã‚ģãƒŗã‚šã§ã€AGPL をåĢむ copyleft ナイã‚ģãƒŗã‚šãŽãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆãĢ **取りčžŧãŋãƒģå†é…å¸ƒãŒč¨ąã•ã‚Œã‚‹**
- MIT がčĻæą‚ã™ã‚‹æĄäģļ (copyright notice + license text ぎäŋæŒ) をæœŦãƒ•ã‚Ąã‚¤ãƒĢ + å„ãƒ•ã‚Ąã‚¤ãƒĢ冒頭ぎ SPDX/å‡ēå…¸ã‚ŗãƒĄãƒŗãƒˆã§æē€ãŸã—ãĻいる
- Misskey 全äŊ“ãŽé…å¸ƒį‰Šã¨ã—ãĻは AGPL-3.0-only ã§æ‰ąã‚ã‚Œã‚‹ãŒã€`.claude/` 配下ぎ MIT ãƒ•ã‚Ąã‚¤ãƒĢは個åˆĨãĢ MIT としãĻ識åˆĨ可čƒŊ
`.ts` / `.js` / `.vue` / `.scss` ぎ SPDX įžŠå‹™åŒ– ([AGENTS.md §1](../AGENTS.md#1-spdx-ヘッダãƒŧåŋ…é ˆ)) は Misskey æœŦäŊ“ã‚ŗãƒŧド向けで、`.claude/` 配下ぎ `.md` / `.sh` ãĢã¯éŠį”¨ã•ã‚ŒãĒい。
---
## 3. 新čĻčŋŊ加時ぎ手順
`.claude/` ãĢ新たãĢã‚ĩãƒŧドパãƒŧãƒ†ã‚Ŗį”ąæĨãŽãƒ•ã‚Ąã‚¤ãƒĢを取りčžŧむ際は:
1. ナイã‚ģãƒŗã‚šã‚’įĸēčĒ (äē’æ›æ€§: MIT / Apache-2.0 / BSD は OK、GPL/AGPL はčρᛏč̇)
2. å„ãƒ•ã‚Ąã‚¤ãƒĢ冒頭ãĢ SPDX ヘッダ + å‡ēå…¸ã‚ŗãƒĄãƒŗãƒˆã‚’čŋŊ加
3. æœŦãƒ•ã‚Ąã‚¤ãƒĢ §1 ぎテãƒŧブãƒĢãĢ 1 行čŋŊ記
4. åŋ…čρãĒら新しいã‚ģã‚¯ã‚ˇãƒ§ãƒŗã§ãƒŠã‚¤ã‚ģãƒŗã‚šå…¨æ–‡ã‚’åŒæĸą
5. AGENTS.md ã‹ã‚‰ãŽå‚į…§ã‚’įĸēčĒ (įžįŠļぎ [AGENTS.md §ツãƒŧãƒĢå›ēæœ‰ãŽčŖœåŠŠãƒ•ã‚Ąã‚¤ãƒĢ](../AGENTS.md) で `THIRD_PARTY_LICENSES.md` ã‚’æĄˆå†…æ¸ˆã€‚CLAUDE.md は `@AGENTS.md` įĩŒį”ąã§čĒ­ãŋčžŧむぎで個åˆĨぎčŋŊč¨˜ã¯ä¸čρ)

23
.claude/agents/README.md Normal file
View File

@@ -0,0 +1,23 @@
# `.claude/agents/` — プロジェクトå›ē有ぎã‚ĩブエãƒŧã‚¸ã‚§ãƒŗãƒˆ
Misskey ãŽį‰šåŽšé ˜åŸŸãĢį‰šåŒ–ã—ãŸãƒŦビãƒĨãƒŧ / čĒŋæŸģエãƒŧã‚¸ã‚§ãƒŗãƒˆã‚’ `.claude/agents/<name>.md` åŊĸåŧã§é…įŊŽã™ã‚‹ã€‚
frontmatter (`name` + `description` + `tools`) は、Claude が **č‡Ē動でエãƒŧã‚¸ã‚§ãƒŗãƒˆã‚’å‘ŧãŗå‡ēすか判断する** 唯一ぎ手がかりãĢãĒる。`description` ãĢã¯į”¨é€”ã‚’å…ˇäŊ“įš„ã‹ã¤įļ˛įž…įš„ãĢ書くこと (å‹•čŠž + å¯žčąĄ + トãƒĒã‚ŦãƒŧæĄäģļ)。
## åŽŸčŖ…æ¸ˆã‚ĩブエãƒŧã‚¸ã‚§ãƒŗãƒˆ
| エãƒŧã‚¸ã‚§ãƒŗãƒˆå | åŊšå‰˛ | å„Ē先åēĻ |
|---|---|---|
| [misskey-api-reviewer](misskey-api-reviewer.md) | NestJS DI + meta/paramDef + UUID 重複 + endpoint-list.ts į™ģ錞 + ApiError throw + misskey-js å†į”Ÿæˆ + e2e + CHANGELOG をチェック | é̘ (į™ģ錞æŧã‚Œã§ 404 / autogen CI čŊãĄé ģį™ē) |
| [vue-component-reviewer](vue-component-reviewer.md) | Mk\* å‘Ŋ名 / `<script lang="ts" setup>` / type-only defineProps / SCSS module / CSS 変数 / i18n.ts と i18n.tsx ぎäŊŋい分け / os.\* įĩŒį”ą / a11y / `*.stories.impl.ts` äŊĩč¨­ã‚’ãƒã‚§ãƒƒã‚¯ | 中 (CI į›´æ’ƒã¯ SPDX / locales įˇ¨é›†é•åãŽãŋ。äģ–ã¯åŽŸåŽŗãŒå‡ēãĻから検å‡ēã•ã‚Œã‚‹ã‚ąãƒŧ゚が多く API ãģãŠãŽåŗæ­ģ性はãĒい) |
č¨­č¨ˆæ–šé‡: `tools` ã‚’įˇ¨é›†æ¨Šé™ãĒし (Edit/Write ã‚’æ¸Ąã•ãĒい) ãĢįĩžã‚Šã€PR baseline (`git merge-base origin/develop HEAD`) ã¨ãŽåˇŽåˆ†ã‹ã‚‰č‡Ēå‹•įš„ãĢãƒŦビãƒĨãƒŧå¯žčąĄã‚’æŠŊå‡ēする。
## 新čĻã‚¨ãƒŧã‚¸ã‚§ãƒŗãƒˆã‚’čŋŊ加する場合
- `.claude/agents/<name>.md` ãĢ YAML frontmatter (`name` / `description` / `tools`) とæœŦ文 Markdown を書く。
- `description` はå‘ŧãŗå‡ēし判断ãĢäŊŋã‚ã‚Œã‚‹ãŸã‚ã€å¯žčąĄãƒ‰ãƒĄã‚¤ãƒŗãƒģä¸ģčĻãƒã‚§ãƒƒã‚¯é …į›ŽãƒģトãƒĒã‚ŦãƒŧæĄäģļを **å…ˇäŊ“įš„ãĢ** 列挙する。
- ãƒŦビãƒĨãƒŧ専門ãĒら `tools: Read, Grep, Glob, Bash` ãĢįĩžã‚‹ (Edit/Write ã‚’æ¸Ąã•ãĒい)。**`Bash` はäģģæ„ãŽã‚ˇã‚§ãƒĢã‚ŗãƒžãƒŗãƒ‰ã‚’åŽŸčĄŒã§ãã‚‹åŧˇåŠ›ãĒæ¨Šé™ã§ã‚ã‚‹į‚šãĢæŗ¨æ„**: ãƒŦビãƒĨãƒŧį”¨é€”ã§ã¯ `git diff` / `git ls-files` / `grep` / `sed` į­‰ãŽ **čĒ­ãŋ取りįŗģã‚ŗãƒžãƒŗãƒ‰ãĢ限厚しãĻäŊŋう** こと。書きčžŧãŋãƒģ削除ãƒģネットワãƒŧク送äŋĄã‚’äŧ´ã†æ“äŊœã¯æœŦ文中ぎ䞋į¤ēãƒģ指į¤ēãĢåĢめãĒいこと (エãƒŧã‚¸ã‚§ãƒŗãƒˆæœŦ文がã‚ŦãƒŧドãƒŦãƒŧãƒĢãĢãĒる)。
- ä¸ģčĻå‚į…§ãƒ•ã‚Ąã‚¤ãƒĢへぎãƒĒãƒŗã‚¯ã¯ã€ãƒĒポジトãƒĒãƒĢãƒŧãƒˆã‹ã‚‰ãŽį›¸å¯žãƒ‘ã‚š (例: `../../packages/backend/...`) でč˛ŧる。įĩļ寞パ゚は contributor ぎホãƒŧãƒ ãƒ‡ã‚ŖãƒŦクトãƒĒ䞝存ãĢãĒるぎでäŊŋわãĒい。
- åˇŽåˆ†æŠŊå‡ēは `git merge-base origin/develop HEAD` を baseline ãĢする (PR / ãƒ–ãƒŠãƒŗãƒå…¨äŊ“ã‚’čĻ‹ã‚‹ãŸã‚)。`git diff HEAD` 単äŊ“は **æœĒã‚ŗãƒŸãƒƒãƒˆåˇŽåˆ†ã—ã‹å–ã‚Œãšã€ã‚ŗãƒŸãƒƒãƒˆæ¸ˆãŽ PR ではįŠēãĢãĒãŖãĻčĒ¤åˆ¤åŽšã™ã‚‹** ぎでäŊŋわãĒい。
- 厌成したらこぎ README ãŽčĄ¨ãĢも 1 行čŋŊ加する。

View File

@@ -0,0 +1,167 @@
---
name: misskey-api-reviewer
description: Misskey ぎ API ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆ (packages/backend/src/server/api/endpoints/) ぎčŋŊ加ãƒģ変更を専門ãƒŦビãƒĨãƒŧする。SPDX / meta / paramDef / UUID 重複 / endpoint-list.ts į™ģ錞 / ApiError throw / misskey-js å†į”Ÿæˆ / e2e / CHANGELOG を抟æĸ°įš„ãĢãƒã‚§ãƒƒã‚¯ã€‚ãƒãƒƒã‚¯ã‚¨ãƒŗãƒ‰ API をčŋŊ加ãƒģ変更した PR ãƒŦビãƒĨãƒŧでå‘ŧãŗå‡ēす。
tools: Read, Grep, Glob, Bash
---
# Misskey API ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆãƒŦビãƒĨã‚ĸãƒŧ
Misskey ãƒãƒƒã‚¯ã‚¨ãƒŗãƒ‰ (`packages/backend`) ぎ REST API ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆčŋŊ加ãƒģ変更 PR を抟æĸ°įš„ãĢãƒŦビãƒĨãƒŧする専門エãƒŧã‚¸ã‚§ãƒŗãƒˆã€‚čĻį´„ãŽæ šæ‹ ã¯ [.claude/skills/add-api-endpoint/SKILL.md](../skills/add-api-endpoint/SKILL.md)。
## åŊšå‰˛
`packages/backend/src/server/api/endpoints/` 配下ぎ `.ts` å¤‰æ›´ã‚’å¯žčąĄãĢ、čĻį´„é€¸č„ąãƒģį™ģ錞æŧã‚Œãƒģ型č‡Ēå‹•į”Ÿæˆæŧã‚Œãƒģテ゚ト不čļŗã‚’æŠŊå‡ēã™ã‚‹ã€‚č‰¯ã„į‚šãĢはč§Ļれず、攚善がåŋ…čρãĒįŽ‡æ‰€ãŽãŋå ąå‘Šã™ã‚‹ã€‚
## ãƒŦビãƒĨãƒŧå¯žčąĄãŽį‰šåŽš
å‘ŧãŗå‡ēし元から明į¤ēįš„ãĢãƒ•ã‚Ąã‚¤ãƒĢãŒæ¸Ąã•ã‚ŒãŸã‚‰ãã‚Œã‚’å„Ēå…ˆã™ã‚‹ã€‚æ¸Ąã•ã‚ŒãĒã‹ãŖãŸå ´åˆã¯ **PR / ãƒ–ãƒŠãƒŗãƒå…¨äŊ“ãŽåˇŽåˆ†** を取垗する (æœĒã‚ŗãƒŸãƒƒãƒˆåˇŽåˆ†ãŽãŋではãĒいことãĢæŗ¨æ„)。
```bash
BASE=$(git merge-base origin/develop HEAD)
{ git diff --name-only "$BASE"...HEAD; git diff --name-only HEAD; git ls-files --others --exclude-standard; } \
| sort -u \
| grep -E '^packages/backend/src/server/api/endpoints/.*\.ts$'
```
`origin/develop` ãŒį„Ąã„į’°åĸƒã§ã¯ `develop` ぞたは `master` ãĢフりãƒŧãƒĢバックする。
加えãĻäģĨ下も同じ baseline ã§åˇŽåˆ†å¯žčąĄãĢåĢめる:
- `packages/backend/src/server/api/endpoint-list.ts`
- `packages/backend/test/e2e/**` (とくãĢ `endpoints.ts` と `<area>.ts`)
- `packages/misskey-js/src/autogen/**`
- `CHANGELOG.md`
åˇŽåˆ†å¯žčąĄãŒįŠēãĒら「ãƒŦビãƒĨãƒŧå¯žčąĄãŽ API ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆå¤‰æ›´ãĒã—ã€ã¨įŸ­ãå ąå‘Šã—ãĻįĩ‚äē†ã€‚
## チェックãƒĒ゚ト
### 1. SPDX ヘッダãƒŧ (Critical)
新čĻ `.ts` ãƒ•ã‚Ąã‚¤ãƒĢ冒頭ãĢäģĨ下があるか:
```
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
```
æŦ čŊすると CI ぎ `spdx` ジョブがčŊãĄã‚‹ã€‚
### 2. `meta` ぎåŋ…é ˆãƒģ推åĨ¨ãƒ•ã‚ŖãƒŧãƒĢド (Major)
[endpoints.ts ãŽåž‹åŽšįžŠ](../../packages/backend/src/server/api/endpoints.ts) ã‚’įœŸã¨ã™ã‚‹ã€‚
- `tags`: OpenAPI ã‚ŋグ (抟čƒŊ領域)。
- `requireCredential`: 明į¤ēåŋ…é ˆ (boolean)。
- `kind`: OAuth scope。`requireCredential: true` ぎときåŋ…é ˆ (`read:account` / `write:notes` į­‰)。
- `requireModerator` / `requireAdmin`: 樊限åˆļ限がčĻã‚‹ã‹ã€‚
- `prohibitMoved`: į§ģčĄŒæ¸ˆã‚ĸã‚Ģã‚Ļãƒŗãƒˆã‚’æ‹’åĻするか (write įŗģでčĻæ¤œč¨Ž)。
- `limit`: ãƒŦãƒŧトåˆļ限 `{ duration, max, key?, minInterval? }`。書きčžŧãŋįŗģ / ã‚ŗã‚šãƒˆéĢ˜ã„å‡Ļį†ã§æœĒ指厚ãĒら指摘。
- `errors`: エナãƒŧåŽšįžŠã€‚å„čρᴠãĢ `message` / `code` / `id` (UUID v4) ãŒæƒãŖãĻいるか。
- `res`: JSON Schema ぞたは `ref: '<EntityName>'`ã€‚å„ãƒ—ãƒ­ãƒ‘ãƒ†ã‚ŖãĢ `optional` / `nullable` が **明į¤ē** されãĻいるか。
- `requireFile` / `secure` / `allowGet` / `cacheSec` / `description`: 芲åŊ“ã™ã‚‹ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆã§äŊŋい分けãĻいるか。
### 3. `meta.errors` ぎ UUID 検č¨ŧ (Critical)
各 `errors[*].id` が:
1. UUID v4 åŊĸåŧ (`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`) か
2. æ—ĸå­˜ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆãŽ `id` ã¨é‡č¤‡ã—ãĻいãĒいか
é‡č¤‡æ¤œæŸģ:
```bash
grep -rn "id: '<į”Ÿæˆã•ã‚ŒãŸ UUID>'" packages/backend/src/server/api/endpoints/
```
新čĻã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆãŽå…¨ `id` をæŠŊå‡ēしãĻ衝įĒã‚’įĸēčĒã™ã‚‹ã€‚
### 4. `paramDef` (Major)
- JSON Schema åŊĸåŧ (`type: 'object'`, `properties`, `required`)
- ID 文字列は `format: 'misskey:id'`
- `required` 配列でåŋ…é ˆãƒ—ãƒ­ãƒ‘ãƒ†ã‚Ŗã‚’æ˜Žį¤ē
- `as const` ぞたは `as const satisfies Schema` で型推čĢ–ã‚’åŠšã‹ã›ã‚‹ (æ—ĸå­˜åŽŸčŖ…ã¯å‰č€…å¤šæ•°ã€‚`as const` č‡ĒäŊ“ãŒį„Ąã `Schema` åž‹æŗ¨é‡ˆã‚‚ãĒい場合ぎãŋ指摘)
### 5. ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆåŽŸčŖ…æœŦäŊ“ (Major)
- `Endpoint<typeof meta, typeof paramDef>` をį‰ŋしãĻいるか。
- `@Injectable()` ãƒ‡ã‚ŗãƒŦãƒŧã‚ŋ + `export default class` åŊĸåŧã‹ (`// eslint-disable-line import/no-default-export` がåŋ…čρ)。
- DI は `@Inject(DI.xxx)` åŊĸåŧã‹ã€‚
- **クナイã‚ĸãƒŗãƒˆãĢčŋ”すずき API エナãƒŧは `throw new ApiError(meta.errors.<key>)`** ([error.ts](../../packages/backend/src/server/api/error.ts) å‚į…§)。`meta.errors` ã§åŽšįžŠã—ãŸã‚¨ãƒŠãƒŧã‚ąãƒŧ゚を `throw new Error(...)` で投げãĻいるãĒら指摘する。
- é˜˛åžĄįš„ã‚ĸã‚ĩãƒŧã‚ˇãƒ§ãƒŗãƒģ「čĩˇãã‚‹ã¯ãšãŒãĒい」内部不整合ãƒģãƒ†ã‚šãƒˆį”¨ ENV ã‚Ŧãƒŧãƒ‰į­‰ãŽ **æƒŗåŽšå¤–ãƒ•ã‚§ã‚¤ãƒĢãƒ•ã‚Ąã‚šãƒˆ** は `throw new Error('...')` で構わãĒい。æ—ĸå­˜åŽŸčŖ…ã§ã‚‚ `admin/reset-password.ts` ãĒãŠãŒæŽĄį”¨ã—ãĻいるパã‚ŋãƒŧãƒŗ (例: `cannot reset password of root`)。`meta.errors` ãĢ寞åŋœãŒãĒい `throw new Error` を一型で指摘しãĒい。
- 同期 `throw` ã¯č¨ąåŽšã€‚éžåŒæœŸå‡Ļį†ã§ãŽäž‹å¤–äŧæŦをįĸēčĒã™ã‚‹ã€‚
### 6. ★ `endpoint-list.ts` へぎį™ģ錞 (Critical)
最もåŋ˜ã‚Œã‚„すい。**åŋ˜ã‚Œã‚‹ã¨ 404**。[endpoint-list.ts](../../packages/backend/src/server/api/endpoint-list.ts) ãĢ 1 行čŋŊ加されãĻいるか:
```ts
export * as '<category>/<name>' from './endpoints/<category>/<name>.js';
```
新čĻã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆã‚’æŠŊå‡ēし、各々が `endpoint-list.ts` ãĢ存在するか grep でįĸēčĒã™ã‚‹:
```bash
grep -F "'<category>/<name>'" packages/backend/src/server/api/endpoint-list.ts
```
**ä¸Ļãŗé †ãŽčŖœčļŗ**: ãƒ•ã‚Ąã‚¤ãƒĢ全äŊ“ã¯åŽŗå¯†ãĒã‚ĸãƒĢãƒ•ã‚Ąãƒ™ãƒƒãƒˆé †ã§ã¯ä¸Ļんでおらず、同ã‚ĢテゴãƒĒ内 (`admin/queue/*` ãĒお) でもčŋŊ加されたįĩŒįˇ¯ãŠãŠã‚ŠãŽé †ãĢãĒãŖãĻã„ã‚‹įŽ‡æ‰€ãŒå¤šã„ã€‚**順åēé€¸č„ąã¯æŒ‡æ‘˜æ šæ‹ ãĢしãĒい** (čĒ¤æ¤œįŸĨぎ元)ã€‚ã€ŒčĄŒãŒå­˜åœ¨ã™ã‚‹ã‹ã€ãŽãŋを Critical čĻŗį‚šã¨ã—ãĻæ‰ąã†ã€‚
### 7. `misskey-js` å†į”Ÿæˆ (Critical)
`meta` / `paramDef` / `res` を変更したら、PR / ãƒ–ãƒŠãƒŗãƒãĢ `packages/misskey-js/src/autogen/` é…ä¸‹ãŽåˇŽåˆ†ãŒåĢぞれãĻいるかįĸēčĒã™ã‚‹:
```bash
BASE=$(git merge-base origin/develop HEAD)
git diff --name-only "$BASE"...HEAD -- packages/misskey-js/src/autogen/
```
åˇŽåˆ†ã‚ŧロãĒら `pnpm build-misskey-js-with-types` ãŽåŽŸčĄŒæŧã‚Œã€‚CI ぎ `check-misskey-js-autogen` ジョブでåŋ…ずčŊãĄã‚‹ãŸã‚ Critical æ‰ąã„ã€‚
### 8. e2e テ゚ト (Major)
[test/e2e/endpoints.ts](../../packages/backend/test/e2e/endpoints.ts) ぞたは `test/e2e/<area>.ts` (`note.ts`, `users.ts` į­‰) 配下ãĢ、寞åŋœã™ã‚‹ `api('<category>/<name>', ...)` å‘ŧãŗå‡ēしをåĢむ `test(...)` ã‚ąãƒŧ゚がčŋŊ加されãĻいるかįĸēčĒã™ã‚‹ã€‚č¤‡é›‘ãĒåˆ†å˛ (樊限チェックãƒģエナãƒŧã‚ąãƒŧ゚) ぎįļ˛įž…ã‚‚įĸēčĒã™ã‚‹ã€‚
**describe ナベãƒĢぎåŊĸåŧã¯å•ã‚ãĒい**: æ—ĸ存テ゚トは `describe('Note', () => { test('投į¨ŋできる', ...) })` ぎようãĢäēē間可čĒ­ãƒŠãƒ™ãƒĢで構造化されãĻおり、`<category>/<name>` åŊĸåŧãŽ describe はäŊŋわれãĻいãĒい。describe 名ぎčĻį´„é•åã¨ã—ãĻは指摘しãĒい。
### 9. CHANGELOG ã‚¨ãƒŗãƒˆãƒĒ (Minor)
ãƒĻãƒŧã‚ļãƒŧåŊąéŸŋがある (æ–°ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆ / æ—ĸ存挙動変更) 場合、`CHANGELOG.md` ぎ `## Unreleased` → `### Server` ãĢ 1 行čŋŊ加されãĻいるかįĸēčĒã™ã‚‹ã€‚
```
- Feat: /api/<category>/<name> をčŋŊ加
```
ᴔឋãĒ内部ãƒĒãƒ•ã‚Ąã‚¯ã‚ŋãĒら不čĻã€‚
## å‡ē力åŊĸåŧ
å„Ē先åēĻåˆĨãĢäģĨ下ぎフりãƒŧマットでå‡ē力する。
```
## 🔴 Critical
- packages/backend/src/server/api/endpoints/foo/bar.ts:23
meta.errors.fooError.id が UUID v4 åŊĸåŧã§ã¯ãĒい (原値: 'xxx-xxx')。
`node -e "console.log(crypto.randomUUID())"` ã§å†į”Ÿæˆã™ã‚‹ã“ã¨ã€‚
## 🟡 Major
- ...
## đŸ”ĩ Minor
- ...
```
å•éĄŒãŽãĒã„ãƒã‚§ãƒƒã‚¯é …į›ŽãĢはč§ĻれãĒã„ã€‚å…¨é …į›Žã‚¯ãƒĒã‚ĸãĒら `✅ ãƒŦビãƒĨãƒŧčĻŗį‚šä¸ŠãŽæŒ‡æ‘˜ãĒし` ã¨įŸ­ãčŋ”す。
## å‚į…§
- [.claude/skills/add-api-endpoint/SKILL.md](../skills/add-api-endpoint/SKILL.md) — åŽŸčŖ…å´ãŽčĻį´„ (æœŦエãƒŧã‚¸ã‚§ãƒŗãƒˆãŽæ šæ‹ )
- [endpoints.ts (meta/paramDef åž‹åŽšįžŠ)](../../packages/backend/src/server/api/endpoints.ts)
- [endpoint-list.ts (★ į™ģéŒ˛å…ˆ)](../../packages/backend/src/server/api/endpoint-list.ts)
- [endpoint-base.ts (Endpoint åŸēåē•クナ゚)](../../packages/backend/src/server/api/endpoint-base.ts)
- [error.ts (ApiError)](../../packages/backend/src/server/api/error.ts)
- [test/e2e/endpoints.ts](../../packages/backend/test/e2e/endpoints.ts)
- [AGENTS.md](../../AGENTS.md) — SPDX / マイグãƒŦãƒŧã‚ˇãƒ§ãƒŗåąĨæ­´ / CHANGELOG 書åŧãĒおぎ最äŊŽé™ãƒĢãƒŧãƒĢ (Codex / Copilot ã¨å…ąé€š)

View File

@@ -0,0 +1,176 @@
---
name: vue-component-reviewer
description: Misskey ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ (packages/frontend/src/components/ / pages/) ぎ Vue 3 SFC 変更を専門ãƒŦビãƒĨãƒŧする。SPDX (HTML ã‚ŗãƒĄãƒŗãƒˆ) / Mk* å‘Ŋ名 / <script lang="ts" setup> / type-only defineProps / <style lang="scss" module> / CSS 変数 / i18n.ts と i18n.tsx ぎäŊŋい分け / os.* įĩŒį”ą / a11y / Storybook (*.stories.impl.ts) を抟æĸ°įš„ãĢãƒã‚§ãƒƒã‚¯ã€‚ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽ .vue 変更をåĢむ PR ãƒŦビãƒĨãƒŧでå‘ŧãŗå‡ēす。
tools: Read, Grep, Glob, Bash
---
# Misskey Vue ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãƒŦビãƒĨã‚ĸãƒŧ
Misskey ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ (`packages/frontend`) ぎ Vue 3 SFC 変更を抟æĸ°įš„ãĢãƒŦビãƒĨãƒŧする専門エãƒŧã‚¸ã‚§ãƒŗãƒˆã€‚čĻį´„ãŽæ šæ‹ ã¯ [.claude/skills/add-mk-component/SKILL.md](../skills/add-mk-component/SKILL.md)。
## åŊšå‰˛
`packages/frontend/src/components/` ãŠã‚ˆãŗ `packages/frontend/src/pages/` 配下ぎ `.vue` å¤‰æ›´ã‚’å¯žčąĄãĢ、å‘Ŋ名ãƒģi18nãƒģ゚ã‚ŋイãƒĢãƒģã‚ĸクã‚ģã‚ˇãƒ“ãƒĒãƒ†ã‚ŖãƒģStorybook äŊĩč¨­ãŽčĻį´„é€¸č„ąã‚’æŠŊå‡ēã™ã‚‹ã€‚č‰¯ã„į‚šãĢはč§Ļれず、攚善がåŋ…čρãĒįŽ‡æ‰€ãŽãŋå ąå‘Šã™ã‚‹ã€‚
## ãƒŦビãƒĨãƒŧå¯žčąĄãŽį‰šåŽš
å‘ŧãŗå‡ēし元から明į¤ēįš„ãĢãƒ•ã‚Ąã‚¤ãƒĢãŒæ¸Ąã•ã‚ŒãŸã‚‰ãã‚Œã‚’å„Ēå…ˆã™ã‚‹ã€‚æ¸Ąã•ã‚ŒãĒã‹ãŖãŸå ´åˆã¯ **PR / ãƒ–ãƒŠãƒŗãƒå…¨äŊ“ãŽåˇŽåˆ†** を取垗する (æœĒã‚ŗãƒŸãƒƒãƒˆåˇŽåˆ†ãŽãŋではãĒいことãĢæŗ¨æ„)。
```bash
BASE=$(git merge-base origin/develop HEAD)
{ git diff --name-only "$BASE"...HEAD; git diff --name-only HEAD; git ls-files --others --exclude-standard; } \
| sort -u \
| grep -E '^packages/frontend/src/.*\.vue$'
```
`origin/develop` ãŒį„Ąã„į’°åĸƒã§ã¯ `develop` ぞたは `master` ãĢフりãƒŧãƒĢバックする。
`.ts` を一型でåĢめるとæœŦエãƒŧã‚¸ã‚§ãƒŗãƒˆãŽåŽˆå‚™į¯„å›˛å¤– (composable / store / service åą¤) ぞでåˇģきčžŧんでčĒ¤æ¤œįŸĨがåĸ—ãˆã‚‹ãŸã‚ã€å¯žčąĄã¯ `.vue` ぎãŋとし、Storybook äŊĩč¨­ãƒã‚§ãƒƒã‚¯ãŽãŸã‚ãĢäģĨ下を **åˆĨãƒĒ゚ト** としãĻčŋŊ加する:
- `locales/*.yml` (とくãĢ `ja-JP.yml` äģĨå¤–ãŽå¤‰æ›´ã¯åŗ Critical)
- `packages/frontend/src/components/**/*.stories.impl.ts`
- `CHANGELOG.md`
åˇŽåˆ†å¯žčąĄãŒįŠēãĒら「ãƒŦビãƒĨãƒŧå¯žčąĄãŽ Vue ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆå¤‰æ›´ãĒã—ã€ã¨įŸ­ãå ąå‘Šã—ãĻįĩ‚äē†ã€‚
## チェックãƒĒ゚ト
### 1. SPDX ヘッダãƒŧ (Critical)
`.vue` ãƒ•ã‚Ąã‚¤ãƒĢ冒頭は **HTML ã‚ŗãƒĄãƒŗãƒˆåŊĸåŧ** でåŋ…é ˆ:
```html
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
```
`/* ... */` (TS åŊĸåŧ) はįρæ­ĸ。æ—ĸ存 SFC ãŽæ…Ŗįŋ’ãƒģSFC 先頭としãĻč‡Ēį„ļãĒåŊĸåŧãĢįĩąä¸€ã™ã‚‹ãŸã‚ (CI ぎ `spdx` ã‚¸ãƒ§ãƒ–ã¯ã‚ŗãƒĄãƒŗãƒˆåŊĸåŧã§ã¯ãĒく SPDX æ–‡å­—åˆ—ãŽæœ‰į„ĄãŽãŋを検æŸģするため、åŊĸåŧãŒé•ãŖãĻも CI は通るが、čĻį´„é•åã¨ã—ãĻ指摘する)。
### 2. å‘Ŋ名čĻį´„ (Major)
- å…ąæœ‰ / å†åˆŠį”¨ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆ (`packages/frontend/src/components/` 配下、ã‚ĩãƒ–ãƒ‡ã‚ŖãƒŦクトãƒĒåĢむ) は `Mk` プãƒŦãƒ•ã‚Ŗãƒƒã‚¯ã‚šåŋ…é ˆ (例: `MkButton.vue`, `global/MkAvatar.vue`, `grid/MkGrid.vue`)。
- ペãƒŧジå›ē有ぎもぎは `pages/` 配下ãĢįŊŽãã€`Mk` プãƒŦãƒ•ã‚Ŗãƒƒã‚¯ã‚šã¯ä¸čĻã€‚
> `<script setup>` SFC は named export を持たãĒã„ãŸã‚ã€ã€Œãƒ•ã‚Ąã‚¤ãƒĢ名と export åãŽä¸€č‡´ã€ã‚’æŠŸæĸ°įš„ãĢ検æŸģすることはできãĒい。SFC ぎデフりãƒĢトエク゚ポãƒŧãƒˆã¯ã‚ŗãƒŗãƒ‘ã‚¤ãƒŠį”ŸæˆãĒãŽã§ã€ãƒ•ã‚Ąã‚¤ãƒĢ名čĻį´„ãŽãŋをåŸēæē–ãĢする。
### 3. `<script>` ã‚ŋグ (Major)
- `<script lang="ts" setup>` ぞたは `<script setup lang="ts">` ãŽãŠãĄã‚‰ã§ã‚‚ã‚ˆã„ (æ—ĸå­˜ã‚ŗãƒŧãƒ‰ã¯å¤šæ•°æ´žãŒå‰č€…ã ãŒã€åžŒč€…ã‚‚ `MkThemePreview.vue` į­‰ã§äŊŋわれãĻいる)ã€‚åąžæ€§é †ã¯æŒ‡æ‘˜ã—ãĒい。`lang="ts"` が **į„Ąã„** もぎは指摘する。
- 型ジェネãƒĒックがåŋ…čρãĒら `generic="T extends ..."` åąžæ€§ã‚’åŠ ãˆã‚‹ (順åēå•ã‚ãš)。
- `defineProps<{ ... }>()` / `defineEmits<{ ... }>()` は **type-only** åŊĸåŧã€‚runtime ぎ object åŊĸåŧ (`defineProps({ ... })`) はäŊŋわãĒい。
- Options API (`export default { data() { ... } }`) はįρæ­ĸ。
### 4. i18n ぎäŊŋい分け (Critical)
- 文字列ãƒĒテナãƒĢãŽį›´æ›¸ãįρæ­ĸ (ãƒ†ãƒŗãƒ—ãƒŦãƒŧト / JS ä¸Ąæ–š)。
- åŧ•æ•°ãĒし: `i18n.ts.<path>` (例: `i18n.ts.deleted`)。
- åŧ•数あり: `i18n.tsx.<path>(...)` (é–ĸ数å‘ŧãŗå‡ēし、䞋: `i18n.tsx.takeOverConfirm({ name })`)。
- 新čĻ i18n キãƒŧは `locales/ja-JP.yml` **ぎãŋ** ãĢčŋŊ加。
- **`locales/ja-JP.yml` äģĨ外ぎ `.yml` å¤‰æ›´ãŒã‚ã‚Œã°åŗ Critical** (`en-US.yml` į­‰ã¯ Crowdin č‡Ē動配äŋĄå…ˆã§ã€æ‰‹å‹•įˇ¨é›†ã™ã‚‹ã¨ä¸Šæ›¸ãå–Ēå¤ąã™ã‚‹)。
åˇŽåˆ†æ¤œå‡ē:
```bash
BASE=$(git merge-base origin/develop HEAD)
git diff --name-only "$BASE"...HEAD -- 'locales/*.yml' | grep -v 'ja-JP.yml'
```
### 5. ゚ã‚ŋイãƒĢ (Major)
- `<style lang="scss" module>` をæ—ĸ厚とし、`:class="$style.foo"` ã§å‚į…§ã™ã‚‹ã€‚
- 新čĻã§ `<style scoped>` (module ãĒし) はäŊŋわãĒい (legacy)。
- **CSS 変数ぎäŊŋᔍåŋ…é ˆ** (色ãƒģäŊ™į™Ŋãƒģ角丸ãĒお):
- テãƒŧãƒžč‰˛: `var(--MI_THEME-*)` (例: `var(--MI_THEME-panel)`)
- UI å…ąé€š: `var(--MI-*)` (例: `var(--MI-radius)`)
- į›´æŽĨぎ `#fff` / `rgb(...)` / `rgba(...)` ハãƒŧãƒ‰ã‚ŗãƒŧドはįρæ­ĸ
ハãƒŧãƒ‰ã‚ŗãƒŧド検å‡ē:
```bash
BASE=$(git merge-base origin/develop HEAD)
git diff "$BASE"...HEAD -- 'packages/frontend/src/**/*.vue' \
| grep -E '^\+' | grep -E '#[0-9a-fA-F]{3,8}\b|rgba?\('
```
### 6. UI 操äŊœã¯ `os.*` įĩŒį”ą (Critical)
- į›´æŽĨぎ `alert()` / `confirm()` / `window.prompt()` / `window.alert()` はįρæ­ĸ。
- `os.alert` / `os.confirm` / `os.popup` / `os.toast` / `os.popupMenu` / `os.contextMenu` / `os.form` / `os.apiWithDialog` をäŊŋう ([os.ts](../../packages/frontend/src/os.ts) å‚į…§)。
検å‡ē:
```bash
BASE=$(git merge-base origin/develop HEAD)
git diff "$BASE"...HEAD -- 'packages/frontend/src/**/*.vue' \
| grep -E '^\+' | grep -E '\b(alert|confirm|prompt)\s*\('
```
### 7. ã‚ĸクã‚ģã‚ˇãƒ“ãƒĒãƒ†ã‚Ŗ (Major)
- クãƒĒック可čƒŊčĻį´ ã¯ `<button>` か、`role="button"` + `tabindex="0"` + キãƒŧボãƒŧãƒ‰ãƒãƒŗãƒ‰ãƒŠ (`@keydown.enter` į­‰) ã‚’åŽŸčŖ…ã™ã‚‹ã€‚
- čŖ…éŖžäģĨ外ぎ `<div @click>` で a11y 配慎がãĒいもぎは指摘する。
- フりãƒŧムčρᴠãĢは寞åŋœã™ã‚‹ `<label>` ぞたは `aria-label` をäģ˜ã‘る。
- `:disabled` ãƒã‚¤ãƒŗãƒ‰ã‚„ `aria-disabled` ぎ整合性をįĸēčĒã™ã‚‹ã€‚
### 8. Storybook äŊĩ設 (Major)
- å…ąæœ‰ `Mk*` ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã‚’æ–°čĻčŋŊ加した場合、`Mk<Name>.stories.impl.ts` ãŒåŒéšŽåą¤ãĢäŊĩč¨­ã•ã‚ŒãĻいるか (ã‚ĩãƒ–ãƒ‡ã‚ŖãƒŦクトãƒĒåĢむ。䞋: `components/global/MkAvatar.stories.impl.ts`, `components/grid/MkGrid.stories.impl.ts`)。
- **ãƒ•ã‚Ąã‚¤ãƒĢ名は `.stories.impl.ts` å›ē厚** (`.stories.ts` はčĒ¤ã‚Š)。
- æ—ĸ存 [MkButton.stories.impl.ts](../../packages/frontend/src/components/MkButton.stories.impl.ts) を雛åŊĸ䞋としãĻå‚į…§ã™ã‚‹ã€‚
検å‡ē (新čĻčŋŊ加された `Mk*.vue` をã‚ĩãƒ–ãƒ‡ã‚ŖãƒŦクトãƒĒåĢめãĻ拞う):
```bash
BASE=$(git merge-base origin/develop HEAD)
git diff --name-only --diff-filter=A "$BASE"...HEAD -- \
'packages/frontend/src/components/**/Mk*.vue' \
| sed 's/\.vue$/.stories.impl.ts/' \
| xargs -I {} sh -c 'test -f {} || echo "missing: {}"'
```
### 9. ã‚ĸã‚¤ã‚ŗãƒŗ (Minor)
- ã‚ĸã‚¤ã‚ŗãƒŗã¯ Tabler icons クナ゚ (`<i class="ti ti-info-circle">` į­‰) をäŊŋう。
- ã‚¤ãƒŗãƒŠã‚¤ãƒŗ SVG やåˆĨã‚ĸã‚¤ã‚ŗãƒŗã‚ģットは原則äŊŋわãĒい (æ—ĸ存パã‚ŋãƒŧãƒŗãĢ合わせる)。
### 10. CHANGELOG ã‚¨ãƒŗãƒˆãƒĒ (Minor)
ãƒĻãƒŧã‚ļãƒŧåŊąéŸŋがある変更ãĒら、`CHANGELOG.md` ぎ `## Unreleased` → `### Client` ãĢ 1 行čŋŊ加されãĻいるかįĸēčĒã™ã‚‹ã€‚
```
- Enhance: <component> ぎ <挙動> を攚善
- Fix: <component> ぎ <ä¸å…ˇåˆ> をäŋŽæ­Ŗ
```
ᴔឋãĒ内部ãƒĒãƒ•ã‚Ąã‚¯ã‚ŋãĒら不čĻã€‚
## å‡ē力åŊĸåŧ
å„Ē先åēĻåˆĨãĢäģĨ下ぎフりãƒŧマットでå‡ē力する。
```
## 🔴 Critical
- packages/frontend/src/components/MkFoo.vue:1
SPDX ヘッダãƒŧが HTML ã‚ŗãƒĄãƒŗãƒˆåŊĸåŧã§ã¯ãĒく TS åŊĸåŧãĢãĒãŖãĻいる。
`<!-- ... -->` ã§æ›¸ãį›´ã™ã“ã¨ã€‚
## 🟡 Major
- ...
## đŸ”ĩ Minor
- ...
```
å•éĄŒãŽãĒã„ãƒã‚§ãƒƒã‚¯é …į›ŽãĢはč§ĻれãĒã„ã€‚å…¨é …į›Žã‚¯ãƒĒã‚ĸãĒら `✅ ãƒŦビãƒĨãƒŧčĻŗį‚šä¸ŠãŽæŒ‡æ‘˜ãĒし` ã¨įŸ­ãčŋ”す。
## å‚į…§
- [.claude/skills/add-mk-component/SKILL.md](../skills/add-mk-component/SKILL.md) — åŽŸčŖ…å´ãŽčĻį´„ (æœŦエãƒŧã‚¸ã‚§ãƒŗãƒˆãŽæ šæ‹ )
- [.claude/skills/add-i18n-key/SKILL.md](../skills/add-i18n-key/SKILL.md) — i18n キãƒŧčŋŊ加ぎãƒĢãƒŧãƒĢ
- [os.ts](../../packages/frontend/src/os.ts) — UI 操äŊœ API
- [MkButton.vue](../../packages/frontend/src/components/MkButton.vue)
- [MkInput.vue](../../packages/frontend/src/components/MkInput.vue) — generic SFC 例
- [MkButton.stories.impl.ts](../../packages/frontend/src/components/MkButton.stories.impl.ts) — Storybook 雛åŊĸ
- [AGENTS.md](../../AGENTS.md) — SPDX / locales ᎍ集åˆļ限 / CHANGELOG 書åŧãĒおぎ最äŊŽé™ãƒĢãƒŧãƒĢ (Codex / Copilot ã¨å…ąé€š)

View File

@@ -0,0 +1,38 @@
# `.claude/commands/` — プロジェクトå›ēæœ‰ãŽã‚šãƒŠãƒƒã‚ˇãƒĨã‚ŗãƒžãƒŗãƒ‰
Misskey 開į™ēã§įš°ã‚Ščŋ”しäŊŋうワãƒŧクフロãƒŧを `/command-name` でå‘ŧãŗå‡ēせるよう、`.claude/commands/<name>.md` åŊĸåŧã§é…įŊŽã—ãĻいる。
## åŽŸčŖ…æ¸ˆãŋã‚ŗãƒžãƒŗãƒ‰
### Misskey ã‚ĒãƒĒジナãƒĢ
| ã‚ŗãƒžãƒŗãƒ‰ | ᔍ途 | 典型ãƒĻãƒŧã‚šã‚ąãƒŧ゚ |
| --- | --- | --- |
| [`/check-misskey-js`](./check-misskey-js.md) | `pnpm build-misskey-js-with-types` をčĩ°ã‚‰ã›ã€`packages/misskey-js/src/autogen/` ãŽåˇŽåˆ†ã‚’å ąå‘Š | backend ぎ API endpoint をčŋŊ加ãƒģå¤‰æ›´ã—ãŸį›´åžŒ |
| [`/changelog-add`](./changelog-add.md) | `CHANGELOG.md` ぎ `## Unreleased` 配下、寞åŋœã™ã‚‹ã‚ĩブã‚ģã‚¯ã‚ˇãƒ§ãƒŗãĢ 1 行čŋŊ記 | ãƒĻãƒŧã‚ļãƒŧåŊąéŸŋãŽã‚ã‚‹å¤‰æ›´ã‚’ã‚ŗãƒŸãƒƒãƒˆã™ã‚‹į›´å‰ |
| [`/migrate-new`](./migrate-new.md) | TypeORM `migration:create` ãŽč–„ã„ãƒŠãƒƒãƒ‘ãƒŧ (æ‹Ąåŧĩ子変換 + SPDX äģ˜ä¸Ž + `check-migrations` で pending DDL 検å‡ē) | 手書き SQL / デãƒŧã‚ŋį§ģčĄŒį”¨ãĢįŠē雛åŊĸがæŦ˛ã—い時 |
### ECC ([everything-claude-code](https://github.com/affaan-m/everything-claude-code)) į”ąæĨ (MIT)
ECC ぎ MIT ナイã‚ģãƒŗã‚šãƒ•ã‚Ąã‚¤ãƒĢを Misskey ぎčĻį´„ãĢ合わせãĻ再構成したもぎ。å‡ē典は [.claude/THIRD_PARTY_LICENSES.md](../THIRD_PARTY_LICENSES.md) ã‚’å‚į…§ã€‚
| ã‚ŗãƒžãƒŗãƒ‰ | ᔍ途 | 典型ãƒĻãƒŧã‚šã‚ąãƒŧ゚ |
| --- | --- | --- |
| [`/quality-gate`](./quality-gate.md) | `pnpm lint` + å„ãƒ‘ãƒƒã‚ąãƒŧジぎ unit test を順æŦĄåŽŸčĄŒã™ã‚‹čģŊ量品čŗĒã‚˛ãƒŧト | 厌äē†å‰ãŽčģŊ量チェック (重い E2E は CI 側ãĢ委譞) |
| [`/harness-audit`](./harness-audit.md) | `.claude/` ハãƒŧネ゚を 7 ã‚ĢテゴãƒĒã§æŽĄį‚šã—æ”šå–„å„Ē先åēĻを提į¤ē | č¨­åŽšãŽį‚šæ¤œ / 新しい skill / agent / hook をå…Ĩれた垌 |
## äŊŋい分け
- **`/migrate-new` vs [`create-migration` skill](../skills/create-migration/SKILL.md)**:
- 雛åŊĸã ã‘į´ æ—ŠãæŦ˛ã—い → `/migrate-new`
- ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖåˇŽåˆ†ã‹ã‚‰č‡Ēå‹•į”Ÿæˆã€ãžãŸã¯ CONCURRENTLY ãĒãŠãŽæŗ¨æ„į‚šã‚’åĢめãĻ厌全ãĢčĒ˜å°Žã—ãĻãģしい → `create-migration` skill (`migration:generate`)
- **`/changelog-add` vs æ‰‹å‹•įˇ¨é›†**:
- ã‚ĩブã‚ģã‚¯ã‚ˇãƒ§ãƒŗãŽ placeholder `-` įŊŽæ›ã‚„、過åŽģãƒĒãƒĒãƒŧ゚ã‚ģã‚¯ã‚ˇãƒ§ãƒŗã¸ãŽčĒ¤įˇ¨é›†ã‚’éŋã‘ã‚‹ãŸã‚ã€åŽŸå‰‡ã‚ŗãƒžãƒŗãƒ‰ã‚’äŊŋう。
- **`/quality-gate` ãŽã‚šã‚ŗãƒŧプ**:
- įˇ¨é›†é€”ä¸­ãŽčģŊ量チェック (lint + unit test) は `/quality-gate` で十分。重い e2e / federation / Cypress は CI å´ã§åŽŸčĄŒã•ã‚Œã‚‹ãŸã‚ã€ãƒ­ãƒŧã‚ĢãƒĢでは原則回さãĒい。
## 新čĻčŋŊ加時ぎ斚針
- æ—ĸ存ぎ `superpowers` / `pr-review-toolkit` ãĒãŠãŽãƒ—ãƒŠã‚°ã‚¤ãƒŗæäž›ã‚šãƒŠãƒƒã‚ˇãƒĨã‚ŗãƒžãƒŗãƒ‰ã§čļŗã‚Šã‚‹å ´åˆã¯æ–°čĻčŋŊ加しãĒい。
- frontmatter ãĢは最äŊŽé™ `description` を指厚し、åŧ•数を取るãĒら `argument-hint`、可čƒŊãĒら `allowed-tools` も指厚する (permission prompt を最小化するため)。
- é•ˇæ™‚é–“ãƒ“ãƒĢド (2 分čļ…) をäŧ´ã†ã‚ŗãƒžãƒŗãƒ‰ã¯ã‚¤ãƒŗãƒŠã‚¤ãƒŗ `` !`<cmd>` `` をäŊŋわず、æœŦ文で `Bash` ツãƒŧãƒĢå‘ŧãŗå‡ēし時ぎ `timeout` を指į¤ēする。

View File

@@ -0,0 +1,49 @@
---
description: CHANGELOG.md ぎ Unreleased ã‚ģã‚¯ã‚ˇãƒ§ãƒŗãĢ 1 行čŋŊč¨˜ã™ã‚‹
argument-hint: <general|client|server> <Prefix>: <description>
allowed-tools: Bash(awk:*), Bash(git diff:*), Read, Edit
---
## åŧ•æ•°
åŧ•æ•°: `$ARGUMENTS`
## įžåœ¨ãŽ Unreleased ã‚ģã‚¯ã‚ˇãƒ§ãƒŗ
!`awk '/^## Unreleased/,/^## [0-9]/' CHANGELOG.md`
## ã‚ŋ゚ク
1. **åŧ•æ•°ãŽč§Ŗæž**
`$ARGUMENTS` をäģĨ下ぎåŊĸåŧã¨ã—ãĻč§Ŗé‡ˆã™ã‚‹:
- įŦŦ 1 トãƒŧã‚¯ãƒŗ: scope = `general` / `client` / `server` ぎいずれか (case-insensitive)
- 掋り: ã‚¨ãƒŗãƒˆãƒĒæœŦ文。`Enhance:` / `Fix:` / `Feat:` ぎいずれかで始ぞる前提
- ä¸æ­ŖãĒ scope や、Prefix がčĻ‹åŊ“たらãĒい場合はエナãƒŧįĩ‚äē†ã—、ãƒĻãƒŧã‚ļãƒŧãĢ `argument-hint` ぎ書åŧã‚’提į¤ēする
scope はæŦĄãŽã‚ˆã†ãĢčĻ‹å‡ēしãĢ変換する: `general` → `### General` / `client` → `### Client` / `server` → `### Server`。
2. **å¯žčąĄã‚ĩブã‚ģã‚¯ã‚ˇãƒ§ãƒŗãŽįŠļ態判厚**
上ぎ context (įžåœ¨ãŽ Unreleased ã‚ģã‚¯ã‚ˇãƒ§ãƒŗ) をčĻ‹ãĻã€å¯žčąĄã‚ĩブã‚ģã‚¯ã‚ˇãƒ§ãƒŗãŒäģĨä¸‹ãŽãŠãĄã‚‰ã‹ã‚’åˆ¤åŽšã™ã‚‹:
- **įŠē (placeholder ぎãŋ)**: čĻ‹å‡ēã—į›´ä¸‹ãĢ `-` 単į‹ŦčĄŒãŽãŋがあるįŠļ態
- **æ—ĸå­˜ã‚¨ãƒŗãƒˆãƒĒあり**: `- Enhance: ...` / `- Fix: ...` / `- Feat: ...` ãŽčĄŒãŒ 1 つäģĨ上あるįŠļ態
3. **CHANGELOG.md ãŽįˇ¨é›†**
`Read` で CHANGELOG.md 全äŊ“ã‚’įĸēčĒã—ãŸåžŒã€`Edit` ツãƒŧãƒĢでäģĨ下ぎようãĢ更新する:
- **įŠēぎ場合**: 芲åŊ“ã‚ĩブã‚ģã‚¯ã‚ˇãƒ§ãƒŗãŽ placeholder `-` čĄŒã‚’ `- <整åŊĸ済ãŋã‚¨ãƒŗãƒˆãƒĒ>` でįŊŽæ›ã™ã‚‹ã€‚äž‹: `### General\n-\n` → `### General\n- Enhance: 新しい抟čƒŊ\n`
- **æ—ĸ存ありぎ場合**: æ—ĸå­˜ã‚¨ãƒŗãƒˆãƒĒįž¤ãŽ **æœĢå°ž** (æŦĄãŽįŠēčĄŒį›´å‰) ãĢæ–°ã‚¨ãƒŗãƒˆãƒĒを **append** する。順åēå…Ĩれæ›ŋえはしãĒい。
`Edit` ぎ `old_string` ãĢは、įŊŽæ›å¯žčąĄãŽã‚ĩブã‚ģã‚¯ã‚ˇãƒ§ãƒŗäģ˜čŋ‘ぎãƒĻニãƒŧクãĒæ–‡č„ˆ (čĻ‹å‡ēし + į›´åžŒãŽæ•°čĄŒ) をåĢめ、čĒ¤ãƒžãƒƒãƒã‚’é˜˛ãã€‚
4. **不可äžĩぎ垚åē•**
- `## Unreleased` äģĨä¸‹ãŽå¯žčąĄã‚ĩブã‚ģã‚¯ã‚ˇãƒ§ãƒŗãŽãŋįˇ¨é›†ã™ã‚‹ã€‚
- `## 2026.x.x` äģĨ下ぎ過åŽģãƒĒãƒĒãƒŧ゚ã‚ģã‚¯ã‚ˇãƒ§ãƒŗã¯įĩļ寞ãĢ変更しãĒい ([AGENTS.md §CHANGELOG](../../AGENTS.md#changelog) å‚į…§)。
5. **įĩæžœįĸēčĒ**
`git diff CHANGELOG.md` ã‚’åŽŸčĄŒã—ã€æƒŗåŽšé€šã‚Š 1 čĄŒãŽãŋčŋŊ加されãĻã„ã‚‹ã“ã¨ã‚’čĄ¨į¤ēしãĻ、ãƒĻãƒŧã‚ļãƒŧãĢįĸēčĒã•ã›ã‚‹ã€‚
## 例
- `/changelog-add server Fix: 通įŸĨが遅åģļã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ` → `### Server` æœĢå°žãĢčŋŊ記
- `/changelog-add client Enhance: ノãƒŧãƒˆãŽčĄ¨į¤ēを攚善` → `### Client` æœĢå°žãĢčŋŊ記
- `/changelog-add general Feat: 新抟čƒŊぎčŋŊ加` → `### General` æœĢå°žãĢčŋŊ記 (placeholder įŊŽæ›)

View File

@@ -0,0 +1,42 @@
---
description: backend ぎ API 変更垌ãĢ misskey-js ã‚’å†į”Ÿæˆã—ã€į”Ÿæˆį‰ŠãŽåˇŽåˆ†ã‚’å ąå‘Šã™ã‚‹
allowed-tools: Bash(pnpm build-misskey-js-with-types:*), Bash(git status:*), Bash(git diff:*), Bash(git branch:*)
---
## æĻ‚čρ
backend ぎ API endpoint や゚キãƒŧマを変更した垌、`packages/misskey-js/src/autogen/` ぎč‡Ēå‹•į”Ÿæˆåž‹ã‚’æœ€æ–°åŒ–ã™ã‚‹ãŸã‚ãŽã‚ŗãƒžãƒŗãƒ‰ã€‚å†…éƒ¨ã§ `pnpm build-misskey-js-with-types` (backend build → `api.json` į”Ÿæˆ → misskey-js åž‹į”Ÿæˆ → ビãƒĢド → API extractor) を一æ‹ŦåŽŸčĄŒã™ã‚‹ã€‚
## įžåœ¨ãŽįŠļ態 (å†į”Ÿæˆå‰)
- įžãƒ–ãƒŠãƒŗãƒ: !`git branch --show-current`
- æ—ĸ存ぎ misskey-js é–ĸé€Ŗå¤‰æ›´: !`git status --short -- packages/misskey-js/`
## ã‚ŋ゚ク
äģĨ下ぎ手順を順į•ĒãĢåŽŸčĄŒã—ãĻください。
1. **å†į”ŸæˆãŽåŽŸčĄŒ**
`Bash` ツãƒŧãƒĢでäģĨä¸‹ãŽã‚ŗãƒžãƒŗãƒ‰ã‚’ `timeout: 600000` (10 分) を指厚しãĻåŽŸčĄŒã™ã‚‹ã€‚å†…éƒ¨ã§ backend ビãƒĢãƒ‰ã¨åž‹å†į”Ÿæˆã‚’čĄŒã†ãŸã‚ã€ãƒ‡ãƒ•ã‚ŠãƒĢトぎ 2 分ã‚ŋイムã‚ĸã‚Ļトでは不čļŗã™ã‚‹ã€‚
```bash
pnpm build-misskey-js-with-types
```
2. **åˇŽåˆ†ãŽįĸēčĒ**
厌äē†åžŒã€äģĨä¸‹ã‚’åŽŸčĄŒã—ãĻ `packages/misskey-js/src/autogen/` ãŽåˇŽåˆ†ã‚’įĸēčĒã™ã‚‹ (`built/` は `.gitignore` å¯žčąĄãĒぎでčŋŊčˇĄå¯žčąĄå¤–):
```bash
git status --short -- packages/misskey-js/
git diff --stat -- packages/misskey-js/src/autogen/
```
3. **įĩæžœå ąå‘Š**
- **åˇŽåˆ†ãĒし** → 「backend ぎ変更は misskey-js ぎå…Ŧ開型ãĢåŊąéŸŋしãĻã„ãžã›ã‚“ã€ã¨å ąå‘Šã™ã‚‹ã€‚čŋŊåŠ ã‚ŗãƒŸãƒƒãƒˆã¯ä¸čĻã€‚
- **åˇŽåˆ†ã‚ã‚Š** → å¤‰æ›´ãƒ•ã‚Ąã‚¤ãƒĢ一čĻ§ã‚’ãƒĻãƒŧã‚ļãƒŧãĢį¤ēし、`git add packages/misskey-js/src/autogen/` ã§å†į”Ÿæˆį‰Šã‚‚ã‚ŗãƒŸãƒƒãƒˆå¯žčąĄãĢåĢã‚ã‚‹ã‚ˆã†æĄˆå†…ã™ã‚‹ã€‚`api.json` ãŽåˇŽåˆ†ãŒå¤§ãã„å ´åˆã¯ã€API endpoint 側ぎ `meta` / `paramDef` / `res` åŽšįžŠã‚’įĸēčĒã™ã‚‹ã‚ˆã†äŋƒã™ã€‚
## æŗ¨æ„
- ã“ãŽã‚ŗãƒžãƒŗãƒ‰ã¯ **backend įˇ¨é›†åžŒãŽįĸēčĒ** ãŒį›Žįš„ã€‚backend を変更しãĻいãĒいぎãĢčĩ°ã‚‰ã›ã‚‹ã¨ã€ãƒ“ãƒĢãƒ‰ã‚­ãƒŖãƒƒã‚ˇãƒĨæŦĄįŦŦで no-op ãĢãĒる。
- åŽŸčĄŒä¸­ã¯ `packages/backend/built/` や `packages/misskey-js/built/` ãĒãŠãŽä¸­é–“į”Ÿæˆį‰ŠãŒæ›´æ–°ã•ã‚Œã‚‹ãŒã€ã“ã‚Œã‚‰ã¯ `.gitignore` å¯žčąĄã€‚
- į”Ÿæˆį‰ŠäģĨ外 (`packages/misskey-js/src/` ãŽã†ãĄ `autogen/` äģĨ外) ãĢä爿œŸã›ãŦåˇŽåˆ†ãŒå‡ēた場合は、ロãƒŧã‚ĢãƒĢãŽįˇ¨é›†ãŒæˇˇå…ĨしãĻいる可čƒŊ性があるため、一æ—Ļ中æ­ĸしãĻ原因をčĒŋæŸģする。

View File

@@ -0,0 +1,146 @@
---
description: Misskey ぎ .claude/ ハãƒŧネ゚ (skills/agents/commands) を 7 ã‚ĢテゴãƒĒã§æŽĄį‚šã™ã‚‹įĸēåŽšįš„ãĒᛪæŸģ。
argument-hint: "[repo|skills|commands|agents]"
---
<!--
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: 2026 Affaan Mustafa and everything-claude-code contributors
å‡ē典 (upstream): https://github.com/affaan-m/everything-claude-code (v2.0.0-rc.1)
upstream path: commands/harness-audit.md
upstream license: MIT — https://github.com/affaan-m/everything-claude-code/blob/main/LICENSE
project-level notice: see .claude/THIRD_PARTY_LICENSES.md (Misskey 内ã‚ĩãƒŧドパãƒŧãƒ†ã‚Ŗä¸€čϧ + MIT 全文)
Imported into Misskey .claude/ on 2026-05-10. The 7-category rubric and output contract are derived from the upstream ECC version (MIT). The runtime layer was substantially reimplemented for Misskey: the upstream relies on scripts/harness-audit.js to mechanically score, while this version asks Claude to score directly with pnpm/git/grep, and adds Misskey-specific evaluation axes (SPDX coverage / endpoint-list į™ģ錞æŧã‚Œ / migration 順åē / ja-JP.yml 整合).
note: 元 ECC į‰ˆã¯ scripts/harness-audit.js (専ᔍ Node ゚クãƒĒプト) で抟æĸ°æŽĄį‚šã—ãĻいたが、Misskey は ECC plugin runtime ãĢ䞝存しãĒい斚針ãĒぎで、Claude ãŒį›´æŽĨãƒ•ã‚Ąã‚¤ãƒĢをčĒ­ã‚“ã§æŽĄį‚šã™ã‚‹æ‰‹å‹•é‹į”¨į‰ˆãĢ書き換えた。Misskey å›ē有ぎ重čρčĻŗį‚š (SPDX éŠį”¨įŽ‡ / endpoint-list į™ģ錞æŧã‚Œ / migration 順åē / ja-JP.yml 整合) ã‚’čŠ•äžĄčģ¸ã¨ã—ãĻ明į¤ēįš„ãĢįĩ„ãŋčžŧんでいる。
-->
# /harness-audit — Misskey ハãƒŧãƒã‚šį›ŖæŸģ
Misskey ãƒĒポジトãƒĒぎ `.claude/` 構成を 7 ã‚ĢテゴãƒĒã§æŽĄį‚šã—ã€æ”šå–„å„Ē先åēĻを提į¤ēする。
## Usage
`/harness-audit [scope]`
- `scope` (äģģæ„): `repo` (default) / `skills` / `commands` / `agents`
## 評価ã‚ĢテゴãƒĒ (各 0-10)
| # | ã‚ĢテゴãƒĒ | 評価čģ¸ |
| --- | --- | --- |
| 1 | Tool Coverage | skill / agent / command ぎ数、æŦ ã‘ãĻいるワãƒŧクフロãƒŧæŽĩã€é‡č¤‡ãĒし |
| 2 | Context Efficiency | frontmatter description ãŽå†—é•ˇåēĻ、SKILL.md ãŽé•ˇã•åˆ†å¸ƒã€é‡č¤‡æƒ…å ąã€CLAUDE.md ぎč‚Ĩ大化 |
| 3 | Quality Gates | Stop / PreToolUse / PostToolUse hook ぎ整備、`/quality-gate` į­‰ãŽåŽŒäē†å‰ã‚˛ãƒŧãƒˆãŽæœ‰į„Ąã€č‡Ē動 lint/typecheck |
| 4 | Memory Persistence | docs/* ぎ同期įŠļæ…‹ã‚’čŠ•äžĄã€‚ãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆå´ `.claude/memory/` はæœĒæŽĄį”¨æ–šé‡ (auto-memory はãƒĻãƒŧã‚ļãƒŧホãƒŧム側でč‡Ē動運ᔍ) ãŽãŸã‚ã€ã“ã“ã‚’æŽĄį‚ščĩˇį‚šãĢせずæ—ĸ厚 5/10 から開始する |
| 5 | Eval Coverage | testing.md ぎįļ˛įž…、Misskey å›ē有ぎ e2e/fed/Storybook/Cypress éŠį”¨ã‚Ŧイド |
| 6 | Security Guardrails | SPDX čĻį´„éŠį”¨ã€migration 不変性ãƒĢãƒŧãƒĢ、ja-JP.yml é™åŽšįˇ¨é›†ãƒĢãƒŧãƒĢ、secrets 検å‡ē |
| 7 | Cost Efficiency | enabledPlugins ãŽé‡č¤‡ãƒģ過剰、context-budget ぎ整備、MCP 過剰į™ģ錞ãĒし |
## Misskey å›ē有ぎįĸēčĒé …į›Ž (æŽĄį‚šæ šæ‹ ã‚ŗãƒžãƒŗãƒ‰)
æŽĄį‚šæ™‚ãĢäģĨä¸‹ã‚’åŽŸã‚ŗãƒžãƒŗãƒ‰ã§įĸēčĒã™ã‚‹ã€‚å„é …į›ŽãŽ **åąžã™ã‚‹ã‚ĢテゴãƒĒ** ã¯é …į›Žå†…ãĢæ˜Žč¨˜ã™ã‚‹ (#1-#3 は Security Guardrails、#4 は Tool Coverage、#5 は Quality Gates):
```bash
# 1. [Security Guardrails] SPDX éŠį”¨įŽ‡ (新čĻãƒ•ã‚Ąã‚¤ãƒĢæƒŗåŽšãŽæąŽį”¨ãƒã‚§ãƒƒã‚¯)
# - node_modules を prune で除外
# - packages/misskey-js は MIT ã‚ĩãƒ–ãƒ‘ãƒƒã‚ąãƒŧジãĒぎで AGPL ヘッダãƒŧを持たãĒい (AGENTS.md §1) → 除外
# - built/ ãĒおも除外
# å€™čŖœãĢはãĒお *.config.{ts,js} / *eslint* / *.d.ts ぎようãĒ CI 上 SPDX å¯žčąĄå¤–
# (.github/workflows/check-spdx-license-id.yml ぎ exclude å‚į…§) ã‚‚æˇˇã–ã‚‹ãŸã‚ã€
# 上äŊãĢå‡ēãŸãƒ•ã‚Ąã‚¤ãƒĢが「新čĻčŋŊåŠ ã—ãŸåŽŸã‚ŗãƒŧãƒ‰ã€ã‹ãŠã†ã‹ã¯į›ŽčĻ–åˆ¤åŽšã™ã‚‹ã€‚
find packages \
\( -type d \( -name node_modules -o -name built -o -name dist -o -path 'packages/misskey-js' \) -prune \) \
-o -type f \( -name '*.ts' -o -name '*.js' -o -name '*.vue' -o -name '*.scss' \) -print \
| xargs -r grep -L 'SPDX-License-Identifier: AGPL-3.0-only' | head -20
# → 上äŊãĢ新čĻåŽŸã‚ŗãƒŧãƒ‰ãŒį„Ąã‘ã‚Œã°æē€į‚š
# 2. [Security Guardrails] ja-JP.yml äģĨ外ぎ locales ãŒį›´čŋ‘ã§æ‰‹å‹•įˇ¨é›†ã•ã‚ŒãĻいãĒいか
# --pretty=format: ã§ã‚ŗãƒŸãƒƒãƒˆãƒ˜ãƒƒãƒ€čĄŒã‚’æŠ‘æ­ĸã—ã€ãƒ•ã‚Ąã‚¤ãƒĢåčĄŒãŽãŋを掋しãĻから grep する。
# Crowdin ぎč‡Ē動同期 commit でもäģ–言čĒž yml は更新されるため、å‡ē力が 0 行ãĢãĒることは少ãĒい。
# å‡ēåŠ›ãŒã‚ãŖãŸå ´åˆã¯ã€author / commit message をįĸēčĒã— Crowdin į”ąæĨã‹æ‰‹å‹•įˇ¨é›†ã‹ã‚’åˆ¤åŽšã™ã‚‹:
# git log --since='30 days ago' --pretty=format:'%h %an %s' -- locales/<file>.yml
git log --since='30 days ago' --pretty=format: --name-only -- 'locales/*.yml' \
| grep -v '^$' | grep -v 'ja-JP.yml' | sort -u
# → å‡ēåŠ›ãŒį„Ąã„ã€ãžãŸã¯å…¨ãĻ Crowdin į”ąæĨ commit ãĒらæē€į‚š
# 3. [Security Guardrails] migration ぎ pending DDL 検æŸģ (TypeORM schema builder)
pnpm --filter backend check-migrations
# → 0 errors (= "All migrations are clean.") ãĒらæē€į‚š
# 4. [Tool Coverage] endpoint-list.ts į™ģ錞æŧã‚Œ (新čĻ endpoint がãƒĒ゚トãĢãĒい場合)
# endpoints/ は再帰構造 (notes/create.ts, admin/announcements/create.ts į­‰) で 400+ ãƒ•ã‚Ąã‚¤ãƒĢあるため、
# endpoint-list.ts も `export * as '<category>/<name>' from './endpoints/<category>/<name>.js';` åŊĸåŧã§
# 1 ãƒ•ã‚Ąã‚¤ãƒĢ 1 行į™ģéŒ˛ã•ã‚Œã‚‹ã€‚ä¸Ąč€…ãŽčĄŒæ•°ã‚’ã€Œå†å¸° .ts 数」と「export * as čĄŒæ•°ã€ã§æ¯”čŧƒã™ã‚‹ã€‚
# e2e / 単äŊ“テ゚トは endpoint ではãĒいぎで *.test.ts を除外する。
endpoint_files=$(find packages/backend/src/server/api/endpoints -type f -name '*.ts' ! -name '*.test.ts' | wc -l)
list_entries=$(grep -cE "^export \* as " packages/backend/src/server/api/endpoint-list.ts)
echo "endpoints (recursive): $endpoint_files / endpoint-list.ts entries: $list_entries"
# åˇŽåˆ†ãŒ 0 ãĒらæē€į‚šã€‚åˇŽåˆ†ãŒå‡ēたら、į™ģ錞æŧã‚ŒãŽå…ˇäŊ“į‰šåޚ:
comm -23 \
<(find packages/backend/src/server/api/endpoints -type f -name '*.ts' ! -name '*.test.ts' \
| sed -E 's|.*/endpoints/||;s|\.ts$||' | sort -u) \
<(grep -oE "^export \* as '[^']+'" packages/backend/src/server/api/endpoint-list.ts \
| sed -E "s/^export \* as '([^']+)'/\1/" | sort -u)
# å‡ēåŠ›ã•ã‚ŒãŸčĄŒãŒį™ģ錞æŧã‚ŒãŽ endpoint。0 行ãĒらæē€į‚šã€‚
# 5. [Quality Gates] console.log ãŽæˇˇå…Ĩ
grep -rn 'console\.\(log\|debug\)' packages/backend/src packages/frontend/src 2>/dev/null \
| grep -v 'node_modules\|test\|.spec\.\|.test\.' | wc -l
# → 0 ãŒį†æƒŗ
```
## å‡ē力åĨ‘į´„
äģĨ下をčŋ”す:
1. `overall_score` / `max_score` (repo は 70 į‚šæē€į‚š)
2. ã‚ĢテゴãƒĒã”ã¨ãŽã‚šã‚ŗã‚ĸ + å…ˇäŊ“įš„ãĒæ šæ‹ 
3. å¤ąæ•—ãƒã‚§ãƒƒã‚¯é …į›Žã¨čŠ˛åŊ“ãƒ•ã‚Ąã‚¤ãƒĢパ゚
4. Top 3 攚善ã‚ĸã‚¯ã‚ˇãƒ§ãƒŗ
5. æŦĄãĢéŠį”¨ã‚’æŽ¨åĨ¨ã™ã‚‹ skill / 手順
## ã‚ĩãƒŗãƒ—ãƒĢå‡ē力
```text
Harness Audit (repo): 55/70
Tool Coverage: 9/10 (skills 5, agents 2, commands 5 — 偏りãĒし)
Context Efficiency: 8/10 (description åšŗå‡ 3-5 čĄŒã€č‚Ĩ大ãĒし)
Quality Gates: 5/10 (Stop hook å…ąæœ‰č¨­åŽšãĢæœĒį™ģ錞 / `/quality-gate` あり)
Memory Persistence: 5/10 (プロジェクト側 memory/ æœĒæŽĄį”¨æ–šé‡ = æ—ĸ厚値)
Eval Coverage: 7/10 (testing.md įļ˛įž…、Storybook 一部抜け)
Security Guardrails: 10/10 (SPDX 100%, locales OK, migrations clean)
Cost Efficiency: 8/10 (context-budget 導å…Ĩ済 / MCP 0)
Failed Checks:
- packages/frontend/src/.../X.vue で SPDX æŦ čŊ (Security Guardrails)
- console.log が backend ãĢ 3 äģļ (Quality Gates)
- å…ąæœ‰ Stop hook ãĒし (Quality Gates) — 各 contributor が `.claude/settings.local.json` で opt-in する斚針ãĒã‚‰æ¸›į‚šã—ãĒくãĻč‰¯ã„
Top 3 Actions:
1) [Security Guardrails] SPDX æŦ čŊ 1 ãƒ•ã‚Ąã‚¤ãƒĢをäŋŽæ­Ŗ:
packages/frontend/src/.../X.vue
2) [Quality Gates] backend ぎ console.log 3 äģļを logger ãĢįŊŽæ›ã€‚
git grep "console\.log" packages/backend/src
3) [Cost Efficiency] enabledPlugins からæœĒäŊŋį”¨ãŽã‚‚ãŽã‚’å¤–ã™ã€‚
.claude/docs/plugins.md ã¨į…§åˆã€‚
Suggested next skills to apply:
- /quality-gate で厌äē†å‰ãĢ lint + unit test を回す
- context-budget で plugin į”ąæĨぎ overhead をįĸēčĒ
```
## æŽĄį‚šãŽäŋĄé ŧ性
- įĸēåŽšįš„: 同じ commit / 同じ `.claude/` 構成ãĒã‚‰åŒã˜ã‚šã‚ŗã‚ĸ
- ヒãƒĨãƒŧãƒĒã‚šãƒ†ã‚Ŗã‚¯ã‚š: 「description ãŽå†—é•ˇåēĻ」ぎようãĒä¸ģčĻŗé …į›Žã¯åŒä¸€åŸēæē–で抟æĸ°įš„ãĢ判厚
- ゚クãƒĒプト不čρ: `pnpm` と `git`、`grep`/`find` į­‰ãŽæ¨™æē–ツãƒŧãƒĢぎãŋ
## å‚č€ƒ: ECC ã‚ĒãƒĒジナãƒĢã¨ãŽåˇŽåˆ†
- ECC į‰ˆã¯ `node scripts/harness-audit.js` ã‚’į›´åŠãã™ã‚‹é‹į”¨ã§ã€ECC ãƒĒポジトãƒĒ全äŊ“ãĢé–‰ã˜ãŸæŽĄį‚šã ãŖãŸã€‚
- Misskey į‰ˆã¯ **Misskey ぎčĻį´„ (SPDX/migration/locales/endpoint-list)** を Security æŽĄį‚šãĢįĩ„ãŋčžŧãŋ、`pnpm` ベãƒŧã‚šãŽåŽŸã‚ŗãƒžãƒŗãƒ‰ã§æ šæ‹ ã‚’å–ã‚‹æ–šåŧãĢå†č¨­č¨ˆã€‚
- įĩæžœã¨ã—ãĻ ECC へぎ䞝存はã‚ŧロ。

View File

@@ -0,0 +1,81 @@
---
description: TypeORM migration ぎįŠē雛åŊĸã‚’į”Ÿæˆã™ã‚‹ã€‚ã‚šã‚­ãƒŧãƒžåˇŽåˆ†ã‹ã‚‰č‡Ēå‹•į”Ÿæˆã—ãŸã„æ™‚ã¯ create-migration skill をäŊŋうこと
argument-hint: <PascalCaseName>
allowed-tools: Bash(pnpm:*), Bash(ls:*), Bash(test:*), Bash(head:*), Read, Edit
---
## åŧ•æ•°
åŧ•æ•°: `$ARGUMENTS`
## ã‚ŋ゚ク
1. **PascalCaseName ぎ検č¨ŧ**
`$ARGUMENTS` が `^[A-Z][A-Za-z0-9]+$` ãĢä¸€č‡´ã™ã‚‹ã‹įĸēčĒã™ã‚‹ã€‚ä¸€č‡´ã—ãĒい場合はエナãƒŧįĩ‚äē†ã—、`AddFooBar` / `BirthdayIndex` ぎようãĒåŊĸåŧã‚’æĄˆå†…ã™ã‚‹ã€‚
2. **æ—ĸå­˜ãƒ•ã‚Ąã‚¤ãƒĢぎ存在įĸēčĒ**
```bash
ls packages/backend/migration/*$ARGUMENTS.{js,ts} 2>/dev/null
```
æ—ĸãĢ同名 (ã‚ŋイム゚ã‚ŋãƒŗãƒ—é•ã„) ãŽãƒ•ã‚Ąã‚¤ãƒĢが存在する場合、上書きせずãƒĻãƒŧã‚ļãƒŧãĢåˆĨ名をäŋƒã™ã€‚
3. **TypeORM å…Ŧåŧ CLI でįŠē雛åŊĸã‚’į”Ÿæˆ (`-o --esm` åŋ…é ˆ)**
`create-migration` skill ぎ斚針ãĢ垓い、`Date.now()` を手書きするぎではãĒく TypeORM CLI をäŊŋう。`-o --esm` で **最初から JS(ESM) ã‚’į”Ÿæˆ** させ、垌įļšãŽ `.ts → .js` 変換や `import { MigrationInterface }` å‰Šé™¤ã¨ã„ãŖãŸ TS å›ē有構文ぎ除åŽģを不čρãĢする (`-o --esm` をäģ˜ã‘ãĒいと `.ts` + CommonJS / `implements MigrationInterface` äģ˜ãã§į”Ÿæˆã•れ、Misskey ぎ `ormconfig.js` (`migration/*.js` ぎãŋロãƒŧド) とæ—ĸ存 migration ゚ã‚ŋイãƒĢãĢ合わãĒい):
```bash
pnpm --filter backend exec typeorm migration:create -o --esm migration/$ARGUMENTS
```
å‡ē力: `packages/backend/migration/<UnixMs>-<PascalCaseName>.js`
4. **į”Ÿæˆãƒ•ã‚Ąã‚¤ãƒĢパ゚ぎ取垗**
垌įļšã‚šãƒ†ãƒƒãƒ—でäŊŋうパ゚を変数ãĢ受ける (`<ms>` を手書きしãĒい):
```bash
dst=$(ls -t packages/backend/migration/*$ARGUMENTS.js | head -1)
```
äģĨ降ぎ゚テップでは `$dst` ã‚’įˇ¨é›†å¯žčąĄã¨ã—ãĻæ‰ąã†ã€‚åŽŒæˆåžŒãŽå…¸åž‹įš„ãĒåŊĸはæŦĄãŽã‚ˆã†ãĢãĒる (å‚č€ƒ: [packages/backend/migration/1767169026317-birthday-index.js](../../packages/backend/migration/1767169026317-birthday-index.js)):
```js
export class <PascalCaseName><ms> {
name = '<PascalCaseName><ms>'
async up(queryRunner) {
}
async down(queryRunner) {
}
}
```
5. **SPDX ヘッダãƒŧぎčŋŊ加**
`Edit` ツãƒŧãƒĢã§ã€ãƒ•ã‚Ąã‚¤ãƒĢ冒頭ãĢäģĨ下をæŒŋå…Ĩする。CI ぎ `spdx` ã‚¸ãƒ§ãƒ–ãŒå¤ąæ•—ã™ã‚‹ãŸã‚åŋ…é ˆ:
```js
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
```
6. **migration ぎ pending DDL 検æŸģ**
```bash
pnpm --filter backend check-migrations
```
TypeORM schema builder で pending DDL を検å‡ēする検æŸģ ([scripts/check_migrations_clean.js](../../packages/backend/scripts/check_migrations_clean.js))。įŠē雛åŊĸをäŊœãŖãŸã ã‘ぎæŽĩéšŽã§ã¯ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖåˇŽåˆ†ã¨ãŽä¸æ•´åˆãŒæŽ‹ã‚‹å ´åˆãŒã‚ã‚‹ãŸã‚ã€`up`/`down` を埋めた垌ãĢã‚‚å†åŽŸčĄŒã—ãĻ 0 äģļãĢãĒるかįĸēčĒã™ã‚‹ã€‚
7. **įĩæžœå ąå‘Š**
- į”Ÿæˆãƒ•ã‚Ąã‚¤ãƒĢパ゚をį¤ēす。
- `up()` / `down()` ぎ中čēĢがįŠēであることをäŧãˆã€SQL を書くåŋ…čĻãŒã‚ã‚‹ã¨æĄˆå†…ã™ã‚‹ã€‚
- `down()` をįŠēぎぞぞ攞įŊŽã™ã‚‹ã¨æœŦį•ĒロãƒŧãƒĢバック時ãĢčŠ°ã‚€ãŸã‚ã€åŋ…ず `up` ぎ厌全ãĒåˇģきæˆģã—ã‚’åŽŸčŖ…ã™ã‚‹ã‚ˆã†äŋƒã™ã€‚
- čŠŗį´°ãĒ手順 (`migration:generate` をäŊŋã†ãšãã‚ąãƒŧ゚、CONCURRENTLY ãĒãŠãŽæŗ¨æ„į‚š) は `create-migration` skill ã‚’å‚į…§ã™ã‚‹ã‚ˆã†æĄˆå†…ã™ã‚‹ã€‚
## æŗ¨æ„
- ã“ãŽã‚ŗãƒžãƒŗãƒ‰ã¯ **įŠē雛åŊĸã‚’į´ æ—Šãå‡ēしãĻ手書きする** į”¨é€”ã€‚ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗ (`packages/backend/src/models/*.ts`) ã‚’å¤‰æ›´ã—ãŸåˇŽåˆ†ã‹ã‚‰ SQL をč‡Ēå‹•į”Ÿæˆã—ãŸã„å ´åˆã¯ã€ã“ãŽã‚ŗãƒžãƒŗãƒ‰ã§ã¯ãĒく `create-migration` skill įĩŒį”ąã§ `migration:generate` をäŊŋうこと。
- マãƒŧジ済ãŋ migration ãƒ•ã‚Ąã‚¤ãƒĢはįĩļ寞ãĢįˇ¨é›†ã—ãĒい ([AGENTS.md §3](../../AGENTS.md#3-マãƒŧジ済ãŋ-migration-をįĩļ寞ãĢįˇ¨é›†ã—ãĒい))。

View File

@@ -0,0 +1,122 @@
---
description: Misskey ぎ lint / typecheck / éĢ˜é€Ÿãƒ†ã‚šãƒˆã‚’é †ãĢåŽŸčĄŒã—ãĻ品čŗĒã‚˛ãƒŧãƒˆã‚’é€šã™ã‚ŗãƒžãƒŗãƒ‰ã€‚åŽŒäē†å‰ãŽčģŊ量検č¨ŧį”¨ã€‚
argument-hint: "[repo|backend|frontend|<path/to/file.ts>]"
---
<!--
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: 2026 Affaan Mustafa and everything-claude-code contributors
å‡ē典 (upstream): https://github.com/affaan-m/everything-claude-code (v2.0.0-rc.1)
upstream path: commands/quality-gate.md
upstream license: MIT — https://github.com/affaan-m/everything-claude-code/blob/main/LICENSE
project-level notice: see .claude/THIRD_PARTY_LICENSES.md (Misskey 内ã‚ĩãƒŧドパãƒŧãƒ†ã‚Ŗä¸€čϧ + MIT 全文)
Imported into Misskey .claude/ on 2026-05-10. Pipeline æĻ‚åŋĩ (lint → typecheck → test) は upstream ECC į‰ˆã‹ã‚‰å€Ÿį”¨ (MIT)ã€‚åŽŸã‚ŗãƒžãƒŗãƒ‰åą¤ã¯ Misskey ぎ pnpm + tsgo + ESLint + Vitest ãĢå›ē厚し、formatter (Prettier/Biome) フェãƒŧã‚ēは削除した。
note: 元 ECC į‰ˆã¯č¨€čĒžč‡Ē動判厚 + format/lint/type ぎジェネãƒĒãƒƒã‚¯į‰ˆã ãŖãŸãŒã€Misskey 専ᔍãĢ pnpm + tsgo + ESLint + Vitest ぎįĩ„ãŋ合わせãĢå›ē厚。重い test:e2e / test:fed はåĢぞãĒい (CI å´ã§åŽŸčĄŒã•ã‚Œã‚‹)。
-->
# /quality-gate — Misskey čģŊ量品čŗĒã‚˛ãƒŧト
`/quality-gate [scope]`
厌äē†å‰ãŽ **čģŊ量** 品čŗĒチェック。重い E2E / é€Ŗåˆãƒ†ã‚šãƒˆ (test:e2e / test:fed / Cypress) は CI å´ã§åŽŸčĄŒã•ã‚Œã‚‹ãŸã‚ã€æœŦã‚ŗãƒžãƒŗãƒ‰ãĢはåĢめãĒい。
## Scope
- `repo` (default) — å…¨ãƒ‘ãƒƒã‚ąãƒŧジ
- `backend` — `packages/backend` ぎãŋ
- `frontend` — `packages/frontend` ぎãŋ
- `path/to/file.ts` — å˜ä¸€ãƒ•ã‚Ąã‚¤ãƒĢへぎ ESLint --fix ぎãŋ
## Pipeline
### Repo scope (全部)
å„ãƒ‘ãƒƒã‚ąãƒŧジぎ `lint` ゚クãƒĒプト原äŊ“は `pnpm typecheck && pnpm eslint` ([packages/backend/package.json](../../packages/backend/package.json), [packages/frontend/package.json](../../packages/frontend/package.json)) で、ãƒĢãƒŧトぎ `pnpm lint` は `pnpm --no-bail -r lint` (= å…¨ãƒ‘ãƒƒã‚ąãƒŧジで lint を `--no-bail` ã§åŽŸčĄŒ)。**typecheck は lint ãĢåĢぞれãĻいる**ため、通常はこぎ 2 ã‚ŗãƒžãƒŗãƒ‰ã§ååˆ†:
```bash
# 1. Lint (= typecheck + ESLintã€å…¨ãƒ‘ãƒƒã‚ąãƒŧジ。--no-bail ã§æœ€åˆãŽå¤ąæ•—ã§æ­ĸぞらず全įĩæžœã‚’集める)
pnpm lint
# 2. Unit test (éĢ˜é€Ÿã€e2e はåĢぞãĒい)
pnpm --filter backend test
pnpm --filter frontend test
```
#### čŠŗį´°ã‚’åˆ†ã‘ãĻčĻ‹ãŸã„æ™‚ãŽãŋ (optional)
lint がぞとめãĻå¤ąæ•—ã—ãĻいãĻ typecheck ぎįĩæžœã ã‘単į‹ŦでčĻ‹ãŸã„å ´åˆã¯ã€äģĨ下を個åˆĨãĢ回す。**通常は不čρ** (lint ぎå‡ē力をčĒ­ã‚ã°čļŗã‚Šã‚‹):
```bash
pnpm --filter backend typecheck # tsgo 単äŊ“
pnpm --filter frontend typecheck # vue-tsc 単äŊ“ (Vue SFC ぎ型をčĻ‹ã‚‹ãŸã‚)
```
### Backend scope
`pnpm --filter backend lint` は内部で `pnpm typecheck && pnpm eslint` ã‚’åŽŸčĄŒã™ã‚‹ ([packages/backend/package.json](../../packages/backend/package.json)) ぎで、`lint` を回せば typecheck もįĩ‚わる。čģŊé‡ã‚˛ãƒŧトでは typecheck ぎäēŒé‡åŽŸčĄŒã‚’éŋけるため `lint` + `test` ぎãŋ:
```bash
pnpm --filter backend lint
pnpm --filter backend test
```
`tsgo` ぎå‡ē力を単į‹ŦでčĻ‹ãŸã„æ™‚ãŽãŋ optional で `pnpm --filter backend typecheck` をåˆĨ途回す。
### Frontend scope
`pnpm --filter frontend lint` も内部で `pnpm typecheck && pnpm eslint` ã‚’åŽŸčĄŒã™ã‚‹ ([packages/frontend/package.json](../../packages/frontend/package.json)) ため、čģŊé‡ã‚˛ãƒŧトでは Backend 同様ãĢ `lint` + `test` ぎãŋ:
```bash
pnpm --filter frontend lint
pnpm --filter frontend test
```
`vue-tsc` ぎå‡ē力を単į‹ŦでčĻ‹ãŸã„æ™‚ãŽãŋ optional で `pnpm --filter frontend typecheck` をåˆĨ途回す。
### Single file scope
```bash
pnpm exec eslint --fix <path>
```
## Output
åŽŸčĄŒã—ãŸãƒ•ã‚§ãƒŧã‚ēぎ pass/fail とäģļæ•°ã‚’é›†č¨ˆã™ã‚‹ã€‚æ¨™æē–ãƒ‘ã‚¤ãƒ—ãƒŠã‚¤ãƒŗã¯ `pnpm lint` (typecheck 内包) と unit test ぎãŋãĒぎで、デフりãƒĢトぎå‡ē力はäģĨ下ぎようãĢãĒる:
```text
Quality Gate (repo):
Lint: PASS (0 errors, 2 warnings)
Backend ut: PASS (412/412)
Frontend ut: PASS (87/87)
→ 厌äē†å‰ãŽčģŊ量チェック OK。重い e2e / é€Ŗåˆãƒ†ã‚šãƒˆã¯ CI å´ã§åŽŸčĄŒã•ã‚Œã‚‹ã€‚
```
`#### čŠŗį´°ã‚’åˆ†ã‘ãĻčĻ‹ãŸã„æ™‚ãŽãŋ (optional)` で個åˆĨ typecheck (`pnpm --filter backend typecheck` / `pnpm --filter frontend typecheck`) も回した場合ぎãŋ、そぎįĩæžœã‚’čŋŊåŠ čĄŒã¨ã—ãĻ襨į¤ēする:
```text
Quality Gate (repo):
Lint: PASS (0 errors, 2 warnings)
Backend tc: PASS (0 errors) # optional åŽŸčĄŒæ™‚ãŽãŋ
Frontend tc: PASS (0 errors) # optional åŽŸčĄŒæ™‚ãŽãŋ
Backend ut: PASS (412/412)
Frontend ut: PASS (87/87)
```
å¤ąæ•—æ™‚ã¯æœ€åˆãĢčŊãĄãŸãƒ•ã‚§ãƒŧã‚ēで停æ­ĸしãĻčŠŗį´°ã‚’čĻ‹ã›ã‚‹ã€‚
## é–ĸ逪 skill / ã‚ŗãƒžãƒŗãƒ‰
- `/check-misskey-js` ã‚ŗãƒžãƒŗãƒ‰ — API 変更時ぎ misskey-js å†į”Ÿæˆ
- [AGENTS.md §åŋ…é ˆã‚ŗãƒžãƒŗãƒ‰](../../AGENTS.md#åŋ…é ˆã‚ŗãƒžãƒŗãƒ‰) — pnpm ã‚ŗãƒžãƒŗãƒ‰ä¸€čĻ§ãŽæ­Ŗå…¸
## 元 ECC į‰ˆã¨ãŽåˇŽåˆ†
- ジェネãƒĒックãĒ言čĒžč‡Ē動判厚を排除し、Misskey å›ē厚 pipeline ãĢ。
- formatter フェãƒŧã‚ēãĒし (Misskey は ESLint --fix ぎãŋæŽĄį”¨)。
- e2e / federation / Cypress は重いため除外し CI 側ãĢå§”č­˛ã€‚

18
.claude/docs/README.md Normal file
View File

@@ -0,0 +1,18 @@
# Misskey – Claude Code čŖœåŠŠãƒ‰ã‚­ãƒĨãƒĄãƒŗãƒˆ
ãƒĢãƒŧト `CLAUDE.md` ãĢは書かれãĻいãĒいが、開į™ē時ãĢå‚į…§ã™ã‚‹ã¨äžŋ刊ãĒæƒ…å ąã‚’åˆ†é‡ŽåˆĨãĢぞとめãĻいる。**Claude はåŋ…čρãĢãĒãŖãŸã‚ŋã‚¤ãƒŸãƒŗã‚°ã§čŠ˛åŊ“ãƒ•ã‚Ąã‚¤ãƒĢを Read ã™ã‚Œã°č‰¯ã„** (auto-load しãĒい)。
## į´ĸåŧ•
| ãƒ•ã‚Ąã‚¤ãƒĢ | いつčĒ­ã‚€ã‹ |
|---|---|
| [architecture.md](./architecture.md) | ãƒ‘ãƒƒã‚ąãƒŧジ構成ãƒģビãƒĢãƒ‰æ§‹é€ ã‚’æŠŠæĄã—ãŸã„æ™‚ / æ–°ãƒ‘ãƒƒã‚ąãƒŧã‚¸ã‚’čˇ¨ãå¤‰æ›´ã‚’č¨ˆį”ģする時 |
| [backend.md](./backend.md) | `packages/backend` ã‚’įˇ¨é›†ã™ã‚‹æ™‚ (NestJS / TypeORM / API endpoint / migration) |
| [frontend.md](./frontend.md) | `packages/frontend` ã‚’įˇ¨é›†ã™ã‚‹æ™‚ (Vue 3 / Mk* / i18n / SCSS Modules / `os.ts`) |
| [testing.md](./testing.md) | テ゚トを書くãƒģčĩ°ã‚‰ã›ã‚‹æ™‚ (Vitest 構成、Cypress、Storybook) |
| [plugins.md](./plugins.md) | 有劚化済ぎ Claude Code ãƒ—ãƒŠã‚°ã‚¤ãƒŗãŽį”¨é€”ã‚’įĸēčĒã—ãŸã„æ™‚ |
## 誜čļŗ: ãƒĢãƒŧãƒĢ vs ドキãƒĨãƒĄãƒŗãƒˆ
- ä狿•…į›´įĩãƒĢãƒŧãƒĢ (SPDX / locales / migration) とåŋ…é ˆã‚ŗãƒžãƒŗãƒ‰ãƒģCHANGELOG 書åŧã¯ã€ãƒĒポジトãƒĒãƒĢãƒŧトぎ [AGENTS.md](../../AGENTS.md) ãĢé›†į´„ã•ã‚ŒãĻいる。Claude Code は CLAUDE.md からぎ `@AGENTS.md` ã§å¸¸æ™‚ã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆãĢ䚗せる。Codex / Copilot ã‚‚åŒã˜ãƒ•ã‚Ąã‚¤ãƒĢをčĒ­ã‚€ã€‚
- `.claude/docs/*.md` (ã“ãŽãƒ‡ã‚ŖãƒŦクトãƒĒ) は **ã‚Ēãƒŗãƒ‡ãƒžãƒŗãƒ‰å‚į…§**。Claude が「įŸĨãŖãĻãŠã„ãŸæ–šãŒč‰¯ã„ãŒå¸¸ãĢ持つåŋ…čĻã¯ãĒい」内厚をここãĢįŊŽãã€‚

View File

@@ -0,0 +1,47 @@
# ã‚ĸãƒŧã‚­ãƒ†ã‚¯ãƒãƒŖæĻ‚čρ
## ãƒĸノãƒŦポ構成 (pnpm workspaces)
pnpm workspace ãŽæ­Ŗã¯ [pnpm-workspace.yaml](../../pnpm-workspace.yaml) で、äģĨ下 11 ãƒ‘ãƒƒã‚ąãƒŧジと、`packages/misskey-js` 内ぎ sub-workspace `packages/misskey-js/generator` (åž‹į”Ÿæˆį”¨ãŽå†…éƒ¨ã‚¸ã‚§ãƒãƒŦãƒŧã‚ŋã€‚į›´æŽĨįˇ¨é›†ã—ãĒい) で構成される。`package.json` ぎ `workspaces` 配列もäŊĩč¨˜ã—ãĻいるが、原äŊ“は pnpm-workspace.yaml がčĒ­ãžã‚Œã‚‹:
| ãƒ‘ãƒƒã‚ąãƒŧジ | åŊšå‰˛ |
|---|---|
| `packages/backend` | NestJS 11 + Fastify 5 + TypeORM 0.3 (PostgreSQL) + Redis。HTTP/WebSocket/ActivityPub ã‚ĩãƒŧバãƒŧæœŦäŊ“。 |
| `packages/frontend` | Vue 3.5 + Vite。Web クナイã‚ĸãƒŗãƒˆæœŦäŊ“。 |
| `packages/frontend-embed` | 埋めčžŧãŋå°‚į”¨ãƒ“ãƒĨãƒŧ (ノãƒŧト単äŊ“プãƒŦビãƒĨãƒŧį­‰)。 |
| `packages/frontend-shared` | frontend と frontend-embed ã§å…ąæœ‰ã™ã‚‹ãƒĻãƒŧãƒ†ã‚ŖãƒĒãƒ†ã‚Ŗãƒģã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã€‚ |
| `packages/frontend-builder` | ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãƒ“ãƒĢド支援 (Vite plugin ãĒお)。 |
| `packages/sw` | Service Worker。 |
| `packages/misskey-js` | JS/TS クナイã‚ĸãƒŗãƒˆ SDK (MIT ã‚ĩãƒ–ãƒ‘ãƒƒã‚ąãƒŧジ)。`src/autogen/` 配下ぎãŋ backend ぎ OpenAPI から `pnpm build-misskey-js-with-types` でč‡Ēå‹•į”Ÿæˆã•ã‚Œã€ãã‚ŒäģĨ外 (`src/index.ts` / `src/api.ts` į­‰) は手書きäŋåŽˆã™ã‚‹ã€‚autogen é…ä¸‹ã‚’į›´æŽĨįˇ¨é›†ã—ãĒいこと。 |
| `packages/misskey-reversi` | 内č”ĩãƒĒバãƒŧã‚ˇã‚˛ãƒŧムぎロジック。 |
| `packages/misskey-bubble-game` | 内č”ĩバブãƒĢã‚˛ãƒŧムぎロジック。 |
| `packages/i18n` | locales čĒ­ãŋčžŧãŋ/åž‹į”ŸæˆãŽã‚ĩポãƒŧト。 |
| `packages/icons-subsetter` | ã‚ĸã‚¤ã‚ŗãƒŗãŽã‚ĩブã‚ģット化ツãƒŧãƒĢ。 |
そぎäģ–ãĢ `packages/shared` (workspaces ãĢはåĢぞれãĒã„ãŒå…ąæœ‰ãƒ•ã‚Ąã‚¤ãƒĢįŊŽãå ´) もある。
## 重čρãĒ䞝存é–ĸäŋ‚
```
frontend ── misskey-js (auto-generated) ── backend (OpenAPI)
▲
└── frontend-embed, sw も䞝存
```
- backend ぎ API (meta / paramDef / response) を変更したら **åŋ…ず** `pnpm build-misskey-js-with-types` ã‚’åŽŸčĄŒã—ã€misskey-js ãŽį”Ÿæˆį‰Šã‚’æ›´æ–°ã™ã‚‹ã€‚åŋ˜ã‚Œã‚‹ã¨ CI ぎ `check-misskey-js-autogen` ジョブがčŊãĄã‚‹ã€‚
## ビãƒĢドツãƒŧãƒĢ
- **Backend**: `rolldown` (Rust čŖŊãƒģRollup äē’æ› API ãŽãƒãƒŗãƒ‰ãƒŠ) ã§ãƒãƒŗãƒ‰ãƒĢ。型チェックは `tsgo` (TypeScript native preview)。
- **Frontend**: Vite。型チェックは `vue-tsc`。
- **Lint**: ESLint 9 (Flat Config) + `@misskey-dev/eslint-plugin`。
## å›Ŋ際化
- `locales/` ᛴ䏋ãĢ 40 言čĒžãŽ YAML (ja-JP.yml + äģ– 39 言čĒž)。
- **`ja-JP.yml` ぎãŋæ‰‹å‹•įˇ¨é›†å¯** (Crowdin įĩŒį”ąã§äģ–言čĒžã¸č‡Ē動配äŋĄ)。
- ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã‹ã‚‰ãŽå‚į…§ã¯åŧ•æ•°ãĒしかåŧ•数ありかでäŊŋã„åˆ†ã‘ã‚‹ã€‚čŠŗį´°ã¯ [frontend.md](./frontend.md#å›Ŋ際化-i18n)。
## ナイã‚ģãƒŗã‚š
ãƒĒポジトãƒĒæœŦäŊ“は AGPL-3.0-only。**AGPL-3.0-only įŽĄčŊ„かつ SPDX CI å¯žčąĄãƒ‡ã‚ŖãƒŦクトãƒĒ** ぎ新čĻ `.ts` / `.js` / `.cjs` / `.mjs` / `.vue` / `.scss` / `.html` ãƒ•ã‚Ąã‚¤ãƒĢãĢは冒頭ãĢ SPDX ヘッダãƒŧåŋ…須。`packages/misskey-js` は MIT ã‚ĩãƒ–ãƒ‘ãƒƒã‚ąãƒŧジãĒぎで AGPL ヘッダãƒŧを一型ãĢäģ˜ã‘ãĒã„ã€‚æĄäģļã¨é™¤å¤–ãŽčŠŗį´°ã¯ [AGENTS.md §1](../../AGENTS.md#1-spdx-ヘッダãƒŧåŋ…é ˆ) å‚į…§ã€‚

124
.claude/docs/backend.md Normal file
View File

@@ -0,0 +1,124 @@
# Backend (`packages/backend`) čĻį´„
NestJS 11 + Fastify 5 + TypeORM 0.3 (PostgreSQL) + Redis。
## ã‚ĸãƒŧã‚­ãƒ†ã‚¯ãƒãƒŖ
- **DI ã‚ŗãƒŗãƒ†ãƒŠ**: NestJS ぎ `@Injectable()` ã‚ĩãƒŧビ゚ + Repository (TypeORM) パã‚ŋãƒŧãƒŗã€‚
- **DI トãƒŧã‚¯ãƒŗ**: `@/di-symbols.js` ぎ `DI` から `@Inject(DI.xxx)` ã§æŗ¨å…Ĩ。
- **ビãƒĢド**: `rolldown -c` で `built/` ãĢãƒãƒŗãƒ‰ãƒĢ。型チェックは `tsgo`。
## API ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆ
### 配įŊŽ
`packages/backend/src/server/api/endpoints/<category>/<name>.ts` (ä¸€éƒ¨ã¯ãƒˆãƒƒãƒ—į›´ä¸‹)。
### ä¸‰į‚šã‚ģット (`endpoints/ping.ts` å‚į…§)
å„ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆãƒ•ã‚Ąã‚¤ãƒĢはäģĨ下ぎ 3 つを export する:
```ts
export const meta = {
tags: ['<tag>'],
requireCredential: true, // ぞたは false (åŋ…ず明į¤ē)
requireModerator: false, // åŋ…čρãĒら true
kind: 'read:account', // OAuth scope
res: {
type: 'object',
optional: false, nullable: false,
properties: { /* ... */ },
},
errors: {
sampleError: {
message: 'Sample error message.',
code: 'SAMPLE_ERROR',
id: 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx', // UUID v4 (`x`=hex, `y`=8/9/a/b)。`crypto.randomUUID()` ã§į”Ÿæˆã—ã€äģ–ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆã¨é‡č¤‡ã•ã›ãĒい
},
},
} as const;
export const paramDef = {
type: 'object',
properties: { /* JSON Schema */ },
required: [],
} as const;
@Injectable()
export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-disable-line import/no-default-export
constructor(
// @Inject(DI.xxx) private xxxRepository: XxxRepository,
) {
super(meta, paramDef, async (ps, me) => {
// åŽŸčŖ…ã€‚ã‚¨ãƒŠãƒŧは throw new ApiError(meta.errors.xxx);
});
}
}
```
### æŗ¨æ„į‚š
- **å…Ŧ開 API エナãƒŧとしãĻクナイã‚ĸãƒŗãƒˆãĢčŋ”したいもぎは `throw new ApiError(meta.errors.<key>)` をäŊŋう**。`meta.errors` ãĢ列挙しãĻ `ApiError` でナップしãĒいと misskey-js 側ぎ型ãĢå‡ēず、ãƒŦã‚šãƒãƒŗã‚šã‚‚ 500 ãĢãĒる。
- 一斚で **æƒŗåŽšå¤–ãŽäž‹å¤– (DB 不整合 / ä¸‹åą¤ã‚ĩãƒŧビ゚ぎ bug į­‰) ã¯æĄã‚ŠæŊ°ã•ず再 throw する**。æ—ĸ存 endpoint も「期垅されるæĨ­å‹™ã‚¨ãƒŠãƒŧは `ApiError` ãĢ変換し、それäģĨ外は `throw err;` で再 throw」ぎä猿Žĩ構え (例: [`endpoints/i/pin.ts`](../../packages/backend/src/server/api/endpoints/i/pin.ts) ぎ `catch` ᝀ)ã€‚į”Ÿ `throw` を全éĸįρæ­ĸするとæœĒįŸĨ䞋外が 200 でæŊ°ã‚ŒãĻ debug 困雪ãĢãĒる。
- `meta.errors.<key>.id` は **UUID** åŊĸåŧã€‚æ–°čĻčŋŊ加時はäģ–ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆã¨é‡č¤‡ã—ãĒいようįĸēčĒã™ã‚‹ã€‚
- `requireCredential` は `true` / `false` をåŋ…ず明į¤ēする。
- 新čĻã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆčŋŊ加垌は **`pnpm build-misskey-js-with-types`** ã‚’åŽŸčĄŒã™ã‚‹ (`misskey-js` ぎč‡Ēå‹•į”Ÿæˆãƒ•ã‚Ąã‚¤ãƒĢを更新)。
### ãƒĢãƒŧトį™ģ錞
ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆã¯ **glob č‡Ē動収集されãĒい**。新čĻãƒ•ã‚Ąã‚¤ãƒĢを `endpoints/<category>/<name>.ts` ãĢįŊŽã„ただけでは API ãƒĢãƒŧãƒ†ã‚Ŗãƒŗã‚°ãĢ䚗らず、404 ãĢãĒる。`packages/backend/src/server/api/endpoint-list.ts` ãĢã‚ĸãƒĢãƒ•ã‚Ąãƒ™ãƒƒãƒˆé †ã§ 1 行čŋŊ加するぎがåŋ…é ˆ:
```ts
export * as '<category>/<name>' from './endpoints/<category>/<name>.js';
```
`EndpointsModule.ts` ãŒã“ãŽãƒ•ã‚Ąã‚¤ãƒĢぎ全エク゚ポãƒŧトを `Object.entries()` で反垊し、NestJS ぎ provider (`provide: 'ep:<path>'`) ã‚’į”Ÿæˆã™ã‚‹ã€‚čŠŗį´°ã¯ [.claude/skills/add-api-endpoint/SKILL.md](../skills/add-api-endpoint/SKILL.md) ぎ゚テップ 4 ã‚’å‚į…§ã€‚
## ãƒĸデãƒĢ / Repository
- ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗ: `packages/backend/src/models/<Name>.ts` (`@Entity` + `@Column`)。
- DI įĩŒį”ąã§æŗ¨å…Ĩされる Repository をįĩŒį”ąã—ãĻã‚ĸクã‚ģ゚。
## Migration
čŠŗį´°æ‰‹é † (手書き斚åŧ = AGENTS.md §3 と整合):
> ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖåˇŽåˆ†ã‹ã‚‰ãŽč‡Ēå‹•į”Ÿæˆã‚„ `CREATE INDEX CONCURRENTLY` į­‰ãŽã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã‚’äŊŋいたい場合は [.claude/skills/create-migration/SKILL.md](../skills/create-migration/SKILL.md) ぎ TypeORM CLI 手順をäŊŋう。手書き / CLI ãŠãĄã‚‰ã§ã‚‚ `check-migrations` (pending DDL 検å‡ē) ã•ãˆé€šã›ã°į­‰äžĄã€‚
1. **ã‚ŋイム゚ã‚ŋãƒŗãƒ—å–åž—**: `node -e "console.log(Date.now())"`
2. **ãƒ•ã‚Ąã‚¤ãƒĢ名**: `packages/backend/migration/{timestamp}-{PascalCaseName}.js` (æ‹Ąåŧĩ子は `.js`)
3. **雛åŊĸ**:
```js
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class PascalCaseName1234567890123 {
name = 'PascalCaseName1234567890123'
async up(queryRunner) {
// å‰é€˛ãƒžã‚¤ã‚°ãƒŦãƒŧã‚ˇãƒ§ãƒŗ
}
async down(queryRunner) {
// up を厌全ãĢåˇģきæˆģす
}
}
```
4. **検č¨ŧ**:
- `pnpm --filter backend check-migrations` (TypeORM schema builder で pending DDL を検å‡ēã™ã‚‹ã€‚ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗã¨ migration ãŽä¸ä¸€č‡´ãŒæŽ‹ãŖãĻいるとここで非ã‚ŧロįĩ‚äē†ã™ã‚‹ã€‚åޟäŊ“は [scripts/check_migrations_clean.js](../../packages/backend/scripts/check_migrations_clean.js))
- `pnpm migrate` (ロãƒŧã‚ĢãƒĢ DB ãĢéŠį”¨)
- `pnpm revert` (ロãƒŧãƒĢバックįĸēčĒ)
5. **ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗã¨ãŽæ•´åˆæ€§**: é–ĸé€Ŗã™ã‚‹ `src/models/*.ts` ぎ `@Column` / `@Entity` も同時ãĢ更新する。
> マãƒŧジ済ãŋ migration ãŽįˇ¨é›†ã¯ **įĩļ寞įρæ­ĸ** ([AGENTS.md §3](../../AGENTS.md#3-マãƒŧジ済ãŋ-migration-をįĩļ寞ãĢįˇ¨é›†ã—ãĒい))。
## テ゚ト
- Unit: `pnpm --filter backend test` (`vitest.config.unit.ts`)
- E2E: `pnpm --filter backend test:e2e` (`vitest.config.e2e.ts`)
- Federation: `pnpm --filter backend test:fed` (`vitest.config.fed.ts`)
- 配įŊŽ: `packages/backend/test/` 配下。

76
.claude/docs/frontend.md Normal file
View File

@@ -0,0 +1,76 @@
# Frontend (`packages/frontend`) čĻį´„
Vue 3.5 + Vite + Storybook + Cypress E2E。
## ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆå‘Ŋ名
- å…ąæœ‰ / å†åˆŠį”¨ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã¯ **`Mk` プãƒŦãƒ•ã‚Ŗãƒƒã‚¯ã‚š** (例: `MkButton.vue`, `MkInput.vue`, `MkAbuseReport.vue`)。
- ペãƒŧジ単äŊãŽã‚‚ぎは `packages/frontend/src/pages/` 配下ãĢįŊŽãã€‚
## SFC ゚ã‚ŋイãƒĢ
Composition API + `<script setup lang="ts">` をåŸēæœŦとする (Options API は新čĻå°Žå…ĨしãĒい)ã€‚åž‹åŽŖč¨€ã‚„ module ã‚šã‚ŗãƒŧプぎãƒĻãƒŧãƒ†ã‚ŖãƒĒãƒ†ã‚Ŗã‚’įŊŽããŸã„時は、setup ブロックと**äŊĩᔍ**するåŊĸでčŋŊ加ぎ `<script lang="ts">` ブロックをįŊŽã„ãĻ構わãĒい (例: [`MkInput.vue`](../../packages/frontend/src/components/MkInput.vue) は `SupportedTypes` 型をåˆĨãƒ–ãƒ­ãƒƒã‚¯ã§åŽŖč¨€ã—ãĻから setup を書いãĻいる)。SCSS は **CSS Modules** で書き、`<style lang="scss" module>` をäŊŋう:
```vue
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<div :class="$style.root">
<!-- ... -->
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue';
// ...
</script>
<style lang="scss" module>
.root {
/* ... */
}
</style>
```
## å›Ŋ際化 (i18n)
- 文字列ãƒĒテナãƒĢã‚’į›´æ›¸ãã—ãĒい。
- åŧ•æ•°ãĒし: `i18n.ts.<path>` ã§å‚į…§ã™ã‚‹ (例: `i18n.ts.deleted`)。
- åŧ•数あり: `i18n.tsx.<path>(...)` でé–ĸ数å‘ŧãŗå‡ēしする (例: `i18n.tsx.takeOverConfirm({ name })`)。
- 新čĻã‚­ãƒŧは **`locales/ja-JP.yml` ぎãŋ** ãĢčŋŊ加する (äģ–言čĒžã¯ Crowdin でč‡Ē動配äŋĄ)。
- `i18n` は `packages/frontend/src/i18n.ts` (ãžãŸã¯å…ąæœ‰ãƒĸジãƒĨãƒŧãƒĢ) から import する。
## ãƒĸãƒŧダãƒĢ / 通įŸĨ
- `os.ts` (`packages/frontend/src/os.ts`) įĩŒį”ąã§å‘ŧãļ。
- `os.alert(...)` / `os.confirm(...)` / `os.popup(...)` / `os.success(...)` ãĒお。
- ブナã‚Ļã‚ļ標æē–ぎ `window.alert()` / `window.confirm()` を **į›´æŽĨå‘ŧばãĒい**。
## ã‚ĸクã‚ģã‚ˇãƒ“ãƒĒãƒ†ã‚Ŗ (PR ãƒŦビãƒĨãƒŧã§æŒ‡æ‘˜ã•ã‚Œã‚„ã™ã„į‚š)
- クãƒĒãƒƒã‚¯ãƒãƒŗãƒ‰ãƒŠã‚’äģ˜ã‘ã‚‹ãĒら `<button>` をäŊŋうか、`role="button"` + `tabindex` をäģ˜ã‘る。
- フりãƒŧムčρᴠãĢは `<label>` ぞたは `aria-label` をäģ˜ã‘る。
- キãƒŧボãƒŧド操äŊœå¯čƒŊであること。
## Storybook
新čĻå…ąæœ‰ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãĢは `<ComponentName>.stories.impl.ts` をäŊĩč¨­ã™ã‚‹ãŽãŒæ…Ŗįŋ’ (`MkButton.stories.impl.ts` į­‰ãŽäž‹å¤šæ•°)。
```bash
pnpm --filter frontend storybook-dev # localhost:6006
```
## ビãƒĢドãƒģ開į™ē
- 開į™ē: `pnpm dev` (ãƒĢãƒŧト) で backend + frontend が watch でįĢ‹ãĄä¸ŠãŒã‚‹ã€‚
- ビãƒĢド: `pnpm --filter frontend build`
- 型チェック: `pnpm --filter frontend typecheck` (vue-tsc)
- ESLint: `pnpm --filter frontend eslint`
## テ゚ト
- Unit (Vitest): `pnpm --filter frontend test`
- Cypress E2E: `pnpm e2e` (ãƒĢãƒŧトから; `start-server-and-test` でčĩˇå‹•)

28
.claude/docs/plugins.md Normal file
View File

@@ -0,0 +1,28 @@
# 有劚化済 Claude Code ãƒ—ãƒŠã‚°ã‚¤ãƒŗ
`.claude/settings.json` で 14 ãƒ—ãƒŠã‚°ã‚¤ãƒŗãŒæœ‰åŠšåŒ–ã•ã‚ŒãĻã„ã‚‹ã€‚ãã‚Œãžã‚ŒãŽå…¸åž‹įš„ãĒåˆŠį”¨ã‚ˇãƒŧãƒŗã‚’ 1 čĄŒã§į¤ēす。
| ãƒ—ãƒŠã‚°ã‚¤ãƒŗ | ᔍ途 |
| --- | --- |
| `frontend-design` | UI ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆ / ペãƒŧã‚¸ãŽč¨­č¨ˆãƒģデã‚ļã‚¤ãƒŗäŊœæĨ­ (Vue 3 ᎍ集ãĢ有劚) |
| `superpowers` | TDDãƒģdebuggingãƒģbrainstormingãƒģplanning į­‰ãŽãƒĄã‚ŋ゚キãƒĢįž¤ |
| `context7` | OSS ドキãƒĨãƒĄãƒŗãƒˆãŽå–åž— (Vue 3, NestJS, TypeORM, Vitest į­‰) — č¨“įˇ´ãƒ‡ãƒŧã‚ŋãŽå¤ã•ã‚’čŖœã† |
| `code-review` | ã‚ŗãƒŧドãƒŦビãƒĨãƒŧ (`/code-review`) |
| `code-simplifier` | ã‚ŗãƒŧãƒ‰æ•´į† (`code-simplifier:code-simplifier` ã‚ĩブエãƒŧã‚¸ã‚§ãƒŗãƒˆįĩŒį”ą) |
| `github` | GitHub PR / Issue 操äŊœ (gh ベãƒŧã‚šã ãŒčŖœåŠŠã‚ŗãƒžãƒŗãƒ‰ã‚ã‚Š) |
| `skill-creator` | 新゚キãƒĢぎäŊœæˆãƒģ攚善ãƒģ評価 |
| `feature-dev` | 抟čƒŊ開į™ēã‚Ŧイド (`/feature-dev:feature-dev` / 内部ãĢ `code-architect` / `code-explorer` / `code-reviewer` ã‚ĩブエãƒŧã‚¸ã‚§ãƒŗãƒˆ) |
| `claude-md-management` | CLAUDE.md ぎäŊœæˆãƒģ攚善 (`/claude-md-management:revise-claude-md` / `claude-md-improver` エãƒŧã‚¸ã‚§ãƒŗãƒˆ) |
| `typescript-lsp` | TypeScript LSP 逪æē (åž‹æƒ…å ąã‚’æ´ģᔍ) |
| `security-guidance` | ã‚ģキãƒĨãƒĒãƒ†ã‚ŖãƒŦビãƒĨãƒŧ (`/security-review`) |
| `pr-review-toolkit` | PR ãƒŦビãƒĨãƒŧ一åŧã€‚ã‚ĩブエãƒŧã‚¸ã‚§ãƒŗãƒˆ: `code-reviewer` / `code-simplifier` / `comment-analyzer` / `pr-test-analyzer` / `silent-failure-hunter` / `type-design-analyzer` |
| `claude-code-setup` | Claude Code č‡Ē動化ã‚ģットã‚ĸãƒƒãƒ—ææĄˆ |
| `playwright` | ブナã‚Ļã‚ļč‡Ē動操äŊœ (ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰å‹•äŊœįĸēčĒæ™‚ãĢæœ‰į”¨) |
## äŊŋい分けぎ指針
- **API é–ĸé€ŖãŽčĒŋæŸģ**: `context7` ã§å¯žčąĄãƒŠã‚¤ãƒ–ãƒŠãƒĒぎドキãƒĨãƒĄãƒŗãƒˆã‚’å–åž— → įˇ¨é›†ã€‚
- **PR äŊœæˆå‰**: `pr-review-toolkit` ぎ各エãƒŧã‚¸ã‚§ãƒŗãƒˆ (code-reviewer / silent-failure-hunter į­‰) をä¸Ļ列でčĩ°ã‚‰ã›ã‚‹ã€‚
- **新抟čƒŊãŽč¨­č¨ˆ**: `feature-dev` → brainstorming → åŽŸčŖ…ãŽæĩã‚Œã€‚
- **UI įĸēčĒ**: `playwright` で `pnpm dev` ぎį”ģéĸã‚’į›´æŽĨ操äŊœã€‚
- **将æĨčŋŊåŠ æ¤œč¨Ž**: PostgreSQL MCP — TypeORM + 342 migration ぎčĒŋæŸģåŠšįŽ‡åŒ–ã€‚read-only ロãƒŧãƒĢでį™ģéŒ˛ã—ã€æŽĨįļšå…ˆ (`misskey` DB) と樊限分é›ĸãĢæŗ¨æ„ã™ã‚‹ã€‚

69
.claude/docs/testing.md Normal file
View File

@@ -0,0 +1,69 @@
# テ゚ト構成
## Backend 全čˆŦぎ前提: `.config/test.yml`
backend ぎテ゚ト゚クãƒĒプト (`test` / `test:e2e` / `test:fed`) はすずãĻ内部で `cross-env NODE_ENV=test pnpm compile-config` ã‚’åŽŸčĄŒã—ã€`.config/test.yml` をčĒ­ãŋčžŧむ ([packages/backend/package.json](../../packages/backend/package.json), [packages/backend/scripts/compile_config.js](../../packages/backend/scripts/compile_config.js))。**æœĒäŊœæˆã ã¨ãƒ†ã‚šãƒˆč‡ĒäŊ“がčĩˇå‹•しãĒい。**
æœĒäŊœæˆãĒらäģĨ下を 1 å›žã ã‘æ‰‹å‹•ã‚ŗãƒ”ãƒŧする (ãŠãĄã‚‰ã§ã‚‚å¯):
```bash
ncp .github/misskey/test.yml .config/test.yml
# ぞたは
cp .github/misskey/test.yml .config/test.yml
```
誜čļŗ:
- ãƒĢãƒŧトぎ `pnpm start:test` (Cypress ᔍãĢテ゚トã‚ĩãƒŧバãƒŧをčĩˇå‹•ã™ã‚‹ã‚ŗãƒžãƒŗãƒ‰) をäŊŋうįĩŒčˇ¯ã§ã¯åŽŸčĄŒæ™‚ãĢ `ncp` でč‡Ēå‹•ã‚ŗãƒ”ãƒŧされる ([package.json](../../package.json))。それäģĨ外で backend ãƒ†ã‚šãƒˆã‚’į›´æŽĨčĩ°ã‚‰ã›ã‚‹æ™‚ã¯ä¸Šč¨˜ãŽæ‰‹å‹•ã‚ŗãƒ”ãƒŧがåŋ…čĻã€‚
- すでãĢ `.config/test.yml` があれば各テ゚ト゚クãƒĒプトぎ内部 `compile-config` で十分ãĒぎで、čŋŊ加で `pnpm --filter backend compile-config` を及くåŋ…čĻã¯ãĒい。
- `pnpm start:test` は backend e2e テ゚ト (`pnpm --filter backend test:e2e`) ぎ前提ではãĒい (ポãƒŧトįĢļ合ぎ元ãĢãĒるためäŊŋわãĒいこと)。
## Backend (Vitest 4, 3 č¨­åŽš)
| į¨ŽåˆĨ | č¨­åŽšãƒ•ã‚Ąã‚¤ãƒĢ | åŽŸčĄŒã‚ŗãƒžãƒŗãƒ‰ |
| --- | --- | --- |
| Unit | `packages/backend/vitest.config.unit.ts` | `pnpm --filter backend test` |
| E2E (HTTP / DB) | `packages/backend/vitest.config.e2e.ts` | `pnpm --filter backend test:e2e` |
| Federation | `packages/backend/vitest.config.fed.ts` | `pnpm --filter backend test:fed` |
- 配įŊŽ: `packages/backend/test/`
- äē‹å‰æē–備は [§Backend 全čˆŦぎ前提: `.config/test.yml`](#backend-全čˆŦぎ前提-configtestyml) ã‚’å‚į…§ã€‚
- ã‚ĢバãƒŦッジ: `pnpm --filter backend test-and-coverage`
## Frontend (Vitest)
```bash
pnpm --filter frontend test # 1 å›žåŽŸčĄŒ
pnpm --filter frontend test-and-coverage # ã‚ĢバãƒŦッジäģ˜ã
```
- ä¸ģãĒ配įŊŽ: `packages/frontend/test/*.test.ts` (例: `i18n.test.ts`, `theme.test.ts`, `is-birthday.test.ts`)。
- ビãƒĢドツãƒŧãƒĢ周りãĒãŠå¯žčąĄã‚ŗãƒŧãƒ‰ã¨éšŖæŽĨã•ã›ãŸæ–šãŒåˆ†ã‹ã‚Šã‚„ã™ã„ãƒ†ã‚šãƒˆã¯ã€ã‚ŗãƒŧãƒ‰ã¨åŒã˜ãƒ‡ã‚ŖãƒŦクトãƒĒãĢ `*.test.ts` としãĻįŊŽã (例: [`packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.test.ts`](../../packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.test.ts))。
- å…ąæœ‰ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆ (`MkX.vue`) ぎãƒĻãƒ‹ãƒƒãƒˆãƒ†ã‚šãƒˆã¯įžįŠļ少ãĒく、`*.spec.ts` / `__tests__/` åŊĸåŧã¯æŽĄį”¨ã—ãĻいãĒい (Storybook + Cypress でã‚Ģバãƒŧ)。
## E2E (Cypress)
ãƒĢãƒŧãƒˆã‹ã‚‰åŽŸčĄŒã™ã‚‹:
```bash
pnpm e2e # start:test ã‚ĩãƒŧバãƒŧをįĢ‹ãĻãĻ Cypress run
pnpm cy:open # å¯žčŠąįš„ãĢ開く
```
- č¨­åŽš: ãƒĢãƒŧト `cypress.config.ts`。テ゚トæœŦäŊ“は `cypress/` 配下。
## Storybook (frontend)
```bash
pnpm --filter frontend storybook-dev # http://localhost:6006
pnpm --filter frontend build-storybook # é™įš„ãƒ“ãƒĢド
```
- å„ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆæ¨ĒãĢ `*.stories.impl.ts` をäŊĩč¨­ã™ã‚‹æ…Ŗįŋ’ (例: `MkButton.stories.impl.ts`)。
- Chromatic (`pnpm --filter frontend chromatic`) でčĻ–čĻšå›žå¸°ãƒã‚§ãƒƒã‚¯ã€‚
## ロãƒŧã‚ĢãƒĢ DB / Redis (テ゚トãƒģ開į™ēå…ąé€š)
```bash
docker compose -f compose.local-db.yml up -d
```

18
.claude/settings.json Normal file
View File

@@ -0,0 +1,18 @@
{
"enabledPlugins": {
"frontend-design@claude-plugins-official": true,
"superpowers@claude-plugins-official": true,
"context7@claude-plugins-official": true,
"code-review@claude-plugins-official": true,
"code-simplifier@claude-plugins-official": true,
"github@claude-plugins-official": true,
"skill-creator@claude-plugins-official": true,
"feature-dev@claude-plugins-official": true,
"claude-md-management@claude-plugins-official": true,
"typescript-lsp@claude-plugins-official": true,
"security-guidance@claude-plugins-official": true,
"pr-review-toolkit@claude-plugins-official": true,
"claude-code-setup@claude-plugins-official": true,
"playwright@claude-plugins-official": true
}
}

33
.claude/skills/README.md Normal file
View File

@@ -0,0 +1,33 @@
# `.claude/skills/` — プロジェクトå›ē有ぎã‚Ģ゚ã‚ŋム゚キãƒĢ
Misskey å›ēæœ‰ãŽįš°ã‚Ščŋ”しã‚ŋ゚クを Claude ãĢ゚ムãƒŧã‚ēãĢåŽŸčĄŒã•ã›ã‚‹ãŸã‚ãŽ **ã‚Ģ゚ã‚ŋム゚キãƒĢ** を `.claude/skills/<name>/SKILL.md` åŊĸåŧã§é…įŊŽã™ã‚‹ã€‚
frontmatter (`name` + `description`) は、Claude が **č‡Ē動で゚キãƒĢをå‘ŧãŗå‡ēすか判断する** 唯一ぎ手がかりãĢãĒる。`description` ãĢã¯į”¨é€”ã‚’å…ˇäŊ“įš„ã‹ã¤įļ˛įž…įš„ãĢ書く (å‹•čŠž + å¯žčąĄ + トãƒĒã‚ŦãƒŧæĄäģļ)。
## åŽŸčŖ…æ¸ˆã‚šã‚­ãƒĢ
### Misskey å›ē有 (æœŦãƒĒポジトãƒĒ向け書きčĩˇã“し)
| ゚キãƒĢ名 | åŊšå‰˛ | å„Ē先åēĻ |
| --- | --- | --- |
| [create-migration](create-migration/SKILL.md) | TypeORM CLI (`migration:generate` / `migration:create`) でマイグãƒŦãƒŧã‚ˇãƒ§ãƒŗã‚’į”Ÿæˆã—ã€SPDX / up-down / `check-migrations` ぞでčĒ˜å°Ž | é̘ (342 æ—ĸ存 / čĻį´„åŽŗã—ã„) |
| [add-api-endpoint](add-api-endpoint/SKILL.md) | NestJS DI + meta/paramDef čĻį´„ã§ API ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆčŋŊ加。`endpoint-list.ts` į™ģéŒ˛ã¨ `misskey-js` å†į”Ÿæˆã‚’åĢむ | é̘ |
| [add-i18n-key](add-i18n-key/SKILL.md) | `locales/ja-JP.yml` ぎãŋįˇ¨é›†ã™ã‚‹čŖœåŠŠã€‚åž‹ã¯ `packages/i18n` がč‡Ēå‹•å†į”Ÿæˆ | 中 |
| [add-mk-component](add-mk-component/SKILL.md) | `Mk*` å‘Ŋ名 + SPDX (HTML) + SCSS module + `*.stories.impl.ts` äŊĩč¨­ãŽ Vue ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã‚’ä¸€æ‹Ŧã‚šã‚­ãƒŖãƒ•ã‚ŠãƒŧãƒĢド | 中 |
### ECC (everything-claude-code) į”ąæĨ — MIT ã‚ģãƒŦã‚¯ãƒˆã‚¤ãƒŗãƒãƒŧト
[.claude/THIRD_PARTY_LICENSES.md](../THIRD_PARTY_LICENSES.md) §1 ãĢå‡ē典ãƒģæ”šå¤‰ãƒĄãƒĸãƒģMIT å…¨æ–‡ã‚’é›†į´„ã€‚
| ゚キãƒĢ名 | åŊšå‰˛ | å„Ē先åēĻ |
| --- | --- | --- |
| [context-budget](context-budget/SKILL.md) | agents / skills / MCP / CLAUDE.md ぎ token overhead をčĻ‹ãˆã‚‹åŒ–ã—ã€č‚Ĩå¤§ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã‚’æ¤œå‡ē | 中 |
č¨­č¨ˆæ–šé‡: `create-migration` は手動ぎ `Date.now()` å‘Ŋ名ではãĒく TypeORM å…Ŧåŧ CLI (`migration:generate` / `migration:create`) ã‚’æŽĄį”¨ã€‚Storybook ãƒ•ã‚Ąã‚¤ãƒĢ名は `*.stories.impl.ts` čĻį´„ãĢæē–拠する。
## 新čĻã‚šã‚­ãƒĢをčŋŊ加する場合
- `.claude/skills/<name>/SKILL.md` ãĢ YAML frontmatter (`name` + `description`) とæœŦ文 Markdown を書く。
- `disable-model-invocation: true` はäģ˜ã‘ãĒい (auto-invoke させたいため)。
- ä¸ģčĻå‚į…§ãƒ•ã‚Ąã‚¤ãƒĢへぎãƒĒãƒŗã‚¯ã¯ã€ãƒĒポジトãƒĒãƒĢãƒŧãƒˆã‹ã‚‰ãŽį›¸å¯žãƒ‘ã‚š (例: `../../packages/backend/...`) でč˛ŧる。įĩļ寞パ゚は contributor ぎホãƒŧãƒ ãƒ‡ã‚ŖãƒŦクトãƒĒ䞝存ãĢãĒるぎでäŊŋわãĒい。
- 厌成したらこぎ README ãŽčĄ¨ãĢも 1 行čŋŊ加する。

View File

@@ -0,0 +1,253 @@
---
name: add-api-endpoint
description: Misskey ぎ REST API ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆ (/api/<category>/<name>) を NestJS DI + meta/paramDef čĻį´„ã§čŋŊåŠ ã™ã‚‹ã€‚ãƒãƒƒã‚¯ã‚¨ãƒŗãƒ‰ãĢ新しい API ãƒĢãƒŧトをčļŗã™æ™‚ãĢåŋ…ずäŊŋう。endpoint-list.ts へぎ手動į™ģéŒ˛ã€e2e テ゚ト、misskey-js å†į”Ÿæˆã€CHANGELOG ãžã§ãŽä¸€é€ŖãŽæ‰‹é †ã‚’åĢむ。
---
# Misskey API ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆčŋŊ加゚キãƒĢ
`packages/backend/src/server/api/endpoints/<category>/<name>.ts` ãĢ新čĻã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆã‚’čŋŊ加するためぎワãƒŧクフロãƒŧ。**手順 4 (endpoint-list.ts į™ģ錞) をåŋ˜ã‚Œã‚‹ã¨ 404 ãĢãĒる** į‚šãĢæœ€å¤§ãŽæŗ¨æ„ã‚’æ‰•ã†ã€‚
## 最重čρäē‹åޟ (čĻ‹čŊã¨ã™ã¨åŖŠã‚Œã‚‹)
1. ã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆã¯ **glob č‡Ē動収集されãĒい**。[packages/backend/src/server/api/endpoint-list.ts](../../../packages/backend/src/server/api/endpoint-list.ts) へぎ 1 行čŋŊ加がåŋ…須。
2. `meta` / `paramDef` を変えたら **misskey-js ãŽå†į”ŸæˆãŒåŋ…é ˆ**。`pnpm build-misskey-js-with-types` をåŋ˜ã‚Œã‚‹ã¨ CI ぎ `check-misskey-js-autogen` でåŋ…ずčŊãĄã‚‹ã€‚
3. `meta.errors` ぎ各 `id` は **UUID**ã€‚é‡č¤‡ã•ã›ãĒい (æ—ĸ存全 UUID ã¨čĄįǁįĸēčĒ)。
## ゚テップ 1: ãƒ•ã‚Ąã‚¤ãƒĢ配įŊŽã¨ SPDX
`packages/backend/src/server/api/endpoints/<category>/<name>.ts` ãĢ新čĻäŊœæˆã™ã‚‹ã€‚`<category>` は抟čƒŊ領域 (例: `notes`, `users`, `admin/announcements`)。
冒頭ãĢ SPDX ヘッダãƒŧをåŋ…ずäģ˜ã‘ã‚‹:
```ts
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
```
## ゚テップ 2: æœ€å°ãƒ†ãƒŗãƒ—ãƒŦãƒŧト (ã‚ˇãƒŗãƒ—ãƒĢ read įŗģ)
[endpoints/ping.ts](../../../packages/backend/src/server/api/endpoints/ping.ts) をベãƒŧ゚ãĢ書く。čĒč¨ŧ不čρãƒģãƒ‘ãƒŠãƒĄãƒŧã‚ŋãĒしãƒģ小さãĒãƒŦã‚šãƒãƒŗã‚šãŽäž‹:
```ts
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { Injectable } from '@nestjs/common';
import { Endpoint } from '@/server/api/endpoint-base.js';
export const meta = {
tags: ['<tag>'],
requireCredential: false,
res: {
type: 'object',
optional: false, nullable: false,
properties: {
// ...
},
},
} as const;
export const paramDef = {
type: 'object',
properties: {},
required: [],
} as const;
@Injectable()
export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-disable-line import/no-default-export
constructor(
) {
super(meta, paramDef, async (ps, me) => {
// åŽŸčŖ…
});
}
}
```
## ゚テップ 3: čĒč¨ŧäģ˜ã / DI / errors をåĢã‚€ãƒ†ãƒŗãƒ—ãƒŦãƒŧト
[endpoints/notes/create.ts](../../../packages/backend/src/server/api/endpoints/notes/create.ts) ã‚’å‚į…§ã™ã‚‹ã€‚čĻį‚š:
```ts
import { Inject, Injectable } from '@nestjs/common';
import { Endpoint } from '@/server/api/endpoint-base.js';
import { ApiError } from '@/server/api/error.js';
import { DI } from '@/di-symbols.js';
// import ms from 'ms'; // limit.duration ãĢ ms('1hour') į­‰ã‚’æ¸Ąã™ã¨ã (default import)
export const meta = {
tags: ['notes'],
requireCredential: true, // čĒč¨ŧåŋ…é ˆãĒら true
prohibitMoved: false, // moved user を拒åĻするか
kind: 'write:notes', // OAuth scope (requireCredential 時ãĢåŋ…é ˆ)
limit: {
duration: 3600000, // ms('1hour')
max: 300,
},
errors: {
noSuchNote: {
message: 'No such note.',
code: 'NO_SUCH_NOTE',
id: 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx', // ★ UUID v4 をåŋ…ãšį”Ÿæˆ (`x`=hex, `y`=8/9/a/b)。下ぎ「UUID į”Ÿæˆã€ã‚’å‚į…§
},
},
res: {
type: 'object',
optional: false, nullable: false,
ref: 'Note', // packed entity ãĢ揃える場合
},
} as const;
export const paramDef = {
type: 'object',
properties: {
noteId: { type: 'string', format: 'misskey:id' },
},
required: ['noteId'],
} as const;
@Injectable()
export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-disable-line import/no-default-export
constructor(
@Inject(DI.notesRepository)
private notesRepository: NotesRepository,
) {
super(meta, paramDef, async (ps, me) => {
const note = await this.notesRepository.findOneBy({ id: ps.noteId });
if (note == null) throw new ApiError(meta.errors.noSuchNote);
// åŽŸčŖ…
});
}
}
```
### meta ãƒ•ã‚ŖãƒŧãƒĢド旊čĻ‹čĄ¨
| ãƒ•ã‚ŖãƒŧãƒĢド | ᔍ途 |
|---|---|
| `tags` | OpenAPI ã‚ŋグ (抟čƒŊ領域) |
| `requireCredential` | čĒč¨ŧåŋ…須か |
| `requireModerator` / `requireAdmin` | 樊限åˆļ限 |
| `prohibitMoved` | ã‚ĸã‚Ģã‚Ļãƒŗãƒˆį§ģčĄŒæ¸ˆãƒĻãƒŧã‚ļãƒŧを拒åĻ |
| `kind` | OAuth scope (`read:notes` / `write:notes` į­‰)。`requireCredential: true` 時åŋ…é ˆ |
| `limit` | ãƒŦãƒŧトåˆļ限 (`{ duration, max, key?, minInterval? }`) |
| `errors` | エナãƒŧåŽšįžŠã€‚å„čρᴠãĢ `message` / `code` / `id` (UUID v4) åŋ…é ˆ |
| `res` | JSON Schema or `ref: '<EntityName>'` (packed entity å‚į…§) |
| `requireFile` | ãƒ•ã‚Ąã‚¤ãƒĢã‚ĸップロãƒŧドåŋ…é ˆ |
| `secure` | secure cookie åŋ…čρ |
| `allowGet` | GET ãƒĄã‚Ŋãƒƒãƒ‰č¨ąå¯ |
| `cacheSec` | ãƒŦã‚šãƒãƒŗã‚šã‚­ãƒŖãƒƒã‚ˇãƒĨį§’æ•° |
| `description` | OpenAPI čĒŦ明 |
čŠŗį´°ã¯ [endpoints.ts](../../../packages/backend/src/server/api/endpoints.ts) ãŽåž‹åŽšįžŠ (lines 11-125) ã‚’å‚į…§ã€‚
### paramDef ãŽį‰šæŽŠãƒ•ã‚Šãƒŧマット
JSON Schema (AJV) ベãƒŧ゚だが、Misskey æ‹ĄåŧĩをäŊŋえる:
- `format: 'misskey:id'` — ID 文字列バãƒĒデãƒŧã‚ˇãƒ§ãƒŗ
- `allOf` / `anyOf` / `oneOf` — č¤‡åˆæĄäģļ
- `default` — デフりãƒĢト値
čŠŗį´°ã¯ [endpoint-base.ts](../../../packages/backend/src/server/api/endpoint-base.ts) ã‚’å‚į…§ã€‚
### エナãƒŧ throw
**「å…Ŧ開 API エナãƒŧとしãĻ API クナイã‚ĸãƒŗãƒˆãĢčŋ”したいもぎ」はåŋ…ず `throw new ApiError(meta.errors.<key>)` をäŊŋう**。`meta.errors` ãĢ列挙した上で `ApiError` でナップしãĒいと、misskey-js å´ãŽåž‹æƒ…å ąãĢå‡ēず、ãƒŦã‚šãƒãƒŗã‚šã‚‚ 500 ãĢãĒる。įŦŦ 2 åŧ•数でčŋŊåŠ æƒ…å ąã‚’æ¸Ąã›ã‚‹:
```ts
throw new ApiError(meta.errors.invalidParam, { reason: 'too short' });
```
一斚で、**æƒŗåŽšå¤–ãŽäž‹å¤– (DB 不整合 / ä¸‹åą¤ã‚ĩãƒŧビ゚ぎ bug ãĒお) ã‚’æĄã‚ŠæŊ°ã™ãŸã‚ãĢ `try/catch` で `ApiError` ãĢ変換するぎはéŋける**。æ—ĸ存 endpoint も「期垅されるæĨ­å‹™ã‚¨ãƒŠãƒŧは `ApiError` ãĢ変換し、それäģĨ外は `throw err;` で再 throw する」というä猿Žĩ構えãĢãĒãŖãĻいる。`packages/backend/src/server/api/endpoints/notes/create.ts` ぎ `catch` ᝀ (æœĢ尞ぎ `throw err;`) ã‚’å‚į…§ã€‚į”ŸãŽ `throw` を全éĸįρæ­ĸするとæœĒįŸĨ䞋外も 200 でæŊ°ã‚ŒãĻ debug ãŒå›°é›ŖãĢãĒã‚‹ãŽã§ã€ã“ãŽãƒãƒŠãƒŗã‚šã‚’äŋã¤ã€‚
čŠŗį´°ã¯ [error.ts](../../../packages/backend/src/server/api/error.ts) ぎ `ApiError` ã‚¯ãƒŠã‚šã‚’å‚į…§ã€‚
### UUID į”Ÿæˆ
```bash
node -e "console.log(crypto.randomUUID())"
```
そぎ UUID がäģ–ãŽã‚¨ãƒŗãƒ‰ãƒã‚¤ãƒŗãƒˆãŽ `id` ã¨čĄįĒã—ãĻいãĒいかåŋ…ずįĸēčĒ:
```bash
grep -r "id: '<į”Ÿæˆã—ãŸ UUID>'" packages/backend/src/server/api/endpoints/
```
## ゚テップ 4: ★åŋ…é ˆ — endpoint-list.ts ãĢį™ģ錞
[packages/backend/src/server/api/endpoint-list.ts](../../../packages/backend/src/server/api/endpoint-list.ts) ぎ同ã‚ĢテゴãƒĒæœĢå°žãĢ 1 行čŋŊ加するīŧˆæ—ĸ存ぎä¸Ļãŗã‚’å´Šã•ãĒいīŧ‰:
```ts
export * as '<category>/<name>' from './endpoints/<category>/<name>.js';
```
ãƒ•ã‚Ąã‚¤ãƒĢå†’é ­ãŽã‚ŗãƒĄãƒŗãƒˆ (`When you add new endpoint, you should add it to this file.`) ぎ通り、こぎãƒĒ゚トが API ãƒĢãƒŧãƒ†ã‚Ŗãƒŗã‚°ãŽå˜ä¸€ãŽįœŸåŽŸã€‚**åŋ˜ã‚Œã‚‹ã¨ 404**。
`EndpointsModule.ts` ãŒã“ãŽãƒ•ã‚Ąã‚¤ãƒĢぎ全エク゚ポãƒŧトを `Object.entries()` で反垊し、NestJS provider (`provide: 'ep:<path>'`) ã‚’į”Ÿæˆã™ã‚‹ã€‚
## ゚テップ 5: e2e テ゚トčŋŊ加
[packages/backend/test/e2e/endpoints.ts](../../../packages/backend/test/e2e/endpoints.ts) ãĢ寞åŋœã™ã‚‹ `describe` / `test` をčŋŊ加する。`api()` ヘãƒĢパãƒŧで及く:
```ts
describe('<category>/<name>', () => {
test('æ­Ŗå¸¸įŗģ', async () => {
const res = await api('<category>/<name>', { /* params */ }, alice);
assert.strictEqual(res.status, 200);
});
});
```
åŽŸčĄŒ: `pnpm --filter backend test:e2e`
## ゚テップ 6: misskey-js å†į”Ÿæˆ (★åŋ…é ˆ)
`meta` / `paramDef` / `res` を変えたらåŋ…ãšåŽŸčĄŒã™ã‚‹:
```bash
pnpm build-misskey-js-with-types
```
これでäģĨ下が更新される:
- `packages/backend/built/api.json` (OpenAPI spec)
- `packages/misskey-js/generator/api.json`
- `packages/misskey-js/src/autogen/*.ts` (TypeScript 型)
PR ãĢ `packages/misskey-js/src/autogen/` é…ä¸‹ãŽåˇŽåˆ†ãŒåĢぞれãĻいãĒいと、CI ぎ `check-misskey-js-autogen` でčŊãĄã‚‹ã€‚
## ゚テップ 7: Lint と typecheck
```bash
pnpm --filter backend lint
```
(typecheck = `tsgo --noEmit` / ESLint = `eslint`)
## ゚テップ 8: CHANGELOG
ãƒĻãƒŧã‚ļãƒŧåŊąéŸŋがある (新抟čƒŊ / æ—ĸ存挙動変更) ãĒら、`CHANGELOG.md` ぎ `## Unreleased` → `### Server` ãĢ 1 行čŋŊ加する ([AGENTS.md §CHANGELOG](../../../AGENTS.md#changelog) å‚į…§):
```
- Feat: /api/<category>/<name> をčŋŊ加
```
ᴔឋãĒãƒĒãƒ•ã‚Ąã‚¯ã‚ŋã‚„å†…éƒ¨į”¨ãĒら不čĻã€‚
## å‚į…§ãƒ•ã‚Ąã‚¤ãƒĢ
- [endpoints.ts (meta/paramDef åž‹åŽšįžŠ)](../../../packages/backend/src/server/api/endpoints.ts)
- [endpoint-base.ts (Endpoint åŸēåē•クナ゚)](../../../packages/backend/src/server/api/endpoint-base.ts)
- [endpoint-list.ts (★ ここãĢį™ģ錞)](../../../packages/backend/src/server/api/endpoint-list.ts)
- [error.ts (ApiError)](../../../packages/backend/src/server/api/error.ts)
- [endpoints/ping.ts (最小䞋)](../../../packages/backend/src/server/api/endpoints/ping.ts)
- [endpoints/notes/create.ts (DI + errors ぎ典型)](../../../packages/backend/src/server/api/endpoints/notes/create.ts)
- [test/e2e/endpoints.ts (テ゚ト䞋)](../../../packages/backend/test/e2e/endpoints.ts)
- [scripts/generate_api_json.js (misskey-js į”Ÿæˆå…ƒ)](../../../packages/backend/scripts/generate_api_json.js)

View File

@@ -0,0 +1,115 @@
---
name: add-i18n-key
description: Misskey ぎ i18n キãƒŧをčŋŊ加ãƒģäŋŽæ­Ŗã™ã‚‹ã€‚locales/ja-JP.yml ぎãŋįˇ¨é›†å¯čƒŊで、äģ–言čĒžãƒ•ã‚Ąã‚¤ãƒĢ (en-US.yml į­‰ 39 言čĒž) は Crowdin ぎč‡Ē動配äŋĄå…ˆãŽãŸã‚įĩļ寞ãĢč§ĻらãĒい。型は packages/i18n が ja-JP.yml からč‡Ēå‹•å†į”Ÿæˆã™ã‚‹ã€‚frontend からは i18n.ts.<key> ぞたは i18n.tsx.<key>(...) ã§å‚į…§ã™ã‚‹ã€‚
---
# Misskey i18n キãƒŧčŋŊ加゚キãƒĢ
UI æ–‡č¨€ãŽčŋŊ加ãƒģå¤‰æ›´ã‚’čĄŒã†éš›ãŽčĻį´„ã€‚**æ‰‹å‹•įˇ¨é›†ã—ãĻč‰¯ã„ãŽã¯ `locales/ja-JP.yml` ぎãŋ。**
## 大前提 (įĩļ寞 NG)
- **`locales/<lang>.yml` (ja-JP.yml äģĨ外) ãŽįˇ¨é›†ã¯įρæ­ĸ**。これらは Crowdin ぎč‡Ē動配äŋĄå…ˆã§ã€æ‰‹å‹•įˇ¨é›†ã™ã‚‹ã¨æŦĄãŽåŒæœŸã§ä¸Šæ›¸ãå–Ēå¤ąã™ã‚‹ ([locales/README.md](../../../locales/README.md), [crowdin.yml](../../../crowdin.yml))。
- 文字列ãƒĒテナãƒĢを SFC ãĢį›´æ›¸ãã—ãĒい (`<span>こんãĢãĄã¯</span>` į­‰)。åŋ…ず `i18n.ts.<key>` をįĩŒį”ąã™ã‚‹ã€‚
- æ—ĸ存キãƒŧãŽį ´åŖŠįš„ãƒĒネãƒŧムは Crowdin įŋģč¨ŗčŗ‡į”Ŗã‚‚é“é€Ŗã‚ŒãĢãĒるぎで慎重ãĢ。čŋŊ加ãƒģ攚名äŊĩᔍ (新キãƒŧčŋŊ加 → į§ģ行 → 旧キãƒŧ削除) ã‚’æ¤œč¨Žã™ã‚‹ã€‚
## ゚テップ 1: ja-JP.yml ãĢキãƒŧをčŋŊ加
[locales/ja-JP.yml](../../../locales/ja-JP.yml) ã‚’įˇ¨é›†ã™ã‚‹ã€‚YAML ãŽéšŽåą¤æ§‹é€ ã‚’įļ­æŒã—、é–ĸé€Ŗã™ã‚‹ã‚ģã‚¯ã‚ˇãƒ§ãƒŗãĢ配įŊŽã™ã‚‹:
```yaml
# トップãƒŦベãƒĢå˜į´”ã‚­ãƒŧ
save: "äŋå­˜"
# ネ゚トしたã‚ĢテゴãƒĒ (ã‚ĸãƒŗãƒ€ãƒŧã‚šã‚ŗã‚ĸæŽĨé ­čžžã¯å†…éƒ¨ã‚ĢテゴãƒĒ)
_settings:
general: "全čˆŦ"
appearance: "外čĻŗ"
# ãƒ‘ãƒŠãƒĄãƒŧã‚ŋäģ˜ã (ICU MessageFormat äē’æ›)
greeting: "こんãĢãĄã¯ã€{name}さん"
```
### å‘Ŋ名ぎおäŊœæŗ•
- å˜į´”ã‚­ãƒŧ: lowerCamelCase (例: `saveChanges`, `confirmDelete`)。
- ã‚ĢテゴãƒĒ: ã‚ĸãƒŗãƒ€ãƒŧã‚šã‚ŗã‚ĸæŽĨ頭辞 (例: `_settings`, `_abuseUserReport`)。
- æ—ĸ存ã‚ģã‚¯ã‚ˇãƒ§ãƒŗå†…ãĢįŊŽãå ´åˆã¯ã‚ĸãƒĢãƒ•ã‚Ąãƒ™ãƒƒãƒˆé †ã‚’įļ­æŒã™ã‚‹ (新ã‚ģã‚¯ã‚ˇãƒ§ãƒŗå…¨äŊ“ã‚’æœĢå°žãĢčŋŊ加するぎは可)。
## ゚テップ 2: åž‹åŽšįžŠãŽč‡Ēå‹•å†į”Ÿæˆ
`packages/i18n/build.ts` が `ja-JP.yml` ã‚’č§Ŗæžã—ã€TypeScript ã‚¤ãƒŗã‚ŋãƒŧフェãƒŧ゚を [packages/i18n/src/autogen/locale.ts](../../../packages/i18n/src/autogen/locale.ts) ãĢå‡ē力する。
### č‡Ē動 (推åĨ¨)
`pnpm dev` åŽŸčĄŒä¸­ãĒら、`packages/i18n` ぎ watch ゚クãƒĒプトが yml ぎ変更を検įŸĨしãĻč‡Ēå‹•å†į”Ÿæˆã™ã‚‹ã€‚
### 手動
```bash
pnpm --filter i18n generate
```
原äŊ“は `tsx scripts/generateLocaleInterface.ts`。
### å¤ąæ•—ãƒ‘ã‚ŋãƒŧãƒŗ
ã“ã‚Œã‚’åŽŸčĄŒã›ãšãĢ frontend 側で `i18n.ts.<newKey>` ã‚’å‚į…§ã™ã‚‹ã¨ã€`Locale` ã‚¤ãƒŗã‚ŋãƒŧフェãƒŧ゚ãĢčŋŊ加されãĻいãĒいため、typecheck で「Property '<newKey>' does not exist on type 'Locale'」というエナãƒŧãĢãĒる。`pnpm --filter frontend lint` でį™ēčĻšã™ã‚‹ã€‚
## ゚テップ 3: frontend ã§ãŽå‚į…§
```ts
import { i18n } from '@/i18n.js';
```
| ᔍ途 | 書き斚 |
|---|---|
| å˜į´”æ–‡å­—åˆ— | `i18n.ts.save` |
| ネ゚ト | `i18n.ts._settings.general` |
| ãƒ‘ãƒŠãƒĄãƒŧã‚ŋäģ˜ã | `i18n.tsx.greeting({ name: userName })` |
| Vue ãƒ†ãƒŗãƒ—ãƒŦãƒŧト内 | `{{ i18n.ts.save }}` / `{{ i18n.tsx.greeting({ name }) }}` |
`i18n.ts` は型äģ˜ãæ–‡å­—列、`i18n.tsx` は MessageFormat é–ĸ数。
## ゚テップ 4: 検č¨ŧ
```bash
# i18n ãƒ‘ãƒƒã‚ąãƒŧã‚¸ãŽåž‹å†į”Ÿæˆ + typecheck
pnpm --filter i18n lint
# frontend で新キãƒŧå‚į…§įŽ‡æ‰€ãŽåž‹ãƒã‚§ãƒƒã‚¯
pnpm --filter frontend lint
```
## 例: 「ノãƒŧトを削除しぞすかīŧŸã€įĸēčĒãƒ€ã‚¤ã‚ĸログをčŋŊ加する
1. `locales/ja-JP.yml`:
```yaml
_notes:
deleteConfirm: "こぎノãƒŧトを削除しぞすかīŧŸ"
```
2. `pnpm --filter i18n generate` (ぞたは `pnpm dev` で watch 中)
3. SFC:
```vue
<script setup lang="ts">
import { i18n } from '@/i18n.js';
import * as os from '@/os.js';
async function onDelete() {
const { canceled } = await os.confirm({
type: 'warning',
text: i18n.ts._notes.deleteConfirm,
});
if (canceled) return;
// 削除å‡Ļᐆ
}
</script>
```
## å‚į…§ãƒ•ã‚Ąã‚¤ãƒĢ
- [locales/README.md (★ įˇ¨é›†ãƒãƒĒã‚ˇãƒŧæ šæ‹ )](../../../locales/README.md)
- [locales/ja-JP.yml](../../../locales/ja-JP.yml)
- [packages/i18n/build.ts](../../../packages/i18n/build.ts)
- [packages/i18n/src/autogen/locale.ts (į”Ÿæˆį‰Š)](../../../packages/i18n/src/autogen/locale.ts)
- [packages/frontend/src/i18n.ts](../../../packages/frontend/src/i18n.ts)

View File

@@ -0,0 +1,174 @@
---
name: add-mk-component
description: Misskey ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽæ–°čĻ Vue 3 ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã‚’čŋŊ加する。Mk* å‘Ŋ名 / SPDX (HTML ã‚ŗãƒĄãƒŗãƒˆ) / <script setup lang="ts"> / <style lang="scss" module> / *.stories.impl.ts äŊĩč¨­ãŽčĻį´„ã‚’ãžã¨ã‚ãĻéŠį”¨ã™ã‚‹ã€‚æ–°ã—ã„å…ąæœ‰ UI ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã‚’ packages/frontend/src/components/ ãĢäŊœã‚‹æ™‚ãĢäŊŋう。
---
# Misskey Vue ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆčŋŊ加゚キãƒĢ
`packages/frontend/src/components/` ãĢæ–°ã—ã„å…ąæœ‰ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã‚’čŋŊ加するためぎčĻį´„ã€‚
## 大前提
- å…ąæœ‰ / å†åˆŠį”¨ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã¯ **åŋ…ず `Mk` プãƒŦãƒ•ã‚Ŗãƒƒã‚¯ã‚š** (例: `MkButton`, `MkInput`)。ペãƒŧジå›ē有部品ãĒお `Mk` プãƒŦãƒ•ã‚Ŗãƒƒã‚¯ã‚šã§ãĒいもぎは原則 `pages/` 側ãĢįŊŽãã€‚
- 新čĻã§ã¯ `<style lang="scss" module>` (CSS Modules) をæ—ĸ厚とする。古い `scoped` åŊĸåŧãŒæˇˇåœ¨ã—ãĻいるが、新čĻã§ã¯äŊŋわãĒい。
- 文字列ãƒĒテナãƒĢãŽį›´æ›¸ãã¯įρæ­ĸã€‚æ–‡č¨€ã¯åŋ…ず `i18n.ts.<key>` įĩŒį”ąã§å‚į…§ã™ã‚‹ (新キãƒŧは `add-i18n-key` ゚キãƒĢã‚’å‚į…§)。
- `alert()` / `confirm()` / `window.prompt()` はäŊŋわãĒい。`os.alert` / `os.confirm` / `os.popup` ãĒおをäŊŋう。
## ゚テップ 1: ãƒ•ã‚Ąã‚¤ãƒĢ配įŊŽ
`packages/frontend/src/components/Mk<Name>.vue` ãĢ新čĻäŊœæˆã™ã‚‹ã€‚
゚トãƒŧãƒĒãƒŧがåŋ…čρ (= ãģãŧ常ãĢåŋ…čρ) ãĒã‚‰ã€åŒéšŽåą¤ãĢ `Mk<Name>.stories.impl.ts` もäŊœã‚‹ã€‚Storybook ぎčĻį´„ã¯ `*.stories.impl.ts` ã§ã‚ãŖãĻ、`*.stories.ts` ではãĒい。
## ゚テップ 2: SPDX ヘッダãƒŧ (HTML ã‚ŗãƒĄãƒŗãƒˆåŊĸåŧ)
`.vue` ãƒ•ã‚Ąã‚¤ãƒĢ冒頭ãĢåŋ…é ˆ:
```html
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
```
`/* ... */` (TS / JS åŊĸåŧ) ではãĒく **HTML ã‚ŗãƒĄãƒŗãƒˆ** で書くこと。æ—ĸ存ぎ `.vue` ãƒ•ã‚Ąã‚¤ãƒĢがすずãĻ HTML ã‚ŗãƒĄãƒŗãƒˆåŊĸåŧã‚’äŊŋãŖãĻおり、SFC ぎ先頭としãĻč‡Ēį„ļãĒåŊĸåŧãĢįĩąä¸€ã™ã‚‹ãŸã‚ (CI ぎ `spdx` ã‚¸ãƒ§ãƒ–ã¯ã‚ŗãƒĄãƒŗãƒˆåŊĸåŧã§ã¯ãĒく SPDX æ–‡å­—åˆ—ãŽæœ‰į„ĄãŽãŋを検æŸģする)。
## ゚テップ 3: æœ€å°ãƒ†ãƒŗãƒ—ãƒŦãƒŧト
[MkInfo.vue](../../../packages/frontend/src/components/MkInfo.vue) をベãƒŧ゚ãĢする (ã‚ˇãƒŗãƒ—ãƒĢãĒ襨į¤ēã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆ):
```vue
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<div :class="$style.root">
<slot></slot>
</div>
</template>
<script lang="ts" setup>
const props = defineProps<{
variant?: 'primary' | 'secondary';
}>();
const emit = defineEmits<{
(ev: 'click'): void;
}>();
</script>
<style lang="scss" module>
.root {
padding: 12px 14px;
border-radius: var(--MI-radius);
background: var(--MI_THEME-panel);
}
</style>
```
### čĻį´„ãƒã‚¤ãƒŗãƒˆ
| é …į›Ž | čĻį´„ |
|---|---|
| `<script>` | `<script lang="ts" setup>`ã€‚åž‹ãƒ‘ãƒŠãƒĄãƒŧã‚ŋがåŋ…čρãĒら `generic="T extends ..."` をäģ˜ã‘ã‚‹ ([MkInput.vue å‚į…§](../../../packages/frontend/src/components/MkInput.vue)) |
| `defineProps` / `defineEmits` | **type-only** (`<{ ... }>`) åŊĸåŧã€‚runtime ぎ object åŊĸåŧã¯äŊŋわãĒい |
| `<style>` | `lang="scss" module` をæ—ĸåŽšã€‚ã‚¯ãƒŠã‚šå‚į…§ã¯ `:class="$style.foo"` |
| CSS 変数 | `var(--MI_THEME-...)` (テãƒŧマ) / `var(--MI-radius)` (UI å…ąé€š) — ハãƒŧãƒ‰ã‚ŗãƒŧドしãĒい |
| ã‚ĸã‚¤ã‚ŗãƒŗ | Tabler icons ぎクナ゚ (`<i class="ti ti-info-circle">`) をäŊŋう |
## ゚テップ 4: i18n と os ãŽåˆŠį”¨
```vue
<script lang="ts" setup>
import { i18n } from '@/i18n.js';
import * as os from '@/os.js';
async function onClick() {
const { canceled } = await os.confirm({
type: 'warning',
text: i18n.ts._notes.deleteConfirm,
});
if (canceled) return;
os.toast(i18n.ts.deleted);
}
</script>
```
### `os` ぎä¸ģãĒヘãƒĢパãƒŧ (čŠŗį´°ã¯ [os.ts](../../../packages/frontend/src/os.ts))
| é–ĸ数 | ᔍ途 |
|---|---|
| `os.alert({ type, title?, text })` | 単斚向ã‚ĸナãƒŧト |
| `os.confirm({ type, title, text })` | yes/no įĸēčĒ (`{ canceled }` をčŋ”す) |
| `os.toast(message)` | 一時通įŸĨ |
| `os.popup(component, props, handlers)` | äģģæ„ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãŽéžåŒæœŸãƒãƒƒãƒ—ã‚ĸップ |
| `os.popupMenu(items, anchor?)` | ã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆãƒĄãƒ‹ãƒĨãƒŧ |
| `os.form(title, fields)` | フりãƒŧムダイã‚ĸログ |
| `os.apiWithDialog(endpoint, data)` | API å‘ŧå‡ēし + エナãƒŧ時ダイã‚ĸãƒ­ã‚°čĄ¨į¤ē |
## ゚テップ 5: Storybook ゚トãƒŧãƒĒãƒŧäŊĩ設
[MkButton.stories.impl.ts](../../../packages/frontend/src/components/MkButton.stories.impl.ts) を雛åŊĸとしãĻå‚č€ƒãĢする。`.stories.impl.ts` も `packages/frontend/src/` 配下ぎ `.ts` ãƒ•ã‚Ąã‚¤ãƒĢãĒぎで [AGENTS.md §1 SPDX ヘッダãƒŧåŋ…é ˆ](../../../AGENTS.md#1-spdx-ヘッダãƒŧåŋ…é ˆ) ãŽå¯žčąĄã§ã‚ã‚Šã€å†’é ­ãĢ SPDX ヘッダãƒŧをåŋ…ずäģ˜ã‘ã‚‹ (HTML ã‚ŗãƒĄãƒŗãƒˆåŊĸåŧã§ã¯ãĒく `/* */` åŊĸåŧ)。åŊĸåŧ (äģĨ下ぎ `MkXxx` ã¯åŽŸéš›ãŽã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆåãĢįŊŽæ›ã™ã‚‹):
```ts
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
/* eslint-disable @typescript-eslint/explicit-function-return-type */
/* eslint-disable import/no-default-export */
import type { StoryObj } from '@storybook/vue3';
import MkXxx from './MkXxx.vue';
export const Default = {
render(args) {
return {
components: { MkXxx },
setup() {
return { args };
},
template: '<MkXxx v-bind="args">slot content</MkXxx>',
};
},
args: {
variant: 'primary',
},
parameters: {
layout: 'centered',
},
} satisfies StoryObj<typeof MkXxx>;
```
`Vue` SFC は default export ãĒぎで、`import MkXxx from './MkXxx.vue';` ぎようãĢ名前äģ˜ã import ではãĒく default import ã§æ›¸ãã€‚åŽŸčĄŒįĸēčĒã¯ `pnpm --filter frontend storybook-dev`。
## ゚テップ 6: Lint と typecheck
```bash
pnpm --filter frontend lint
```
(typecheck = vue-tsc į­‰ã€ESLint = `@misskey-dev/eslint-plugin` åĢむ)
ESLint --fix ã‚’ãƒ”ãƒŗãƒã‚¤ãƒŗãƒˆã§:
```bash
pnpm exec eslint --fix packages/frontend/src/components/Mk<Name>.vue
```
## ゚テップ 7: æ—ĸå­˜ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã¨ãŽæ•´åˆæ€§įĸēčĒ
- äŧŧãŸį”¨é€”ãŽæ—ĸ存 `Mk*` ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã‚’å‚č€ƒãĢ、゚ã‚ŋイãƒĢやプロップå‘Ŋ名を揃える。
- `_button` / `_panel` / `_selectable` ãĒおぎ **å…ąé€š utility class** (グロãƒŧバãƒĢ゚ã‚ŋイãƒĢãĢある) をæ´ģį”¨ã§ãã‚‹ã‹įĸēčĒã™ã‚‹ã€‚
- 大きãĒ抟čƒŊãĒら、Storybook stories で各バãƒĒエãƒŧã‚ˇãƒ§ãƒŗã‚’įļ˛įž…する。
## å‚į…§ãƒ•ã‚Ąã‚¤ãƒĢ
- [MkInfo.vue (ã‚ˇãƒŗãƒ—ãƒĢ例)](../../../packages/frontend/src/components/MkInfo.vue)
- [MkButton.vue (æąŽį”¨ãƒœã‚ŋãƒŗäž‹)](../../../packages/frontend/src/components/MkButton.vue)
- [MkInput.vue (generics + 多抟čƒŊ例)](../../../packages/frontend/src/components/MkInput.vue)
- [MkButton.stories.impl.ts (Storybook 雛åŊĸ)](../../../packages/frontend/src/components/MkButton.stories.impl.ts)
- [packages/frontend/src/os.ts](../../../packages/frontend/src/os.ts)
- [packages/frontend/src/i18n.ts](../../../packages/frontend/src/i18n.ts)

View File

@@ -0,0 +1,148 @@
---
name: context-budget
description: Claude Code ã‚ģãƒƒã‚ˇãƒ§ãƒŗãŽã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆįĒ“æļˆč˛ģを agents/skills/MCP/rules/CLAUDE.md ごとãĢčĻ‹ãˆã‚‹åŒ–ã—ã€č‚Ĩå¤§åŒ–ã¨å†—é•ˇã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã‚’æ¤œå‡ēしãĻį¯€į´„å€™čŖœã‚’æį¤ēする。"ã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆæļˆč˛ģをčĻ‹ã›ãĻ"、"context budget"、"context audit"、"トãƒŧã‚¯ãƒŗå†…č¨ŗ"、"これäģĨ上 MCP å…ĨるīŧŸ" į­‰ãŽį™ēčŠąã§čĩˇå‹•する。
---
<!--
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: 2026 Affaan Mustafa and everything-claude-code contributors
å‡ē典 (upstream): https://github.com/affaan-m/everything-claude-code (v2.0.0-rc.1)
upstream path: skills/context-budget/SKILL.md
upstream origin frontmatter: ECC
upstream license: MIT — https://github.com/affaan-m/everything-claude-code/blob/main/LICENSE
project-level notice: see .claude/THIRD_PARTY_LICENSES.md (Misskey 内ã‚ĩãƒŧドパãƒŧãƒ†ã‚Ŗä¸€čϧ + MIT 全文)
Imported into Misskey .claude/ on 2026-05-10 as a standalone copy (no dependency on the ECC plugin runtime). description was rewritten in Japanese and a "Misskey å›ēæœ‰ãƒĄãƒĸ" section was appended; body content remains MIT-licensed.
note: Misskey ぎ skills/agents 数は少ãĒいぎで、MCP / CLAUDE.md / ãƒ—ãƒŠã‚°ã‚¤ãƒŗį”ąæĨぎ overhead ãŒæ”¯é…įš„ãĢãĒã‚Šã‚„ã™ã„į‚šãĢį•™æ„ã€‚
-->
# Context Budget
ã‚ģãƒƒã‚ˇãƒ§ãƒŗå†…ãĢčĒ­ãŋčžŧãžã‚Œã‚‹ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆ (agents / skills / rules / MCP servers / CLAUDE.md) ぎ token overhead を分析し、įŠēき context ã‚’å›žåžŠã™ã‚‹å…ˇäŊ“į­–ã‚’æį¤ēする。
## äŊŋう場éĸ
- ã‚ģãƒƒã‚ˇãƒ§ãƒŗãŒé‡ã„ãƒģå‡ē力品čŗĒがčŊãĄãĻきた感čĻšãŒã‚ã‚‹
- į›´čŋ‘で skills / agents / MCP server を多数čŋŊ加した
- 掋りぎ context headroom をįŸĨりたい
- čŋŊåŠ ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã‚’å…Ĩれる前ãĢįŠēきをįĸēčĒã—ãŸã„
- 「context-budget」「token å†…č¨ŗã€į­‰ãŽã‚­ãƒŧワãƒŧドでãƒĻãƒŧã‚ļãƒŧが明į¤ēįš„ãĢčρčĢ‹ã—ãŸæ™‚ (Misskey ãƒĒポジトãƒĒãĢã¯ã“ãŽåå‰ãŽã‚šãƒŠãƒƒã‚ˇãƒĨã‚ŗãƒžãƒŗãƒ‰ã¯į™ģéŒ˛ã—ãĻいãĒい — æœŦ skill は名前 / description マッチで auto-invoke ã•ã‚Œã‚‹æƒŗåŽšã€‚åŽŸčŖ…æ¸ˆãŽ slash command 一čĻ§ã¯ [.claude/commands/](../../commands/) ã‚’å‚į…§)
## äģ•įĩ„ãŋ
### Phase 1: Inventory
å„ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã‚’čĩ°æŸģしãĻ token を推厚する。
**Agents** (`.claude/agents/*.md`)
- čĄŒæ•°ã¨ãƒˆãƒŧã‚¯ãƒŗæ•° (`words × 1.3`) ã‚’č¨ˆįŽ—
- frontmatter `description` ãŽé•ˇã•ã‚’æŠŊå‡ē
- フナグ: 200 行čļ… (重い)、description 30 word čļ… (frontmatter č‚Ĩ大)
**Skills** (`.claude/skills/*/SKILL.md`)
- SKILL.md ごとãĢ token ã‚’č¨ˆįŽ—
- フナグ: 400 行čļ…
- `.agents/skills/` į­‰ãŽé‡č¤‡ã‚ŗãƒ”ãƒŧは除外
**Rules** (ãƒĒポジトãƒĒãƒĢãƒŧトぎ `AGENTS.md` + `.claude/` から `@-import` ã•ã‚Œã‚‹ãƒ•ã‚Ąã‚¤ãƒĢ)
- ãƒ•ã‚Ąã‚¤ãƒĢ単äŊã§ token č¨ˆįŽ—
- フナグ: 100 行čļ…
- åŒä¸€č¨€čĒžãƒĸジãƒĨãƒŧãƒĢå†…ãŽå†…åŽšé‡č¤‡ã‚’æ¤œå‡ē
**MCP Servers** (`.mcp.json` ぞたは有劚 MCP č¨­åŽš)
- server æ•°ã¨įˇ tool 数
- schema overhead をツãƒŧãƒĢあたり ~500 token でčĻ‹įŠã‚‚ã‚‹
- フナグ: 20 tool čļ…ぎã‚ĩãƒŧバãƒŧ、`gh` / `git` / `npm` į­‰ãŽ CLI ã‚’å˜į´”ãƒŠãƒƒãƒ—ã—ãŸã ã‘ãŽã‚ĩãƒŧバãƒŧ
**CLAUDE.md** (project + user-level)
- ãƒ•ã‚Ąã‚¤ãƒĢごとãĢ token ã‚’č¨ˆįŽ—
- フナグ: 合荈 300 行čļ…
### Phase 2: Classify
| ãƒã‚ąãƒƒãƒˆ | 判厚åŸēæē– | čĄŒå‹• |
|--------------------|-------------------------------------------------------------|-----------------------------------|
| **Always needed** | CLAUDE.md ã‹ã‚‰å‚į…§ã•ã‚ŒãĻいる / æœ‰åŠšã‚ŗãƒžãƒŗãƒ‰ãŽčŖ / įžãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆã¨ä¸€č‡´ | įļ­æŒ |
| **Sometimes needed** | ãƒ‰ãƒĄã‚¤ãƒŗäžå­˜ (例: 言čĒžãƒ‘ã‚ŋãƒŧãƒŗ)、CLAUDE.md å‚į…§ãĒし | ã‚Ēãƒŗãƒ‡ãƒžãƒŗãƒ‰æœ‰åŠšåŒ–ã‚’æ¤œč¨Ž |
| **Rarely needed** | ã‚ŗãƒžãƒŗãƒ‰å‚į…§ãĒã—ã€å†…åŽšé‡č¤‡ã€æ˜ŽįĸēãĒᔍ途ãĒし | 削除ぞたは lazy-load |
### Phase 3: Detect Issues
- **Bloated agent description** — frontmatter description が 30 word čļ…だと、Task ツãƒŧãƒĢčĩˇå‹•ãŽãŸãŗãĢ毎回ロãƒŧドされる
- **Heavy agents** — 200 行čļ…は Task ツãƒŧãƒĢぎ context ã‚’æ¯Žå›žč†¨ã‚‰ãžã›ã‚‹
- **Redundant components** — agent ãƒ­ã‚¸ãƒƒã‚¯ã‚’é‡č¤‡ã™ã‚‹ skill、CLAUDE.md ã¨é‡č¤‡ã™ã‚‹ rule
- **MCP over-subscription** — 10 server čļ…、ぞたは CLI äģŖį”¨å¯čƒŊãĒã‚ĩãƒŧバãƒŧ
- **CLAUDE.md bloat** — 冗镎čĒŦ明、古いã‚ģã‚¯ã‚ˇãƒ§ãƒŗã€rule ãĢį§ģすずき指į¤ē
### Phase 4: Report
```
Context Budget Report
═══════════════════════════════════════
Total estimated overhead: ~XX,XXX tokens
Context model: <įžåœ¨ãƒĸデãƒĢ名> (<window>K window) ← 例: Claude Opus 4.7 (1M), Claude Sonnet (200K)
Effective available context: ~XXX,XXX tokens (XX%)
Component Breakdown:
┌─────────────────â”Ŧ────────â”Ŧ───────────┐
│ Component │ Count │ Tokens │
├─────────────────â”ŧ────────â”ŧ───────────┤
│ Agents │ N │ ~X,XXX │
│ Skills │ N │ ~X,XXX │
│ Rules │ N │ ~X,XXX │
│ MCP tools │ N │ ~XX,XXX │
│ CLAUDE.md │ N │ ~X,XXX │
└─────────────────┴────────┴───────────┘
WARNING: Issues Found (N):
[token į¯€į´„é‡ãŽé™é †]
Top 3 Optimizations:
1. [action] → save ~X,XXX tokens
2. [action] → save ~X,XXX tokens
3. [action] → save ~X,XXX tokens
Potential savings: ~XX,XXX tokens (XX% of current overhead)
```
verbose mode ではさらãĢãƒ•ã‚Ąã‚¤ãƒĢごとぎ token å†…č¨ŗã€æœ€é‡ãƒ•ã‚Ąã‚¤ãƒĢãŽčĄŒå˜äŊãƒ–ãƒŦãƒŧクダã‚Ļãƒŗã€é‡č¤‡čĄŒãŽå¯žæ¯”ã€MCP tool 一čϧ + tool ごとぎ schema ã‚ĩイã‚ē推厚をå‡ēす。
## 例
**åŸēæœŦᛪæŸģ**
```
User: ã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆæļˆč˛ģをčĻ‹ã›ãĻ
Skill: 16 agents (12,400 tokens), 28 skills (6,200), 87 MCP tools (43,500), 2 CLAUDE.md (1,200)
Flags: 重い agent 3 個、CLI äģŖį”¨å¯čƒŊãĒ MCP 3 個
Top saving: MCP 3 個削除 → -27,500 tokens (overhead ぎ 47% 削減)
```
**Verbose**
```
User: トãƒŧã‚¯ãƒŗå†…č¨ŗã‚’ãƒ•ã‚Ąã‚¤ãƒĢ単äŊã§
Skill: 䏊荘ãƒŦポãƒŧトãĢ加えãĻ、planner.md (213 lines, 1,840 tokens) ぎようãĒ
per-file čĄŒå†…č¨ŗã€MCP tool ごとぎã‚ĩイã‚ē、rule ãŽé‡č¤‡čĄŒã‚’ side-by-side ã§čĄ¨į¤ē
```
**čŋŊ加前チェック**
```
User: MCP server を 5 個čŋŊ加したいが、įŠēきあるīŧŸ
Skill: įžįŠļ 33% → 5 server (≈ 50 tools) čŋŊ加で +25,000 tokens → 45% ãĢ到達
推åĨ¨: CLI äģŖį”¨å¯čƒŊãĒ server 2 個を先ãĢ外しãĻ 40% äģĨ下をįļ­æŒ
```
## ãƒ™ã‚šãƒˆãƒ—ãƒŠã‚¯ãƒ†ã‚Ŗã‚š
- **トãƒŧã‚¯ãƒŗæŽ¨åŽš**: prose は `words × 1.3`、code ä¸ģäŊ“は `chars / 4`
- **MCP は最大ぎãƒŦバãƒŧ**: tool あたり ~500 token、30-tool server ã˛ã¨ã¤ã§å…¨ skill より大きい
- **agent description は常時ロãƒŧド**: å‘ŧばれãĒい agent でも description は毎 Task 投å…Ĩ
- **verbose は debug ᔍ**: 晎æŽĩはäŊŋわãĒい
- **å¤‰æ›´åžŒã¯į›ŖæŸģ**: agent/skill/MCP čŋŊåŠ į›´åžŒãĢčĩ°ã‚‰ã›ãĻ creep を旊期į™ēčĻ‹
## Misskey å›ēæœ‰ãƒĄãƒĸ
- Misskey は MCP server をプロジェクトで明į¤ēį™ģéŒ˛ã—ãĻいãĒいため (`.mcp.json` 不在)ã€įžįŠļ overhead ぎ支配項は CLAUDE.md とå…Ŧåŧãƒ—ãƒŠã‚°ã‚¤ãƒŗįž¤ãŽ skills / agents description である。
- ECC ãƒ—ãƒŠã‚°ã‚¤ãƒŗãŒãƒĻãƒŧã‚ļãƒŧã‚šã‚ŗãƒŧプで `installed_plugins.json` ãĢ存在するため、プロジェクトで `enabledPlugins` ãĢčŋŊ加しãĻいãĒくãĻも system reminder ãĢ 200+ skill ãŒįžã‚Œã‚‹ã€‚ã“ã‚Œã‚‰ã¯ description ãŒįŸ­ã„ãŽã§å€‹åˆĨ overhead ã¯å°ã•ã„ãŒã€åˆč¨ˆå€¤ãŽįĸēčĒãĢæœŦ skill をäŊŋう。

View File

@@ -0,0 +1,156 @@
---
name: create-migration
description: Misskey ぎ TypeORM マイグãƒŦãƒŧã‚ˇãƒ§ãƒŗã‚’å…Ŧåŧ CLI (migration:generate / migration:create) ã§æ­Ŗã—ãį”Ÿæˆã—ã€SPDX ヘッダãƒŧäģ˜ä¸Žãƒģup/down 整合ãƒģcheck-migrations įĸēčĒãžã§čĒ˜å°Žã™ã‚‹ã€‚ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖãŽã‚šã‚­ãƒŧマ変更をåĢむあらゆる DB 変更、ぞたは手書き SQL ãĢよるデãƒŧã‚ŋį§ģčĄŒãŒåŋ…čρãĒ時ãĢäŊŋį”¨ã™ã‚‹ã€‚
---
# Misskey マイグãƒŦãƒŧã‚ˇãƒ§ãƒŗäŊœæˆã‚šã‚­ãƒĢ
`packages/backend/migration/` ãĢ新čĻ TypeORM マイグãƒŦãƒŧã‚ˇãƒ§ãƒŗã‚’čŋŊ加するためぎワãƒŧクフロãƒŧ。
## 大前提 (įĩļ寞 NG)
- **æ—ĸãĢマãƒŧジ済ãŋ (develop / master) ぎマイグãƒŦãƒŧã‚ˇãƒ§ãƒŗãƒ•ã‚Ąã‚¤ãƒĢã‚’įˇ¨é›†ã—ãĒい** ([AGENTS.md §3](../../../AGENTS.md#3-マãƒŧジ済ãŋ-migration-をįĩļ寞ãĢįˇ¨é›†ã—ãĒい))。æœŦį•ĒåąĨæ­´ãŽæ”šå¤‰ã¯æˇąåˆģãĒデãƒŧã‚ŋ不整合をåŧ•きčĩˇã“す。゚キãƒŧマ変更は **常ãĢ新しいã‚ŋイム゚ã‚ŋãƒŗãƒ—ã§æ–°čĻãƒ•ã‚Ąã‚¤ãƒĢ** をäŊœã‚‹ã€‚
- ãƒ•ã‚Ąã‚¤ãƒĢ名ぎã‚ŋイム゚ã‚ŋãƒŗãƒ—éƒ¨åˆ†ã‚’åžŒã‹ã‚‰æ›¸ãæ›ãˆãĒい (順åēãŒåŖŠã‚Œã‚‹)。
> äŊœã‚Šæ–šã¯ AGENTS.md §3 ぎ「`Date.now()` で UNIX ms を取垗 → `{ms}-{PascalName}.js` を手書き」が最äŊŽãƒŠã‚¤ãƒŗã€‚ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖåˇŽåˆ†ã‹ã‚‰č‡Ēå‹•į”Ÿæˆã—ãŸã„ (= TypeORM ぎ `migration:generate` をäŊŋう) 場合はæœŦ skill ぎ手順ãĢ垓う。**ãŠãĄã‚‰ã§ã‚‚æ§‹ã‚ãĒい**ãŒã€ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗå¤‰æ›´ã‚’äŧ´ã†æ™‚は CLI įĩŒį”ąãŽãģうが取りæŧã‚ŒãŒæ¸›ã‚‹ãŽã§æŽ¨åĨ¨ã€‚
## ゚テップ 1: ãŠãĄã‚‰ãŽæ–šåŧã‚’äŊŋうかæąēめる
| įŠļæŗ | æ–šåŧ |
|---|---|
| ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗ (`packages/backend/src/models/*.ts`) を `@Column` / `@Index` / `@Entity` į­‰ã§å…ˆãĢå¤‰æ›´ã—ã€åˇŽåˆ†ã‹ã‚‰č‡Ēå‹•į”Ÿæˆã—ãŸã„ | `typeorm migration:generate` (æœŦ skill ぎ手順) |
| 手書き SQL / デãƒŧã‚ŋį§ģ行 / `CREATE INDEX CONCURRENTLY` ãĒãŠã€ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖåˇŽåˆ†ã§ã¯čĄ¨įžã§ããĒい変更 | `typeorm migration:create` でįŠē雛åŊĸをäŊœã‚‹ã‹ã€`migrate-new` command で手書き雛åŊĸをäŊœã‚‹ |
| 列čŋŊ加 1 æœŦぎようãĒ小čĻæ¨Ąå¤‰æ›´ã§ã€æ—ĸå­˜ãƒ•ã‚Ąã‚¤ãƒĢã‚’ã‚ŗãƒ”ãƒŧした斚が速い | AGENTS.md §3 ぎ手順 (`Date.now()` + 手書き) でよい |
čŋˇãŖãŸã‚‰ **ãžãšã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗã‚’å¤‰æ›´ → `migration:generate`** が原則。æ—ĸ存 342 ãƒ•ã‚Ąã‚¤ãƒĢぎãģãŧすずãĻが `queryRunner.query(\`SQL...\`)` ぎ raw SQL ãĒぎで、CLI å‡ē力でも手書きでも゚ã‚ŋイãƒĢは揃う。
## ゚テップ 2: CLI åŽŸčĄŒ
ãƒĢãƒŧãƒˆãƒ‡ã‚ŖãƒŦクトãƒĒからäģĨä¸‹ã‚’åŽŸčĄŒã™ã‚‹ã€‚`<PascalName>` ã¯å¤‰æ›´å†…åŽšã‚’čĄ¨ã™ PascalCase (例: `AddBirthdayIndex`, `AddCategoryToAvatarDecorations`)。
### 2-A. ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖåˇŽåˆ†ã‹ã‚‰į”Ÿæˆ
[CONTRIBUTING.md §MigrationäŊœæˆæ–šæŗ•](../../../CONTRIBUTING.md#migrationäŊœæˆæ–šæŗ•) ãĢ記čŧ‰ãŽåŸēæœŦåŊĸ:
```bash
# packages/backend ãƒ‡ã‚ŖãƒŦクトãƒĒã§åŽŸčĄŒã™ã‚‹å ´åˆ (CONTRIBUTING.md 記čŧ‰åŊĸåŧ)
pnpm dlx typeorm migration:generate -d ormconfig.js -o --esm <PascalName>
```
**ãƒĒポジトãƒĒãƒĢãƒŧãƒˆã‹ã‚‰åŽŸčĄŒã™ã‚‹å ´åˆ** (AI がäŊŋう推åĨ¨åŊĸåŧã€‚`pnpm --filter backend exec` をäŊŋうと backend ぎ TypeORM バãƒŧã‚¸ãƒ§ãƒŗã¨ä¸€č‡´ã™ã‚‹ãŸã‚įĸē原):
```bash
pnpm --filter backend exec typeorm migration:generate -d ormconfig.js -o --esm migration/<PascalName>
```
> **`--esm` ãĢついãĻ**: `-o` / `--outputJs` は「TS ではãĒく JS をå‡ē力する」ã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã€`--esm` は「ESM åŊĸåŧ (`export class ...`) でå‡ē力する」ã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã€‚Misskey ぎæ—ĸ存 migration はすずãĻ ESM JS であるため **ä¸Ąæ–šãŒåŋ…é ˆ**。`--esm` ã‚’įœį•Ĩすると CommonJS åŊĸåŧãŽ JS ãŒį”Ÿæˆã•ã‚Œã‚šã‚ŋイãƒĢが揃わãĒい。
äē‹å‰æē–å‚™:
- `pnpm build-pre` ã‚’åŽŸčĄŒã—ãĻ `built/meta.json` ã‚’į”Ÿæˆã™ã‚‹ (`loadConfig()` が `built/meta.json` をåŋ…須とするため。`pnpm build` 済ãŋであれば不čρ)。
- `.config/default.yml` が存在すること (ãĒければ `.config/example.yml` ã‚’å‚č€ƒãĢäŊœæˆã™ã‚‹)。
- `pnpm --filter backend compile-config` ã‚’åŽŸčĄŒã—ãĻ `built/.config.json` ã‚’į”Ÿæˆã™ã‚‹ (`ormconfig.js` が `loadConfig()` įĩŒį”ąã§åŋ…須とする。æœĒåŽŸčĄŒã ã¨ "Compiled configuration file not found." エナãƒŧãĢãĒる)。
- `pnpm --filter backend build` ã§ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗã‚’æœ€æ–°ãƒ“ãƒĢド (CLI は `built/` をčĒ­ã‚€)。
- ロãƒŧã‚ĢãƒĢ DB をčĩˇå‹•する (`docker compose -f compose.local-db.yml up -d`)。
### 2-B. įŠēぎ手書きマイグãƒŦãƒŧã‚ˇãƒ§ãƒŗ
```bash
pnpm --filter backend exec typeorm migration:create -o --esm migration/<PascalName>
```
ロãƒŧã‚ĢãƒĢ DB ぎčĩˇå‹•とビãƒĢドは不čĻã€‚įŠēぎ `up` / `down` ã ã‘ãŒį”Ÿæˆã•ã‚Œã‚‹ã€‚
> `-o --esm` を **åŋ…ずäģ˜ã‘ã‚‹**ã€‚ã“ã‚ŒãŒį„Ąã„ã¨ `<UnixMs>-<PascalName>.ts` (CommonJS / TS å‡ē力) ãŒį”Ÿæˆã•ã‚Œã‚‹ãŒã€Misskey ぎ `ormconfig.js` は `migration/*.js` だけをčĒ­ãŋ、æ—ĸ存ぎäģ– migration も全ãĻ `export class ... { async up(queryRunner) {...} }` ぎ ESM JS åŊĸåŧãĒぎで、垌で手äŊœæĨ­ã§ `.ts → .js` ãƒĒネãƒŧム + `import { MigrationInterface }` 削除 + `class ... implements MigrationInterface` 削除をしãĒいとčĩ°ã‚‰ãĒい。`-o --esm` をäģ˜ã‘ればそぎぞぞ `.js` ESM でå‡ēるぎで、垌å‡Ļį†ã¯ SPDX ヘッダãƒŧäģ˜ä¸Ž (゚テップ 3) だけで済む。
## ゚テップ 3: SPDX ヘッダãƒŧäģ˜ä¸Ž
CLI å‡ē力ãĢは SPDX ヘッダãƒŧがåĢぞれãĒい。**åŋ…ず冒頭ãĢčŋŊ加する** (CI ぎ `spdx` ã‚¸ãƒ§ãƒ–ãŒå¤ąæ•—ã™ã‚‹ãŸã‚)。
```js
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
```
## ゚テップ 4: up / down ぎ整合įĸēčĒ
- `up()` ぎ各゚テãƒŧãƒˆãƒĄãƒŗãƒˆãĢ寞し、`down()` で厌全ãĢåˇģきæˆģせること。
- 列čŋŊ加 (`ADD COLUMN`) ↔ 列削除 (`DROP COLUMN`)、テãƒŧブãƒĢäŊœæˆ ↔ テãƒŧブãƒĢ削除、
FK čŋŊ加 ↔ FK å‰Šé™¤ã€ã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šäŊœæˆ ↔ ã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šå‰Šé™¤ をåŋ…ずペã‚ĸで書く。
- `down()` をįŠēぎぞぞ掋さãĒい。æœŦį•ĒロãƒŧãƒĢバック時ãĢčŠ°ã‚€ã€‚
### ã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚ščŋŊåŠ æ™‚ãŽæŗ¨æ„ (CREATE INDEX CONCURRENTLY)
大čĻæ¨Ąãƒ†ãƒŧブãƒĢへぎ `CREATE INDEX` はæœŦį•Ēã§é•ˇæ™‚é–“ãƒ­ãƒƒã‚¯ã™ã‚‹æã‚ŒãŒã‚ã‚‹ã€‚`CONCURRENTLY` でį™ēčĄŒã™ã‚‹ã¨ãã¯ **migration 側ãĢも寞åŋœãŒåŋ…čρ**: PostgreSQL は `CREATE INDEX CONCURRENTLY` を transaction å†…ã§åŽŸčĄŒã§ããĒいため、migration class ãĢäģĨ下をäģ•čžŧんで TypeORM ãĢ「こぎ migration は transaction をåŧĩらãĒい」と指į¤ēする。
å‚į…§åŽŸčŖ…: [packages/backend/migration/1745378064470-composite-note-index.js](../../../packages/backend/migration/1745378064470-composite-note-index.js)。
```js
const isConcurrentIndexMigrationEnabled = process.env.MISSKEY_MIGRATION_CREATE_INDEX_CONCURRENTLY === '1';
export class CompositeNoteIndex1745378064470 {
name = 'CompositeNoteIndex1745378064470';
transaction = isConcurrentIndexMigrationEnabled ? false : undefined;
async up(queryRunner) {
const concurrently = isConcurrentIndexMigrationEnabled;
if (concurrently) {
// CREATE INDEX CONCURRENTLY ...
} else {
// CREATE INDEX ...
}
}
async down(queryRunner) {
// 同様ãĢį’°åĸƒå¤‰æ•°ã§åˆ†å˛
}
}
```
čĻį‚š:
- **`transaction = isConcurrentIndexMigrationEnabled ? false : undefined;`** がåŋ…須。これがãĒいと `CREATE INDEX CONCURRENTLY` が transaction å†…ã§åŽŸčĄŒã•ã‚ŒãĻ `ERROR: CREATE INDEX CONCURRENTLY cannot run inside a transaction block` ã§å¤ąæ•—ã™ã‚‹ã€‚
- į’°åĸƒå¤‰æ•° `MISSKEY_MIGRATION_CREATE_INDEX_CONCURRENTLY=1` がデフりãƒĢト OFF。OFF ぎときは晎通ぎ `CREATE INDEX` (transaction 内) で動くåŋ…čĻãŒã‚ã‚‹ã€‚`up`/`down` åŒæ–šã‚’į’°åĸƒå¤‰æ•°ã§åˆ†å˛ã•せる。
- `ormconfig.js` ぎ `migrationsTransactionMode` は **į’°åĸƒå¤‰æ•°ã§åˆ‡ã‚Šæ›ŋわる**: `MISSKEY_MIGRATION_CREATE_INDEX_CONCURRENTLY=1` ぎときだけ `'each'` (各 migration が個åˆĨ transaction)、æœĒč¨­åŽšæ™‚ã¯ `'all'` (全 migration を 1 つぎ transaction でナップ) ([ormconfig.js:19](../../../packages/backend/ormconfig.js#L19))。晎æŽĩは `'all'` 前提ãĒぎで、CONCURRENTLY をäŊŋう migration ã‚’æ›¸ãæ™‚ã ã‘ã“ãŽãƒ•ãƒŠã‚°ãŽå­˜åœ¨ã‚’æ„č­˜ã™ã‚Œã°č‰¯ã„ã€‚
### é–ĸé€Ŗã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗã¨ãŽä¸€č‡´
`migration:generate` をäŊŋãŖãŸå ´åˆã€ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗå´ãŽ `@Column` / `@Entity` äŋŽæ­Ŗã¨ DB ゚キãƒŧãƒžãŒéŖŸã„é•ã†ã¨ãƒ“ãƒĢド全äŊ“がã‚ēãƒŦã‚‹ã€‚į”ŸæˆåžŒãĢ芲åŊ“ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗã¨ SQL ぎ寞åŋœã‚’į›ŽčĻ–įĸēčĒã™ã‚‹ã“ã¨ã€‚
## ゚テップ 5: 検č¨ŧ
ãƒĢãƒŧãƒˆã‹ã‚‰åŽŸčĄŒ:
```bash
# æœĒåæ˜ ãŽåˇŽåˆ†ãŒį„Ąã„ã‹ (新čĻ migration ãŒį”Ÿæˆã™ãšã DDL を取り逃しãĻいãĒいか)
pnpm --filter backend check-migrations
# ロãƒŧã‚ĢãƒĢ DB ãĢéŠį”¨
pnpm migrate
# ロãƒŧãƒĢバック (down ãŒåŖŠã‚ŒãĻいãĒいか)
pnpm revert
# å†éŠį”¨ (順斚向ãĢもう一åēĻ通す)
pnpm migrate
```
`check-migrations` ぎ原äŊ“は [scripts/check_migrations_clean.js](../../../packages/backend/scripts/check_migrations_clean.js)。TypeORM ぎ `dataSource.driver.createSchemaBuilder().log()` で pending DDL を取垗し、`upQueries` / `downQueries` ãŽã„ãšã‚Œã‹ãŒæŽ‹ãŖãĻいれば非ã‚ŧロįĩ‚äē†ã™ã‚‹ã€‚**順åēæ¤œæŸģではãĒく**ã€Œã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗã¨ migration が同期しãĻいるか」ぎ検æŸģ。
## ゚テップ 6: æ—ĸå­˜ãƒ•ã‚Ąã‚¤ãƒĢå‚į…§ãƒ†ãƒŗãƒ—ãƒŦ
新čĻãƒ•ã‚Ąã‚¤ãƒĢを書くときは、変更パã‚ŋãƒŧãƒŗãŒčŋ‘いæ—ĸå­˜ãƒ•ã‚Ąã‚¤ãƒĢを **åŋ…ãšã˛ã¨ã¤é–‹ã„ãĻä¸ĻずãĻ書く**。゚ã‚ŋイãƒĢがæŋ€ã—くã‚ēãƒŦた PR ã¯åˇŽã—æˆģされやすい。
| パã‚ŋãƒŧãƒŗ | å‚į…§ãƒ•ã‚Ąã‚¤ãƒĢ |
|---|---|
| ã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚ščŋŊ加 + é–ĸæ•°åŽšįžŠ | [packages/backend/migration/1767169026317-birthday-index.js](../../../packages/backend/migration/1767169026317-birthday-index.js) |
| 列čŋŊ加ぎãŋ | [packages/backend/migration/1766652173085-add-category-to-avatar-decorations.js](../../../packages/backend/migration/1766652173085-add-category-to-avatar-decorations.js) |
| テãƒŧブãƒĢ新čĻäŊœæˆ + FK | [packages/backend/migration/1761569941833-add-channel-muting.js](../../../packages/backend/migration/1761569941833-add-channel-muting.js) |
クナ゚å‘Ŋ名čĻå‰‡ã¯ **PascalCase 名 + 13 æĄã‚ŋイム゚ã‚ŋãƒŗãƒ—** (例: `class BirthdayIndex1767169026317`)。`name` ãƒ—ãƒ­ãƒ‘ãƒ†ã‚Ŗã‚‚ã‚¯ãƒŠã‚šåã¨åŒä¸€æ–‡å­—åˆ—ãĢする。
## ゚テップ 7: CHANGELOG (ãƒĻãƒŧã‚ļãƒŧåŊąéŸŋがある場合)
゚キãƒŧマ変更がãƒĻãƒŧã‚ļãƒŧãĢčĻ‹ãˆã‚‹æŒ™å‹•ã‚’į”Ÿã‚€å ´åˆãŽãŋ、`CHANGELOG.md` ぎ `## Unreleased` → `### Server` ぞたは `### General` ãĢ 1 行čŋŊ加する ([AGENTS.md §CHANGELOG](../../../AGENTS.md#changelog) å‚į…§)。内部ãƒĒãƒ•ã‚Ąã‚¯ã‚ŋã‚„į´”į˛‹ãĒã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚ščŋŊ加は不čĻã€‚

View File

@@ -165,6 +165,11 @@ id: 'aidx'
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@@ -177,6 +182,9 @@ id: 'aidx'
# Number of worker processes
#clusterLimit: 1
# Number of threads of extra thread pool for CPU-intensive tasks (per worker)
#threadPoolSize: 1
# Job concurrency per worker
# deliverJobConcurrency: 128
# inboxJobConcurrency: 16
@@ -210,20 +218,9 @@ proxyBypassHosts:
# Media Proxy
#mediaProxy: https://example.com/proxy
# Proxy remote files (default: true)
proxyRemoteFiles: true
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
allowedPrivateNetworks: [
'127.0.0.1/32'
]
# Disable automatic redirect for ActivityPub object lookup. (default: false)
# This is a strong defense against potential impersonation attacks if the viewer instance has inadequate validation.
# However it will make it impossible for other instances to lookup third-party user and notes through your URL.
#disallowExternalApRedirect: true
# Upload or download file size limits (bytes)
#maxFileSize: 262144000

View File

@@ -177,6 +177,11 @@ id: 'aidx'
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@@ -189,6 +194,9 @@ id: 'aidx'
# Number of worker processes
#clusterLimit: 1
# Number of threads of extra thread pool for CPU-intensive tasks (per worker)
#threadPoolSize: 1
# Job concurrency per worker
# deliverJobConcurrency: 128
# inboxJobConcurrency: 16
@@ -222,12 +230,6 @@ proxyBypassHosts:
# Media Proxy
#mediaProxy: https://example.com/proxy
# Proxy remote files (default: true)
proxyRemoteFiles: true
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
# For security reasons, uploading attachments from the intranet is prohibited,
# but exceptions can be made from the following settings. Default value is "undefined".
# Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
@@ -235,11 +237,6 @@ signToActivityPubGet: true
# '127.0.0.1/32'
#]
# Disable automatic redirect for ActivityPub object lookup. (default: false)
# This is a strong defense against potential impersonation attacks if the viewer instance has inadequate validation.
# However it will make it impossible for other instances to lookup third-party user and notes through your URL.
#disallowExternalApRedirect: true
# Upload or download file size limits (bytes)
#maxFileSize: 262144000

View File

@@ -105,6 +105,54 @@ port: 3000
# socket: /path/to/misskey.sock
# chmodSocket: '777'
# Proxy trust settings
#
# Specifies the IP addresses that Misskey will use as trusted
# reverse proxies (e.g., nginx, Cloudflare). This affects how
# Misskey determines the source IP for each request and is used
# for important rate limiting and security features. If the value
# is not set correctly, Misskey may use the IP address of the
# reverse proxy instead of the actual source IP, which may lead to
# unintended rate limiting or security vulnerabilities.
# By default, the loopback network and private network address
# ranges shown below are trusted.
# If you are using a single reverse proxy and it is on the same
# machine or the same private network as Misskey, it is unlikely you
# need to change this setting, and the default setting is fine.
# Also, if you are using multiple reverse proxy servers and they are
# all on the same private network as Misskey, the default setting
# is fine.
# However, if you are using a reverse proxy server that accesses
# Misskey web servers and streaming servers via public IP addresses
# (for example, Cloudflare), you must set this variable.
# When changing this setting, you can use one of the following values:
#
# - true: Trust all proxies
# - false: Do not trust any proxies
# - IP address, IP address range, or array of them: Trust hops that
# match the specified criteria.
# - Integer: Trust the nth hop from the front-facing proxy server as
# the client.
# For more information on how to configure this setting, please refer
# to the Fastify documentation:
# https://fastify.dev/docs/latest/Reference/Server/#trustproxy
#
# Note that if this variable is set, it overrides the default range,
# so if you have both an external reverse proxy and a proxy on the
# local host, you must include both IPs (or IP ranges).
#
#trustProxy:
# - '10.0.0.0/8'
# - '172.16.0.0/12'
# - '192.168.0.0/16'
# - '127.0.0.1/32'
# - '::1/128'
# - 'fc00::/7'
# # Example: If you are using some external reverse proxies like CDNs,
# # you may need to add the CDN IP ranges here.
# # If you're using Cloudflare, you can find IP Ranges at:
# # https://www.cloudflare.com/ips/
# ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────
@@ -259,6 +307,11 @@ id: 'aidx'
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@@ -268,9 +321,16 @@ id: 'aidx'
# Whether disable HSTS
#disableHsts: true
# Enable internal IP-based rate limiting (default: true)
# To configure them in reverse proxy instead, set this to false.
#enableIpRateLimit: true
# Number of worker processes
#clusterLimit: 1
# Number of threads of extra thread pool for CPU-intensive tasks (per worker)
#threadPoolSize: 1
# Job concurrency per worker
#deliverJobConcurrency: 128
#inboxJobConcurrency: 16
@@ -314,19 +374,12 @@ proxyBypassHosts:
# * Perform image compression (on a different server resource than the main process)
#mediaProxy: https://example.com/proxy
# Proxy remote files (default: true)
# Proxy remote files by this instance or mediaProxy to prevent remote files from running in remote domains.
proxyRemoteFiles: true
# Movie Thumbnail Generation URL
# There is no reference implementation.
# For example, Misskey will point to the following URL:
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
#videoThumbnailGenerator: https://example.com
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
# For security reasons, uploading attachments from the intranet is prohibited,
# but exceptions can be made from the following settings. Default value is "undefined".
# Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
@@ -334,11 +387,6 @@ signToActivityPubGet: true
# '127.0.0.1/32'
#]
# Disable automatic redirect for ActivityPub object lookup. (default: false)
# This is a strong defense against potential impersonation attacks if the viewer instance has inadequate validation.
# However it will make it impossible for other instances to lookup third-party user and notes through your URL.
#disallowExternalApRedirect: true
# Upload or download file size limits (bytes)
#maxFileSize: 262144000

View File

@@ -1 +1 @@
FROM mcr.microsoft.com/devcontainers/javascript-node:0-18
FROM mcr.microsoft.com/devcontainers/javascript-node:4.0.3-24-trixie

View File

@@ -28,7 +28,7 @@ services:
db:
restart: unless-stopped
image: postgres:15-alpine
image: postgres:18-alpine
networks:
- internal_network
environment:
@@ -36,7 +36,7 @@ services:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: misskey
volumes:
- postgres-data:/var/lib/postgresql/data
- postgres-data:/var/lib/postgresql
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s

View File

@@ -5,10 +5,10 @@
"workspaceFolder": "/workspace",
"features": {
"ghcr.io/devcontainers/features/node:1": {
"version": "22.11.0"
"version": "22.15.0"
},
"ghcr.io/devcontainers-extra/features/pnpm:2": {
"version": "10.6.1"
"version": "10.10.0"
}
},
"forwardPorts": [3000],
@@ -19,7 +19,6 @@
"editorconfig.editorconfig",
"dbaeumer.vscode-eslint",
"Vue.volar",
"Orta.vscode-jest",
"dbaeumer.vscode-eslint",
"mrmlnc.vscode-json5"
]

View File

@@ -152,6 +152,11 @@ id: 'aidx'
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@@ -164,6 +169,9 @@ id: 'aidx'
# Number of worker processes
#clusterLimit: 1
# Number of threads of extra thread pool for CPU-intensive tasks (per worker)
#threadPoolSize: 1
# Job concurrency per worker
# deliverJobConcurrency: 128
# inboxJobConcurrency: 16
@@ -197,12 +205,6 @@ proxyBypassHosts:
# Media Proxy
#mediaProxy: https://example.com/proxy
# Proxy remote files (default: true)
proxyRemoteFiles: true
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
allowedPrivateNetworks: [
'127.0.0.1/32'
]

View File

@@ -6,6 +6,7 @@
Dockerfile
build/
built/
src-js/
db/
.devcontainer/compose.yml
node_modules/

View File

@@ -13,3 +13,7 @@ trim_trailing_whitespace = false
[*.{yml,yaml}]
indent_style = space
[packages/backend/migration/*.js]
indent_style = space
indent_size = 4

View File

@@ -54,7 +54,7 @@ body:
* Model and OS of the device(s): MacBook Pro (14inch, 2021), macOS Ventura 13.4
* Browser: Chrome 113.0.5672.126
* Server URL: misskey.example.com
* Misskey: 2025.x.x
* Misskey: 2026.x.x
value: |
* Model and OS of the device(s):
* Browser:
@@ -74,9 +74,9 @@ body:
Examples:
* Installation Method or Hosting Service: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment
* Misskey: 2025.x.x
* Misskey: 2026.x.x
* Node: 20.x.x
* PostgreSQL: 15.x.x
* PostgreSQL: 18.x.x
* Redis: 7.x.x
* OS and Architecture: Ubuntu 24.04.2 LTS aarch64
value: |

54
.github/copilot-instructions.md vendored Normal file
View File

@@ -0,0 +1,54 @@
# Copilot Instructions for Misskey
ã“ãŽãƒ•ã‚Ąã‚¤ãƒĢは GitHub Copilot ぎ repository-wide instructions としãĻäŊŋわれる。Copilot code review では `AGENTS.md` がčĒ­ãžã‚ŒãĒã„į’°åĸƒãŒã‚るため、ãƒŦビãƒĨãƒŧやčģŊ垎ãĒåŽŸčŖ…åˆ¤æ–­ãĢåŋ…čρãĒčĻį´„ã¯ã“ãŽãƒ•ã‚Ąã‚¤ãƒĢ単äŊ“でæē€ãŸã™ã“と。
こぎãƒĒポジトãƒĒは Misskey ぎ pnpm workspace ãƒĸノãƒŦポ。ä¸ģčρãĒåŽŸčŖ…ã¯ `packages/backend` (NestJS / TypeORM) と `packages/frontend` (Vue 3) ãĢã‚ã‚‹ã€‚ã‚ˆã‚ŠčŠŗã—ã„ã‚ŦイドはãƒĒポジトãƒĒãƒĢãƒŧトぎ `AGENTS.md` ã‚’å‚į…§ã—ãĻã‚ˆã„ãŒã€ã“ãŽãƒ•ã‚Ąã‚¤ãƒĢぎčρäģļã‚’įœį•ĨしãĻããĄã‚‰ã¸ãŽå‚į…§ã ã‘ã§æ¸ˆãžã›ãĒいこと。
## Always follow
- AGPL-3.0-only įŽĄčŊ„かつ SPDX CI å¯žčąĄãƒ‡ã‚ŖãƒŦクトãƒĒãĢ新čĻ `.ts` / `.js` / `.cjs` / `.mjs` / `.scss` ãƒ•ã‚Ąã‚¤ãƒĢをčŋŊ加する場合は、åŋ…ずæŦĄãŽ SPDX ヘッダãƒŧをäģ˜ã‘ã‚‹ã€‚čŠŗį´°ãĒå¯žčąĄåˆ¤åŽšã¯ `AGENTS.md` と `.github/workflows/check-spdx-license-id.yml` ã‚’å‚į…§ã™ã‚‹ã“ã¨ã€‚
```text
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
```
- AGPL-3.0-only įŽĄčŊ„かつ SPDX CI å¯žčąĄãƒ‡ã‚ŖãƒŦクトãƒĒãĢ新čĻ `.vue` / `.html` ãƒ•ã‚Ąã‚¤ãƒĢをčŋŊ加する場合は、åŋ…ずæŦĄãŽ SPDX ヘッダãƒŧをäģ˜ã‘る。
```text
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
```
`packages/misskey-js` は MIT ナイã‚ģãƒŗã‚šãŽã‚ĩãƒ–ãƒ‘ãƒƒã‚ąãƒŧジãĒぎで、こぎ AGPL ヘッダãƒŧを一型ãĢäģ˜ã‘ãĒい。ã‚ĩãƒ–ãƒ‘ãƒƒã‚ąãƒŧジå›ē有ぎ `package.json` / `LICENSE` / æ—ĸå­˜ãƒ•ã‚Ąã‚¤ãƒĢぎヘッダãƒŧãĢ垓う。
- `locales/` 配下ぎ YAML は `ja-JP.yml` ぎãŋæ‰‹å‹•įˇ¨é›†ã—ãĻよい。äģ–言čĒžã¯ Crowdin ぎč‡Ē動配äŋĄå…ˆãĒãŽã§æ‰‹å‹•įˇ¨é›†ã—ãĒいこと。
- `packages/backend/migration/{timestamp}-*.js` ãŽã†ãĄã€æ—ĸãĢマãƒŧジ済ãŋぎ migration はįĩļ寞ãĢįˇ¨é›†ã—ãĒい。゚キãƒŧマ変更がåŋ…čρãĒ場合は新しい timestamp で migration をčŋŊ加し、`up()` と `down()` ãŽä¸Ąæ–šã‚’åŽŸčŖ…ã™ã‚‹ã“ã¨ã€‚
- ãƒĻãƒŧã‚ļãƒŧåŊąéŸŋぎある変更は `CHANGELOG.md` ぎ `## Unreleased` 配下ぎ `### General` / `### Client` / `### Server` ぎいずれかãĢ 1 行čŋŊ加する。内部ãƒĒãƒ•ã‚Ąã‚¯ã‚ŋぎãŋãĒら不čĻã€‚
- API 変更時は `pnpm build-misskey-js-with-types` ãŽåŽŸčĄŒãŒåŋ…čρãĢãĒる。
## Validation
- 全äŊ“ビãƒĢド: `pnpm build`
- 全äŊ“ lint / typecheck: `pnpm lint`
- Backend unit test: `pnpm --filter backend test`
- Backend e2e test: `pnpm --filter backend test:e2e`
- Backend federation test: `pnpm --filter backend test:fed`
- Frontend test: `pnpm --filter frontend test`
- Migration åˇŽåˆ†æ¤œæŸģ: `pnpm --filter backend check-migrations`
> **backend テ゚ト (`test` / `test:e2e` / `test:fed`) åŽŸčĄŒå‰ãĢ `.config/test.yml` がåŋ…čĻã€‚** æœĒäŊœæˆãŽå ´åˆã¯ `ncp .github/misskey/test.yml .config/test.yml` (ぞたは `cp .github/misskey/test.yml .config/test.yml`) ã‚’åŽŸčĄŒã—ãĻからčĩ°ã‚‰ã›ã‚‹ã€‚各テ゚ト゚クãƒĒプトが内部で `cross-env NODE_ENV=test pnpm compile-config` をå‘ŧãļãŸã‚ã€ã‚ŗãƒ”ãƒŧ済ãŋであればčŋŊ加ぎ compile-config は不čĻã€‚
å¤‰æ›´į¯„å›˛ãĢåŋœã˜ãĻ最もčŋ‘ã„ã‚ŗãƒžãƒŗãƒ‰ã‹ã‚‰å„Ē先しãĻ検č¨ŧし、åŋ…čρãĒら全äŊ“ã‚ŗãƒžãƒŗãƒ‰ãĢåēƒã’ること。
## Editing hints
- Backend ぎ API / migration / TypeORM 変更は `packages/backend` をčĻ‹ã‚‹ã€‚
- Frontend ぎ Vue ã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã‚„ãƒšãƒŧジ変更は `packages/frontend` をčĻ‹ã‚‹ã€‚
- `AGENTS.md` å†…ãŽį›¸å¯žãƒĒãƒŗã‚¯ã¯ãƒĒポジトãƒĒãƒĢãƒŧトčĩˇį‚šã§č§Ŗæąēã™ã‚‹æƒŗåŽšã€‚
> `AGENTS.md` ã¯ã‚ˆã‚ŠčŠŗį´°ãĒæ­Ŗå…¸ã ãŒã€Copilot code review ã§ã¯ã“ãŽãƒ•ã‚Ąã‚¤ãƒĢがä¸ģãĒå…ĨåŖãĢãĒã‚‹ã€‚ä¸Ąæ–šãŒčĒ­ãžã‚Œã‚‹į’°åĸƒã§ã¯ `AGENTS.md` ã‚’čŖœåŠŠæƒ…å ąã¨ã—ãĻäŊŋãŖãĻよい。

View File

@@ -24,9 +24,6 @@ updates:
aws-sdk:
patterns:
- "@aws-sdk/*"
bull-board:
patterns:
- "@bull-board/*"
nestjs:
patterns:
- "@nestjs/*"
@@ -37,9 +34,6 @@ updates:
patterns:
- "storybook*"
- "@storybook/*"
swc-core:
patterns:
- "@swc/core*"
typescript-eslint:
patterns:
- "@typescript-eslint/*"

1
.github/min.node-version vendored Normal file
View File

@@ -0,0 +1 @@
22.15.0

View File

@@ -15,3 +15,5 @@ redis:
host: 127.0.0.1
port: 56312
id: aidx
proxyRemoteFiles: true

View File

@@ -16,13 +16,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v6.0.3
- name: Setup Node.js
uses: actions/setup-node@v4.2.0
uses: actions/setup-node@v6.4.0
with:
node-version-file: '.node-version'
cache: 'pnpm'

View File

@@ -12,9 +12,9 @@ jobs:
steps:
- name: Checkout head
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Setup Node.js
uses: actions/setup-node@v4.2.0
uses: actions/setup-node@v6.4.0
with:
node-version-file: '.node-version'

View File

@@ -18,18 +18,18 @@ jobs:
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
steps:
- name: checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
with:
submodules: true
persist-credentials: false
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: setup pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v6
- name: setup node
id: setup-node
uses: actions/setup-node@v4.2.0
uses: actions/setup-node@v6.4.0
with:
node-version-file: '.node-version'
cache: pnpm
@@ -53,7 +53,7 @@ jobs:
# packages/misskey-js/generator/built/autogen
- name: Upload Generated
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: generated-misskey-js
path: packages/misskey-js/generator/built/autogen
@@ -66,14 +66,14 @@ jobs:
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
steps:
- name: checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
with:
submodules: true
persist-credentials: false
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: Upload From Merged
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: actual-misskey-js
path: packages/misskey-js/src/autogen
@@ -86,13 +86,13 @@ jobs:
pull-requests: write
steps:
- name: download generated-misskey-js
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: generated-misskey-js
path: misskey-js-generated
- name: download actual-misskey-js
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: actual-misskey-js
path: misskey-js-actual
@@ -113,9 +113,9 @@ jobs:
- name: send message
if: steps.check-changes.outputs.changes == 'true'
uses: thollander/actions-comment-pull-request@v2
uses: thollander/actions-comment-pull-request@v3
with:
comment_tag: check-misskey-js-autogen
comment-tag: check-misskey-js-autogen
message: |-
Thank you for sending us a great Pull Request! 👍
Please regenerate misskey-js type definitions! 🙏
@@ -127,9 +127,9 @@ jobs:
- name: send message
if: steps.check-changes.outputs.changes == 'false'
uses: thollander/actions-comment-pull-request@v2
uses: thollander/actions-comment-pull-request@v3
with:
comment_tag: check-misskey-js-autogen
comment-tag: check-misskey-js-autogen
mode: delete
message: "Thank you!"
create_if_not_exists: false

View File

@@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Check version
run: |
if [ "$(jq -r '.version' package.json)" != "$(jq -r '.version' packages/misskey-js/package.json)" ]; then

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Check
run: |
counter=0
@@ -50,6 +50,7 @@ jobs:
"packages/backend/test"
"packages/frontend-shared/@types"
"packages/frontend-shared/js"
"packages/frontend-builder"
"packages/frontend/.storybook"
"packages/frontend/@types"
"packages/frontend/lib"
@@ -58,6 +59,7 @@ jobs:
"packages/frontend/test"
"packages/frontend-embed/@types"
"packages/frontend-embed/src"
"packages/icons-subsetter/src"
"packages/misskey-bubble-game/src"
"packages/misskey-reversi/src"
"packages/sw/src"

View File

@@ -10,7 +10,7 @@ jobs:
check_copyright_year:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
- run: |
if [ "$(grep Copyright COPYING | sed -e 's/.*2014-\([0-9]*\) .*/\1/g')" -ne "$(date +%Y)" ]; then
echo "Please change copyright year!"

View File

@@ -28,7 +28,7 @@ jobs:
wait_time: ${{ steps.get-wait-time.outputs.wait_time }}
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Check allowed users
id: check-allowed-users

View File

@@ -27,17 +27,17 @@ jobs:
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
- name: Log in to Docker Hub
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push by digest
id: build
uses: docker/build-push-action@v6
uses: docker/build-push-action@v7
with:
context: .
push: true
@@ -53,7 +53,7 @@ jobs:
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
@@ -66,15 +66,15 @@ jobs:
- build
steps:
- name: Download digests
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
path: /tmp/digests
pattern: digests-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

View File

@@ -32,23 +32,23 @@ jobs:
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
uses: docker/metadata-action@v6
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: ${{ env.TAGS }}
- name: Log in to Docker Hub
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push to Docker Hub
id: build
uses: docker/build-push-action@v6
uses: docker/build-push-action@v7
with:
context: .
push: true
@@ -64,7 +64,7 @@ jobs:
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
@@ -77,21 +77,21 @@ jobs:
- build
steps:
- name: Download digests
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
path: /tmp/digests
pattern: digests-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
uses: docker/metadata-action@v6
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: ${{ env.TAGS }}
- name: Login to Docker Hub
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

View File

@@ -11,22 +11,43 @@ on:
jobs:
dockle:
runs-on: ubuntu-latest
env:
DOCKER_CONTENT_TRUST: 1
DOCKLE_VERSION: 0.4.14
DOCKLE_VERSION: 0.4.15
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
- name: Download and install dockle v${{ env.DOCKLE_VERSION }}
run: |
set -eux
curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v${DOCKLE_VERSION}/dockle_${DOCKLE_VERSION}_Linux-64bit.deb"
sudo dpkg -i dockle.deb
- run: |
cp .config/docker_example.env .config/docker.env
cp ./compose_example.yml ./compose.yml
- run: |
docker compose up -d web
docker tag "$(docker compose images web | awk 'OFS=":" {print $4}' | tail -n +2)" misskey-web:latest
- run: |
cmd="dockle --exit-code 1 misskey-web:latest ${image_name}"
echo "> ${cmd}"
eval "${cmd}"
- name: Build web image (docker build)
run: |
set -eux
docker build -t "misskey-web:ci" .
docker image ls
- name: Mount tmpfs for Dockle tar
env:
TMPFS_SIZE: 8G
run: |
set -eux
sudo mkdir -p /mnt/dockle-tmp
sudo mount -t tmpfs -o size=${{ env.TMPFS_SIZE }} tmpfs /mnt/dockle-tmp
free -h
df -h
- name: Save image tar into tmpfs
run: |
set -eux
docker save misskey-web:ci -o /mnt/dockle-tmp/misskey-web.tar
ls -lh /mnt/dockle-tmp/misskey-web.tar
- name: Run Dockle Scan (tar input)
run: |
set -eux
dockle --exit-code 1 --input /mnt/dockle-tmp/misskey-web.tar

View File

@@ -17,7 +17,6 @@ jobs:
strategy:
matrix:
node-version: [22.11.0]
api-json-name: [api-base.json, api-head.json]
include:
- api-json-name: api-base.json
@@ -26,16 +25,16 @@ jobs:
ref: refs/pull/${{ github.event.number }}/merge
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
ref: ${{ matrix.ref }}
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.2.0
uses: pnpm/action-setup@v6.0.3
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ matrix.node-version }}
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
@@ -49,7 +48,7 @@ jobs:
- name: Copy API.json
run: cp packages/backend/built/api.json ${{ matrix.api-json-name }}
- name: Upload Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: api-artifact-${{ matrix.api-json-name }}
path: ${{ matrix.api-json-name }}
@@ -62,7 +61,7 @@ jobs:
PR_NUMBER: ${{ github.event.number }}
run: |
echo "$PR_NUMBER" > ./pr_number
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
with:
name: api-artifact-pr-number
path: pr_number

View File

@@ -0,0 +1,87 @@
# this name is used in report-backend-memory.yml so be careful when change name
name: Get backend memory usage
on:
pull_request:
branches:
- master
- develop
paths:
- packages/backend/**
- packages/misskey-js/**
- .github/workflows/get-backend-memory.yml
jobs:
get-memory-usage:
runs-on: ubuntu-latest
permissions:
contents: read
strategy:
matrix:
memory-json-name: [memory-base.json, memory-head.json]
include:
- memory-json-name: memory-base.json
ref: ${{ github.base_ref }}
- memory-json-name: memory-head.json
ref: refs/pull/${{ github.event.number }}/merge
services:
postgres:
image: postgres:18
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:8
ports:
- 56312:6379
steps:
- uses: actions/checkout@v6.0.2
with:
ref: ${{ matrix.ref }}
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v6.0.3
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Copy Configure
run: cp .github/misskey/test.yml .config/default.yml
- name: Compile Configure
run: pnpm compile-config
- name: Build
run: pnpm build
- name: Run migrations
run: pnpm --filter backend migrate
- name: Measure memory usage
run: |
# Start the server and measure memory usage
node packages/backend/scripts/measure-memory.mjs > ${{ matrix.memory-json-name }}
- name: Upload Artifact
uses: actions/upload-artifact@v7
with:
name: memory-artifact-${{ matrix.memory-json-name }}
path: ${{ matrix.memory-json-name }}
save-pr-number:
runs-on: ubuntu-latest
permissions: {}
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo "$PR_NUMBER" > ./pr_number
- uses: actions/upload-artifact@v7
with:
name: memory-artifact-pr-number
path: pr_number

View File

@@ -11,6 +11,6 @@ jobs:
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
- uses: actions/labeler@v6
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -9,7 +9,9 @@ on:
- packages/backend/**
- packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-builder/**
- packages/frontend-embed/**
- packages/icons-subsetter/**
- packages/sw/**
- packages/misskey-js/**
- packages/misskey-bubble-game/**
@@ -21,7 +23,9 @@ on:
- packages/backend/**
- packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-builder/**
- packages/frontend-embed/**
- packages/icons-subsetter/**
- packages/sw/**
- packages/misskey-js/**
- packages/misskey-bubble-game/**
@@ -32,13 +36,13 @@ jobs:
pnpm_install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- uses: actions/setup-node@v4.2.0
uses: pnpm/action-setup@v6.0.3
- uses: actions/setup-node@v6.4.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -54,7 +58,9 @@ jobs:
- backend
- frontend
- frontend-shared
- frontend-builder
- frontend-embed
- icons-subsetter
- sw
- misskey-js
- misskey-bubble-game
@@ -63,19 +69,19 @@ jobs:
eslint-cache-version: v1
eslint-cache-path: ${{ github.workspace }}/node_modules/.cache/eslint-${{ matrix.workspace }}
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- uses: actions/setup-node@v4.2.0
uses: pnpm/action-setup@v6.0.3
- uses: actions/setup-node@v6.4.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Restore eslint cache
uses: actions/cache@v4.2.2
uses: actions/cache@v5.0.5
with:
path: ${{ env.eslint-cache-path }}
key: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.ref_name }}-${{ github.sha }}
@@ -90,22 +96,20 @@ jobs:
matrix:
workspace:
- backend
- frontend
- sw
- misskey-js
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- uses: actions/setup-node@v4.2.0
uses: pnpm/action-setup@v6.0.3
- uses: actions/setup-node@v6.4.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- run: pnpm --filter misskey-js run build
if: ${{ matrix.workspace == 'backend' || matrix.workspace == 'sw' }}
- run: pnpm --filter misskey-reversi run build
if: ${{ matrix.workspace == 'backend' }}
- run: pnpm --filter "${{ matrix.workspace }}^..." run build
- run: pnpm --filter ${{ matrix.workspace }} run typecheck

View File

@@ -3,10 +3,12 @@ name: Lint
on:
push:
paths:
- packages/i18n/**
- locales/**
- .github/workflows/locale.yml
pull_request:
paths:
- packages/i18n/**
- locales/**
- .github/workflows/locale.yml
jobs:
@@ -14,15 +16,18 @@ jobs:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- uses: actions/setup-node@v4.2.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- run: cd locales && node verify.js
- uses: actions/checkout@v6.0.2
with:
fetch-depth: 0
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v6.0.3
- uses: actions/setup-node@v6.4.0
with:
node-version-file: ".node-version"
cache: "pnpm"
- run: pnpm i --frozen-lockfile
- run: pnpm --filter i18n build
- name: Verify Locales
working-directory: ./packages/i18n
run: pnpm run verify

View File

@@ -15,22 +15,22 @@ jobs:
contents: read
id-token: write
strategy:
matrix:
node-version: [22.11.0]
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.2.0
uses: pnpm/action-setup@v6.0.3
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ matrix.node-version }}
node-version-file: '.node-version'
cache: 'pnpm'
# see https://docs.github.com/actions/use-cases-and-examples/publishing-packages/publishing-nodejs-packages#publishing-packages-to-the-npm-registry
registry-url: 'https://registry.npmjs.org'
# Ensure npm 11.5.1 or later is installed
- name: Update npm
run: npm install -g npm@latest
- name: Publish package
run: |
pnpm i --frozen-lockfile

View File

@@ -19,7 +19,7 @@ jobs:
edit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
# headが$GITHUB_REF_NAME, baseが$STABLE_BRANCHかつopenぎPRを1つ取垗
- name: Get PR
run: |

View File

@@ -36,7 +36,7 @@ jobs:
outputs:
pr_number: ${{ steps.get_pr.outputs.pr_number }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
# headが$GITHUB_REF_NAME, baseが$STABLE_BRANCHかつopenぎPRを1つ取垗
- name: Get PRs
run: |

View File

@@ -16,7 +16,7 @@ jobs:
# api-artifact
steps:
- name: Download artifact
uses: actions/github-script@v7.0.1
uses: actions/github-script@v9
with:
script: |
const fs = require('fs');
@@ -60,7 +60,7 @@ jobs:
- name: Echo full diff
run: cat ./api-full.json.diff
- name: Upload full diff to Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: api-artifact
path: |
@@ -73,9 +73,9 @@ jobs:
HEADER="こぎPRãĢよるapi.jsonãŽåˇŽåˆ†"
FOOTER="[Get diff files from Workflow Page](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})"
DIFF_BYTES="$(stat ./api.json.diff -c '%s' | tr -d '\n')"
echo "$HEADER" > ./output.md
if (( "$DIFF_BYTES" <= 1 )); then
echo 'åˇŽåˆ†ã¯ã‚ã‚Šãžã›ã‚“ã€‚' >> ./output.md
else
@@ -87,18 +87,18 @@ jobs:
echo '```' >> ./output.md
echo '</details>' >> .output.md
fi
echo "$FOOTER" >> ./output.md
- uses: thollander/actions-comment-pull-request@v2
- uses: thollander/actions-comment-pull-request@v3
with:
pr_number: ${{ steps.load-pr-num.outputs.pr-number }}
comment_tag: show_diff
filePath: ./output.md
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
comment-tag: show_diff
file-path: ./output.md
- name: Tell error to PR
uses: thollander/actions-comment-pull-request@v2
uses: thollander/actions-comment-pull-request@v3
if: failure() && steps.load-pr-num.outputs.pr-number
with:
pr_number: ${{ steps.load-pr-num.outputs.pr-number }}
comment_tag: show_diff_error
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
comment-tag: show_diff_error
message: |
api.jsonãŽåˇŽåˆ†äŊœæˆä¸­ãĢエナãƒŧがį™ēį”Ÿã—ãžã—ãŸã€‚čŠŗį´°ã¯[Workflowぎログ](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})をįĸēčĒã—ãĻください。

View File

@@ -0,0 +1,177 @@
name: Report backend memory
on:
workflow_run:
types: [completed]
workflows:
- Get backend memory usage # get-backend-memory.yml
jobs:
compare-memory:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
permissions:
pull-requests: write
steps:
- name: Download artifact
uses: actions/github-script@v9
with:
script: |
const fs = require('fs');
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id,
});
let matchArtifacts = allArtifacts.data.artifacts.filter((artifact) => {
return artifact.name.startsWith("memory-artifact-") || artifact.name == "memory-artifact"
});
await Promise.all(matchArtifacts.map(async (artifact) => {
let download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: artifact.id,
archive_format: 'zip',
});
await fs.promises.writeFile(`${process.env.GITHUB_WORKSPACE}/${artifact.name}.zip`, Buffer.from(download.data));
}));
- name: Extract all artifacts
run: |
find . -mindepth 1 -maxdepth 1 -type f -name '*.zip' -exec unzip {} -d artifacts ';'
ls -la artifacts/
- name: Load PR Number
id: load-pr-num
run: echo "pr-number=$(cat artifacts/pr_number)" >> "$GITHUB_OUTPUT"
- name: Output base
run: cat ./artifacts/memory-base.json
- name: Output head
run: cat ./artifacts/memory-head.json
- name: Compare memory usage
id: compare
run: |
BASE_MEMORY=$(cat ./artifacts/memory-base.json)
HEAD_MEMORY=$(cat ./artifacts/memory-head.json)
variation() {
calc() {
BASE=$(echo "$BASE_MEMORY" | jq -r ".${1}.${2} // 0")
HEAD=$(echo "$HEAD_MEMORY" | jq -r ".${1}.${2} // 0")
DIFF=$((HEAD - BASE))
if [ "$BASE" -gt 0 ]; then
DIFF_PERCENT=$(echo "scale=2; ($DIFF * 100) / $BASE" | bc)
else
DIFF_PERCENT=0
fi
# Convert KB to MB for readability
BASE_MB=$(echo "scale=2; $BASE / 1024" | bc)
HEAD_MB=$(echo "scale=2; $HEAD / 1024" | bc)
DIFF_MB=$(echo "scale=2; $DIFF / 1024" | bc)
JSON=$(jq -c -n \
--argjson base "$BASE_MB" \
--argjson head "$HEAD_MB" \
--argjson diff "$DIFF_MB" \
--argjson diff_percent "$DIFF_PERCENT" \
'{base: $base, head: $head, diff: $diff, diff_percent: $diff_percent}')
echo "$JSON"
}
JSON=$(jq -c -n \
--argjson VmRSS "$(calc $1 VmRSS)" \
--argjson VmHWM "$(calc $1 VmHWM)" \
--argjson VmSize "$(calc $1 VmSize)" \
--argjson VmData "$(calc $1 VmData)" \
'{VmRSS: $VmRSS, VmHWM: $VmHWM, VmSize: $VmSize, VmData: $VmData}')
echo "$JSON"
}
JSON=$(jq -c -n \
--argjson beforeGc "$(variation beforeGc)" \
--argjson afterGc "$(variation afterGc)" \
--argjson afterRequest "$(variation afterRequest)" \
'{beforeGc: $beforeGc, afterGc: $afterGc, afterRequest: $afterRequest}')
echo "res=$JSON" >> "$GITHUB_OUTPUT"
- id: build-comment
name: Build memory comment
env:
RES: ${{ steps.compare.outputs.res }}
run: |
HEADER="## Backend memory usage comparison"
FOOTER="[See workflow logs for details](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})"
echo "$HEADER" > ./output.md
echo >> ./output.md
table() {
echo "| Metric | base (MB) | head (MB) | Diff (MB) | Diff (%) |" >> ./output.md
echo "|--------|------:|------:|------:|------:|" >> ./output.md
line() {
METRIC=$2
BASE=$(echo "$RES" | jq -r ".${1}.${2}.base")
HEAD=$(echo "$RES" | jq -r ".${1}.${2}.head")
DIFF=$(echo "$RES" | jq -r ".${1}.${2}.diff")
DIFF_PERCENT=$(echo "$RES" | jq -r ".${1}.${2}.diff_percent")
if (( $(echo "$DIFF_PERCENT > 0" | bc -l) )); then
DIFF="+$DIFF"
DIFF_PERCENT="+$DIFF_PERCENT"
fi
# highlight VmRSS
if [ "$2" = "VmRSS" ]; then
METRIC="**${METRIC}**"
BASE="**${BASE}**"
HEAD="**${HEAD}**"
DIFF="**${DIFF}**"
DIFF_PERCENT="**${DIFF_PERCENT}**"
fi
echo "| ${METRIC} | ${BASE} MB | ${HEAD} MB | ${DIFF} MB | ${DIFF_PERCENT}% |" >> ./output.md
}
line $1 VmRSS
line $1 VmHWM
line $1 VmSize
line $1 VmData
}
echo "### Before GC" >> ./output.md
table beforeGc
echo >> ./output.md
echo "### After GC" >> ./output.md
table afterGc
echo >> ./output.md
echo "### After Request" >> ./output.md
table afterRequest
echo >> ./output.md
# Determine if this is a significant change (more than 5% increase)
if [ "$(echo "$RES" | jq -r '.afterGc.VmRSS.diff_percent | tonumber > 5')" = "true" ]; then
echo "âš ī¸ **Warning**: Memory usage has increased by more than 5%. Please verify this is not an unintended change." >> ./output.md
echo >> ./output.md
fi
echo "$FOOTER" >> ./output.md
- uses: thollander/actions-comment-pull-request@v3
with:
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
comment-tag: show_memory_diff
file-path: ./output.md
- name: Tell error to PR
uses: thollander/actions-comment-pull-request@v3
if: failure() && steps.load-pr-num.outputs.pr-number
with:
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
comment-tag: show_memory_diff_error
message: |
An error occurred while comparing backend memory usage. See [workflow logs](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details.

View File

@@ -0,0 +1,51 @@
name: Request release review
on:
issue_comment:
types: [created]
jobs:
reply:
if: github.event.comment.body == '/request-release-review'
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
pull-requests: write
steps:
- name: Reply
uses: actions/github-script@v9
with:
script: |
const body = `To dev team (@misskey-dev/dev):
ãƒĒãƒĒãƒŧã‚šãŒææĄˆã•ã‚ŒãĻいぞす :rocket:
GOぎ場合はapprove、NO GOãŽå ´åˆã¯ããŽæ—¨ã‚ŗãƒĄãƒŗãƒˆã‚’ãŠéĄ˜ã„ã„ãŸã—ãžã™ã€‚
判断ãĢã‚ãŸãŖãĻč€ƒæ…Žã™ãšãčĻŗį‚šã¯ã€
- やり掋したことはãĒいかīŧŸ
- CHANGELOGは過不čļŗãĒいかīŧŸ
- バãƒŧã‚¸ãƒ§ãƒŗãĢå•éĄŒã¯ãĒいかīŧŸ(æœˆčˇ¨ã„ã§ã„ã‚‹ãŽãĢ更新åŋ˜ã‚ŒãĻいるãĒお)
- å†č€ƒã™ãšãä앿§˜ãƒģåŽŸčŖ…ã¯ãĒいかīŧŸ
- ベãƒŧã‚ŋį‰ˆã‚’æ¤œč¨ŧしたã‚ĩãƒŧバãƒŧã‹ã‚‰ä¸å…ˇåˆãŽå ąå‘Šį­‰ã¯ä¸ŠãŒãŖãĻãĒいかīŧŸ
- (ã‚ģキãƒĨãƒĒãƒ†ã‚ŖãŽäŋŽæ­Ŗã‚„重čρãĒバグäŋŽæ­ŖãĒおぎため)ãƒĒãƒĒãƒŧ゚をæ€Ĩã„ã æ–šãŒč‰¯ã„ã‹īŧŸãã†ã§ã¯ãĒいかīŧŸ
- ActionsがčŊãĄãĻいãĒいかīŧŸ
ãĒおが挙げられぞす。
ご協力ありがとうございぞす :sparkles:
`
const issue_number = context.payload.issue ? context.payload.issue.number : (context.payload.pull_request && context.payload.pull_request.number)
if (!issue_number) {
console.log('No issue or PR number found in payload; skipping')
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number,
body,
})
}

View File

@@ -5,7 +5,6 @@ on:
branches:
- master
- develop
- dev/storybook8 # for testing
pull_request_target:
branches-ignore:
# Since pull requests targets master mostly is the "develop" branch.
@@ -15,7 +14,7 @@ on:
jobs:
build:
# chromatic is not likely to be available for fork repositories, so we disable for fork repositories.
# Chromatic is not likely to be available for fork repositories, so we disable for fork repositories.
if: github.repository == 'misskey-dev/misskey'
runs-on: ubuntu-latest
@@ -23,12 +22,12 @@ jobs:
NODE_OPTIONS: "--max_old_space_size=7168"
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
if: github.event_name != 'pull_request_target'
with:
fetch-depth: 0
submodules: true
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
if: github.event_name == 'pull_request_target'
with:
fetch-depth: 0
@@ -36,22 +35,19 @@ jobs:
ref: "refs/pull/${{ github.event.number }}/merge"
- name: Checkout actual HEAD
if: github.event_name == 'pull_request_target'
id: rev
run: |
echo "base=$(git rev-list --parents -n1 HEAD | cut -d" " -f2)" >> $GITHUB_OUTPUT
git checkout $(git rev-list --parents -n1 HEAD | cut -d" " -f3)
run: git checkout "$(git rev-list --parents -n1 HEAD | cut -d" " -f3)"
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- name: Use Node.js 20.x
uses: actions/setup-node@v4.2.0
uses: pnpm/action-setup@v6.0.3
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Build misskey-js
run: pnpm --filter misskey-js build
- name: Build dependent packages
run: pnpm -F misskey-js -F misskey-bubble-game -F misskey-reversi build
- name: Build storybook
run: pnpm --filter frontend build-storybook
- name: Publish to Chromatic
@@ -82,24 +78,19 @@ jobs:
if: github.event_name == 'pull_request_target'
id: chromatic_pull_request
run: |
DIFF="${{ steps.rev.outputs.base }} HEAD"
if [ "$DIFF" = "0000000000000000000000000000000000000000 HEAD" ]; then
DIFF="HEAD"
fi
CHROMATIC_PARAMETER="$(node packages/frontend/.storybook/changes.js $(git diff-tree --no-commit-id --name-only -r $(echo "$DIFF") | xargs))"
CHROMATIC_PARAMETER="$(node packages/frontend/.storybook/changes.js $(git diff --name-only origin/${GITHUB_BASE_REF}...origin/${GITHUB_HEAD_REF} | xargs))"
if [ "$CHROMATIC_PARAMETER" = " --skip" ]; then
echo "skip=true" >> $GITHUB_OUTPUT
fi
BRANCH="${{ github.event.pull_request.head.user.login }}:$HEAD_REF"
if [ "$BRANCH" = "misskey-dev:$HEAD_REF" ]; then
BRANCH="$HEAD_REF"
BRANCH="${{ github.event.pull_request.head.user.login }}:$GITHUB_HEAD_REF"
if [ "$BRANCH" = "misskey-dev:$GITHUB_HEAD_REF" ]; then
BRANCH="$GITHUB_HEAD_REF"
fi
pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static --branch-name "$BRANCH" $(echo "$CHROMATIC_PARAMETER")
env:
HEAD_REF: ${{ github.event.pull_request.head.ref }}
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Notify that Chromatic detects changes
uses: actions/github-script@v7.0.1
uses: actions/github-script@v9
if: github.event_name != 'pull_request_target' && steps.chromatic_push.outputs.success == 'false'
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -111,7 +102,7 @@ jobs:
body: 'Chromatic detects changes. Please [review the changes on Chromatic](https://www.chromatic.com/builds?appId=6428f7d7b962f0b79f97d6e4).'
})
- name: Upload Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: storybook
path: packages/frontend/storybook-static

View File

@@ -18,35 +18,66 @@ on:
- packages/misskey-js/**
- .github/workflows/test-backend.yml
- .github/misskey/test.yml
workflow_dispatch:
inputs:
force_ffmpeg_cache_update:
description: 'Force update ffmpeg cache'
required: false
default: false
type: boolean
jobs:
unit:
name: Unit tests (backend)
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.11.0]
node-version-file:
- .node-version
- .github/min.node-version
services:
postgres:
image: postgres:15
image: postgres:18
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:7
image: redis:8
ports:
- 56312:6379
meilisearch:
image: getmeili/meilisearch:v1.42.1
ports:
- 57712:7700
env:
MEILI_NO_ANALYTICS: true
MEILI_ENV: development
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v6.0.3
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Setup and Restore ffmpeg/ffprobe Cache
id: cache-ffmpeg
uses: actions/cache@v5
with:
path: |
/usr/local/bin/ffmpeg
/usr/local/bin/ffprobe
# daily cache
key: ${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
restore-keys: |
${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
- name: Install FFmpeg
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' || github.event.inputs.force_ffmpeg_cache_update == true
run: |
for i in {1..3}; do
echo "Attempt $i: Installing FFmpeg..."
@@ -61,10 +92,10 @@ jobs:
exit 1
fi
done
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.2.0
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ matrix.node-version }}
node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
@@ -76,7 +107,7 @@ jobs:
- name: Test
run: pnpm --filter backend test-and-coverage
- name: Upload to Codecov
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json
@@ -84,34 +115,36 @@ jobs:
e2e:
name: E2E tests (backend)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [22.11.0]
node-version-file:
- .node-version
- .github/min.node-version
services:
postgres:
image: postgres:15
image: postgres:18
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:7
image: redis:8
ports:
- 56312:6379
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.2.0
uses: pnpm/action-setup@v6.0.3
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ matrix.node-version }}
node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
@@ -123,7 +156,51 @@ jobs:
- name: Test
run: pnpm --filter backend test-and-coverage:e2e
- name: Upload to Codecov
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json
migration:
name: Migration tests (backend)
runs-on: ubuntu-latest
strategy:
matrix:
node-version-file:
- .node-version
#- .github/min.node-version
services:
postgres:
image: postgres:18
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
steps:
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v6.0.3
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Copy Configure
run: cp .github/misskey/test.yml .config
- name: Build
run: pnpm build
- name: Run migrations
run: MISSKEY_CONFIG_YML=test.yml pnpm --filter backend migrate
- name: Check no migrations are remaining
run: MISSKEY_CONFIG_YML=test.yml pnpm --filter backend check-migrations

View File

@@ -14,6 +14,13 @@ on:
- packages/backend/**
- packages/misskey-js/**
- .github/workflows/test-federation.yml
workflow_dispatch:
inputs:
force_ffmpeg_cache_update:
description: 'Force update ffmpeg cache'
required: false
default: false
type: boolean
jobs:
test:
@@ -21,14 +28,31 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.11.0]
node-version-file:
- .node-version
- .github/min.node-version
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v6.0.3
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Setup and Restore ffmpeg/ffprobe Cache
id: cache-ffmpeg
uses: actions/cache@v5
with:
path: |
/usr/local/bin/ffmpeg
/usr/local/bin/ffprobe
# daily cache
key: ${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
restore-keys: |
${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
- name: Install FFmpeg
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' || github.event.inputs.force_ffmpeg_cache_update == true
run: |
for i in {1..3}; do
echo "Attempt $i: Installing FFmpeg..."
@@ -43,10 +67,10 @@ jobs:
exit 1
fi
done
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.2.0
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ matrix.node-version }}
node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm'
- name: Build Misskey
run: |
@@ -54,6 +78,7 @@ jobs:
pnpm build
- name: Setup
run: |
echo "NODE_VERSION=$(cat ${{ matrix.node-version-file }})" >> $GITHUB_ENV
cd packages/backend/test-federation
bash ./setup.sh
sudo chmod 644 ./certificates/*.test.key
@@ -71,18 +96,16 @@ jobs:
docker compose logs | tail -n 300
exit 1
- name: Test
id: test
continue-on-error: true
run: |
cd packages/backend/test-federation
docker compose run --no-deps tester
- name: Log
if: ${{ steps.test.outcome == 'failure' }}
if: always()
run: |
cd packages/backend/test-federation
docker compose logs
exit 1
- name: Stop servers
if: always()
run: |
cd packages/backend/test-federation
docker compose down

View File

@@ -27,20 +27,16 @@ jobs:
name: Unit tests (frontend)
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.11.0]
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.2.0
uses: pnpm/action-setup@v6.0.3
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ matrix.node-version }}
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
@@ -52,7 +48,7 @@ jobs:
- name: Test
run: pnpm --filter frontend test-and-coverage
- name: Upload Coverage
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/frontend/coverage/coverage-final.json
@@ -64,24 +60,23 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [22.11.0]
browser: [chrome]
services:
postgres:
image: postgres:15
image: postgres:18
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:7
image: redis:8
ports:
- 56312:6379
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
# https://github.com/cypress-io/cypress-docker-images/issues/150
@@ -91,11 +86,11 @@ jobs:
#- uses: browser-actions/setup-firefox@latest
# if: ${{ matrix.browser == 'firefox' }}
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.2.0
uses: pnpm/action-setup@v6.0.3
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ matrix.node-version }}
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Copy Configure
@@ -110,7 +105,7 @@ jobs:
- name: Cypress install
run: pnpm exec cypress install
- name: Cypress run
uses: cypress-io/github-action@v6
uses: cypress-io/github-action@v7.1.9
timeout-minutes: 15
with:
install: false
@@ -118,12 +113,12 @@ jobs:
wait-on: 'http://localhost:61812'
headed: true
browser: ${{ matrix.browser }}
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: failure()
with:
name: ${{ matrix.browser }}-cypress-screenshots
path: cypress/screenshots
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: always()
with:
name: ${{ matrix.browser }}-cypress-videos

View File

@@ -20,22 +20,17 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.11.0]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
uses: actions/checkout@v6.0.2
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
uses: pnpm/action-setup@v6.0.3
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.2.0
- name: Setup Node.js
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ matrix.node-version }}
node-version-file: '.node-version'
cache: 'pnpm'
- name: Install dependencies
@@ -53,7 +48,7 @@ jobs:
CI: true
- name: Upload Coverage
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/misskey-js/coverage/coverage-final.json

View File

@@ -15,20 +15,16 @@ jobs:
name: Production build
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.11.0]
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.2.0
uses: pnpm/action-setup@v6.0.3
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ matrix.node-version }}
node-version-file: '.node-version'
cache: 'pnpm'
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml

View File

@@ -16,20 +16,16 @@ jobs:
validate-api-json:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.11.0]
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v6.0.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.2.0
uses: pnpm/action-setup@v6.0.3
- name: Use Node.js
uses: actions/setup-node@v6.4.0
with:
node-version: ${{ matrix.node-version }}
node-version-file: '.node-version'
cache: 'pnpm'
- name: Install Redocly CLI
run: npm i -g @redocly/cli

1
.gitignore vendored
View File

@@ -46,6 +46,7 @@ docker-compose.yml
built
built-test
js-built
src-js
/data
/.cache-loader
/db

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "fluent-emojis"]
path = fluent-emojis
url = https://github.com/misskey-dev/emojis.git

View File

@@ -1 +1 @@
22.11.0
22.15.0

3
.npmrc
View File

@@ -1,3 +0,0 @@
engine-strict = true
save-exact = true
shell-emulator = true

View File

@@ -3,11 +3,16 @@
"**/node_modules": true
},
"typescript.tsdk": "node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
"files.associations": {
"*.test.ts": "typescript"
},
"jest.jestCommandLine": "pnpm run jest",
"jest.runMode": "on-demand",
"jest.virtualFolders": [
{ "name": "backend unit", "jestCommandLine": "pnpm -F backend run test" },
{ "name": "backend e2e", "jestCommandLine": "pnpm -F backend run test:e2e"},
{ "name": "misskey-js", "jestCommandLine": "pnpm -F misskey-js run jest" }
],
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},

139
AGENTS.md Normal file
View File

@@ -0,0 +1,139 @@
# Misskey – AI Agent Guide
ã“ãŽãƒ•ã‚Ąã‚¤ãƒĢは Misskey ãƒĒポジトãƒĒで動く AI ã‚ŗãƒŧãƒ‡ã‚Ŗãƒŗã‚°ã‚¨ãƒŧã‚¸ã‚§ãƒŗãƒˆ (Claude Code / OpenAI Codex / GitHub Copilot į­‰) ãŒå…ąé€šã§å‚į…§ã™ã‚‹ **最äŊŽé™ãŽãƒĢãƒŧãƒĢとį´ĸåŧ•**。æŦĄãŽ 3 įĩŒčˇ¯ã‹ã‚‰å‚į…§ãƒģčĒ­ãŋčžŧãŋされる:
- **Claude Code**: ãƒĢãƒŧト `CLAUDE.md` から `@AGENTS.md` で取りčžŧぞれる
- **OpenAI Codex**: ãƒĢãƒŧト `AGENTS.md` ã‚’į›´æŽĨčĒ­ãŋčžŧむ
- **GitHub Copilot**: `.github/copilot-instructions.md` (æœŦãƒ•ã‚Ąã‚¤ãƒĢã‚’å‚į…§ã—ã¤ã¤ã€Copilot code review 向けãĢåŋ…é ˆčĻį´„ã‚’å†æŽ˛ã™ã‚‹ãƒ•ã‚Ąã‚¤ãƒĢ) įĩŒį”ąã§å‚į…§ã™ã‚‹
äēē間 contributor 向けぎ一čˆŦčĻį´„ (Issue / PR ぎå‡ēし斚、ActivityPub æ‹ĄåŧĩãĒお) は [CONTRIBUTING.md](CONTRIBUTING.md) ã‚’å‚į…§ã€‚æœŦãƒ•ã‚Ąã‚¤ãƒĢは AI が **ã‚ŗãƒŧドを書くãƒģį›´ã™** 際ãĢ踏ãŋ外しãĻはいけãĒいäē‹é …ãĢįĩžãŖãĻいる。
---
## ä狿•…į›´įĩãƒĢãƒŧãƒĢ (åŋ…ず厈る)
違反すると CI å¤ąæ•—ãžãŸã¯æœŦį•Ēä狿•…ãĢãĒる。順厈すること。
### 1. SPDX ヘッダãƒŧåŋ…é ˆ
AGPL-3.0-only įŽĄčŊ„かつ SPDX CI å¯žčąĄãƒ‡ã‚ŖãƒŦクトãƒĒãĢ新čĻ `.ts` / `.js` / `.cjs` / `.mjs` / `.vue` / `.scss` / `.html` ãƒ•ã‚Ąã‚¤ãƒĢをčŋŊ加する場合、冒頭ãĢäģĨ下をåŋ…ずäģ˜ã‘る。æŦ čŊすると CI (`spdx` ジョブ) ãŒå¤ąæ•—ã™ã‚‹ã€‚CI ãŽå¯žčąĄåˆ¤åŽšã¯ [.github/workflows/check-spdx-license-id.yml](.github/workflows/check-spdx-license-id.yml) ぎ `directories` é…åˆ—ã‚’å‚į…§ (`*.config.{ts,js,cjs,mjs}` と `*eslint*` は除外)。
`packages/misskey-js` は MIT ナイã‚ģãƒŗã‚šãŽã‚ĩãƒ–ãƒ‘ãƒƒã‚ąãƒŧジãĒぎで、こぎ AGPL ヘッダãƒŧを一型ãĢäģ˜ã‘ãĒい。ã‚ĩãƒ–ãƒ‘ãƒƒã‚ąãƒŧジå›ē有ぎ `package.json` / `LICENSE` / æ—ĸå­˜ãƒ•ã‚Ąã‚¤ãƒĢぎヘッダãƒŧãĢ垓う。
`.ts` / `.js` / `.cjs` / `.mjs` / `.scss`:
```text
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
```
`.vue` / `.html` (HTML ã‚ŗãƒĄãƒŗãƒˆåŊĸåŧ):
```text
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
```
### 2. locales/*.yml は `ja-JP.yml` ぎãŋįˇ¨é›†å¯
`locales/` 配下ぎ YAML は **`ja-JP.yml` ぎãŋæ‰‹å‹•įˇ¨é›†ã—ãĻよい**。äģ–言čĒžãƒ•ã‚Ąã‚¤ãƒĢ (`en-US.yml` į­‰) は Crowdin ぎč‡Ē動配äŋĄå…ˆã§ã€æ‰‹å‹•įˇ¨é›†ã™ã‚‹ã¨ä¸Šæ›¸ãã§å¤ąã‚ã‚Œã‚‹ã€‚æ šæ‹ : `locales/README.md` (ja-JP.yml äģĨå¤–ã‚’æ‰‹å‹•įˇ¨é›†ã—ãĒã„é‹į”¨) と `crowdin.yml` (`ja-JP.yml` → `locales/%locale%.yml` ãŽåŒæœŸč¨­åŽš)。
### 3. マãƒŧジ済ãŋ migration をįĩļ寞ãĢįˇ¨é›†ã—ãĒい
`packages/backend/migration/{unixMs}-{PascalName}.js` ãŽã†ãĄã€æ—ĸãĢ `develop` / `master` ãĢマãƒŧジ済ãŋãŽãƒ•ã‚Ąã‚¤ãƒĢは **įĩļ寞ãĢ変更しãĒい**。æœŦį•Ēį’°åĸƒã§åąĨ歴攚変がčĩˇãã‚‹ã¨æˇąåˆģãĒデãƒŧã‚ŋ不整合をåŧ•きčĩˇã“す。
゚キãƒŧマ変更がåŋ…čρãĒ場合は **新しいã‚ŋイム゚ã‚ŋãƒŗãƒ—ã§æ–°čĻãƒ•ã‚Ąã‚¤ãƒĢ** をäŊœæˆã™ã‚‹:
- ãƒ•ã‚Ąã‚¤ãƒĢ名: `node -e "console.log(Date.now())"` で UNIX ms を取垗し、`{ms}-<descriptive-name>.js` としãĻįŊŽãã€‚å‘Ŋ名゚ã‚ŋイãƒĢはæ—ĸ存åąĨæ­´ã§æˇˇåœ¨ã—ãĻおり (`1716129964060-ChannelIdDenormalizedForMiPoll.js` ぎようãĒ PascalCase、`1721666053703-fixDriveUrl.js` ぎようãĒ camelCase、`1672704136584-remove-latestStatus.js` ぎようãĒ kebab-case)ã€å¤‰æ›´ã‚’čĄ¨ã™å˜ä¸€ãŽč‹ąčĒžåã§ã‚ã‚Œã°č‰¯ã„ã€‚ã‚¯ãƒŠã‚šåå´ã¯ PascalCase + 13 æĄã‚ŋイム゚ã‚ŋãƒŗãƒ— (`class FixDriveUrl1721666053703 { ... }`) をåŋ…ず厈ること。
- `up()` と `down()` ãŽä¸Ąæ–šã‚’åŋ…ãšåŽŸčŖ…ã™ã‚‹ (`down` は `up` ぎ厌全ãĒåˇģきæˆģし)。
- `pnpm --filter backend check-migrations` を通す。これは **TypeORM schema builder で pending DDL を検å‡ēする** 検æŸģ ([packages/backend/scripts/check_migrations_clean.js](packages/backend/scripts/check_migrations_clean.js))ã€‚ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖãŽ `@Column` / `@Entity` 変更が migration ãĢ取りčžŧぞれãĻいãĒいとここで検å‡ēされる。ã‚ŋイム゚ã‚ŋãƒŗãƒ—ãŽé †åēč‡ĒäŊ“ã‚’į›´æŽĨ検æŸģするわけではãĒい (順åēãŒåŖŠã‚ŒãŸå ´åˆãŽå¤ąæ•—はåˆĨįĩŒčˇ¯ã§å‡ēる)。
ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖåˇŽåˆ†ã‹ã‚‰ TypeORM CLI でč‡Ēå‹•į”Ÿæˆã—ãŸã„ / `CREATE INDEX CONCURRENTLY` į­‰ãŽã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã‚’äŊŋいたい場合は [.claude/skills/create-migration/SKILL.md](.claude/skills/create-migration/SKILL.md) ã‚’å‚į…§ã€‚æ‰‹æ›¸ã / CLI ãŠãĄã‚‰ãŽæ–šåŧã§ã‚‚ä¸Šč¨˜ 3 į‚š (åąĨ歴攚変įρæ­ĸ / `up`+`down` / `check-migrations`) がæē€ãŸã›ã‚Œã°č‰¯ã„。
---
## åŋ…é ˆã‚ŗãƒžãƒŗãƒ‰
| ᔍ途 | ã‚ŗãƒžãƒŗãƒ‰ |
| --- | --- |
| 全äŊ“ビãƒĢド | `pnpm build` |
| 開į™ēã‚ĩãƒŧバãƒŧ (backend + frontend watch) | `pnpm dev` |
| Lint (typecheck + eslint, å…¨ãƒ‘ãƒƒã‚ąãƒŧジ) | `pnpm lint` (= `pnpm --no-bail -r lint`ã€‚æœ€åˆãŽå¤ąæ•—ã§æ­ĸãžã‚‰ãšå…¨ãƒ‘ãƒƒã‚ąãƒŧジぎįĩæžœã‚’収集する) |
| Backend unit test (Vitest) | `pnpm --filter backend test` |
| Backend e2e test | `pnpm --filter backend test:e2e` |
| Backend federation test | `pnpm --filter backend test:fed` |
| Frontend test (Vitest) | `pnpm --filter frontend test` |
| Cypress E2E (čρ `start:test`) | `pnpm e2e` |
| Storybook dev (frontend) | `pnpm --filter frontend storybook-dev` |
| Migration éŠį”¨ | `pnpm migrate` |
| Migration ロãƒŧãƒĢバック | `pnpm revert` |
| Migration ぎ pending DDL 検æŸģ (ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖåˇŽåˆ†ãŽå–ã‚Ščžŧãŋæŧã‚Œæ¤œå‡ē) | `pnpm --filter backend check-migrations` |
| `misskey-js` å†į”Ÿæˆ (API 変更垌åŋ…é ˆ) | `pnpm build-misskey-js-with-types` |
> Backend ぎ TypeScript 型チェックは `pnpm --filter backend typecheck` (tsgo)。
> 個åˆĨãƒ•ã‚Ąã‚¤ãƒĢへぎ ESLint --fix は `pnpm exec eslint --fix <path>`。
> **backend テ゚ト (`test` / `test:e2e` / `test:fed`) åŽŸčĄŒå‰ãĢ `.config/test.yml` がåŋ…čρ** (æœĒäŊœæˆã ã¨ãƒ†ã‚šãƒˆč‡ĒäŊ“がčĩˇå‹•しãĒい)ã€‚ã‚ŗãƒ”ãƒŧæ‰‹é †ã¨čŠŗį´°ã¯ [.claude/docs/testing.md §Backend 全čˆŦぎ前提](.claude/docs/testing.md#backend-全čˆŦぎ前提-configtestyml) ã‚’å‚į…§ã€‚
---
## CHANGELOG
ãƒĻãƒŧã‚ļãƒŧåŊąéŸŋぎある変更 (抟čƒŊčŋŊ加ãƒģäŋŽæ­Ŗãƒģ攚善) は `CHANGELOG.md` ぎ冒頭 `## Unreleased` ã‚ģã‚¯ã‚ˇãƒ§ãƒŗãĢ 1 行čŋŊ加する。ãƒĒãƒ•ã‚Ąã‚¯ã‚ŋãƒĒãƒŗã‚°į­‰ãŽå†…éƒ¨å¤‰æ›´ã¯ä¸čĻã€‚
### ã‚ģã‚¯ã‚ˇãƒ§ãƒŗæ§‹é€ 
`## Unreleased` 配下ãĢ **3 つぎã‚ĩブã‚ģã‚¯ã‚ˇãƒ§ãƒŗ** ãŒį”¨æ„ã•ã‚ŒãĻいる:
- `### General` — å…ąé€š / æ¨Ēæ–­įš„ãĒ変更
- `### Client` — `packages/frontend` įŗģ
- `### Server` — `packages/backend` įŗģ
### ã‚¨ãƒŗãƒˆãƒĒ書åŧ
芲åŊ“ã‚ĩブã‚ģã‚¯ã‚ˇãƒ§ãƒŗãĢ `- <Prefix>: <æĻ‚čρ>` ぎåŊĸåŧã§čŋŊ加。Prefix は先頭大文字。
```text
- Enhance: ノãƒŧãƒˆãŽčŠŗį´°čĄ¨į¤ēでぎå…Ŧé–‹į¯„å›˛ãŽčĄ¨į¤ēを攚善
- Fix: 通įŸĨãŒį´„10᧒遅åģļã™ã‚‹å•éĄŒã‚’äŋŽæ­Ŗ
- Feat: 新抟čƒŊぎčŋŊ加
```
### č§ĻãŖãĻはいけãĒã„į¯„å›˛
- `## Unreleased` **äģĨ外** ぎã‚ģã‚¯ã‚ˇãƒ§ãƒŗ (過åŽģãƒĒãƒĒãƒŧ゚) は変更しãĒい。
- `## Unreleased` ぎčĻ‹å‡ēしと 3 つぎįŠēã‚ĩブã‚ģã‚¯ã‚ˇãƒ§ãƒŗéǍæ ŧč‡ĒäŊ“はįļ­æŒã™ã‚‹ (ãƒĒãƒĒãƒŧ゚゚クãƒĒプトが期垅する構造)。
> å‚č€ƒ: ã‚ŗãƒŸãƒƒãƒˆãƒĄãƒƒã‚ģãƒŧジ側は `enhance(frontend): ...` / `fix(backend): ...` ぎ小文字 + ã‚šã‚ŗãƒŧプåŊĸåŧ ([CONTRIBUTING.md](CONTRIBUTING.md) å‚į…§)。CHANGELOG とは書åŧãŒį•°ãĒã‚‹į‚šãĢæŗ¨æ„ã€‚
---
## ã‚Ēãƒŗãƒ‡ãƒžãƒŗãƒ‰å‚į…§ (åŋ…čĻæ™‚ãĢ Read すること)
äģĨ下は AI が **äŊœæĨ­å¯žčąĄãĢåŋœã˜ãĻåŋ…čρãĒときだけ** é–‹ãčŠŗį´°ãƒ‰ã‚­ãƒĨãƒĄãƒŗãƒˆã€‚å¸¸æ™‚ã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆãĢはčŧ‰ã›ãĒい。
| äŊ•をしたい時 | å‚į…§å…ˆ |
| --- | --- |
| ãƒ‘ãƒƒã‚ąãƒŧジ構成ãƒģ䞝存é–ĸäŋ‚ã‚’æŠŠæĄã—ãŸã„ | [.claude/docs/architecture.md](.claude/docs/architecture.md) |
| `packages/backend` ã‚’įˇ¨é›†ã™ã‚‹ (NestJS / TypeORM / migration / API endpoint) | [.claude/docs/backend.md](.claude/docs/backend.md) |
| `packages/frontend` ã‚’įˇ¨é›†ã™ã‚‹ (Vue 3 / Mk* / i18n / SCSS module / `os.ts`) | [.claude/docs/frontend.md](.claude/docs/frontend.md) |
| テ゚トを書くãƒģčĩ°ã‚‰ã›ã‚‹ (Vitest / Cypress / Storybook) | [.claude/docs/testing.md](.claude/docs/testing.md) |
| 有劚化済 Claude Code ãƒ—ãƒŠã‚°ã‚¤ãƒŗãŽį”¨é€”ã‚’įĸēčĒ | [.claude/docs/plugins.md](.claude/docs/plugins.md) |
---
## ツãƒŧãƒĢå›ēæœ‰ãŽčŖœåŠŠãƒ•ã‚Ąã‚¤ãƒĢ
`.claude/` 配下は Claude Code å›ē有ぎ skills / agents / slash commands ã‚’é›†į´„ã—ãĻいる (Codex / Copilot はčĒ­ãŋéŖ›ã°ã—ãĻよい):
- `.claude/skills/` — įš°ã‚Ščŋ”しã‚ŋã‚šã‚¯į”¨ãŽ skill åŽšįžŠ (例: `add-api-endpoint`, `create-migration`)
- `.claude/agents/` — 専門ãƒŦビãƒĨãƒŧエãƒŧã‚¸ã‚§ãƒŗãƒˆ (例: `misskey-api-reviewer`, `vue-component-reviewer`)
- `.claude/commands/` — Claude Code ãŽã‚šãƒŠãƒƒã‚ˇãƒĨã‚ŗãƒžãƒŗãƒ‰ (例: `/check-misskey-js`, `/changelog-add`)
- `.claude/docs/` — ã‚Ēãƒŗãƒ‡ãƒžãƒŗãƒ‰å‚į…§ãƒ‰ã‚­ãƒĨãƒĄãƒŗãƒˆ (ä¸Šč¨˜ãŽčĄ¨ã§į¤ēしたもぎ。Codex / Copilot からも内厚č‡ĒäŊ“はčĒ­ã‚ã‚‹)
- `.claude/settings.json` — Claude Code ãŽæœ‰åŠšãƒ—ãƒŠã‚°ã‚¤ãƒŗ (`enabledPlugins`) ぎãŋã‚’č¨˜čŧ‰ã—ãŸå…ąæœ‰č¨­åŽšã€‚hook ã¯æ„å›ŗįš„ãĢį™ģéŒ˛ã—ãĒい (各 contributor が `.claude/settings.local.json` で opt-in する斚針)
- `.claude/settings.local.json` — 個äēēロãƒŧã‚ĢãƒĢč¨­åŽš (`.gitignore` 済)
ã‚ĩãƒŧドパãƒŧãƒ†ã‚Ŗį”ąæĨ (everything-claude-code į”ąæĨぎ MIT ナイã‚ģãƒŗã‚šãƒ•ã‚Ąã‚¤ãƒĢį­‰) ぎå‡ē典は [.claude/THIRD_PARTY_LICENSES.md](.claude/THIRD_PARTY_LICENSES.md) ã‚’å‚į…§ã€‚

File diff suppressed because it is too large Load Diff

7
CLAUDE.md Normal file
View File

@@ -0,0 +1,7 @@
# Misskey – Claude Code Guide
ãƒĢãƒŧãƒĢæœŦäŊ“は [AGENTS.md](AGENTS.md) (Codex / Copilot ã¨å…ąæœ‰ã™ã‚‹å˜ä¸€ã‚Ŋãƒŧ゚)。æœŦãƒ•ã‚Ąã‚¤ãƒĢは Claude Code į”¨ãŽč–„ã„ãƒŠãƒƒãƒ‘ãƒŧで、`@AGENTS.md` 構文でæœŦäŊ“čĻį´„ã‚’ã‚ģãƒƒã‚ˇãƒ§ãƒŗé–‹å§‹æ™‚ãĢã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆã¸åą•é–‹ã™ã‚‹ã€‚
Claude Code å›ēæœ‰ãŽčŖœåŠŠ (skills / agents / slash commands / docs) は `.claude/` 配下ãĢã‚ŗãƒŸãƒƒãƒˆæ¸ˆã€‚å€‹äēēロãƒŧã‚ĢãƒĢč¨­åŽšã¯ `.claude/settings.local.json` ãĢ、MCP čĒč¨ŧæƒ…å ąã¯ `.claude/.credentials.json` ãĢįŊŽã (いずれも `.gitignore` 済)。
@AGENTS.md

View File

@@ -258,6 +258,12 @@ Misskey uses Vue(v3) as its front-end framework.
- **When creating a new component, please use the Composition API (with [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html) and [ref sugar](https://github.com/vuejs/rfcs/discussions/369)) instead of the Options API.**
- Some of the existing components are implemented in the Options API, but it is an old implementation. Refactors that migrate those components to the Composition API are also welcome.
## Tabler Icons
ã‚ĸã‚¤ã‚ŗãƒŗã¯ã€Production Build時ãĢäŊŋį”¨ã•ã‚ŒãĻいãĒいもぎが削除されるようãĢãĒãŖãĻいぞす。
**ã‚ĸã‚¤ã‚ŗãƒŗã‚’å‹•įš„ãĢč¨­åŽšã™ã‚‹éš›ãĢは、 `ti-${someVal}` ぎようãĒ、ã‚ĸã‚¤ã‚ŗãƒŗåãŽãŋã‚’å‹•įš„ãĢå¤‰åŒ–ã•ã›ã‚‹åŽŸčŖ…ã‚’čĄŒã‚ãĒいでください。**
åŋ…ず `ti-xxx` ぎようãĒ厌全ãĒクナ゚名をåĢめるようãĢしãĻください。
## nirax
niraxは、MisskeyでäŊŋį”¨ã—ãĻいるã‚ĒãƒĒジナãƒĢãŽãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãƒĢãƒŧãƒ†ã‚Ŗãƒŗã‚°ã‚ˇã‚šãƒ†ãƒ ã§ã™ã€‚
**vue-routerからåŊąéŸŋを多大ãĢ受けãĻいるぎで、ぞずはvue-routerãĢついãĻå­Ļãļことをお勧めしぞす。**
@@ -273,7 +279,6 @@ niraxは、MisskeyでäŊŋį”¨ã—ãĻいるã‚ĒãƒĒジナãƒĢãŽãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰
query?: Record<string, string>;
loginRequired?: boolean;
hash?: string;
globalCacheKey?: string;
children?: RouteDef[];
}
```
@@ -570,32 +575,12 @@ enumぎ列挙ぎ内厚ぎ削除は、そぎ値をもつãƒŦã‚ŗãƒŧドを全ãĻ削
### MigrationäŊœæˆæ–šæŗ•
packages/backendで:
```sh
pnpm dlx typeorm migration:generate -d ormconfig.js -o <migration name>
pnpm dlx typeorm migration:generate -d ormconfig.js -o --esm <migration name>
```
- į”ŸæˆåžŒã€ãƒ•ã‚Ąã‚¤ãƒĢをmigration下ãĢį§ģしãĻください
- äŊœæˆã•れた゚クãƒĒプトは不åŋ…čρãĒ変更をåĢむため除åŽģしãĻください
### JSON SchemaぎobjectでanyOfをäŊŋうとき
JSON Schemaで、objectãĢ寞しãĻanyOfをäŊŋう場合、anyOfぎ中でpropertiesã‚’åŽšįžŠã—ãĒいこと。
バãƒĒデãƒŧã‚ˇãƒ§ãƒŗãŒåŠšã‹ãĒいため。īŧˆSchemaTypeもそぎようãĢäŊœã‚‰ã‚ŒãĻおり、objectぎanyOf内ぎpropertiesは捨ãĻられぞすīŧ‰
https://github.com/misskey-dev/misskey/pull/10082
テキ゚トhogeãŠã‚ˆãŗfugaãĢついãĻã€į‰‡æ–šã‚’åŋ…é ˆã¨ã—ã¤ã¤ä¸Ąæ–šãŽæŒ‡åŽšã‚‚ã‚ã‚Šã†ã‚‹å ´åˆ:
```ts
export const paramDef = {
type: 'object',
properties: {
hoge: { type: 'string', minLength: 1 },
fuga: { type: 'string', minLength: 1 },
},
anyOf: [
{ required: ['hoge'] },
{ required: ['fuga'] },
],
} as const;
```
- `-o` (`--outputJs`) で JS åŊĸåŧã€`--esm` で ESM åŊĸåŧãĢį”Ÿæˆã™ã‚‹ã€‚Misskey ぎæ—ĸ存 migration はすずãĻ ESM JS ãĒãŽã§ä¸Ąæ–šãŽã‚Ēãƒ—ã‚ˇãƒ§ãƒŗãŒåŋ…čρ
### ã‚ŗãƒã‚¯ã‚ˇãƒ§ãƒŗãĢは`markRaw`せよ
**VueãŽã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãŽdataã‚Ēãƒ—ã‚ˇãƒ§ãƒŗã¨ã—ãĻ**misskey.jsãŽã‚ŗãƒã‚¯ã‚ˇãƒ§ãƒŗã‚’č¨­åŽšã™ã‚‹ã¨ãã€åŋ…ず`markRaw`でナップしãĻãã ã•ã„ã€‚ã‚¤ãƒŗã‚šã‚ŋãƒŗã‚šãŒä¸åŋ…čρãĢãƒĒã‚ĸã‚¯ãƒ†ã‚Ŗãƒ–åŒ–ã•ã‚Œã‚‹ã“ã¨ã§ã€misskey.js内ぎå‡Ļį†ã§ä¸å…ˇåˆãŒį™ēį”Ÿã™ã‚‹ã¨ã¨ã‚‚ãĢ、パフりãƒŧãƒžãƒŗã‚šä¸ŠãŽå•éĄŒãĢã‚‚įš‹ãŒã‚‹ã€‚ãĒお、Composition APIをäŊŋう場合はこぎ限りではãĒい(ãƒĒã‚ĸã‚¯ãƒ†ã‚Ŗãƒ–åŒ–ã¯ãƒžãƒ‹ãƒĨã‚ĸãƒĢãĒため)。
@@ -634,3 +619,23 @@ color: hsl(from var(--MI_THEME-accent) h s calc(l - 10));
color: color(from var(--MI_THEME-accent) srgb r g b / 0.5);
```
## č€ƒãˆæ–š
### DRYãĢ囚われるãĒ
åŋ…čρãĒぎは一čˆŦ化ではãĒくæŠŊčąĄåŒ–ã¨č€ƒãˆãžã™ã€‚
ᛞäŋĄã›ãšã€čĒ¤ãŖãŸãƒģ不åŋ…čρãĒå…ąé€šåŒ–ã¯éŋけ、それがč‡Ēį„ļã ã¨æ„Ÿã˜ã‚‹å ´åˆã¯é‡č¤‡ã•ã›ã‚‹å‹‡æ°—ã‚’æŒãĄãžã—ã‚‡ã†ã€‚
### Misskeyã‚’č¤‡é›‘ãĢしãĒã„åŽŸčŖ…
ãã‚ŒãŒã„ãã‚‰č¤‡é›‘ã§ã‚ãŖãĻも、Misskeyå›ēæœ‰ãŽã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆã¨é–ĸåŋƒãŒåˆ†é›ĸされãĻいる(もしくはäē‹åŽŸä¸Šåˆ†é›ĸされãĻいるとčĻ‹åšã™ã“ã¨ãŒã§ãã‚‹)åŽŸčŖ…ã§ã‚ã‚Œã°ã€ãã‚Œã¯MisskeyãŽã‚ŗãƒŧドベãƒŧ゚ãĢå¯žã™ã‚‹č¤‡é›‘æ€§ãĢåŊąéŸŋを与えãĒã„ã¨č€ƒãˆãžã™ã€‚
䞋えるãĒら、VueやAiScriptã¨ã„ãŖãŸMisskeyがäŊŋį”¨ã—ãĻいるナイブナãƒĒãŽå†…éƒ¨åŽŸčŖ…ãŒã„ãã‚‰č¤‡é›‘ã ãŖãŸã¨ã—ãĻも、「それをäŊŋį”¨ã—ãĻいるからMisskeyãŽåŽŸčŖ…ã¯č¤‡é›‘ã§ã‚ã‚‹ã€ã¨ã„ã†ã“ã¨ãĢはãĒらãĒいぎと同じです。
MisskeyãŽãƒ‰ãƒĄã‚¤ãƒŗįŸĨč­˜ã‹ã‚‰é–ĸåŋƒãŒåˆ†é›ĸされãĻいるということは、MisskeyãŽåŽŸčŖ…ãĢついãĻč€ƒãˆã‚‹æ™‚ãĢãã‚Œã‚‰ãŽå†…éƒ¨åŽŸčŖ…ã‚’č€ƒæ…Žã™ã‚‹åŋ…čĻãŒį„Ąãã€čĒįŸĨč˛ čˇã‚’åĸ—やさãĒいからです。
ぞた重čρãĒį‚šã¯ã€ããŽåŽŸčŖ…ãŒã€MisskeyãƒĒポジトãƒĒぎ外部ãĢあるかãƒģ内部ãĢあるかということや、MisskeyãŒãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šã™ã‚‹ã‚‚ãŽã‹ãƒģįŦŦä¸‰č€…ãŒãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šã™ã‚‹ã‚‚ãŽã‹ã¨ã„ãŖãŸã“ã¨ã¯č¤‡é›‘æ€§ã‚’č€ƒãˆã‚‹ä¸Šã§ã¯ãģã¨ã‚“ãŠį„ĄčĻ–ã§ãã‚‹ã¨ã„ã†į‚šã§ã™ã€‚
ã‚‚ãĄã‚ã‚“ããŽåŽŸčŖ…ãŒMisskeyãƒĒポジトãƒĒãĢあり、MisskeyãŒãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šã—ãĒければãĒらãĒいもぎは、äŋåŽˆãŽã‚ŗã‚šãƒˆã¯ã‹ã‹ã‚Šãžã™ã€‚
しかし、MisskeyぎæœŦčŗĒįš„ãĒ設計ãƒģåŽŸčŖ…ã¨ã„ã†čĻŗį‚šã§čĻ‹ãŸã¨ãã¯ã€ããŽåŽŸčŖ…ã¯åŽŸčŗĒįš„ãĢ外部ナイブナãƒĒぎようãĢæŒ¯ã‚‹čˆžã„ãžã™ã€‚
æ›č¨€ã™ã‚Œã°ã€ŒãŸãžãŸãžMisskeyぎ開į™ēč€…ã¨åŒã˜äēēãŸãĄãŒãƒĄãƒŗãƒ†ãƒŠãƒŗã‚šã—ãĻいるし、たぞたぞMisskeyぎãƒĒポジトãƒĒ内ãĢįŊŽã„ãĻあるだけぎ外部ナイブナãƒĒ」です。
ããŽãŸã‚ã€åŽŸčŖ…ã‚’ãĒるずくMisskeyãŽãƒ‰ãƒĄã‚¤ãƒŗįŸĨč­˜ã‹ã‚‰į‹ŦįĢ‹ã—ãŸã‚‚ãŽãĢすれば、MisskeyãŽã‚ŗãƒŧドベãƒŧã‚šãŽč¤‡é›‘æ€§ã‚’ä¸Šã’ã‚‹ã“ã¨ãĒく抟čƒŊåŽŸčŖ…ã‚’čĄŒã†ã“ã¨ãŒã§ãã€ãŠåž—ã§ã‚ã‚‹ã¨č¨€ãˆãžã™ã€‚
ã‚‚ãĄã‚ã‚“ãã‚ŒãĢã“ã ã‚ãŖãĻ、äē›į´°ãĒåŽŸčŖ…ã§ã‚‚ããŽã‚ˆã†ãĢ分é›ĸしãĻã—ãžã†ã¨ã‹ãˆãŖãĻčĒįŸĨč˛ čˇãŒåĸ—ãˆãŸã‚Šã€åŽŸčŖ…é‡ãŒåĸ—えãĻãƒĄãƒĒãƒƒãƒˆã‚’ãƒ‡ãƒĄãƒĒãƒƒãƒˆãŒä¸Šå›žã‚‹å ´åˆã‚‚ã‚ã‚‹ãŽã§ã€ã‚ąãƒŧã‚šãƒã‚¤ã‚ąãƒŧ゚ではありぞす。

View File

@@ -1,15 +1,8 @@
Unless otherwise stated this repository is
Copyright Š 2014-2025 syuilo and contributors
Copyright Š 2014-2026 syuilo and contributors
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE.
Misskey includes several third-party Open-Source softwares.
Emoji keywords for Unicode 11 and below by Mu-An Chiou
License: MIT
https://github.com/muan/emojilib/blob/master/LICENSE
RsaSignature2017 implementation by Transmute Industries Inc
License: MIT
https://github.com/transmute-industries/RsaSignature2017/blob/master/LICENSE

View File

@@ -1,6 +1,6 @@
# syntax = docker/dockerfile:1.4
# syntax = docker/dockerfile:1.23
ARG NODE_VERSION=22.11.0-bookworm
ARG NODE_VERSION=22.22.2-bookworm
# build assets & compile TypeScript
@@ -18,10 +18,14 @@ WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"]
COPY --link ["patches", "./patches"]
COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/frontend-shared/package.json", "./packages/frontend-shared/"]
COPY --link ["packages/frontend/package.json", "./packages/frontend/"]
COPY --link ["packages/frontend-embed/package.json", "./packages/frontend-embed/"]
COPY --link ["packages/frontend-builder/package.json", "./packages/frontend-builder/"]
COPY --link ["packages/i18n/package.json", "./packages/i18n/"]
COPY --link ["packages/icons-subsetter/package.json", "./packages/icons-subsetter/"]
COPY --link ["packages/sw/package.json", "./packages/sw/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
@@ -52,6 +56,7 @@ WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"]
COPY --link ["patches", "./patches"]
COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
@@ -97,7 +102,7 @@ COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-js/
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-reversi/built ./packages/misskey-reversi/built
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-bubble-game/built ./packages/misskey-bubble-game/built
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/built ./packages/backend/built
COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/i18n/built ./packages/i18n/built
COPY --chown=misskey:misskey . ./
ENV LD_PRELOAD=/usr/local/lib/libjemalloc.so

View File

@@ -24,6 +24,10 @@
<a href="https://www.patreon.com/syuilo">
<img src="https://custom-icon-badges.herokuapp.com/badge/become_a-patron-F96854?logoColor=F96854&style=for-the-badge&logo=patreon&labelColor=363B40" alt="become a patron"/></a>
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/misskey-dev/misskey)
<a href="https://flatt.tech/oss/gmo/trampoline" target="_blank"><img src="https://flatt.tech/assets/images/badges/gmo-oss.svg" height="24px"/></a>
</div>
## Thanks
@@ -47,3 +51,13 @@ Thanks to [Crowdin](https://crowdin.com/) for providing the localization platfor
<a href="https://hub.docker.com/"><img src="https://user-images.githubusercontent.com/20679825/230148221-f8e73a32-a49b-47c3-9029-9a15c3824f92.png" height="30" alt="Docker" /></a>
Thanks to [Docker](https://hub.docker.com/) for providing the container platform that helps us run Misskey in production.
---
<div align="center">
Support us with a ⭐ !
[![Star History Chart](https://api.star-history.com/svg?repos=misskey-dev/misskey&type=Date)](https://star-history.com/#misskey-dev/misskey&Date)
</div>

View File

@@ -6,7 +6,7 @@ Also, the later tasks are more indefinite and are subject to change as developme
This is the phase we are at now. We need to make a high-maintenance environment that can withstand future development.
- ~~Make the number of type errors zero (backend)~~ → Done âœ”ī¸
- Make the number of type errors zero (frontend)
- ~~Make the number of type errors zero (frontend)~~ → Done âœ”ī¸
- Improve CI
- ~~Fix tests~~ → Done âœ”ī¸
- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

BIN
assets/ui-icons.afdesign Normal file

Binary file not shown.

View File

@@ -173,6 +173,11 @@ id: "aidx"
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@@ -185,6 +190,9 @@ id: "aidx"
# Number of worker processes
#clusterLimit: 1
# Number of threads of extra thread pool for CPU-intensive tasks (per worker)
#threadPoolSize: 1
# Job concurrency per worker
# deliverJobConcurrency: 128
# inboxJobConcurrency: 16
@@ -216,9 +224,6 @@ id: "aidx"
# Media Proxy
#mediaProxy: https://example.com/proxy
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
#allowedPrivateNetworks: [
# '127.0.0.1/32'
#]

View File

@@ -27,7 +27,7 @@ spec:
ports:
- containerPort: 3000
- name: postgres
image: postgres:15-alpine
image: postgres:18-alpine
env:
- name: POSTGRES_USER
value: "example-misskey-user"

View File

@@ -15,13 +15,13 @@ services:
db:
restart: always
image: postgres:15-alpine
image: postgres:18-alpine
ports:
- "5432:5432"
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
- ./db:/var/lib/postgresql
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s

View File

@@ -37,13 +37,13 @@ services:
db:
restart: always
image: postgres:15-alpine
image: postgres:18-alpine
networks:
- internal_network
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
- ./db:/var/lib/postgresql
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s

View File

@@ -2,11 +2,6 @@ import { defineConfig } from 'cypress'
export default defineConfig({
e2e: {
// We've imported your old cypress plugins here.
// You may want to clean this up later by importing these.
setupNodeEvents(on, config) {
return require('./cypress/plugins/index.js')(on, config)
},
baseUrl: 'http://localhost:61812',
},
})

View File

@@ -31,6 +31,14 @@ describe('Before setup instance', () => {
// ãĒぜか動かãĒい
//cy.wait('@signup').should('have.property', 'response.statusCode');
cy.wait('@signup');
cy.intercept('POST', '/api/admin/update-meta').as('update-meta');
cy.get('[data-cy-next]').click();
cy.get('[data-cy-server-name] input').type('Testskey');
cy.get('[data-cy-server-setup-wizard-apply]').click();
cy.wait('@update-meta');
});
});
@@ -70,6 +78,8 @@ describe('After setup instance', () => {
cy.get('[data-cy-signup-password] input').type('alice1234');
cy.get('[data-cy-signup-submit]').should('be.disabled');
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
cy.get('[data-cy-signup-submit]').should('be.disabled');
cy.get('[data-cy-signup-invitation-code] input').type('test-invitation-code');
cy.get('[data-cy-signup-submit]').should('not.be.disabled');
cy.get('[data-cy-signup-submit]').click();

View File

@@ -1,22 +0,0 @@
/// <reference types="cypress" />
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)
/**
* @type {Cypress.PluginConfig}
*/
// eslint-disable-next-line no-unused-vars
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
}

View File

@@ -1,7 +1,7 @@
{
"compilerOptions": {
"lib": ["dom", "es5"],
"target": "es5",
"lib": ["dom"],
"target": "esnext",
"types": ["cypress", "node"]
},
"include": ["./**/*.ts"]

Submodule fluent-emojis deleted from cae981eb4c

View File

@@ -4,8 +4,8 @@
*/
/* eslint-disable @typescript-eslint/explicit-function-return-type */
import { action } from '@storybook/addon-actions';
import { StoryObj } from '@storybook/vue3';
import { action } from 'storybook/actions';
import type { StoryObj } from '@storybook/vue3';
import { HttpResponse, http } from 'msw';
import { abuseUserReport } from '../packages/frontend/.storybook/fakes.js';
import { commonHandlers } from '../packages/frontend/.storybook/mocks.js';

View File

@@ -0,0 +1,232 @@
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<canvas ref="canvasEl" style="display: block; width: 100%; height: 100%; pointer-events: none;"></canvas>
</template>
<script lang="ts" setup>
import { onMounted, onUnmounted, useTemplateRef } from 'vue';
import isChromatic from 'chromatic/isChromatic';
import { initShaderProgram } from '@/utility/webgl.js';
const VERTEX_SHADER = `#version 300 es
in vec2 position;
out vec2 in_uv;
void main() {
in_uv = (position + 1.0) / 2.0;
gl_Position = vec4(position, 0.0, 1.0);
}
`;
const FRAGMENT_SHADER = `#version 300 es
precision mediump float;
const float PI = 3.141592653589793;
const float TWO_PI = 6.283185307179586;
const float HALF_PI = 1.5707963267948966;
in vec2 in_uv;
uniform vec2 in_resolution;
uniform float u_scale;
uniform float u_time;
uniform float u_seed;
uniform float u_angle;
uniform float u_radius;
uniform vec3 u_color;
uniform vec2 u_ripplePositions[16];
uniform float u_rippleRadiuses[16];
out vec4 out_color;
float getRipple(vec2 uv) {
float strength = 0.0;
float thickness = 0.05;
for (int i = 0; i < 16; i++) {
if (u_rippleRadiuses[i] <= 0.0) continue;
float d = distance(uv, u_ripplePositions[i]);
// フチ
if (d < u_rippleRadiuses[i] + thickness && d > u_rippleRadiuses[i] - thickness) {
float gradate = abs(d - u_rippleRadiuses[i] + thickness) / thickness;
strength += (1.0 - u_rippleRadiuses[i]) * gradate;
}
// 内側
if (d < u_rippleRadiuses[i] + thickness) {
strength += 0.25 * (1.0 - u_rippleRadiuses[i]);
}
}
return strength;
}
void main() {
float x_ratio = min(in_resolution.x / in_resolution.y, 1.0);
float y_ratio = min(in_resolution.y / in_resolution.x, 1.0);
float angle = -(u_angle * PI);
vec2 centeredUv = (in_uv - vec2(0.5, 0.5)) * vec2(x_ratio, y_ratio);
vec2 rotatedUV = vec2(
centeredUv.x * cos(angle) - centeredUv.y * sin(angle),
centeredUv.x * sin(angle) + centeredUv.y * cos(angle)
);
vec2 uv = rotatedUV;
float time = u_time * 0.00025;
float size = 1.0 / u_scale;
float size_half = size / 2.0;
float modX = mod(uv.x, size);
float modY = mod(uv.y, size);
vec2 pixelated_uv = vec2(
(size * (floor((uv.x - 0.5 - size) / size) + 0.5)),
(size * (floor((uv.y - 0.5 - size) / size) + 0.5))
) + vec2(0.5 + size, 0.5 + size);
float strength = getRipple(pixelated_uv);
float opacity = min(max(strength, 0.0), 1.0);
float threshold = ((u_radius / 2.0) / u_scale);
if (length(vec2(modX - size_half, modY - size_half)) < threshold) {
out_color = vec4(u_color.r, u_color.g, u_color.b, opacity);
//out_color = vec4(1.0);
return;
}
// debug
//float a = min(max(getRipple(uv), 0.0), 1.0);
//out_color = vec4(u_color.r, u_color.g, u_color.b, (opacity + a) / 2.0);
out_color = vec4(0.0, 0.0, 0.0, 0.0);
}
`;
const canvasEl = useTemplateRef('canvasEl');
const props = withDefaults(defineProps<{
scale?: number;
}>(), {
scale: 48,
});
let handle: ReturnType<typeof window['requestAnimationFrame']> | null = null;
onMounted(() => {
const canvas = canvasEl.value!;
let width = canvas.offsetWidth;
let height = canvas.offsetHeight;
canvas.width = width;
canvas.height = height;
const maybeGl = canvas.getContext('webgl2', { preserveDrawingBuffer: false, alpha: true, premultipliedAlpha: false, antialias: true });
if (maybeGl == null) return;
const gl = maybeGl;
const VERTICES = new Float32Array([-1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1]);
const vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, VERTICES, gl.STATIC_DRAW);
//gl.clearColor(0.0, 0.0, 0.0, 0.0);
//gl.clear(gl.COLOR_BUFFER_BIT);
const shaderProgram = initShaderProgram(gl, VERTEX_SHADER, FRAGMENT_SHADER);
gl.useProgram(shaderProgram);
const positionLocation = gl.getAttribLocation(shaderProgram, 'position');
gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);
gl.enableVertexAttribArray(positionLocation);
const in_resolution = gl.getUniformLocation(shaderProgram, 'in_resolution');
gl.uniform2fv(in_resolution, [canvas.width, canvas.height]);
const u_time = gl.getUniformLocation(shaderProgram, 'u_time');
const u_seed = gl.getUniformLocation(shaderProgram, 'u_seed');
const u_scale = gl.getUniformLocation(shaderProgram, 'u_scale');
const u_angle = gl.getUniformLocation(shaderProgram, 'u_angle');
const u_radius = gl.getUniformLocation(shaderProgram, 'u_radius');
const u_color = gl.getUniformLocation(shaderProgram, 'u_color');
gl.uniform1f(u_seed, Math.random() * 1000);
gl.uniform1f(u_scale, props.scale);
gl.uniform1f(u_angle, 0.0);
gl.uniform1f(u_radius, 0.15);
gl.uniform3fv(u_color, [0.5, 1.0, 0]);
if (isChromatic()) {
gl.uniform1f(u_time, 0);
gl.drawArrays(gl.TRIANGLES, 0, 6);
} else {
let ripples = [] as { position: [number, number]; startTime: number; }[];
const LIFE_TIME = 1000 * 4;
function render(timeStamp: number) {
let sizeChanged = false;
if (Math.abs(height - canvas.offsetHeight) > 2) {
height = canvas.offsetHeight;
canvas.height = height;
sizeChanged = true;
}
if (Math.abs(width - canvas.offsetWidth) > 2) {
width = canvas.offsetWidth;
canvas.width = width;
sizeChanged = true;
}
if (sizeChanged && gl) {
gl.uniform2fv(in_resolution, [width, height]);
gl.viewport(0, 0, width, height);
}
gl.uniform1f(u_time, timeStamp);
if (Math.random() < 0.01 && ripples.length < 16) {
ripples.push({ position: [(Math.random() * 2) - 1, (Math.random() * 2) - 1], startTime: timeStamp });
}
for (let i = 0; i < 16; i++) {
const o = gl.getUniformLocation(shaderProgram, `u_ripplePositions[${i.toString()}]`);
const r = gl.getUniformLocation(shaderProgram, `u_rippleRadiuses[${i.toString()}]`);
const ripple = ripples[i];
if (ripple == null) {
gl.uniform2f(o, 0, 0);
gl.uniform1f(r, 0.0);
continue;
}
const delta = timeStamp - ripple.startTime;
gl.uniform2f(o, ripple.position[0], ripple.position[1]);
gl.uniform1f(r, delta / LIFE_TIME);
}
ripples = ripples.filter(r => (timeStamp - r.startTime) < LIFE_TIME);
if (ripples.length === 0) {
ripples.push({ position: [(Math.random() * 2) - 1, (Math.random() * 2) - 1], startTime: timeStamp });
}
gl.drawArrays(gl.TRIANGLES, 0, 6);
handle = window.requestAnimationFrame(render);
}
handle = window.requestAnimationFrame(render);
}
});
onUnmounted(() => {
if (handle) {
window.cancelAnimationFrame(handle);
}
// TODO: WebGLãƒĒã‚Ŋãƒŧã‚šãŽč§Ŗæ”ž
});
</script>
<style lang="scss" module>
</style>

View File

@@ -0,0 +1,190 @@
<!--
SPDX-FileCopyrightText: syuilo and misskey-project
SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<canvas ref="canvasEl" style="display: block; width: 100%; height: 100%; pointer-events: none;"></canvas>
</template>
<script lang="ts" setup>
import { onMounted, onUnmounted, useTemplateRef } from 'vue';
import isChromatic from 'chromatic/isChromatic';
import { GLSL_LIB_SNOISE, initShaderProgram } from '@/utility/webgl.js';
const VERTEX_SHADER = `#version 300 es
in vec2 position;
out vec2 in_uv;
void main() {
in_uv = (position + 1.0) / 2.0;
gl_Position = vec4(position, 0.0, 1.0);
}
`;
const FRAGMENT_SHADER = `#version 300 es
precision mediump float;
const float PI = 3.141592653589793;
const float TWO_PI = 6.283185307179586;
const float HALF_PI = 1.5707963267948966;
${GLSL_LIB_SNOISE}
in vec2 in_uv;
uniform vec2 in_resolution;
uniform float u_scale;
uniform float u_time;
uniform float u_seed;
uniform float u_angle;
uniform float u_radius;
uniform vec3 u_color;
out vec4 out_color;
void main() {
float x_ratio = min(in_resolution.x / in_resolution.y, 1.0);
float y_ratio = min(in_resolution.y / in_resolution.x, 1.0);
float size = 1.0 / u_scale;
float size_half = size / 2.0;
float angle = -(u_angle * PI);
vec2 centeredUv = (in_uv - vec2(0.5, 0.5)) * vec2(x_ratio, y_ratio);
vec2 rotatedUV = vec2(
centeredUv.x * cos(angle) - centeredUv.y * sin(angle),
centeredUv.x * sin(angle) + centeredUv.y * cos(angle)
);
vec2 uv = rotatedUV;
float modX = mod(uv.x, size);
float modY = mod(uv.y, size);
vec2 pixelated_uv = vec2(
(size * (floor((uv.x - 0.5 - size) / size) + 0.5)),
(size * (floor((uv.y - 0.5 - size) / size) + 0.5))
) + vec2(0.5 + size, 0.5 + size);
float time = u_time * 0.00025;
float noiseAScale = 1.0;
float noiseAX = (pixelated_uv.x + u_seed) * (u_scale / noiseAScale);
float noiseAY = (pixelated_uv.y + u_seed) * (u_scale / noiseAScale);
float noiseA = snoise(vec3(noiseAX, noiseAY, time * 2.0));
float noiseBScale = 32.0;
float noiseBX = (pixelated_uv.x + u_seed) * (u_scale / noiseBScale);
float noiseBY = (pixelated_uv.y + u_seed) * (u_scale / noiseBScale);
float noiseB = snoise(vec3(noiseBX, noiseBY, time));
float strength = 0.0;
strength += noiseA * 0.2;
strength += noiseB * 0.8;
float opacity = min(max(strength, 0.0), 1.0);
float threshold = ((u_radius / 2.0) / u_scale);
if (length(vec2(modX - size_half, modY - size_half)) < threshold) {
out_color = vec4(u_color.r, u_color.g, u_color.b, opacity);
return;
}
out_color = vec4(0.0, 0.0, 0.0, 0.0);
}
`;
const canvasEl = useTemplateRef('canvasEl');
const props = withDefaults(defineProps<{
scale?: number;
}>(), {
scale: 48,
});
let handle: ReturnType<typeof window['requestAnimationFrame']> | null = null;
onMounted(() => {
const canvas = canvasEl.value!;
let width = canvas.offsetWidth;
let height = canvas.offsetHeight;
canvas.width = width;
canvas.height = height;
const maybeGl = canvas.getContext('webgl2', { preserveDrawingBuffer: false, alpha: true, premultipliedAlpha: false, antialias: true });
if (maybeGl == null) return;
const gl = maybeGl;
const VERTICES = new Float32Array([-1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1]);
const vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, VERTICES, gl.STATIC_DRAW);
//gl.clearColor(0.0, 0.0, 0.0, 0.0);
//gl.clear(gl.COLOR_BUFFER_BIT);
const shaderProgram = initShaderProgram(gl, VERTEX_SHADER, FRAGMENT_SHADER);
gl.useProgram(shaderProgram);
const positionLocation = gl.getAttribLocation(shaderProgram, 'position');
gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);
gl.enableVertexAttribArray(positionLocation);
const in_resolution = gl.getUniformLocation(shaderProgram, 'in_resolution');
gl.uniform2fv(in_resolution, [canvas.width, canvas.height]);
const u_time = gl.getUniformLocation(shaderProgram, 'u_time');
const u_seed = gl.getUniformLocation(shaderProgram, 'u_seed');
const u_scale = gl.getUniformLocation(shaderProgram, 'u_scale');
const u_angle = gl.getUniformLocation(shaderProgram, 'u_angle');
const u_radius = gl.getUniformLocation(shaderProgram, 'u_radius');
const u_color = gl.getUniformLocation(shaderProgram, 'u_color');
gl.uniform1f(u_seed, Math.random() * 1000);
gl.uniform1f(u_scale, props.scale);
gl.uniform1f(u_angle, 0.0);
gl.uniform1f(u_radius, 0.15);
gl.uniform3fv(u_color, [0.5, 1.0, 0]);
if (isChromatic()) {
gl.uniform1f(u_time, 0);
gl.drawArrays(gl.TRIANGLES, 0, 6);
} else {
function render(timeStamp: number) {
let sizeChanged = false;
if (Math.abs(height - canvas.offsetHeight) > 2) {
height = canvas.offsetHeight;
canvas.height = height;
sizeChanged = true;
}
if (Math.abs(width - canvas.offsetWidth) > 2) {
width = canvas.offsetWidth;
canvas.width = width;
sizeChanged = true;
}
if (sizeChanged && gl) {
gl.uniform2fv(in_resolution, [width, height]);
gl.viewport(0, 0, width, height);
}
gl.uniform1f(u_time, timeStamp);
gl.drawArrays(gl.TRIANGLES, 0, 6);
handle = window.requestAnimationFrame(render);
}
handle = window.requestAnimationFrame(render);
}
});
onUnmounted(() => {
if (handle) {
window.cancelAnimationFrame(handle);
}
// TODO: WebGLãƒĒã‚Ŋãƒŧã‚šãŽč§Ŗæ”ž
});
</script>
<style lang="scss" module>
</style>

View File

@@ -68,7 +68,7 @@ receiveFollowRequest: "ØĒŲ„Ų‚ŲŠØĒ ØˇŲ„Ø¨ Ų…ØĒابؚ؊"
followRequestAccepted: "Ų‚ŲØ¨Ų„ ØˇŲ„Ø¨ Ø§Ų„Ų…ØĒابؚ؊"
mention: "ØŖØ´Øą Ø§Ų„Ų‰"
mentions: "Ø§Ų„ØĨØ´Ø§ØąØ§ØĒ"
directNotes: "Ø§Ų„Ų…Ų„Ø§Ø­Ø¸Ø§ØĒ Ø§Ų„Ų…Ø¨Ø§Ø´ØąØŠ"
directNotes: "ØąØŗØ§Ų„ØŠ ؎اØĩØŠ"
importAndExport: "ØĨØŗØĒŲˆØąØ¯ / ØĩØ¯Øą"
import: "Ø§ØŗØĒŲŠØąØ§Ø¯"
export: "ØĒØĩØ¯ŲŠØą"
@@ -215,7 +215,6 @@ noUsers: "Ų„ŲŠØŗ Ų‡Ų†Ø§Ųƒ Ų…ØŗØĒØŽØ¯Ų…ŲˆŲ†"
editProfile: "ØĒØšØ¯ŲŠŲ„ Ø§Ų„Ų…Ų„Ų Ø§Ų„ØĒØšØąŲŠŲŲŠ"
noteDeleteConfirm: "Ų‡Ų„ ØĒØąŲŠØ¯ Ø­Ø°Ų Ų‡Ø°Ų‡ Ø§Ų„Ų…Ų„Ø§Ø­Ø¸ØŠØŸ"
pinLimitExceeded: "Ų„Ø§ ŲŠŲ…ŲƒŲ†Ųƒ ØĒØĢØ¨ŲŠØĒ Ø§Ų„Ų…Ų„Ø§Ø­Ø¸Ø§ØĒ بؚد Ø§Ų„ØĸŲ†."
intro: "Ų„Ų‚Ø¯ Ø§Ų†ØĒŲ‡ØĒ ØšŲ…Ų„ŲŠØŠ ØĒŲ†ØĩŲŠØ¨ Misskey. Ø§Ų„ØąØŦØ§ØĄ ØĨŲ†Ø´Ø§ØĄ Ø­ØŗØ§Ø¨ ØĨØ¯Ø§ØąŲŠ."
done: "ØĒŲ…Ų‘"
processing: "Ø§Ų„Ų…ØšØ§Ų„ØŦØŠ ØŦØ§ØąŲŠØŠ"
preview: "Ų…ØšØ§ŲŠŲ†ØŠ"
@@ -251,7 +250,6 @@ removeAreYouSure: "Ų…ØĒØŖŲƒØ¯ Ų…Ų† ØŖŲ†Ųƒ ØĒØąŲŠØ¯ Ø­Ø°Ų {x}؟"
deleteAreYouSure: "Ų…ØĒØŖŲƒØ¯ Ų…Ų† ØŖŲ†Ųƒ ØĒØąŲŠØ¯ Ø­Ø°Ų {x}؟"
resetAreYouSure: "Ų‡Ų„ ØĒØąŲŠØ¯ ØĨؚاد؊ Ø§Ų„ØĒØšŲŠŲŠŲ†ØŸ"
saved: "Ø­ŲŲØ¸"
messaging: "Ø§Ų„Ų…Ø­Ø§Ø¯ØĢØŠ"
upload: "Ø§ØąŲØš"
keepOriginalUploading: "Ø§Ø¨Ų‚ Ø§Ų„ØĩŲˆØąØŠ Ø§Ų„ØŖØĩŲ„ŲŠØŠ"
keepOriginalUploadingDescription: "ŲŠØ­ŲØ¸ Ø§Ų„ØĩŲˆØą Ø§Ų„Ų…ØąŲŲˆØšØŠ ØšŲ„Ų‰ Ø­Ø§Ų„ØĒŲ‡Ø§ Ø§Ų„ØŖØĩŲ„ŲŠØŠØŒ ŲˆØ§Ų† ØšØˇŲ‘Ų„ ØŗØĒŲˆŲ„Ø¯ Ų†ØŗØŽØŠ Ų…ØŽØĩØĩØŠ Ų…Ų† Ø§Ų„ØĩŲˆØąØŠ."
@@ -264,7 +262,6 @@ uploadFromUrlMayTakeTime: "ØŗŲŠØŗØĒØēØąŲ‚ بؚØļ Ø§Ų„ŲˆŲ‚ØĒ Ų„Ø§ØĒŲ…Ø§Ų… Ø§Ų„Øą
explore: "Ø§ØŗØĒŲƒØ´Ø§Ų"
messageRead: "Ų…Ų‚ØąŲˆØĄØŠ"
noMoreHistory: "Ų„Ø§ ؊؈ØŦد Ø§Ų„Ų…Ø˛ŲŠØ¯ Ų…Ų† Ø§Ų„ØĒØ§ØąŲŠØŽ"
startMessaging: "Ø§Ø¨Ø¯ØŖ Ų…Ø­Ø§Ø¯ØĢØŠ"
nUsersRead: "Ų‚ØąØŖŲ‡ {n}"
agreeTo: "Ø§ŲˆØ§ŲŲ‚ ØšŲ„Ų‰ {0}"
agree: "ØŖŲ‚Ø¨Ų„"
@@ -436,8 +433,6 @@ retype: "ØŖØšØ¯ Ø§Ų„ŲƒØĒاب؊"
noteOf: "Ų…Ų„Ø§Ø­Ø¸Ø§ØĒ {user}"
quoteAttached: "Ø§ŲŲ‚ØĒŲØ¨ØŗŲŽ"
quoteQuestion: "ØŖØĒØąŲŠØ¯ ØĒØļŲ…ŲŠŲ†Ų‡Ø§ ŲƒØ§Ų‚ØĒØ¨Ø§Øŗ"
noMessagesYet: "Ų„ŲŠØŗ Ų‡Ų†Ø§Ųƒ ØąØŗØ§ØĻŲ„ بؚد"
newMessageExists: "Ų„Ų‚Ø¯ ØĒŲ„Ų‚ŲŠØĒ ØąØŗØ§Ų„ØŠ ØŦØ¯ŲŠØ¯ØŠ"
onlyOneFileCanBeAttached: "ŲŠŲ…ŲƒŲ†Ųƒ ØĨØąŲØ§Ų‚ ؅؄؁ ŲˆØ§Ø­Ø¯ Ø¨Ø§Ų„ØąØŗØ§Ų„ØŠ"
signinRequired: "ØąØŦØ§ØĄŲ‹ ؄ؐØŦ"
invitations: "Ø¯ØšŲˆØŠ"
@@ -680,7 +675,6 @@ experimental: "ا؎ØĒØ¨Ø§ØąŲŠ"
developer: "Ø§Ų„Ų…ØˇŲˆØą"
makeExplorable: "ØŖØ¸Ų‡Øą Ø§Ų„Ø­ØŗØ§Ø¨ ؁؊ ØĩŲØ­ØŠ \"Ø§ØŗØĒŲƒØ´Ø§Ų\""
makeExplorableDescription: "بØĒØšØˇŲŠŲ„ Ų‡Ø°Ø§ Ø§Ų„ØŽŲŠØ§Øą Ų„Ų† ŲŠØ¸Ų‡Øą Ø­ØŗØ§Ø¨Ųƒ ؁؊ ØĩŲØ­ØŠ \"Ø§ØŗØĒŲƒØ´Ø§Ų\""
showGapBetweenNotesInTimeline: "ØŖØ¸Ų‡Øą ؁ØŦŲˆØ§ØĒ Ø¨ŲŠŲ† Ø§Ų„Ų…Ø´Ø§ØąŲƒØ§ØĒ ؁؊ Ø§Ų„ØŽŲŠØˇ Ø§Ų„Ø˛Ų…Ų†ŲŠ"
left: "ŲŠØŗØ§Øą"
center: "ŲˆØŗØˇ"
wide: "ØšØąŲŠØļ"
@@ -1012,6 +1006,25 @@ sourceCode: "Ø§Ų„Ø´ŲØąØŠ Ø§Ų„Ų…ØĩØ¯ØąŲŠØŠ"
flip: "Ø§Ų‚Ų„Ø¨"
lastNDays: "ØĸØŽØą {n} ØŖŲŠØ§Ų…"
surrender: "ØŖŲ„Øēؐ"
postForm: "ØŖŲ†Ø´ØĻ Ų…Ų„Ø§Ø­Ø¸ØŠ"
information: "ØšŲ†"
inMinutes: "د"
inDays: "؊"
widgets: "Ø§Ų„ØĒØˇØ¨ŲŠŲ‚Ø§ØĒ Ø§Ų„Ų…ŲØĩØēŲ‘ØąØŠ"
presets: "ØĨؚداداØĒ Ų…ØŗØ¨Ų‚ØŠ"
_imageEditing:
_vars:
filename: "Ø§ØŗŲ… Ø§Ų„Ų…Ų„Ų"
_imageFrameEditor:
font: "Ø§Ų„ØŽØˇ"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
_chat:
invitations: "Ø¯ØšŲˆØŠ"
noHistory: "Ø§Ų„ØŗØŦŲ„ ŲØ§ØąØē"
members: "Ø§Ų„ØŖØšØļØ§ØĄ"
home: "Ø§Ų„ØąØĻŲŠØŗŲŠ"
send: "ØŖØąØŗŲ„"
_delivery:
stop: "Ų…ŲØšŲ„Ų‘Ų‚"
_initialAccountSetting:
@@ -1236,7 +1249,6 @@ _theme:
shadow: "Ø§Ų„Ø¸Ų„"
navBg: "ØŽŲ„ŲŲŠØŠ Ø§Ų„Ø´ØąŲŠØˇ Ø§Ų„ØŦØ§Ų†Ø¨ŲŠ"
navFg: "Ų†Øĩ Ø§Ų„Ø´ØąŲŠØˇ Ø§Ų„ØŦØ§Ų†Ø¨ŲŠ"
navHoverFg: "Ų†Øĩ Ø§Ų„Ø´ØąŲŠØˇ Ø§Ų„ØŦØ§Ų†Ø¨ŲŠ (ØšŲ†Ø¯ Ø§Ų„ØĒŲ…ØąŲŠØą ŲŲˆŲ‚Ų‡)"
link: "ØąØ§Ø¨Øˇ"
hashtag: "ŲˆØŗŲ…"
mention: "ØŖØ´Øą Ø§Ų„Ų‰"
@@ -1251,7 +1263,6 @@ _theme:
buttonBg: "ØŽŲ„ŲŲŠØŠ Ø§Ų„ØŖØ˛ØąØ§Øą"
buttonHoverBg: "ØŽŲ„ŲŲŠØŠ Ø§Ų„ØŖØ˛ØąØ§Øą (ØšŲ†Ø¯ Ø§Ų„ØĒŲ…ØąŲŠØą ŲŲˆŲ‚Ų‡Ø§)"
inputBorder: "Ø­ŲˆØ§Ų Ø­Ų‚Ų„ Ø§Ų„ØĨØ¯ØŽØ§Ų„"
driveFolderBg: "ØŽŲ„ŲŲŠØŠ Ų…ØŦŲ„Ø¯ Ų‚ØąØĩ Ø§Ų„ØĒØŽØ˛ŲŠŲ†"
messageBg: "ØŽŲ„ŲŲŠØŠ Ø§Ų„Ų…Ø­Ø§Ø¯ØĢØŠ"
_sfx:
note: "Ø§Ų„Ų…Ų„Ø§Ø­Ø¸Ø§ØĒ"
@@ -1311,6 +1322,7 @@ _permissions:
"read:gallery": "Ø§ØšØąØļ Ø§Ų„Ų…ØšØąØļ"
"write:gallery": "ØšØ¯Ų‘Ų„ Ø§Ų„Ų…ØšØąØļ"
"read:gallery-likes": "ŲŠØšØąØļ Ų…Ø§ ØŖØšØŦØ¨Ųƒ Ų…Ų† Ų…Ø´Ø§ØąŲƒØ§ØĒ Ø§Ų„Ų…ØšØąØļ"
"write:chat": "Ø§ŲƒØĒب ØŖŲˆ Ø§Ø­Ø°Ų ØąØŗØ§ØĻŲ„ Ų…Ø­Ø§Ø¯ØĢØŠ"
_auth:
shareAccess: "ØŖØĒØąŲŠØ¯ Ø§Ų„ØĒ؁؈؊Øļ Ų„Ų€ \"{name}\" Ø¨Ø§Ų„ŲˆØĩŲˆŲ„ Ų„Ø­ØŗØ§Ø¨ŲƒØŸ"
shareAccessAsk: "Ų‡Ų„ ØĒØŽŲˆŲ„ Ų„Ų‡Ø°Ø§ Ø§Ų„ØĒØˇØ¨ŲŠŲ‚ Ø§Ų„ŲˆØĩŲˆŲ„ Ų„Ø­ØŗØ§Ø¨ŲƒØŸ"
@@ -1353,6 +1365,14 @@ _widgets:
userList: "Ų‚Ø§ØĻŲ…ØŠ Ø§Ų„Ų…ØŗØĒØŽØ¯Ų…ŲŠŲ†"
_userList:
chooseList: "ا؎ØĒØą Ų‚Ø§ØĻŲ…ØŠ"
_widgetOptions:
height: "Ø§Ų„ØĨØąØĒŲØ§Øš"
_button:
colored: "Ų…Ų„ŲˆŲ‘Ų†"
_clock:
size: "Ø§Ų„Ø­ØŦŲ…"
_birthdayFollowings:
period: "Ø§Ų„Ų…Ø¯ØŠ"
_cw:
hide: "ØĨØŽŲØ§ØĄ"
show: "ØšØąØļ Ø§Ų„Ų…Ø˛ŲŠØ¯"
@@ -1393,6 +1413,9 @@ _postForm:
replyPlaceholder: "ØąØ¯ ØšŲ„Ų‰ Ų‡Ø°Ų‡ Ø§Ų„Ų…Ų„Ø§Ø­Ø¸ØŠâ€Ļ"
quotePlaceholder: "Ø§Ų‚ØĒØ¨Øŗ Ų‡Ø°Ų‡ Ø§Ų„Ų…Ų„Ø§Ø­Ø¸ØŠâ€Ļ"
channelPlaceholder: "Ø§Ų†Ø´Øą ؁؊ Ų‚Ų†Ø§ØŠ..."
_howToUse:
visibility_title: "Ø§Ų„Ø¸Ų‡ŲˆØą"
menu_title: "Ø§Ų„Ų‚Ø§ØĻŲ…ØŠ"
_placeholders:
a: "Ų…Ø§ Ø§Ų„Ø°ŲŠ ØĒŲ†ŲˆŲŠ ŲØšŲ„Ų‡ØŸ"
b: "Ų…Ø§Ø°Ø§ ŲŠØ­Ø¯ØĢ Ø­ŲˆŲ„Ųƒ ؟"
@@ -1588,3 +1611,21 @@ _search:
searchScopeAll: "Ø§Ų„ŲƒŲ„"
searchScopeLocal: "Ø§Ų„Ų…Ø­Ų„ŲŠ"
searchScopeUser: "Ų…ØŗØĒØŽØ¯Ų… Ų…Ø­Ø¯Ø¯"
_watermarkEditor:
opacity: "Ø§Ų„Ø´ŲØ§ŲŲŠØŠ"
scale: "Ø§Ų„Ø­ØŦŲ…"
text: "Ų†Øĩ"
position: "Ø§Ų„Ų…ŲˆØļØš"
type: "Ų†ŲˆØš"
image: "ØĩŲˆØą"
advanced: "Ų…ØĒŲ‚Ø¯Ų…"
_imageEffector:
_fxProps:
scale: "Ø§Ų„Ø­ØŦŲ…"
size: "Ø§Ų„Ø­ØŦŲ…"
offset: "Ø§Ų„Ų…ŲˆØļØš"
color: "Ø§Ų„Ų„ŲˆŲ†"
opacity: "Ø§Ų„Ø´ŲØ§ŲŲŠØŠ"
_qr:
showTabTitle: "Ø§Ų„Ų…Ø¸Ų‡Øą"
raw: "Ų†Øĩ"

View File

@@ -215,7 +215,6 @@ noUsers: "āϕ⧋āύ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āύ⧇āχ"
editProfile: "āĻĒā§āϰ⧋āĻĢāĻžāχāϞ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰ⧁āύ"
noteDeleteConfirm: "āφāĻĒāύāĻŋ āĻ•āĻŋ āύ⧋āϟ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰāĻžāϰ āĻŦā§āϝāĻžāĻĒāĻžāϰ⧇ āύāĻŋāĻļā§āϚāĻŋāϤ?"
pinLimitExceeded: "āφāĻĒāύāĻŋ āφāϰ āϕ⧋āύ āύ⧋āϟ āĻĒāĻŋāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ āύāĻž"
intro: "Misskey āĻāϰ āχāĻ¨ā§āϏāϟāϞ⧇āĻļāύ āϏāĻŽā§āĻĒāĻ¨ā§āύ āĻšā§Ÿā§‡āϛ⧇īŧāĻĻ⧟āĻž āĻ•āϰ⧇ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āχāωāϜāĻžāϰ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύāĨ¤"
done: "āϏāĻŽā§āĻĒāĻ¨ā§āύ"
processing: "āĻĒā§āϰāĻ•ā§āϰāĻŋ⧟āĻžāϧ⧀āύ..."
preview: "āĻĒā§‚āĻ°ā§āĻŦāϰ⧂āĻĒ āĻĻ⧇āϖ⧁āύ"
@@ -252,7 +251,6 @@ removeAreYouSure: "āφāĻĒāύāĻŋ āĻ•āĻŋ \"{x}\" āϏāϰāĻžāύ⧋āϰ āĻŦā§āϝāĻž
deleteAreYouSure: "āφāĻĒāύāĻŋ āĻ•āĻŋ \"{x}\" āϏāϰāĻžāύ⧋āϰ āĻŦā§āϝāĻžāĻĒāĻžāϰ⧇ āύāĻŋāĻļā§āϚāĻŋāϤ?"
resetAreYouSure: "āϰāĻŋāϏ⧇āϟ āĻ•āϰāĻžāϰ āĻŦā§āϝāĻžāĻĒāĻžāϰ⧇ āύāĻŋāĻļā§āϚāĻŋāϤ?"
saved: "āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āĻšā§Ÿā§‡āϛ⧇"
messaging: "āĻšā§āϝāĻžāϟ"
upload: "āφāĻĒāϞ⧋āĻĄ"
keepOriginalUploading: "āφāϏāϞ āĻ›āĻŦāĻŋ āϰāĻžāϖ⧁āύ"
keepOriginalUploadingDescription: "āĻ›āĻŦāĻŋāϟāĻŋ āφāĻĒāϞ⧋āĻĄ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āφāϏāϞ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖāϟāĻŋ āϰāĻžāϖ⧁āύāĨ¤ āĻ…āĻĒāĻļāύāϟāĻŋ āĻŦāĻ¨ā§āϧ āĻĨāĻžāĻ•āϞ⧇, āφāĻĒāϞ⧋āĻĄā§‡āϰ āϏāĻŽāϝāĻŧ āĻ“āϝāĻŧ⧇āĻŦ āĻĒā§āϰāĻ•āĻžāĻļāύāĻžāϰ āϜāĻ¨ā§āϝ āĻ›āĻŦāĻŋ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤"
@@ -265,7 +263,6 @@ uploadFromUrlMayTakeTime: "URL āĻšāϤ⧇ āφāĻĒāϞ⧋āĻĄ āĻšāϤ⧇ āĻ•āĻŋāϛ⧁
explore: "āϘ⧁āϰ⧇ āĻĻ⧇āϖ⧁āύ"
messageRead: "āĻĒāĻĄāĻŧāĻž"
noMoreHistory: "āφāϰ āϕ⧋āύ āχāϤāĻŋāĻšāĻžāϏ āύ⧇āχ"
startMessaging: "āĻšā§āϝāĻžāϟ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ"
nUsersRead: "{n} āϜāύ āĻĒā§œā§‡āϛ⧇āύ"
agreeTo: "{0} āĻāϰ āĻĒā§āϰāϤāĻŋ āφāĻŽāĻŋ āϏāĻŽā§āĻŽāϤ"
start: "āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ"
@@ -427,8 +424,6 @@ retype: "āĻĒ⧁āύāσ āĻĒā§āϰāĻŦ⧇āĻļ"
noteOf: "{user} āĻāϰ āύ⧋āϟ"
quoteAttached: "āωāĻĻā§āϧ⧃āϤ"
quoteQuestion: "āωāĻĻā§āϧ⧃āϤāĻŋ āĻšāĻŋāϏāĻžāĻŦ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻŦ⧇āύ?"
noMessagesYet: "āϕ⧋āύ āĻŽā§‡āϏ⧇āϜ āύ⧇āχ"
newMessageExists: "āύāϤ⧁āύ āĻŽā§‡āϏ⧇āϜ āĻĒā§‡ā§Ÿā§‡āϛ⧇āύ"
onlyOneFileCanBeAttached: "āφāĻĒāύāĻŋ āĻŽā§‡āϏ⧇āĻœā§‡āϰ āϏāĻžāĻĨ⧇ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āϝ⧁āĻ•ā§āϤ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ"
signinRequired: "āĻĻāϝāĻŧāĻž āĻ•āϰ⧇ āϞāĻ— āχāύ āĻ•āϰ⧁āύ"
invitations: "āφāĻŽāĻ¨ā§āĻ¤ā§āϰāĻŖ"
@@ -677,7 +672,6 @@ experimentalFeatures: "āĻĒāϰ⧀āĻ•ā§āώāĻžāĻŽā§‚āϞāĻ• āĻŦ⧈āĻļāĻŋāĻˇā§āϟ
developer: "āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰ"
makeExplorable: "āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ \"āϘ⧁āϰ⧇ āĻĻ⧇āϖ⧁āύ\" āĻĒ⧃āĻˇā§āĻ āĻžā§Ÿ āĻĻ⧇āĻ–āĻžāύ"
makeExplorableDescription: "āφāĻĒāύāĻŋ āĻāϟāĻŋ āĻŦāĻ¨ā§āϧ āĻ•āϰāϞ⧇, āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ \"āϘ⧁āϰ⧇ āĻĻ⧇āϖ⧁āύ\" āĻĒ⧃āĻˇā§āĻ āĻžā§Ÿ āĻĒā§āϰāĻĻāĻ°ā§āĻļāĻŋāϤ āĻšāĻŦ⧇ āύāĻžāĨ¤"
showGapBetweenNotesInTimeline: "āϟāĻžāχāĻŽāϞāĻžāχāύ āĻāĻŦāĻ‚ āύ⧋āĻŸā§‡āϰ āĻŽāĻžāĻā§‡ āĻĢāĻžāĻ•āĻž āϜāĻžā§ŸāĻ—āĻž āϰāĻžāϖ⧁āύ"
duplicate: "āĻĒā§āϰāϤāĻŋāϰ⧂āĻĒ"
left: "āĻŦāĻžāĻŽ"
center: "āĻŽāĻžāĻāĻ–āĻžāύ"
@@ -852,6 +846,25 @@ replies: "āϜāĻŦāĻžāĻŦ"
renotes: "āϰāĻŋāύ⧋āϟ"
sourceCode: "āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄ"
flip: "āωāĻ˛ā§āϟāĻžāύ"
postForm: "āύ⧋āϟ āϞāĻŋāϖ⧁āύ"
information: "āφāĻĒāύāĻžāϰ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇"
inMinutes: "āĻŽāĻŋāύāĻŋāϟ"
inDays: "āĻĻāĻŋāύ"
widgets: "āωāχāĻœā§‡āϟāϗ⧁āϞāĻŋ"
_imageEditing:
_vars:
filename: "āĻĢāĻžāχāϞ⧇āϰ āύāĻžāĻŽ"
_imageFrameEditor:
header: "āĻšā§‡āĻĄāĻžāϰ"
font: "āĻĢāĻ¨ā§āϟ"
fontSerif: "āϏ⧇āϰāĻŋāĻĢ"
fontSansSerif: "āĻ¸ā§āϝāĻžāĻ¨ā§āϏ āϏ⧇āϰāĻŋāĻĢ"
_chat:
invitations: "āφāĻŽāĻ¨ā§āĻ¤ā§āϰāĻŖ"
noHistory: "āϕ⧋āύ⧋ āχāϤāĻŋāĻšāĻžāϏ āύ⧇āχ"
members: "āϏāĻĻāĻ¸ā§āϝāĻŦ⧃āĻ¨ā§āĻĻ"
home: "āĻŽā§‚āϞ āĻĒāĻžāϤāĻž"
send: "āĻĒāĻžāĻ āĻžāύ"
_delivery:
stop: "āĻ¸ā§āĻĨāĻ—āĻŋāϤ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇"
_type:
@@ -994,7 +1007,6 @@ _theme:
header: "āĻšā§‡āĻĄāĻžāϰ"
navBg: "āϏāĻžāχāĻĄāĻŦāĻžāϰ⧇āϰ āĻĒāϟāĻ­ā§‚āĻŽāĻŋ"
navFg: "āϏāĻžāχāĻĄāĻŦāĻžāϰ⧇āϰ āĻĒāĻžāĻ ā§āϝ"
navHoverFg: "āϏāĻžāχāĻĄāĻŦāĻžāϰ⧇āϰ āĻĒāĻžāĻ ā§āϝ (āĻšāĻ­āĻžāϰ)"
navActive: "āϏāĻžāχāĻĄāĻŦāĻžāϰ⧇āϰ āĻĒāĻžāĻ ā§āϝ (āĻ…ā§āϝāĻžāĻ•āϟāĻŋāĻ­)"
navIndicator: "āϏāĻžāχāĻĄāĻŦāĻžāϰ⧇āϰ āχāύāĻĄāĻŋāϕ⧇āϟāϰ"
link: "āϞāĻŋāĻ‚āĻ•"
@@ -1016,12 +1028,8 @@ _theme:
buttonBg: "āĻŦāĻžāϟāύ⧇āϰ āĻĒāϟāĻ­ā§‚āĻŽāĻŋ"
buttonHoverBg: "āĻŦāĻžāϟāύ⧇āϰ āĻĒāϟāĻ­ā§‚āĻŽāĻŋ (āĻšāĻ­āĻžāϰ)"
inputBorder: "āχāύāĻĒ⧁āϟ āĻĢāĻŋāĻ˛ā§āĻĄā§‡āϰ āĻŦāĻ°ā§āĻĄāĻžāϰ"
driveFolderBg: "āĻĄā§āϰāĻžāχāĻ­ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇āϰ āĻĒāϟāĻ­ā§‚āĻŽāĻŋ"
wallpaperOverlay: "āĻ“āϝāĻŧāĻžāϞāĻĒ⧇āĻĒāĻžāϰ āĻ“āĻ­āĻžāϰāϞ⧇"
badge: "āĻŦā§āϝāĻžāϜ"
messageBg: "āĻšā§āϝāĻžāĻŸā§‡āϰ āĻĒāϟāĻ­ā§‚āĻŽāĻŋ"
accentDarken: "āĻ…ā§āϝāĻžāĻ•āϏ⧇āĻ¨ā§āϟ (āĻ—āĻžā§)"
accentLighten: "āĻ…ā§āϝāĻžāĻ•āϏ⧇āĻ¨ā§āϟ (āĻšāĻžāĻ˛ā§āĻ•āĻž)"
fgHighlighted: "āĻšāĻžāχāϞāĻžāχāϟ āĻ•āϰāĻž āĻĒāĻžāĻ ā§āϝ"
_sfx:
note: "āύ⧋āϟāϗ⧁āϞāĻŋ"
@@ -1084,6 +1092,7 @@ _permissions:
"write:gallery": "āĻ—ā§āϝāĻžāϞāĻžāϰ⧀ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰ⧁āύ"
"read:gallery-likes": "āĻ—ā§āϝāĻžāϞāĻžāϰ⧀āϰ āĻĒāĻ›āĻ¨ā§āĻĻāϗ⧁āϞāĻŋ āĻĻ⧇āϖ⧁āύ"
"write:gallery-likes": "āĻ—ā§āϝāĻžāϞāĻžāϰ⧀āϰ āĻĒāĻ›āĻ¨ā§āĻĻāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰ⧁āύ"
"write:chat": "āĻšā§āϝāĻžāϟāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰ⧁āύ"
_auth:
shareAccess: "\"{name}\" āϕ⧇ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡āϰ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĻāĻŋāĻŦ⧇āύ?"
shareAccessAsk: "āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋāϕ⧇ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡āϰ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĻāĻŋāĻŦ⧇āύ?"
@@ -1128,6 +1137,14 @@ _widgets:
aichan: "āφāχ āϚāĻžāύ"
_userList:
chooseList: "āϞāĻŋāĻ¸ā§āϟ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύ"
_widgetOptions:
height: "āωāĻšā§āϚāϤāĻž"
_button:
colored: "āϰāĻ™ā§āĻ—āĻŋāύ"
_clock:
size: "āφāĻ•āĻžāϰ"
_birthdayFollowings:
period: "āĻŦā§āϝāĻžāĻĒā§āϤāĻŋāĻ•āĻžāϞ"
_cw:
hide: "āϞ⧁āĻ•āĻžāύ"
show: "āφāϰāĻ“ āĻĻ⧇āϖ⧁āύ"
@@ -1168,6 +1185,9 @@ _postForm:
replyPlaceholder: "āύ⧋āϟāϟāĻŋāϰ āϜāĻŦāĻžāĻŦ āĻĻāĻŋāύ..."
quotePlaceholder: "āύ⧋āϟāϟāĻŋāϕ⧇ āωāĻĻā§āϧ⧃āϤ āĻ•āϰ⧁āύ..."
channelPlaceholder: "āĻšā§āϝāĻžāύ⧇āϞ⧇ āĻĒā§‹āĻ¸ā§āϟ āĻ•āϰ⧁āύ..."
_howToUse:
visibility_title: "āĻĻ⧃āĻļā§āϝāĻŽāĻžāύāϤāĻž"
menu_title: "āĻŽā§‡āύ⧁"
_placeholders:
a: "āφāĻĒāύāĻŋ āĻāĻ–āύ āĻ•āĻŋ āĻ•āϰāϛ⧇āύ?"
b: "āφāĻĒāύāĻžāϰ āφāĻļ⧇ āĻĒāĻžāĻļ⧇ āĻ•āĻŋ āĻšāĻšā§āϛ⧇?"
@@ -1351,3 +1371,19 @@ _remoteLookupErrors:
_search:
searchScopeAll: "āϏāĻŦāϗ⧁āϞ⧋"
searchScopeLocal: "āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ"
_watermarkEditor:
opacity: "āĻ…āĻ¸ā§āĻŦāĻšā§āĻ›āϤāĻž"
scale: "āφāĻ•āĻžāϰ"
text: "āϞ⧇āĻ–āĻž"
image: "āĻ›āĻŦāĻŋ"
advanced: "āωāĻ¨ā§āύāϤ"
_imageEffector:
_fxProps:
scale: "āφāĻ•āĻžāϰ"
size: "āφāĻ•āĻžāϰ"
color: "āϰāĻ‚"
opacity: "āĻ…āĻ¸ā§āĻŦāĻšā§āĻ›āϤāĻž"
lightness: "āωāĻœā§āĻœā§āĻŦāϞ āĻ•āϰ⧁āύ"
_qr:
showTabTitle: "āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ"
raw: "āϞ⧇āĻ–āĻž"

Some files were not shown because too many files have changed in this diff Show More