-
Notifications
You must be signed in to change notification settings - Fork 9
Add admin node management dashboard at /admin/nodes #190
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
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Co-authored-by: snomiao <[email protected]>
🎨 Chromatic Visual Testing Results
Check the visual changes and approve or request changes as needed. |
🎨 Chromatic Visual Testing Results
Check the visual changes and approve or request changes as needed. |
…documentation Co-authored-by: snomiao <[email protected]>
|
set className=dark in the components you added |
🎨 Chromatic Visual Testing Results
Check the visual changes and approve or request changes as needed. |
🎨 Chromatic Visual Testing Results
Check the visual changes and approve or request changes as needed. |
|
in the admin edit modal, improve the tag input. Lets users easily add tags by selecting from predefined ones, The default tags are: dev, unsafe, fragile_deps, tricky_deps, and poor_desc, unmaintained, and more may be added in the future. Also allows adding new types of tags by input |
Co-authored-by: snomiao <[email protected]>
Added |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements a comprehensive admin node management dashboard at /admin/nodes, providing administrators with the ability to view, filter, and edit nodes within the ComfyUI Registry system.
- Complete admin interface for node management with table display and filtering capabilities
- Edit functionality for node categories and tags through a modal interface
- Search and status filtering to help administrators efficiently manage nodes
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| pages/admin/nodes.tsx | New admin node management page with table, filtering, search, and edit functionality |
| pages/admin/index.tsx | Added navigation link to the new node management dashboard |
| src/stories/components/publisher/PublisherDetail.stories.tsx | Reformatted import statements for better readability |
| locales/*/common.json | Added internationalization strings for the new node management features |
| docs/admin/nodes.md | Documentation for the implementation and usage of the admin node dashboard |
| const [editingNode, setEditingNode] = useState<Node | null>(null) | ||
| const [editFormData, setEditFormData] = useState({ tags: '', category: '' }) | ||
| const queryClient = useQueryClient() | ||
| const { data: user } = useGetUser() |
Copilot
AI
Jul 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The user variable is declared but never used in the component. Consider removing this unused import and hook call to reduce unnecessary API requests.
| const updatedNode: Node = { | ||
| ...editingNode, |
Copilot
AI
Jul 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The node update operation spreads the entire editingNode object and then overwrites specific fields. This could potentially send unintended data to the API. Consider only sending the fields that should be updated (tags and category) rather than the entire node object.
| const updatedNode: Node = { | |
| ...editingNode, | |
| const updatedNode = { |
|
|
||
| toast.success(t('Node updated successfully')) | ||
| closeEditModal() | ||
| queryClient.invalidateQueries({ queryKey: ['/nodes'] }) |
Copilot
AI
Jul 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The query invalidation uses a hardcoded query key ['/nodes'] which may not match the actual query key used by useListAllNodes. Consider using a more specific query key that matches the actual query structure to ensure proper cache invalidation.
| queryClient.invalidateQueries({ queryKey: ['/nodes'] }) | |
| queryClient.invalidateQueries({ queryKey: getAllNodesQuery.queryKey }) |
🎨 Chromatic Visual Testing Results
Check the visual changes and approve or request changes as needed. |
Improved the tag input in the admin edit modal with predefined tag selection and custom tag input functionality. Changes include:
Implemented in commit 687f1ba. |

This PR implements a comprehensive admin node management dashboard at
/admin/nodes, following the same structure and patterns as the existing/admin/nodeversionspage.Features
Node Management Table
Edit Modal
Technical Implementation
useListAllNodesfor fetching nodes anduseUpdateNodefor modificationswithAdminHOC for admin-only accessAdmin Dashboard Integration
Added a new link in the admin dashboard (
/admin) to easily navigate to the node management page.Documentation
Created comprehensive documentation at
/docs/admin/nodes.mdtracking implementation details and usage.Screenshots
Main Interface
Edit Modal
The implementation provides admins with an efficient way to manage node metadata including categories and tags, with a clean and intuitive interface that follows existing design patterns.
Fixes #189.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.