-
Notifications
You must be signed in to change notification settings - Fork 32
✨ [Frontend] RTC: Node Lock State #8243
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
✨ [Frontend] RTC: Node Lock State #8243
Conversation
…ore into feature/node-in-use
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 Real-Time Communication (RTC) features for Node Lock State functionality in the frontend. The changes introduce a comprehensive system to track and display when nodes are being used by other users, enhancing collaboration visibility in the platform.
Key changes include:
- Addition of node lock state tracking with user group identification
- Introduction of avatar groups to show current users
- Implementation of locked page UI when nodes are in use by others
- Refactoring of iframe state management to support lock-aware display logic
Reviewed Changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
osparc/data/model/NodeLockState.js |
New model class to manage node lock state and current user tracking |
osparc/ui/message/NodeLockedPage.js |
New UI component displaying lock status and active users |
osparc/workbench/NodeUI.js |
Updated to show lock indicators and avatar groups for active users |
osparc/data/model/IframeHandler.js |
Enhanced to handle locked page display and state changes |
osparc/desktop/WorkbenchView.js |
Added centralized iframe state change handling |
osparc/ui/basic/AvatarGroup.js |
Added property to hide current user from avatar display |
osparc/ui/message/Loading.js |
Refactored to use child controls pattern for better extensibility |
osparc/data/model/NodeStatus.js |
Integrated lock state management |
osparc/data/model/Node.js |
Added lock page access and separated progress/state population |
Comments suppressed due to low confidence (1)
services/static-webserver/client/source/class/osparc/data/model/NodeLockState.js:64
- The listener is attached for event "currentUserGroupIds" but the property change event is "changeCurrentUserGroupIds". This inconsistency will prevent the listener from being triggered.
isLockedBySomeoneElse: function() {
services/static-webserver/client/source/class/osparc/ui/message/Loading.js
Show resolved
Hide resolved
services/static-webserver/client/source/class/osparc/data/model/NodeStatus.js
Outdated
Show resolved
Hide resolved
services/static-webserver/client/source/class/osparc/data/model/NodeLockState.js
Outdated
Show resolved
Hide resolved
…l/NodeLockState.js Co-authored-by: Copilot <[email protected]>
…l/NodeStatus.js Co-authored-by: Copilot <[email protected]>
…ore into feature/node-in-use
|
matusdrobuliak66
left a comment
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.
👍
sanderegg
left a comment
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.
👍
pcrespov
left a comment
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.
👀



What do these changes do?
This PR implements the frontend part of the node's
lock_statemechanism. The changes introduce a comprehensive system to track and display when nodes are being used by other users, enhancing collaboration visibility in the platform.The node's
lock_statemessage, that comes via websocket, containslockedandcurrent_user_groupidsinformation. This information is used in the following widgets:lockedand if it's the case the avatar group is shown right below it.Related issue/s
How to test
Dev-ops