[cuebot/cuegui] Feature add layer dispatchorder control#2354
[cuebot/cuegui] Feature add layer dispatchorder control#2354tifilipebr wants to merge 12 commits into
Conversation
…2034) ASWF created a discussion group to come up with a process to release binaries. While this effort is ongoing, we were advised to avoid publishing binaries on github when possible.
- Allow multi selection
Signed-off-by: Alexis Oblet <alexis@theyard-vfx.com>
Signed-off-by: Alexis Oblet <aoblet@users.noreply.github.com>
- remove unused `reorder_dispatch_action` variable ref: https://github.com/AcademySoftwareFoundation/OpenCue/actions/runs/23460615965/job/68261240038?pr=2226
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughAdds SetDispatchOrder end-to-end: proto messages and RPC, ManageLayer gRPC handler, JobManager API and service implementation, LayerDao JDBC persistence with validation, pycue wrapper, cuegui menu action, and version bump to 1.26. ChangesLayer Dispatch Order Feature
Sequence DiagramsequenceDiagram
participant Client as pycue / cuegui Client
participant ManageLayer as ManageLayer (cuebot servant)
participant JobManagerService as JobManagerService
participant LayerDaoJdbc as LayerDaoJdbc
participant Database as DB
Client->>ManageLayer: SetDispatchOrder(Request{layer, order})
ManageLayer->>ManageLayer: getLayer() / attemptChange()
ManageLayer->>JobManagerService: setLayerDispatchOrder(layer, order)
JobManagerService->>LayerDaoJdbc: updateLayerDispatchOrder(layer, order)
LayerDaoJdbc->>LayerDaoJdbc: validate order > 0
LayerDaoJdbc->>DB: UPDATE layer SET int_dispatch_order=?
LayerDaoJdbc-->>JobManagerService: result
JobManagerService-->>ManageLayer: ack
ManageLayer-->>Client: LayerSetDispatchOrderResponse
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@cuebot/src/main/java/com/imageworks/spcue/dao/postgres/LayerDaoJdbc.java`:
- Around line 319-321: The validation in LayerDaoJdbc currently checks "if (val
< 0)" but the exception message says "must be positive," which is inconsistent;
update the check to "if (val <= 0)" so that the code enforces a strictly
positive dispatch order (keep the existing message), referencing the same val
variable in LayerDaoJdbc where the current check is performed.
In `@cuegui/cuegui/MenuActions.py`:
- Line 1093: The else branch sets title = "Reorder layer %s" % layer.data.name
but `layer` is undefined for the single-layer case; mirror the approach used in
the reorder method by assigning the first selected layer to a local variable
(e.g., __layer = layers[0]) and use __layer.data.name when building the title so
the single-layer path references a defined symbol (adjust in the method that
builds the title where `layer` is currently used).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: eb71a675-0162-4c46-897d-fea46dcef981
📒 Files selected for processing (10)
VERSION.incuebot/src/main/java/com/imageworks/spcue/dao/LayerDao.javacuebot/src/main/java/com/imageworks/spcue/dao/postgres/LayerDaoJdbc.javacuebot/src/main/java/com/imageworks/spcue/servant/ManageLayer.javacuebot/src/main/java/com/imageworks/spcue/service/JobManager.javacuebot/src/main/java/com/imageworks/spcue/service/JobManagerService.javacuegui/cuegui/LayerMonitorTree.pycuegui/cuegui/MenuActions.pyproto/src/job.protopycue/opencue/wrappers/layer.py
There was a problem hiding this comment.
♻️ Duplicate comments (1)
cuegui/cuegui/MenuActions.py (1)
1093-1095:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFix undefined variable in single-layer reorder title (Line 1094).
layeris undefined in the single-layer branch, causing a runtimeNameErrorwhen this action is used with one selected layer.🐛 Proposed fix
- else: - title = "Reorder layer %s" % layer.data.name + else: + __layer = layers[0] + title = "Reorder layer %s" % __layer.data.name🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@cuegui/cuegui/MenuActions.py` around lines 1093 - 1095, The single-layer branch assigns title using an undefined variable "layer", causing a NameError; change that assignment to reference the actual selected-layer variable (e.g., use layers[0].data.name or the existing selected_layers/selectedLayer variable used elsewhere) so the line becomes something like title = "Reorder layer %s" % layers[0].data.name, ensuring you reference the same list/name used in the surrounding code where multiple layers are handled.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Duplicate comments:
In `@cuegui/cuegui/MenuActions.py`:
- Around line 1093-1095: The single-layer branch assigns title using an
undefined variable "layer", causing a NameError; change that assignment to
reference the actual selected-layer variable (e.g., use layers[0].data.name or
the existing selected_layers/selectedLayer variable used elsewhere) so the line
becomes something like title = "Reorder layer %s" % layers[0].data.name,
ensuring you reference the same list/name used in the surrounding code where
multiple layers are handled.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 7b8fe33c-515e-4d79-adef-8688c44021bb
📒 Files selected for processing (6)
VERSION.incuebot/src/main/java/com/imageworks/spcue/dao/postgres/LayerDaoJdbc.javacuegui/cuegui/LayerMonitorTree.pycuegui/cuegui/MenuActions.pyproto/src/job.protopycue/opencue/wrappers/layer.py
✅ Files skipped from review due to trivial changes (1)
- VERSION.in
|
Thanks, @tifilipebr. Please review and address the feedback from CodeRabbitAI first. Once all comments have been resolved, please mark them as Resolved. When your PR is ready for final review, just leave a comment in this PR and tag: @ramonfigueiredo We’ll review it and approve it as soon as possible. |
|
@ramonfigueiredo |
|
@DiegoTavares FYI |
Signed-off-by: Filipe Lacerda <53842848+tifilipebr@users.noreply.github.com>
This PR just complement it: #222
Summary by CodeRabbit
New Features
Chores