Skip to content

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

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

feat: 公開ロールの表示設定を追加#17643
mattyatea wants to merge 54 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 26.84%. Comparing base (4a7ff6d) to head (5c4778a).

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    26.50%   26.84%   +0.33%     
===========================================
  Files         1184     1186       +2     
  Lines        40446    40704     +258     
  Branches     11217    11264      +47     
===========================================
+ Hits         10719    10925     +206     
- Misses       23848    23894      +46     
- Partials      5879     5885       +6     

☔ 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 (48 updated, 1 added, 0 removed)
Chunk Before After Δ Δ (%)
(total) 5.9 MB 5.9 MB $\color{orange}{\text{+5.2 KB}}$ $\text{+0.1\%}$
src/pages/settings/roles.vue ja-JP/5Tk8S6g9x-Dks5MMdT.js
0 B 3 KB $\color{orange}{\text{+3 KB}}$ $\color{orange}{\text{( + )}}$
i18n ja-JP/aEA5QfpmU-Pz5tairH.js → ja-JP/5Tk8S6g9x-CtyxTV3Q.js
216 KB 217 KB $\text{+933 B}$ $\color{orange}{\text{+0.4\%}}$
src/pages/settings/other.vue ja-JP/aEA5QfpmU-C0dGLuL72.js → ja-JP/5Tk8S6g9x-DLpzkkVd2.js
13 KB 13 KB $\text{-331 B}$ $\color{green}{\text{-2.6\%}}$
search-index:settings ja-JP/aEA5QfpmU-DBdxs58F.js → ja-JP/5Tk8S6g9x-sgkeYTyO.js
32 KB 32 KB $\text{+235 B}$ $\color{orange}{\text{+0.7\%}}$
src/pages/user/home.vue ja-JP/aEA5QfpmU-Bma5R4Ki.js → ja-JP/5Tk8S6g9x-BkMXObp6.js
14 KB 14 KB $\text{+160 B}$ $\color{orange}{\text{+1.1\%}}$
src/pages/settings/index.vue ja-JP/aEA5QfpmU-BWGXXkdY2.js → ja-JP/5Tk8S6g9x-LyHInGoZ2.js
6.6 KB 6.7 KB $\text{+102 B}$ $\color{orange}{\text{+1.5\%}}$
src/pages/admin/roles.edit.vue ja-JP/aEA5QfpmU-BFDXl6OI.js → ja-JP/5Tk8S6g9x-4idqZPwg.js
2 KB 2 KB $\text{+27 B}$ $\color{orange}{\text{+1.4\%}}$
(other generated chunks) 2 MB 2 MB $\color{orange}{\text{+1 KB}}$ $\text{+0.1\%}$
(other) 631 KB 631 KB $\text{+13 B}$ $\text{+0\%}$
Startup chunk size (1 updated, 0 added, 0 removed)
Chunk Before After Δ Δ (%)
(total) 1 MB 1 MB $\color{orange}{\text{+1.3 KB}}$ $\color{orange}{\text{+0.1\%}}$
i18n ja-JP/aEA5QfpmU-Pz5tairH.js → ja-JP/5Tk8S6g9x-CtyxTV3Q.js
216 KB 217 KB $\text{+933 B}$ $\color{orange}{\text{+0.4\%}}$
(other generated chunks) 753 KB 753 KB $\text{+352 B}$ $\text{+0\%}$
(other) 63 KB 63 KB 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 467 2,867 21 8,609 324 10 MB 2.8 MB 2.4 MB
After 468 2,871 21 8,624 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.6 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
@@ -14121,6 +14121,10 @@
                   "isPublic": {
                     "type": "boolean"
                   },
+                  "isPublicDisplayRequired": {
+                    "type": "boolean",
+                    "default": false
+                  },
                   "isModerator": {
                     "type": "boolean"
                   },
@@ -14993,6 +14997,9 @@
                   "isPublic": {
                     "type": "boolean"
                   },
+                  "isPublicDisplayRequired": {
+                    "type": "boolean"
+                  },
                   "isModerator": {
                     "type": "boolean"
                   },
@@ -62612,6 +62619,15 @@
                       "none"
                     ]
                   },
+                  "hiddenRoleIds": {
+                    "type": "array",
+                    "maxItems": 256,
+                    "uniqueItems": true,
+                    "items": {
+                      "type": "string",
+                      "format": "misskey:id"
+                    }
+                  },
                   "pinnedPageId": {
                     "type": [
                       "string",
@@ -88555,6 +88571,10 @@
             "items": {
               "type": "object",
               "properties": {
+                "id": {
+                  "type": "string",
+                  "format": "id"
+                },
                 "name": {
                   "type": "string"
                 },
@@ -88569,6 +88589,7 @@
                 }
               },
               "required": [
+                "id",
                 "name",
                 "iconUrl",
                 "displayOrder"
@@ -88945,6 +88966,13 @@
           "isDeleted": {
             "type": "boolean"
           },
+          "hiddenRoleIds": {
+            "type": "array",
+            "items": {
+              "type": "string",
+              "format": "id"
+            }
+          },
           "twoFactorBackupCodesStock": {
             "type": "string",
             "enum": [
@@ -89962,6 +89990,7 @@
           "preventAiLearning",
           "isExplorable",
           "isDeleted",
+          "hiddenRoleIds",
           "twoFactorBackupCodesStock",
           "hideOnlineStatus",
           "hasUnreadSpecifiedNotes",
@@ -93488,6 +93517,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
@@ -93501,6 +93542,9 @@
           "description",
           "isModerator",
           "isAdministrator",
+          "asBadge",
+          "isPublicDisplayRequired",
+          "isExplorable",
           "displayOrder"
         ]
       },
@@ -93535,6 +93579,10 @@
                 "type": "boolean",
                 "example": false
               },
+              "isPublicDisplayRequired": {
+                "type": "boolean",
+                "example": false
+              },
               "isExplorable": {
                 "type": "boolean",
                 "example": false
@@ -93589,6 +93637,7 @@
               "target",
               "condFormula",
               "isPublic",
+              "isPublicDisplayRequired",
               "isExplorable",
               "asBadge",
               "preserveAssignmentOnMoveAccount",

Get diff files from Workflow Page

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

⚙️ Backend Diagnostics Report

Memory: After GC

(No significant changes)

V8 Heap Snapshot Statistics

Metric @ Base @ Head Δ MAD
$\color{gray}{\rule{8pt}{8pt}}$ Total 86 MB
± 4.1 KB
86 MB
± 5.2 KB
$\text{+18 KB}$
$\text{+0\%}$
6.6 KB
$\color{orange}{\rule{8pt}{8pt}}$ Code 25 MB 25 MB $\text{+4.7 KB}$ 7.2 KB
$\color{red}{\rule{8pt}{8pt}}$ Strings 30 MB 30 MB $\text{+9.3 KB}$ 911 B
$\color{cyan}{\rule{8pt}{8pt}}$ JS arrays 4.2 MB 4.2 MB $\text{+368 B}$ 0 B
$\color{green}{\rule{8pt}{8pt}}$ Typed arrays 566 KB 566 KB 0 B 0 B
$\color{yellow}{\rule{8pt}{8pt}}$ System objects 2.2 MB 2.2 MB $\text{+176 B}$ 906 B
$\color{violet}{\rule{8pt}{8pt}}$ Other JS objs 24 MB 24 MB $\text{+9.1 KB}$ 240 B
$\color{pink}{\rule{8pt}{8pt}}$ Other non-JS objs 39 KB 39 KB 0 B 0 B

Download representative heap snapshot: base / head

@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

(プロフィール上からも非表示にする場合)そのユーザーの全てのロールを確認できる何らかの導線が要りそう

ユーザーサイドではそれが設定のロールページになる
管理者はモデレーションのユーザーページの方から確認できなかったかしら

@syuilo

syuilo commented Jul 16, 2026

Copy link
Copy Markdown
Member

他人が他人のロールを確認する場合だわね

@kakkokari-gtyih

kakkokari-gtyih commented Jul 16, 2026

Copy link
Copy Markdown
Member

それは完全に非表示になるしAPIでも返ってこなくなる
そうなると困るロールを管理者側で強制表示にするという感じ

ただし、「見つけやすくする」がオンの場合はそのリストには出てくる(設定画面にその旨は記載済み https://github.com/misskey-dev/misskey/pull/17643#issuecomment-4880953845)

@syuilo

syuilo commented Jul 16, 2026

Copy link
Copy Markdown
Member

なので導線を追加したほうが良さそうという感じ

@kakkokari-gtyih

Copy link
Copy Markdown
Member

なんの動線かいまいちピンときてない

@syuilo

syuilo commented Jul 16, 2026

Copy link
Copy Markdown
Member

他人が他人の完全なロールを確認する導線だわね

@kakkokari-gtyih

kakkokari-gtyih commented Jul 16, 2026

Copy link
Copy Markdown
Member

他人が他人の完全なロールを確認する導線だわね

それは無しなのでは(完全に非表示になるしAPIでも返ってこなくなる=他人からは非公開ロールと同じ扱いになるため。そうなると困るロールを管理者側で強制表示にする)

@syuilo

syuilo commented Jul 16, 2026

Copy link
Copy Markdown
Member

表示上整理したい目的であれば、ノート上のバッジやプロフィールを開いたときに省略されていれば達成できて、それ(
他人が他人の完全なロールを確認する導線)を無くす必要はなさそう

@kakkokari-gtyih

kakkokari-gtyih commented Jul 16, 2026

Copy link
Copy Markdown
Member

やりたいこと的に、表示上整理というよりかは公開ロールのユーザー側での非公開化の制御と言ったほうが近いかもしれない

元のIssueで表示上整理するというのを挙げたがそれは一例で、他にも、サーバーの支援者に対して支援者特典などのポリシーを付与した公開ロールを付与する運用になっている場合に、その公開ロールを非表示(非公開)とすることで、そのアカウントが支援者であるということを他のユーザーに公開せず支援者特典を享受できるというユースケースもある

@syuilo

syuilo commented Jul 16, 2026

Copy link
Copy Markdown
Member

バッジが多すぎるから表示を絞りたい(ただそのロールを持っていることは公開したい)というのと、あるロールを持っていることを完全に秘密にしたいというのはどっちが多そうかしら

@kakkokari-gtyih

kakkokari-gtyih commented Jul 16, 2026

Copy link
Copy Markdown
Member

バッジが多すぎるから表示を絞りたい(ただそのロールを持っていることは公開したい)

このケースがあんまり思いつかなかった(ただこれをやるなら、バッジのみ非表示(プロフィールページなどには表示される)というモードを新設する形で対応すると導線の問題は解決する)

@syuilo

syuilo commented Jul 16, 2026

Copy link
Copy Markdown
Member

ほむん

@github-actions

github-actions Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

📦 Frontend Bundle Report

Chunk size diff (48 updated, 1 added, 0 removed)
Chunk Before After Δ Δ (%)
(total) 5.9 MB 5.9 MB $\color{orange}{\text{+5.1 KB}}$ $\text{+0.1\%}$
src/pages/settings/roles.vue ja-JP/jHCgQWI32-C1ibElKU.js
0 B 2.8 KB $\color{orange}{\text{+2.8 KB}}$ $\color{orange}{\text{( + )}}$
i18n ja-JP/DcZQZQvov-Day_zRNb.js → ja-JP/jHCgQWI32-BHum3-vZ.js
216 KB 217 KB $\text{+976 B}$ $\color{orange}{\text{+0.5\%}}$
src/pages/settings/other.vue ja-JP/DcZQZQvov-DnkaOWpF2.js → ja-JP/jHCgQWI32-CnPKQvn_2.js
13 KB 13 KB $\text{-331 B}$ $\color{green}{\text{-2.6\%}}$
src/pages/settings/privacy.vue ja-JP/DcZQZQvov-4EAjNUPi2.js → ja-JP/jHCgQWI32-DSSa9Rsg2.js
14 KB 15 KB $\text{+235 B}$ $\color{orange}{\text{+1.6\%}}$
search-index:settings ja-JP/DcZQZQvov-CurOEAQ1.js → ja-JP/jHCgQWI32-nwBvpR3E.js
32 KB 32 KB $\text{+160 B}$ $\color{orange}{\text{+0.5\%}}$
src/pages/user/home.vue ja-JP/DcZQZQvov-k8mIDgQh.js → ja-JP/jHCgQWI32-Chl2rZtf.js
14 KB 14 KB $\text{+160 B}$ $\color{orange}{\text{+1.1\%}}$
src/pages/admin/roles.edit.vue ja-JP/DcZQZQvov-ETuONGy0.js → ja-JP/jHCgQWI32-FnOHqv-7.js
2 KB 2 KB $\text{+27 B}$ $\color{orange}{\text{+1.4\%}}$
(other generated chunks) 2 MB 2 MB $\color{orange}{\text{+1.1 KB}}$ $\text{+0.1\%}$
(other) 623 KB 623 KB $\text{+17 B}$ $\text{+0\%}$
Startup chunk size (1 updated, 0 added, 0 removed)
Chunk Before After Δ Δ (%)
(total) 1 MB 1 MB $\color{orange}{\text{+1.3 KB}}$ $\color{orange}{\text{+0.1\%}}$
i18n ja-JP/DcZQZQvov-Day_zRNb.js → ja-JP/jHCgQWI32-BHum3-vZ.js
216 KB 217 KB $\text{+976 B}$ $\color{orange}{\text{+0.5\%}}$
(other generated chunks) 753 KB 753 KB $\text{+360 B}$ $\text{+0\%}$
(other) 63 KB 63 KB 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 467 2,867 21 8,609 324 10 MB 2.8 MB 2.4 MB
After 468 2,871 21 8,625 325 10 MB 2.8 MB 2.4 MB
Δ $\color{orange}{\text{+1}}$ $\color{orange}{\text{+4}}$ 0 $\color{orange}{\text{+16}}$ $\color{orange}{\text{+1}}$ $\color{orange}{\text{+6.3 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

@kakkokari-gtyih

Copy link
Copy Markdown
Member

設定のメニュー移動した

@syuilo

syuilo commented Jul 17, 2026

Copy link
Copy Markdown
Member

/preview

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
CHANGELOG.md (1)

17-19: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

ユーザー影響のある変更を ## Unreleased 配下へ移動してください。

以下のエントリが 2026.7.0 配下にありますが、ガイドラインに従い、## Unreleased 配下の適切なサブセクションへ移動してください。

  • CHANGELOG.md#L17-L19: 公開ロール/ロールバッジの表示設定
  • CHANGELOG.md#L60-L60: バックエンドログの1行JSON出力

CHANGELOG.md#L17-L19 については、過去レビューと同じ未修正の指摘です。

As per coding guidelines: 「ユーザー影響のある変更では、CHANGELOG.md## Unreleased 配下にある該当サブセクションへ追記する。」

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CHANGELOG.md` around lines 17 - 19, Move the public role and role-badge
display settings entry from the 2026.7.0 section into the appropriate subsection
under ## Unreleased in CHANGELOG.md (anchor, lines 17-19). Also move the backend
log single-line JSON output entry into the appropriate ## Unreleased subsection
in CHANGELOG.md (sibling, line 60).

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@CHANGELOG.md`:
- Around line 17-19: Move the public role and role-badge display settings entry
from the 2026.7.0 section into the appropriate subsection under ## Unreleased in
CHANGELOG.md (anchor, lines 17-19). Also move the backend log single-line JSON
output entry into the appropriate ## Unreleased subsection in CHANGELOG.md
(sibling, line 60).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: b7d8f7e3-b478-4ec2-b85e-7a84e673119f

📥 Commits

Reviewing files that changed from the base of the PR and between 981d327 and 1cdfdfa.

📒 Files selected for processing (1)
  • CHANGELOG.md

@syuilo

syuilo commented Jul 17, 2026

Copy link
Copy Markdown
Member

/preview

@syuilo

syuilo commented Jul 17, 2026

Copy link
Copy Markdown
Member

あらプロフィール設定とプロフィールページ見てもリンクらしきものが無いわね

@syuilo

syuilo commented Jul 17, 2026

Copy link
Copy Markdown
Member

/preview

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

🖥 Frontend Diagnostics Report

(No significant changes)

View details

Requests by resource type
Type Requests Encoded bytes
Base Head Δ Base Head Δ
Document 2 2 0 33 KB 33 KB 0 B
Script 146 146 0 2.1 MB 2.1 MB $\color{orange}{\text{+723 B}}$
Stylesheet 58 58 0 287 KB 287 KB 0 B
Fetch 20 20 0 46 KB 46 KB $\color{orange}{\text{+57 B}}$
Image 10 10 0 254 KB 254 KB 0 B
Font 2 2 0 117 KB 117 KB 0 B
Other 9 9 0 421 KB 421 KB $\color{green}{\text{-13 B}}$
V8 heap snapshot statistics
Metric @ Base @ Head Δ MAD
$\color{gray}{\rule{8pt}{8pt}}$ Total 11 MB
± 14 KB
11 MB
± 19 KB
$\text{+4.3 KB}$
$\text{+0\%}$
23 KB
$\color{orange}{\rule{8pt}{8pt}}$ Code 2.8 MB 2.8 MB $\text{+2.7 KB}$ 1.3 KB
$\color{red}{\rule{8pt}{8pt}}$ Strings 1.2 MB 1.2 MB $\text{+220 B}$ 261 B
$\color{cyan}{\rule{8pt}{8pt}}$ JS arrays 121 KB 121 KB $\text{+56 B}$ 0 B
$\color{green}{\rule{8pt}{8pt}}$ Typed arrays 0 B 0 B 0 B 0 B
$\color{yellow}{\rule{8pt}{8pt}}$ System objects 0 B 0 B 0 B 0 B
$\color{violet}{\rule{8pt}{8pt}}$ Other JS objs 2.1 MB 2.1 MB $\text{+5 KB}$ 3.7 KB
$\color{pink}{\rule{8pt}{8pt}}$ Other non-JS objs 5.1 MB 5.1 MB $\text{-2.1 KB}$ 8.4 KB

Download representative heap snapshot: base / head

📦 Bundle Stats

Chunk size diff (48 updated, 1 added, 0 removed)
Chunk Base Head Δ Δ (%)
(total) 5.8 MB 5.8 MB $\color{orange}{\text{+5.1 KB}}$ $\text{+0.1\%}$
src/pages/settings/roles.vue ja-JP/jHCgQWI32-DtK7fQlB.js
0 B 2.8 KB $\color{orange}{\text{+2.8 KB}}$ $\color{orange}{\text{( + )}}$
i18n ja-JP/DcZQZQvov-CgUIVX4O.js → ja-JP/jHCgQWI32-BiDuNo15.js
216 KB 217 KB $\text{+976 B}$ $\color{orange}{\text{+0.5\%}}$
src/pages/settings/other.vue ja-JP/DcZQZQvov-B8DWC3pj2.js → ja-JP/jHCgQWI32-CosMaN222.js
13 KB 13 KB $\text{-331 B}$ $\color{green}{\text{-2.5\%}}$
src/pages/settings/privacy.vue ja-JP/DcZQZQvov-DY_EzekU2.js → ja-JP/jHCgQWI32-Cx-j0aYG2.js
14 KB 15 KB $\text{+235 B}$ $\color{orange}{\text{+1.6\%}}$
src/pages/user/home.vue ja-JP/DcZQZQvov-Csn_KO4X.js → ja-JP/jHCgQWI32-DSw0jL4C.js
14 KB 14 KB $\text{+161 B}$ $\color{orange}{\text{+1.1\%}}$
search-index:settings ja-JP/DcZQZQvov-6DmHCU-3.js → ja-JP/jHCgQWI32-C-La1dyy.js
32 KB 32 KB $\text{+160 B}$ $\color{orange}{\text{+0.5\%}}$
src/pages/admin/roles.edit.vue ja-JP/DcZQZQvov-dFRf7QCO.js → ja-JP/jHCgQWI32-E-QYVbHZ.js
2 KB 2 KB $\text{+27 B}$ $\color{orange}{\text{+1.4\%}}$
(other generated chunks) 2 MB 2 MB $\color{orange}{\text{+1.1 KB}}$ $\text{+0.1\%}$
(other) 679 KB 679 KB $\text{+23 B}$ $\text{+0\%}$
Startup chunk size (2 updated, 0 added, 0 removed)
Chunk Base Head Δ Δ (%)
(total) 1 MB 1 MB $\color{orange}{\text{+1.3 KB}}$ $\color{orange}{\text{+0.1\%}}$
i18n ja-JP/DcZQZQvov-CgUIVX4O.js → ja-JP/jHCgQWI32-BiDuNo15.js
216 KB 217 KB $\text{+976 B}$ $\color{orange}{\text{+0.5\%}}$
(other generated chunks) 754 KB 755 KB $\text{+358 B}$ $\text{+0\%}$
(other) 64 KB 64 KB $\text{+1 B}$ $\text{+0\%}$

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

Bundles Modules Entries Imports Size
Static Dynamic Rendered Gzip Brotli
Base 468 2,866 21 10,664 330 10 MB 2.8 MB 2.4 MB
Head 469 2,870 21 10,680 331 10 MB 2.8 MB 2.4 MB
Δ $\color{orange}{\text{+1}}$ $\color{orange}{\text{+4}}$ 0 $\color{orange}{\text{+16}}$ $\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

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.

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

4 participants