Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: コントロールパネル内のファイル一覧でファイル名と説明で検索できるように #14790

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

tetsuya-ki
Copy link
Contributor

What

コントロールパネルのファイル一覧において、ファイル名と説明で検索が可能になります。
image

Why

Fix #14789

Additional info (optional)

Checklist

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

@github-actions github-actions bot added packages/frontend Client side specific issue/PR packages/backend Server side specific issue/PR labels Oct 19, 2024
Copy link
Contributor

github-actions bot commented Oct 19, 2024

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

差分はこちら
--- base
+++ head
@@ -5469,6 +5469,18 @@
                     ],
                     "default": null,
                     "description": "The local host is represented with `null`."
+                  },
+                  "name": {
+                    "type": [
+                      "string",
+                      "null"
+                    ]
+                  },
+                  "comment": {
+                    "type": [
+                      "string",
+                      "null"
+                    ]
                   }
                 }
               }

Get diff files from Workflow Page

Copy link

codecov bot commented Oct 19, 2024

Codecov Report

Attention: Patch coverage is 5.55556% with 34 lines in your changes missing coverage. Please review.

Project coverage is 41.39%. Comparing base (58419e1) to head (2d8e6af).

Files with missing lines Patch % Lines
packages/frontend/src/pages/admin/files.vue 0.00% 24 Missing ⚠️
...kend/src/server/api/endpoints/admin/drive/files.ts 16.66% 10 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           develop   #14790       +/-   ##
============================================
+ Coverage    19.35%   41.39%   +22.03%     
============================================
  Files          722     1559      +837     
  Lines       102432   201515    +99083     
  Branches       992     3655     +2663     
============================================
+ Hits         19825    83409    +63584     
- Misses       82056   117504    +35448     
- Partials       551      602       +51     

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

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Oct 20, 2024

  • pnpm run build-misskey-js-with-types をやってください
  • フォームが多くなってるので、よく使いそうな検索項目2~3個に絞って、それ以外はMkFolderとかMkFoldableSectionとかに入れたほうが良さそう

@tetsuya-ki
Copy link
Contributor Author

指摘の2点について対応しました(GitHub Actionでも指摘があったのに漏れており申し訳ないです)。

misskeyサーバーを管理しているわけではないので、正直どれがよく使われているかわからなかったので、
先頭2項目以外をフォルダに格納しています。

image

@tetsuya-ki
Copy link
Contributor Author

一つ自分でも気になっていることがあり、今回検索対象にしているdrive_fileの対象カラム(name,comment)ともにインデックスがないようです。
packages/backend/src/models/DriveFile.ts
ファイルの件数が少ないところは問題ないですが、多い場合はindexを追加した方が無難な可能性ありそうです。
ただ、その場合の後でインデックス更新する的なやり方(マイグレーション?)を自分は把握していません。

@syuilo
Copy link
Member

syuilo commented Oct 20, 2024

インデックスあったとしてもパフォーマンス的に厳しそうだわね

@tetsuya-ki
Copy link
Contributor Author

現状でもMIME typeの部分はLIKEによる前方一致検索がINDEXありの状態で使われているので、問題ないかもしれません。
巨大なサーバーではこれらの機能を使ってない可能性も高そうですが(照会かユーザーID一致検索あたりを利用している?)。。。

	@Column('varchar', {
		length: 256,
		comment: 'The file name of the DriveFile.',
	})
	public name: string;

	@Index()
	@Column('varchar', {
		length: 128,
		comment: 'The content type (MIME) of the DriveFile.',
	})
	public type: string;
	〜省略〜
	@Column('varchar', {
		length: 512, nullable: true,
		comment: 'The comment of the DriveFile.',
	})
	public comment: string | null;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages/backend Server side specific issue/PR packages/frontend Client side specific issue/PR packages/misskey-js
Projects
Development

Successfully merging this pull request may close these issues.

コントロールパネルのファイル一覧でファイル名と説明の検索を追加する
3 participants