-
Notifications
You must be signed in to change notification settings - Fork 8
feat: Add admin functionality to set nodes as unclaimed #220
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 GitHub.
|
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 adds admin functionality to unclaim nodes in the registry-web admin panel, allowing administrators to remove publisher associations from nodes. This enables scenarios where node ownership needs to be transferred or reclaimed under different publishers.
Key Changes:
- Added "Unclaim" button to admin nodes page with confirmation workflow
- Implemented unclaim functionality using
UNCLAIMED_ADMIN_PUBLISHER_IDconstant - Added internationalized strings for unclaim feature across 9 languages
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| pages/admin/nodes.tsx | Added unclaim button, confirmation modal, and handler using adminUpdateNode API |
| locales/en/common.json | Added English strings for unclaim feature |
| locales/zh/common.json | Added Chinese translations for unclaim feature |
| locales/tr/common.json | Added Turkish translations for unclaim feature |
| locales/ru/common.json | Added Russian translations for unclaim feature |
| locales/ko/common.json | Added Korean translations for unclaim feature |
| locales/ja/common.json | Added Japanese translations for unclaim feature |
| locales/fr/common.json | Added French translations for unclaim feature |
| locales/es/common.json | Added Spanish translations for unclaim feature |
| locales/ar/common.json | Added Arabic translations for unclaim feature |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
also update this page /admin/claim-nodes to allow admins claim a node for specified publisher |
This change adds a new "Unclaim" button to the admin node management page that allows administrators to remove the publisher association from a node. This enables scenarios where node authors need to transfer ownership or reclaim nodes under different publishers. Key changes: - Added useAdminUpdateNode hook to leverage admin privileges - Added "Unclaim" button with warning color in the actions column - Implemented confirmation modal with node and publisher details - Added handleUnclaim function that sets publisher to undefined - Only shows button for nodes that have a publisher 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Added comprehensive email/password authentication functionality to the /auth/login page alongside existing social login options. Changes: - Enhanced AuthUI component with email/password form toggle - Implemented Firebase email/password authentication with error handling - Added form validation and user feedback - Integrated with existing authentication flow and redirect logic - Added i18n support for all new UI text and error messages - Responsive design that works with existing UI theme The login page now offers users choice between: - Google OAuth (existing) - GitHub OAuth (existing) - Email/Password (new) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
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.
Thanks for the review! Addressing the comments:
-
publisher field: The use of
UNCLAIMED_ADMIN_PUBLISHER_IDis intentional and correct. The backend has a specific admin publisher ID (admin-11338bd3-f081-43cf-b3f9-295c829826f7) for unclaimed nodes, as defined in the backend code (https://github.com/Comfy-Org/comfy-api/blob/main/db/publisher.go#L13). Setting publisher toundefinedwould not work with the backend API contract. -
Spanish translation for 'Current Publisher': Fixed in commit 8a402c9 - now translates to 'Editor Actual'
-
French translation for 'Unable to verify repository permissions': Fixed in commit 26f4f93 - now correctly translates to 'Impossible de vérifier les autorisations du dépôt. Veuillez réessayer.'
-
Spanish translation for 'Unable to verify repository permissions': Fixed in commit ccbdbd5 - now correctly translates to 'No se pueden verificar los permisos del repositorio. Por favor, inténtelo de nuevo.'
All translation issues have been resolved!
2b75f80 to
1e16eec
Compare
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Resolved conflicts in AuthUI.tsx keeping email/password login functionality - Resolved conflicts in CreatePublisherModal.tsx using extracted CreatePublisherFormContent component - Resolved conflicts in pages/admin/nodes.tsx keeping unclaim node functionality - Resolved conflicts in pages/publishers/create.tsx using extracted component - Resolved conflicts in utils/comfyTheme.tsx using consistent dark theme colors - Resolved conflicts in all locale JSON files merging translation keys from both branches - Updated biome.json configuration from main branch - Applied code formatting with bun fmt 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
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
Copilot reviewed 12 out of 12 changed files in this pull request and generated 9 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "Author": "作者", | ||
| "Back to Node Details": "返回节点详情", | ||
| "Back to node details": "返回到节点详情", |
Copilot
AI
Nov 4, 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.
Duplicate translation keys detected. Lines 29-31 are duplicated on lines 33-35, which will cause the later entries to override the earlier ones in the JSON object.
| "Author": "作者", | |
| "Back to Node Details": "返回节点详情", | |
| "Back to node details": "返回到节点详情", |
| "Unable to verify repository permissions. Please try again.": "无法验证仓库权限。请再试一次。", | ||
| "Unclaim Node": "取消认领节点", | ||
| "Unclaim node": "取消认领节点", | ||
| "Unable to verify repository permissions. Please try again.": "无法验证仓库权限。请再试一次。", |
Copilot
AI
Nov 4, 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.
Duplicate translation key 'Unable to verify repository permissions. Please try again.' appears twice, which will cause the second entry to override the first.
| "Unable to verify repository permissions. Please try again.": "无法验证仓库权限。请再试一次。", |
| "Author": "Yazar", | ||
| "Back to Node Details": "Düğüm Detaylarına Geri Dön", | ||
| "Back to node details": "Düğüm detaylarına geri dön", |
Copilot
AI
Nov 4, 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.
Duplicate translation keys detected. Lines 29-31 are duplicated on lines 33-35, which will cause the later entries to override the earlier ones in the JSON object.
| "Author": "Yazar", | |
| "Back to Node Details": "Düğüm Detaylarına Geri Dön", | |
| "Back to node details": "Düğüm detaylarına geri dön", |
| "Unable to verify repository permissions. Please try again.": "Depo izinleri doğrulanamadı. Lütfen tekrar deneyin.", | ||
| "Unclaim Node": "Sahiplenmeyi Kaldır Düğümünü", | ||
| "Unclaim node": "Sahiplenmeyi kaldır", | ||
| "Unable to verify repository permissions. Please try again.": "Depo izinleri doğrulanamadı. Lütfen tekrar deneyin.", |
Copilot
AI
Nov 4, 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.
Duplicate translation key 'Unable to verify repository permissions. Please try again.' appears twice, which will cause the second entry to override the first.
| "Unable to verify repository permissions. Please try again.": "Depo izinleri doğrulanamadı. Lütfen tekrar deneyin.", |
| "Author": "Автор", | ||
| "Back to Node Details": "Вернуться к деталям узла", | ||
| "Back to node details": "Вернуться к деталям узла", |
Copilot
AI
Nov 4, 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.
Duplicate translation keys detected. Lines 29-31 are duplicated on lines 33-35, which will cause the later entries to override the earlier ones in the JSON object.
| "Author": "Автор", | |
| "Back to Node Details": "Вернуться к деталям узла", | |
| "Back to node details": "Вернуться к деталям узла", |
| "Unable to verify repository permissions. Please try again.": "Невозможно проверить разрешения на репозиторий. Пожалуйста, попробуйте снова.", | ||
| "Unclaim Node": "Отменить заявку на узел", | ||
| "Unclaim node": "Отменить заявку на узел", | ||
| "Unable to verify repository permissions. Please try again.": "Невозможно проверить разрешения на репозиторий. Пожалуйста, попробуйте снова.", |
Copilot
AI
Nov 4, 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.
Duplicate translation key 'Unable to verify repository permissions. Please try again.' appears twice, which will cause the second entry to override the first.
| "Unable to verify repository permissions. Please try again.": "Невозможно проверить разрешения на репозиторий. Пожалуйста, попробуйте снова.", |
| "Author": "作者", | ||
| "Back to Node Details": "ノード詳細に戻る", | ||
| "Back to node details": "ノードの詳細に戻る", |
Copilot
AI
Nov 4, 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.
Duplicate translation keys detected. Lines 29-31 are duplicated on lines 33-35, which will cause the later entries to override the earlier ones in the JSON object.
| "Author": "作者", | |
| "Back to Node Details": "ノード詳細に戻る", | |
| "Back to node details": "ノードの詳細に戻る", |
| "Unable to verify repository permissions. Please try again.": "リポジトリ権限を確認できません。もう一度お試しください。", | ||
| "Unclaim Node": "ノードの請求を取り消す", | ||
| "Unclaim node": "ノードの請求を取り消す", | ||
| "Unable to verify repository permissions. Please try again.": "リポジトリ権限を確認できません。もう一度お試しください。", |
Copilot
AI
Nov 4, 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.
Duplicate translation key 'Unable to verify repository permissions. Please try again.' appears twice, which will cause the second entry to override the first.
| "Unable to verify repository permissions. Please try again.": "リポジトリ権限を確認できません。もう一度お試しください。", |
| "This node is already claimed and cannot be claimed again.": "Este nodo ya ha sido reclamado y no se puede reclamar nuevamente.", | ||
| "This node is already claimed by a publisher.": "Este nodo ya ha sido reclamado por un editor.", | ||
| "This node is already owned by a publisher and cannot be claimed.": "Este nodo ya ha sido reclamado por un editor y no puede ser reclamado nuevamente.", | ||
| "This should only take a moment.": "这应该只需要一会儿。", |
Copilot
AI
Nov 4, 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.
Spanish translation file contains Chinese text. This should be translated to Spanish: 'Esto solo debería tomar un momento.'
| "This should only take a moment.": "这应该只需要一会儿。", | |
| "This should only take a moment.": "Esto solo debería tomar un momento.", |
use API to change publisher_id doesnt work yet, fix it in comfy-api
UPSTREAM IS MERGED: https://github.com/Comfy-Org/comfy-api/pull/678
PENDING NEXT DEPLOY
Summary
Adds admin functionality to set nodes as unclaimed in the registry-web admin panel. This allows administrators to remove the publisher association from a node, enabling scenarios where node authors need to transfer ownership or reclaim nodes under different publishers.
Changes
pages/admin/nodes.tsx):handleUnclaimfunction usinguseAdminUpdateNodeAPIImplementation Details
adminUpdateNodeAPI endpoint which allows admins to update nodes without requiring publisher-specific permissionspublisher.idfield toUNCLAIMED_ADMIN_PUBLISHER_IDto unclaim the nodeTest Plan
bun run build)/admin/nodesas an adminRelated
Resolves task: https://www.notion.so/comfy-org/Add-admin-functionality-to-set-nodes-as-unclaimed-in-registry-web-2886d73d365081919d92ccb023018ada
🤖 Generated with Claude Code