feat(FR-2696): create project admin data page#6962
Merged
graphite-app[bot] merged 1 commit intoApr 30, 2026
Conversation
This was referenced Apr 24, 2026
This was referenced Apr 24, 2026
Contributor
Author
Contributor
Coverage report for
|
St.❔ |
Category | Percentage | Covered / Total |
|---|---|---|---|
| 🟢 | Statements | 81.87% | 429/524 |
| 🟡 | Branches | 70.43% | 362/514 |
| 🟡 | Functions | 76.86% | 93/121 |
| 🟢 | Lines | 83.19% | 391/470 |
Test suite run success
319 tests passing in 13 suites.
Report generated by 🧪jest coverage report action from cd0ca53
Contributor
Coverage report for
|
St.❔ |
Category | Percentage | Covered / Total |
|---|---|---|---|
| 🔴 | Statements | 8.81% (-0.04% 🔻) |
1859/21103 |
| 🔴 | Branches | 8% (-0.05% 🔻) |
1187/14835 |
| 🔴 | Functions | 5.19% (-0.02% 🔻) |
297/5727 |
| 🔴 | Lines | 8.55% (-0.04% 🔻) |
1750/20477 |
Show new covered files 🐣
St.❔ |
File | Statements | Branches | Functions | Lines |
|---|---|---|---|---|---|
| 🔴 | ... / ProjectAdminDataPage.tsx |
0% | 0% | 0% | 0% |
| 🔴 | ... / SharedFolderPermissionInfoModalV2.tsx |
0% | 0% | 0% | 0% |
| 🔴 | ... / VFolderNodeIdenticonV2.tsx |
0% | 100% | 0% | 0% |
| 🔴 | ... / VFolderPermissionCellV2.tsx |
0% | 0% | 0% | 0% |
Test suite run success
865 tests passing in 40 suites.
Report generated by 🧪jest coverage report action from cd0ca53
agatha197
previously requested changes
Apr 24, 2026
Contributor
agatha197
left a comment
There was a problem hiding this comment.
please update pr description
Contributor
There was a problem hiding this comment.
Pull request overview
Introduces a new Project Admin Data page/route in the WebUI to manage project-owned virtual folders, alongside ongoing VFolder “V2” (Strawberry) integration work (new fragments/components and a new project-scoped creation mutation).
Changes:
- Added
/project-dataroute + menu entry, and implementedProjectAdminDataPage(V2-backed vfolder listing/actions + project-folder creation flow). - Updated VFolder listing pages to use the non-V2 components/modals (and adjusted fragment spreads accordingly).
- Extended GraphQL schema/client to support creating project-owned vfolders via a new
createVFolderInProjectmutation and supporting input type; added supporting V2 UI fragments/components.
Reviewed changes
Copilot reviewed 37 out of 37 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| resources/i18n/de.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/el.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/en.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/es.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/fi.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/fr.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/id.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/it.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/ja.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/ko.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/mn.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/ms.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/pl.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/pt-BR.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/pt.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/ru.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/th.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/tr.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/vi.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/zh-CN.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| resources/i18n/zh-TW.json | Adds localized alert message for the Project Admin Data page folder-create modal. |
| react/src/routes.tsx | Registers new lazy-loaded ProjectAdminDataPage route at /project-data. |
| react/src/pages/VFolderNodeListPage.tsx | Switches back to non-V2 vfolder nodes/modals and adjusts fragment spreads/UI actions accordingly. |
| react/src/pages/AdminVFolderNodeListPage.tsx | Switches back to non-V2 vfolder nodes/modals and adjusts fragment spreads/UI actions accordingly. |
| react/src/pages/ProjectAdminDataPage.tsx | New page: V2 project vfolder listing with filters, actions, and project-folder creation modal with alert banner. |
| react/src/hooks/useWebUIMenuItems.tsx | Adds “project-data” to menu key sets and injects /project-data menu item under admin operations. |
| react/src/components/VFolderNodesV2.tsx | Migrates VFolderNodesV2 fragment/columns to V2 VFolder shape and adds new V2 helper components/modals. |
| react/src/components/VFolderPermissionCellV2.tsx | New V2 mount-permission cell based on VFolder.accessControl.permission. |
| react/src/components/VFolderNodeIdenticonV2.tsx | New V2 identicon renderer for VFolder IDs. |
| react/src/components/SharedFolderPermissionInfoModalV2.tsx | New V2 shared-folder permission info modal for VFolder. |
| react/src/components/RestoreVFolderModalV2.tsx | Updates fragment fields from legacy name to V2 metadata.name. |
| react/src/components/FolderCreateModalV2.tsx | Adds project-scoped creation flow + folderType="project" variant + alert banner support. |
| react/src/components/DeleteVFolderModalV2.tsx | Updates fragment fields from legacy name to V2 metadata.name and removes legacy permission filtering. |
| react/src/components/DeleteForeverVFolderModalV2.tsx | Updates fragment fields from legacy name to V2 metadata.name. |
| packages/backend.ai-ui/src/components/fragments/index.ts | Re-exports new BAIVFolderDeleteButtonV2. |
| packages/backend.ai-ui/src/components/fragments/BAIVFolderDeleteButtonV2.tsx | New delete button fragment/component for V2 VFolder. |
| data/schema.graphql | Adds CreateVFolderInScopeInput and createVFolderInProject mutation; adds RBAC enum value. |
5ac60d3 to
f6610e9
Compare
bcfe011 to
84a12e2
Compare
f6610e9 to
824d4b3
Compare
0c2b58e to
b7d1711
Compare
058f802 to
9c45759
Compare
87a3ba7 to
19f1bad
Compare
0f3fbf4 to
c84cd7c
Compare
b9895f4 to
c06993e
Compare
91a0feb to
025ecbb
Compare
c06993e to
0162303
Compare
025ecbb to
dabf732
Compare
0162303 to
0381546
Compare
dabf732 to
7a91a43
Compare
2ab8da8 to
fd60446
Compare
2af4049 to
f1aff6a
Compare
bbab28e to
497ad1e
Compare
Merge activity
|
Resolves #6956 (FR-2696) ## Summary Adds a new **Project Admin Data** page at `/project-data` for project admins to manage project-owned virtual folders, and lays down the V2 (Strawberry `VFolder`) component foundation required for the follow-up page migrations in FR-2573. ## Changes ### New page — `/project-data` - `ProjectAdminDataPage.tsx` — V2-backed listing using the new `projectVfolders` Strawberry query, with search/filter/sort, active/trash tabs with live counts, and a project-scoped creation flow. - `useWebUIMenuItems` + `routes.tsx` — registers the `project-data` menu item (admin scope) and a lazy-loaded route. ### Project-scoped folder creation - `FolderCreateModalV2` — adds `folderType='project'` variant, shared-banner support, and a new project-only mutation path (`createVFolderInProject`) that maps form values to the `VFolderUsageMode` / `VFolderMountPermission` enums. - `schema.graphql` — adds `CreateVFolderInScopeInput` input and `createVFolderInProject` mutation. - Adds `data.folders.ProjectFolderAlertMessage` i18n key for the modal's warning banner (22 locales). ### V2 fragment foundation (for FR-2573 follow-ups) - **Migrated to V2 `VFolder` fragment:** `VFolderNodesV2`, `DeleteVFolderModalV2`, `DeleteForeverVFolderModalV2`, `RestoreVFolderModalV2` — swapped legacy `name`/`permission` paths to `metadata.name` / `accessControl.permission`. - **New V2 sub-components:** `VFolderNodeIdenticonV2`, `VFolderPermissionCellV2`, `SharedFolderPermissionInfoModalV2`, `BAIVFolderDeleteButtonV2`. ### Temporary V1 compatibility - `VFolderNodeListPage` and `AdminVFolderNodeListPage` are temporarily switched back to the non-V2 `VFolderNodes` / modals so this PR stays compile-isolated. The page-level V2 migration (`myVfolders` / `adminVfoldersV2`) lands in the FR-2573 follow-up stacked on top of this PR. ## Checklist - [ ] Documentation - [ ] Minimum required manager version — manager must expose `projectVfolders` + `createVFolderInProject` (RBAC `VFOLDER_ADMIN`) - [ ] Specific setting for review — log in as a project admin (not super/domain admin) to see the `/project-data` menu - [ ] Minimum requirements to check during review — create/delete/restore/permanent-delete a project folder; verify Active/Trash counts update - [ ] Test case(s) — manual: create → move to trash → restore → permanent delete flow on `/project-data`
f1aff6a to
687147d
Compare
497ad1e to
cd0ca53
Compare
Base automatically changed from
04-23-feat_fr-2691_relocate__data_header_panels_dashboard_host-capacity_cell
to
main
April 30, 2026 03:13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Resolves #6956 (FR-2696)
Summary
Adds a new Project Admin Data page at
/project-datafor project admins to manage project-owned virtual folders, and lays down the V2 (StrawberryVFolder) component foundation required for the follow-up page migrations in FR-2573.Changes
New page —
/project-dataProjectAdminDataPage.tsx— V2-backed listing using the newprojectVfoldersStrawberry query, with search/filter/sort, active/trash tabs with live counts, and a project-scoped creation flow.useWebUIMenuItems+routes.tsx— registers theproject-datamenu item (admin scope) and a lazy-loaded route.Project-scoped folder creation
FolderCreateModalV2— addsfolderType='project'variant, shared-banner support, and a new project-only mutation path (createVFolderInProject) that maps form values to theVFolderUsageMode/VFolderMountPermissionenums.schema.graphql— addsCreateVFolderInScopeInputinput andcreateVFolderInProjectmutation.data.folders.ProjectFolderAlertMessagei18n key for the modal's warning banner (22 locales).V2 fragment foundation (for FR-2573 follow-ups)
VFolderfragment:VFolderNodesV2,DeleteVFolderModalV2,DeleteForeverVFolderModalV2,RestoreVFolderModalV2— swapped legacyname/permissionpaths tometadata.name/accessControl.permission.VFolderNodeIdenticonV2,VFolderPermissionCellV2,SharedFolderPermissionInfoModalV2,BAIVFolderDeleteButtonV2.Temporary V1 compatibility
VFolderNodeListPageandAdminVFolderNodeListPageare temporarily switched back to the non-V2VFolderNodes/ modals so this PR stays compile-isolated. The page-level V2 migration (myVfolders/adminVfoldersV2) lands in the FR-2573 follow-up stacked on top of this PR.Checklist
projectVfolders+createVFolderInProject(RBACVFOLDER_ADMIN)/project-datamenu/project-data