Skip to content

feat: 公開ロールの表示設定を追加#17643

Open
mattyatea wants to merge 36 commits into
developfrom
feature/role-hidden-setting
Open

feat: 公開ロールの表示設定を追加#17643
mattyatea wants to merge 36 commits into
developfrom
feature/role-hidden-setting

Conversation

@mattyatea

@mattyatea mattyatea commented Jun 29, 2026

Copy link
Copy Markdown
Member

What

Fixes #17366

この PR では、公開ロールとロールバッジの表示をユーザーが個別に制御できるようにします。

  • ユーザー設定に「ロール設定」ページを追加し、自分に割り当てられた公開ロール/ロールバッジごとに表示・非表示を切り替えられるようにしました
  • ユーザーのプロフィール上の公開ロール表示と、ノートヘッダー上のロールバッジ表示に非表示設定を反映するようにしました
  • 管理者向けロール編集画面に「非表示を許可しない(常に表示)」設定を追加しました
  • 常時表示に設定された公開ロール/ロールバッジは、ユーザー設定画面でも無効化できないようにしました
  • モデレーターからの閲覧では、非表示設定に関係なく対象ユーザーの公開ロール/ロールバッジを確認できるようにしました

DB/API 変更:

  • user.hiddenRoleIds を追加し、ユーザーごとの非表示ロール ID を保存します
  • role.isPublicDisplayRequired を追加し、管理者がユーザー側での非表示を禁止できるようにします
  • i/updatehiddenRoleIds を追加し、保存時に「割り当て済み」「公開」「常時表示ではない」ロールだけへ sanitize します
  • Role/User の packed schema と misskey-js autogen を更新しました

Why

Issue #17366 の要望どおり、ロールバッジが多く付与されていて見た目を整理したい場合などに、ユーザー自身がプロフィールやノート上に表示する公開ロール/ロールバッジを選べるようにするためです。

一方で、運営上必ず表示したいロールもあり得るため、管理者が特定の公開ロール/ロールバッジを常時表示にできる設定も同時に追加しています。

Additional info (optional)

追加・更新した確認観点:

  • i/updatehiddenRoleIds が保存時に sanitize される e2e テスト
  • UserEntityService で通常閲覧者、本人、モデレーターごとの表示差分を確認する unit test
  • 自分のプロフィール上で hidden role が非表示になり、常時表示 role は残る Storybook play test
  • CHANGELOG.mdlocales/ja-JP.yml を更新
  • migration の up/down を追加

手元確認:

  • git diff --check origin/develop...HEAD は通過しました

未実行:

  • pnpm --filter backend test -- UserEntityService
  • pnpm --filter frontend test -- home.stories.impl
  • pnpm --filter backend check-migrations

この環境の Node.js が v24.14.0 で、リポジトリの要求 ^22.22.2 || ^24.17.0 || ^26.4.0 を満たさないため、上記 pnpm コマンドは起動前に失敗しました。

Checklist

  • Read contribution guide
  • Test working in local environment
  • (If needed) Add story storybook
  • (If needed) Update CHANGELOG.md
  • (If possible) Add tests

UIは #17643 (comment)

@codecov

codecov Bot commented Jun 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 54.71698% with 24 lines in your changes missing coverage. Please review.
✅ Project coverage is 25.44%. Comparing base (9f61451) to head (4d987e8).
⚠️ Report is 1 commits behind head on develop.

Files with missing lines Patch % Lines
...kages/backend/src/server/api/endpoints/i/update.ts 0.00% 7 Missing and 3 partials ⚠️
packages/frontend/src/components/MkNoteHeader.vue 0.00% 6 Missing and 2 partials ⚠️
packages/frontend/src/pages/user/home.vue 57.14% 1 Missing and 2 partials ⚠️
packages/backend/src/core/RoleService.ts 0.00% 1 Missing ⚠️
...ges/backend/src/core/entities/RoleEntityService.ts 80.00% 1 Missing ⚠️
packages/frontend/src/router.definition.ts 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #17643      +/-   ##
===========================================
+ Coverage    25.22%   25.44%   +0.21%     
===========================================
  Files         1164     1164              
  Lines        39957    40002      +45     
  Branches     11130    11144      +14     
===========================================
+ Hits         10079    10178      +99     
+ Misses       23926    23875      -51     
+ Partials      5952     5949       -3     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

📦 Frontend Bundle Report

Chunk size diff (62 updated, 1 added, 0 removed)
Chunk Before After Δ Δ (%)
(total) 5.9 MB 5.8 MB $\color{green}{\text{-79 KB}}$ $\color{green}{\text{-1.3\%}}$
esm ja-JP/oaynS8Knu-DZg7f2Ah.js
104 KB 8.5 KB $\color{green}{\text{-95 KB}}$ $\color{green}{\text{-91.8\%}}$
common ja-JP/oaynS8Knu-W5f1Tuef2.js
4 KB 15 KB $\color{orange}{\text{+11 KB}}$ $\color{orange}{\text{+272.2\%}}$
src/pages/settings/roles.vue ja-JP/sc9rvZfsF-vic4moDJ2.js
0 B 3 KB $\color{orange}{\text{+3 KB}}$ $\color{orange}{\text{( + )}}$
i18n ja-JP/oaynS8Knu-BXllwDnr.js
216 KB 217 KB $\text{+933 B}$ $\color{orange}{\text{+0.4\%}}$
roles.editor ja-JP/oaynS8Knu-Bp5VEia-2.js
13 KB 13 KB $\text{+512 B}$ $\color{orange}{\text{+4.1\%}}$
os ja-JP/oaynS8Knu-D59KcMRK.js
466 KB 467 KB $\text{+356 B}$ $\text{+0.1\%}$
src/pages/settings/other.vue ja-JP/oaynS8Knu-B-e2Fbie2.js
13 KB 13 KB $\text{-331 B}$ $\color{green}{\text{-2.6\%}}$
search-index:settings ja-JP/oaynS8Knu-v4M6NKJB.js
32 KB 32 KB $\text{+235 B}$ $\color{orange}{\text{+0.7\%}}$
MkNoteDetailed ja-JP/oaynS8Knu-BUChbevt.js
15 KB 15 KB $\text{+176 B}$ $\color{orange}{\text{+1.2\%}}$
src/pages/user/home.vue ja-JP/oaynS8Knu-DO00fGJJ.js
14 KB 14 KB $\text{+161 B}$ $\color{orange}{\text{+1.1\%}}$
src/pages/settings/index.vue ja-JP/oaynS8Knu-ColkaMYc2.js
6.6 KB 6.7 KB $\text{+102 B}$ $\color{orange}{\text{+1.5\%}}$
src/pages/admin/roles.edit.vue ja-JP/oaynS8Knu-uc_3qBmw2.js
2 KB 2 KB $\text{+27 B}$ $\color{orange}{\text{+1.4\%}}$
src/pages/settings/profile.vue ja-JP/oaynS8Knu-qGd43vf72.js
20 KB 20 KB $\text{+6 B}$ $\text{+0\%}$
MkClickerGame ja-JP/oaynS8Knu-DHoT2OWT.js
1.9 KB 1.9 KB $\text{+5 B}$ $\color{orange}{\text{+0.3\%}}$
src/components/MkUserPopup.vue ja-JP/oaynS8Knu-BIpkIXZO2.js
4.2 KB 4.2 KB $\text{-5 B}$ $\color{green}{\text{-0.1\%}}$
get-drive-file-menu ja-JP/oaynS8Knu-B9tVa-es2.js
3.5 KB 3.5 KB $\text{-5 B}$ $\color{green}{\text{-0.1\%}}$
src/pages/chat/room.vue ja-JP/oaynS8Knu-V9ngoJAx.js
18 KB 18 KB $\text{+4 B}$ $\text{+0\%}$
src/pages/settings/theme.vue ja-JP/oaynS8Knu-Dft_qdJz.js
15 KB 15 KB $\text{-4 B}$ $\text{-0\%}$
src/pages/flash/flash-edit.vue ja-JP/oaynS8Knu-DprIn_u92.js
9.6 KB 9.6 KB $\text{-4 B}$ $\text{-0\%}$
src/pages/settings/preferences.vue ja-JP/oaynS8Knu-CCmwotCL2.js
49 KB 49 KB $\text{+2 B}$ $\text{+0\%}$
src/ui/universal.vue ja-JP/oaynS8Knu-Dyl69mQe2.js
4.6 KB 4.6 KB $\text{+2 B}$ $\text{+0\%}$
src/components/MkAutocomplete.vue ja-JP/oaynS8Knu-C1Ryn6e-2.js
239 KB 239 KB $\text{-2 B}$ $\text{-0\%}$
src/ui/deck.vue ja-JP/oaynS8Knu-By_dfBFP2.js
38 KB 38 KB $\text{-2 B}$ $\text{-0\%}$
widgets ja-JP/oaynS8Knu-D3ugPNzd.js
9.7 KB 9.7 KB $\text{-2 B}$ $\text{-0\%}$
src/pages/admin/modlog.vue ja-JP/oaynS8Knu-wZcTRUPZ2.js
153 KB 153 KB $\text{+1 B}$ $\text{+0\%}$
src/pages/drop-and-fusion.vue ja-JP/oaynS8Knu-nmMWSM1n.js
45 KB 45 KB $\text{+1 B}$ $\text{+0\%}$
roles.policy-editor ja-JP/oaynS8Knu-B-_7xkH82.js
28 KB 28 KB $\text{+1 B}$ $\text{+0\%}$
src/pages/admin/custom-emojis-manager2.vue ja-JP/oaynS8Knu-B9Yuc04z.js
27 KB 27 KB $\text{+1 B}$ $\text{+0\%}$
MkDrive ja-JP/oaynS8Knu-B6DxP7_k2.js
25 KB 25 KB $\text{+1 B}$ $\text{+0\%}$
src/pages/admin/overview.vue ja-JP/oaynS8Knu-Dh2bHBHK2.js
20 KB 20 KB $\text{+1 B}$ $\text{+0\%}$
Startup chunk size (4 updated, 0 added, 0 removed)
Chunk Before After Δ Δ (%)
(total) 1.1 MB 1.1 MB $\color{orange}{\text{+12 KB}}$ $\color{orange}{\text{+1.1\%}}$
common ja-JP/oaynS8Knu-W5f1Tuef2.js
4 KB 15 KB $\color{orange}{\text{+11 KB}}$ $\color{orange}{\text{+272.2\%}}$
i18n ja-JP/oaynS8Knu-BXllwDnr.js
216 KB 217 KB $\text{+933 B}$ $\color{orange}{\text{+0.4\%}}$
os ja-JP/oaynS8Knu-D59KcMRK.js
466 KB 467 KB $\text{+356 B}$ $\text{+0.1\%}$
widgets ja-JP/oaynS8Knu-D3ugPNzd.js
9.7 KB 9.7 KB $\text{-2 B}$ $\text{-0\%}$
photoswipe ja-JP/oaynS8Knu-OMfijBv8.js
73 KB 73 KB 0 B 0%
src/_boot_.ts ja-JP/oaynS8Knu-BIAM45_9.js
63 KB 63 KB 0 B 0%
runtime-core.esm-bundler ja-JP/oaynS8Knu-v_kYKDkM.js
50 KB 50 KB 0 B 0%
MkNotification ja-JP/oaynS8Knu-D2ghYAX92.js
23 KB 23 KB 0 B 0%
built ja-JP/oaynS8Knu-DaYzER0Z.js
21 KB 21 KB 0 B 0%
reactivity.esm-bundler ja-JP/oaynS8Knu-CSrO7js8.js
21 KB 21 KB 0 B 0%
store ja-JP/oaynS8Knu-BtKU7PnB.js
18 KB 18 KB 0 B 0%
runtime-dom.esm-bundler ja-JP/oaynS8Knu-C7PP-tAz.js
17 KB 17 KB 0 B 0%
tinycolor ja-JP/oaynS8Knu-PEGdpOg42.js
15 KB 15 KB 0 B 0%
achievements ja-JP/oaynS8Knu-BqoUlyZC.js
10 KB 10 KB 0 B 0%
theme ja-JP/oaynS8Knu-sIFN8Vp62.js
8.3 KB 8.3 KB 0 B 0%
MkCustomEmoji ja-JP/oaynS8Knu-Cd0r4aQI2.js
6.5 KB 6.5 KB 0 B 0%
MkAnimBg ja-JP/oaynS8Knu-Dfu90kEK2.js
4.8 KB 4.8 KB 0 B 0%
MkSwiper ja-JP/oaynS8Knu-DhCow9ut2.js
3 KB 3 KB 0 B 0%
navbar ja-JP/oaynS8Knu-x6AVnlsK.js
2.9 KB 2.9 KB 0 B 0%
MkUrl ja-JP/oaynS8Knu-B4RNseWt2.js
2.9 KB 2.9 KB 0 B 0%
MkTabs ja-JP/oaynS8Knu-C3kK3d0B2.js
2.8 KB 2.8 KB 0 B 0%
MkCode ja-JP/oaynS8Knu-1eSo3Lf22.js
2.7 KB 2.7 KB 0 B 0%
lookup ja-JP/oaynS8Knu-DAqs5ckv2.js
2.3 KB 2.3 KB 0 B 0%
MkSparkle ja-JP/oaynS8Knu-Dh3rC5GE2.js
2.2 KB 2.2 KB 0 B 0%
dist ja-JP/oaynS8Knu-IbAMbJNv.js
1.8 KB 1.8 KB 0 B 0%
_dark ja-JP/oaynS8Knu-DfGzfoC32.js
1.8 KB 1.8 KB 0 B 0%
media-proxy ja-JP/oaynS8Knu-erjsisc4.js
1.7 KB 1.7 KB 0 B 0%
_light ja-JP/oaynS8Knu-D67CB4xl.js
1.7 KB 1.7 KB 0 B 0%
hotkey ja-JP/oaynS8Knu-DhpuGRpR.js
1.6 KB 1.6 KB 0 B 0%
is-birthday ja-JP/oaynS8Knu-l_yS9sHW2.js
1.5 KB 1.5 KB 0 B 0%
MkStickyContainer ja-JP/oaynS8Knu-BICKXuNT2.js
1.4 KB 1.4 KB 0 B 0%
config ja-JP/oaynS8Knu-BooIHWtE.js
1.3 KB 1.3 KB 0 B 0%
preload-helper ja-JP/oaynS8Knu-DyAp3Zfi.js
1.3 KB 1.3 KB 0 B 0%
MkLoading ja-JP/oaynS8Knu-DndTpCB22.js
1.1 KB 1.1 KB 0 B 0%
MkInfo ja-JP/oaynS8Knu-Cj7wWYSz.js
1 KB 1 KB 0 B 0%
webgl ja-JP/oaynS8Knu-wb3e_Vqx2.js
1 KB 1 KB 0 B 0%
use-scroll-position-keeper ja-JP/oaynS8Knu-CNj1wfn72.js
990 B 990 B 0 B 0%
misskey-api ja-JP/oaynS8Knu-BebHi7Dz.js
986 B 986 B 0 B 0%
instance ja-JP/oaynS8Knu-BaNW73x8.js
918 B 918 B 0 B 0%
get-note-summary ja-JP/oaynS8Knu-CJpildG3.js
704 B 704 B 0 B 0%
rolldown-runtime ja-JP/oaynS8Knu-QTnfLwEv.js
694 B 694 B 0 B 0%
page ja-JP/oaynS8Knu-DVxDvZ4C.js
688 B 688 B 0 B 0%
i ja-JP/oaynS8Knu-AFJdxzxK.js
631 B 631 B 0 B 0%
clear-cache ja-JP/oaynS8Knu-BHOxi4iX2.js
472 B 472 B 0 B 0%
emoji-base ja-JP/oaynS8Knu-BVbfT0gI2.js
413 B 413 B 0 B 0%
d-green-lime ja-JP/oaynS8Knu-DEHvjKGz.js
391 B 391 B 0 B 0%
use-interval ja-JP/oaynS8Knu-B5BnI2fD.js
384 B 384 B 0 B 0%
l-light ja-JP/oaynS8Knu-B8GJAiDX.js
351 B 351 B 0 B 0%
user ja-JP/oaynS8Knu-DDIf-bad.js
205 B 205 B 0 B 0%
get-bg-color ja-JP/oaynS8Knu-DpyGyEl72.js
190 B 190 B 0 B 0%
isChromatic ja-JP/oaynS8Knu-Dd9satMa2.js
172 B 172 B 0 B 0%
is-device-darkmode ja-JP/oaynS8Knu-CHGi6RJT2.js
93 B 93 B 0 B 0%
_plugin-vue_export-helper ja-JP/oaynS8Knu-BDNMzG2s.js
84 B 84 B 0 B 0%

Startup chunks are the Vite entry for src/_boot_.ts and its static imports.

Bundle Stats

Bundles Modules Entries Imports Size
Static Dynamic Rendered Gzip Brotli
Before 466 2,851 21 8,574 324 10 MB 2.8 MB 2.4 MB
After 467 2,855 21 8,589 325 10 MB 2.8 MB 2.4 MB
Δ $\color{orange}{\text{+1}}$ $\color{orange}{\text{+4}}$ 0 $\color{orange}{\text{+15}}$ $\color{orange}{\text{+1}}$ $\color{orange}{\text{+6.4 KB}}$ $\color{orange}{\text{+2.5 KB}}$ $\color{orange}{\text{+2.1 KB}}$
Δ (%) $\color{orange}{\text{+0.2\%}}$ $\color{orange}{\text{+0.1\%}}$ 0% $\color{orange}{\text{+0.2\%}}$ $\color{orange}{\text{+0.3\%}}$ $\text{+0.1\%}$ $\text{+0.1\%}$ $\text{+0.1\%}$

Open treemap HTML

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

このPRによるapi.jsonの差分

差分はこちら
--- base
+++ head
@@ -14114,6 +14114,10 @@
                   "isPublic": {
                     "type": "boolean"
                   },
+                  "isPublicDisplayRequired": {
+                    "type": "boolean",
+                    "default": false
+                  },
                   "isModerator": {
                     "type": "boolean"
                   },
@@ -14986,6 +14990,9 @@
                   "isPublic": {
                     "type": "boolean"
                   },
+                  "isPublicDisplayRequired": {
+                    "type": "boolean"
+                  },
                   "isModerator": {
                     "type": "boolean"
                   },
@@ -62596,6 +62603,15 @@
                       "none"
                     ]
                   },
+                  "hiddenRoleIds": {
+                    "type": "array",
+                    "maxItems": 256,
+                    "uniqueItems": true,
+                    "items": {
+                      "type": "string",
+                      "format": "misskey:id"
+                    }
+                  },
                   "pinnedPageId": {
                     "type": [
                       "string",
@@ -88539,6 +88555,10 @@
             "items": {
               "type": "object",
               "properties": {
+                "id": {
+                  "type": "string",
+                  "format": "id"
+                },
                 "name": {
                   "type": "string"
                 },
@@ -88553,6 +88573,7 @@
                 }
               },
               "required": [
+                "id",
                 "name",
                 "iconUrl",
                 "displayOrder"
@@ -88929,6 +88950,13 @@
           "isDeleted": {
             "type": "boolean"
           },
+          "hiddenRoleIds": {
+            "type": "array",
+            "items": {
+              "type": "string",
+              "format": "id"
+            }
+          },
           "twoFactorBackupCodesStock": {
             "type": "string",
             "enum": [
@@ -89946,6 +89974,7 @@
           "preventAiLearning",
           "isExplorable",
           "isDeleted",
+          "hiddenRoleIds",
           "twoFactorBackupCodesStock",
           "hideOnlineStatus",
           "hasUnreadSpecifiedNotes",
@@ -93472,6 +93501,18 @@
             "type": "boolean",
             "example": false
           },
+          "asBadge": {
+            "type": "boolean",
+            "example": false
+          },
+          "isPublicDisplayRequired": {
+            "type": "boolean",
+            "example": false
+          },
+          "isExplorable": {
+            "type": "boolean",
+            "example": false
+          },
           "displayOrder": {
             "type": "integer",
             "example": 0
@@ -93485,6 +93526,9 @@
           "description",
           "isModerator",
           "isAdministrator",
+          "asBadge",
+          "isPublicDisplayRequired",
+          "isExplorable",
           "displayOrder"
         ]
       },
@@ -93519,6 +93563,10 @@
                 "type": "boolean",
                 "example": false
               },
+              "isPublicDisplayRequired": {
+                "type": "boolean",
+                "example": false
+              },
               "isExplorable": {
                 "type": "boolean",
                 "example": false
@@ -93573,6 +93621,7 @@
               "target",
               "condFormula",
               "isPublic",
+              "isPublicDisplayRequired",
               "isExplorable",
               "asBadge",
               "preserveAssignmentOnMoveAccount",
[Get diff files from Workflow Page](https://github.com/misskey-dev/misskey/actions/runs/28698343484)

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

⚙️ Backend Memory Usage Report

After GC

Metric Base Head Δ median Δ MAD Δ min Δ max
HeapUsed 83.8 MB
± 0 MB
83.8 MB
± 0 MB
$\text{+0 MB}$
$\text{+0\%}$
0 MB $\text{-0 MB}$ $\text{+0 MB}$
Pss 309 MB
± 1.5 MB
306.9 MB
± 0.8 MB
$\color{green}{\text{-2.4 MB}}$
$\color{green}{\text{-0.8\%}}$
1.2 MB $\color{green}{\text{-3.5 MB}}$ $\color{orange}{\text{+2.2 MB}}$
Private_Dirty 265.7 MB
± 1.6 MB
263.6 MB
± 1 MB
$\color{green}{\text{-2.1 MB}}$
$\color{green}{\text{-0.8\%}}$
1.3 MB $\color{green}{\text{-3.4 MB}}$ $\color{orange}{\text{+1.9 MB}}$
VmRSS 346.9 MB
± 1.5 MB
344.9 MB
± 0.7 MB
$\color{green}{\text{-2.3 MB}}$
$\color{green}{\text{-0.7\%}}$
1.2 MB $\color{green}{\text{-3.4 MB}}$ $\color{orange}{\text{+2.2 MB}}$
External 10.7 MB
± 0 MB
10.7 MB
± 0 MB
$\text{+0 MB}$
$\text{+0\%}$
0 MB $\text{+0 MB}$ $\text{+0 MB}$

V8 Heap Snapshot Statistics

Metric Base Head Δ median Δ MAD Δ min Δ max
$\color{gray}{\rule{8pt}{8pt}}$ Total 102 MB
± 10 KB
102 MB
± 2.7 KB
$\text{+4.3 KB}$
$\text{+0\%}$
7.9 KB $\text{-3.7 KB}$ $\text{+28 KB}$
$\color{orange}{\rule{8pt}{8pt}}$ Code24.5% → 24.5%
25 MB 25 MB $\text{-2 KB}$ 2.4 KB $\text{-6.6 KB}$ $\text{+14 KB}$
$\color{red}{\rule{8pt}{8pt}}$ Strings42.1% → 42.1%
43 MB 43 MB $\text{+7.1 KB}$ 288 B $\text{+6.2 KB}$ $\text{+7.4 KB}$
$\color{cyan}{\rule{8pt}{8pt}}$ JS arrays4.1% → 4.1%
4.1 MB 4.1 MB $\text{+368 B}$ 0 B $\text{+368 B}$ $\text{+368 B}$
$\color{green}{\rule{8pt}{8pt}}$ Typed arrays0.5% → 0.5%
533 KB 533 KB 0 B 0 B 0 B 0 B
$\color{yellow}{\rule{8pt}{8pt}}$ System objects2.2% → 2.2%
2.2 MB 2.2 MB $\text{-440 B}$ 128 B $\text{-1.3 KB}$ $\text{+624 B}$
$\color{violet}{\rule{8pt}{8pt}}$ Other JS objs26.5% → 26.5%
27 MB 27 MB $\text{+3.3 KB}$ 1.8 KB $\text{-7.8 KB}$ $\text{+6 KB}$
$\color{pink}{\rule{8pt}{8pt}}$ Other non-JS objs0% → 0%
37 KB 37 KB 0 B 0 B 0 B 0 B
Head heap snapshot composition
%%{init: {"sankey":{"showValues":false,"linkColor":"target","labelStyle":"outlined","nodeAlignment":"center","nodePadding":10,"nodeColors":{"Head":"#888888","code":"#f28e2c","bytecode":"#f28e2c","Other":"#888888","strings":"#e15759","string":"#e15759","jsArrays":"#76b7b2","typedArrays":"#59a14f","systemObjects":"#edc949","otherJsObjects":"#af7aa1","array":"#af7aa1","otherNonJsObjects":"#ff9da7"}}}}%%
sankey-beta
"Head","Code",24.52
"Code","bytecode",8.1
"Code","Other",16.42
"Head","Strings",42.14
"Strings","string",41.57
"Strings","Other",0.57
"Head","JS arrays",4.06
"Head","Typed arrays",0.52
"Head","System objects",2.17
"Head","Other JS objs",26.54
"Other JS objs","array",9.74
"Other JS objs","Other",16.8
"Head","Other non-JS objs",0.04
Loading

Download representative V8 heap snapshot (head)

Runtime Loaded JS Footprint

Click to show
Metric Base Head Δ Δ (%)
Loaded JS modules 150 150 0 0%
Loaded JS source 13 MB 13 MB $\color{orange}{\text{+2.6 KB}}$ $\color{orange}{\text{+0\%}}$
External packages loaded 19 19 0 0%
Native addon packages 2 2 0 0%

Largest Newly Loaded Modules

Module Package Loaded JS
packages/backend/built/ApNoteService-CAtZSFfm.js backend 4 MB
packages/backend/built/Meta-Dt9uOHOu.js backend 1.4 MB
packages/backend/built/QueueService-CV8R-Mnh.js backend 1 MB
packages/backend/built/ServerService-DSoUYW94.js backend 973 KB
packages/backend/built/endpoints-Div3przx.js backend 875 KB
packages/backend/built/MetaEntityService-BPqrImEe.js backend 627 KB
packages/backend/built/ap-request-I3M4Cvjn.js backend 238 KB
packages/backend/built/_-Dn3cjr4C.js backend 81 KB
packages/backend/built/gen-spec-BY0jsfBL.js backend 57 KB
packages/backend/built/GlobalModule-HCVgEx8i.js backend 52 KB

@kakkokari-gtyih kakkokari-gtyih self-requested a review June 29, 2026 14:11
@kakkokari-gtyih

Copy link
Copy Markdown
Member

落ち着いたら見る

@kakkokari-gtyih

Copy link
Copy Markdown
Member

ユーザー側設定画面

image

「非表示を許可しない」が有効な場合

image

「ユーザーを見つけやすくする」(isExplorable)が有効な場合

image

@kakkokari-gtyih kakkokari-gtyih marked this pull request as ready for review July 4, 2026 06:30
@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Jul 4, 2026
@kakkokari-gtyih kakkokari-gtyih removed their request for review July 4, 2026 06:31
Copilot AI review requested due to automatic review settings July 4, 2026 06:48
@kakkokari-gtyih kakkokari-gtyih removed the request for review from Copilot July 4, 2026 06:52
@github-project-automation github-project-automation Bot moved this from Todo to Done in [実験中] 管理用 Jul 4, 2026
@github-project-automation github-project-automation Bot moved this from Done to Todo in [実験中] 管理用 Jul 4, 2026
@kakkokari-gtyih

Copy link
Copy Markdown
Member

ミス

@syuilo

syuilo commented Jul 4, 2026

Copy link
Copy Markdown
Member

/preview

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

packages/backend:test packages/backend Server side specific issue/PR packages/frontend Client side specific issue/PR packages/misskey-js size:L This PR changes 100-499 lines, ignoring generated files.

Projects

Development

Successfully merging this pull request may close these issues.

特定の公開ロールとロールバッジをユーザー側で個別に非表示にできるようにする機能

3 participants