fix(RHOAIENG-55746): rename odh-u-spin to ai-u-spin#7362
fix(RHOAIENG-55746): rename odh-u-spin to ai-u-spin#7362jenny-s51 wants to merge 2 commits intoopendatahub-io:mainfrom
Conversation
Migrate the spin utility class to the shared ai-u-spin class from mod-arch-shared. Bump mod-arch-shared to ^1.15.4 across packages. Made-with: Cursor
Made-with: Cursor
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
📝 WalkthroughWalkthroughThis PR migrates spinner animation styling and updates CSS naming conventions. A documentation update establishes new Estimated code review effort🎯 2 (Simple) | ⏱️ ~14 minutes Security and actionable concernsDependency version bumps require verification:
CSS class namespace migration incompleteness:
Semantic naming risk:
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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 the current code and only fix it if needed.
Inline comments:
In `@packages/automl/frontend/package.json`:
- Line 116: Replace the invalid dependency version spec for mod-arch-shared in
package.json (currently "^1.15.4") with a published version (e.g., "1.10.1" or
"^1.10.1"); update the package.json entry for "mod-arch-shared" to a valid npm
release and then run your package manager (npm/pnpm/yarn) to regenerate/update
the lockfile so all workspaces resolve to the same published version.
In `@packages/gen-ai/frontend/package.json`:
- Line 105: The package.json declares mod-arch-shared@^1.15.4 while
mod-arch-shared@1.15.4 requires mod-arch-core >=1.15.4, but package.json
currently lists mod-arch-core@^1.2.0—update the dependency versions to satisfy
the peer (either bump mod-arch-core to ^1.15.4 or align mod-arch-shared to a
compatible version), then regenerate the lockfile
(packages/gen-ai/frontend/package-lock.json) by running npm install so the
lockfile no longer references mod-arch-shared@1.2.0 and the dependency graph is
consistent.
🪄 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: Repository YAML (base), Central YAML (inherited), Organization UI (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: 8cbd89b9-e0ad-4ae5-9ee9-2e9134dac984
⛔ Files ignored due to path filters (1)
packages/notebooks/upstream/workspaces/frontend/package.jsonis excluded by!**/upstream/**
📒 Files selected for processing (14)
.claude/rules/css-patternfly.mdfrontend/src/app/App.scssfrontend/src/concepts/kueue/__tests__/index.spec.tsfrontend/src/concepts/kueue/index.tsfrontend/src/concepts/modelServing/ModelStatusIcon.tsxfrontend/src/concepts/notebooks/NotebookStatusLabel.tsxfrontend/src/concepts/notebooks/StartNotebookModal.tsxfrontend/src/concepts/pipelines/content/PipelineComponentStatusIcon.tsxfrontend/src/pages/modelRegistrySettings/ModelRegistryTableRowStatus.tsxfrontend/src/pages/projects/screens/detail/notebooks/NotebookImageDisplayName.tsxpackages/automl/frontend/package.jsonpackages/autorag/frontend/package.jsonpackages/eval-hub/frontend/src/app/components/EvaluationStatusLabel.tsxpackages/gen-ai/frontend/package.json
| "lodash-es": "^4.17.15", | ||
| "mod-arch-core": "^1.6.0", | ||
| "mod-arch-shared": "^1.5.0", | ||
| "mod-arch-shared": "^1.15.4", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check the other two packages' mod-arch-shared versions to confirm consistency across the monorepo.
fd -t f 'package.json' | xargs rg -nP '"mod-arch-shared"\s*:\s*"[^"]+"'Repository: opendatahub-io/odh-dashboard
Length of output: 492
🌐 Web query:
mod-arch-shared changelog 1.6.0 through 1.15.4 breaking changes
💡 Result:
No breaking changes identified in mod-arch-shared from versions 1.6.0 through the latest available (1.10.1 as of 2026-03-04). The project uses semantic versioning with automated minor and patch releases via semantic-release. Major versions (breaking changes) require manual release and are blocked from automation; no major versions in this range. Key changes observed: - Dependency updates (e.g., lodash-es 4.17.21 -> 4.17.23, ajv 6.12.6 -> 6.14.0) - typically non-breaking. - New components added (e.g., FieldGroupHelpLabelIcon, manage columns abstraction). - Bug fixes (e.g., cross-work dependencies, theming scopes). - Release process improvements. Major architectural shift: Split from monolithic 'mod-arch-shared' to separate packages mod-arch-core, mod-arch-shared, mod-arch-kubeflow. Previously: npm install mod-arch-shared. Now: npm install mod-arch-core mod-arch-shared mod-arch-kubeflow. Update imports accordingly (e.g., core providers from mod-arch-core, components from mod-arch-shared). Review individual release notes and compare views for full details: - https://github.com/opendatahub-io/mod-arch-library/releases - opendatahub-io/mod-arch-library@1.6.0...1.8.0 - opendatahub-io/mod-arch-library@1.10.0...1.10.1 No evidence of version 1.15.4; highest found is 1.10.1. Packages published to npm as monorepo.
Citations:
- 1: https://github.com/opendatahub-io/mod-arch-library
- 2: opendatahub-io/mod-arch-library@1.6.0...1.8.0
- 3: opendatahub-io/mod-arch-library@1.10.0...1.10.1
- 4: https://github.com/opendatahub-io/mod-arch-library/releases/tag/1.10.0
- 5: https://github.com/opendatahub-io/mod-arch-library/releases/tag/1.10.1
- 6: https://github.com/opendatahub-io/mod-arch-library/releases/tag/1.8.0
- 7: https://github.com/opendatahub-io/mod-arch-library/releases/tag/1.5.0
🏁 Script executed:
#!/bin/bash
# Check if 1.15.4 is locked in package-lock.json or yarn.lock
find packages -name "package-lock.json" -o -name "yarn.lock" | head -5 | xargs -I {} sh -c 'echo "=== {} ===" && (grep -A 2 -B 2 "mod-arch-shared" {} | head -20 || echo "not found")'
# Also check root-level lock files
ls -la | grep -E "(package-lock|yarn.lock)" || echo "No lock files in root"
# Search for version 1.15.4 anywhere in the repo
rg "1\.15\.4" --type json -lRepository: opendatahub-io/odh-dashboard
Length of output: 2361
🏁 Script executed:
#!/bin/bash
# Search for release information or tags about newer versions
rg "1\.(11|12|13|14|15)" --type json | grep -E "(version|release|tag)" | head -20
# Check if there's any npm registry information or changelog in the repo
find . -name "CHANGELOG*" -o -name "releases.json" -o -name "versions.txt" 2>/dev/null | head -10
# Look for any reference to mod-arch-shared version constraints or resolution
rg "mod-arch-shared" -A 3 -B 3 packages/automl/frontend/package-lock.json | head -50Repository: opendatahub-io/odh-dashboard
Length of output: 1583
🏁 Script executed:
#!/bin/bash
# Check for npm overrides or resolution strategies in root package.json
rg -A 20 "overrides|resolutions" packages/automl/frontend/package.json || echo "No overrides found"
# Check root monorepo package.json for workspace constraints
rg -A 5 "mod-arch-shared" package.json 2>/dev/null || echo "No root reference found"
# Look for any .npmrc or similar configuration
find . -maxdepth 2 -name ".npmrc" -o -name "npm-shrinkwrap.json" 2>/dev/null | xargs cat 2>/dev/null || echo "No npm config found"
# Check actual released versions of mod-arch-shared from GitHub
# Search repo for any comments about version mismatch
rg "1\.15\.4|version.*1\.15" -B 3 -A 3 packages/automl/frontend/Repository: opendatahub-io/odh-dashboard
Length of output: 12501
Fix mod-arch-shared version specification — 1.15.4 does not exist.
The caret constraint ^1.15.4 points to a non-existent version. The latest released version is 1.10.1 (as of March 2026), with 1.11.0 available in some lock files. npm silently falls back to 1.9.1, creating a mismatch between package.json intent and actual installations. Lock files across packages (automl: 1.9.1, autorag: 1.11.0) confirm inconsistent resolution. Update to a valid version that exists on npm.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/automl/frontend/package.json` at line 116, Replace the invalid
dependency version spec for mod-arch-shared in package.json (currently
"^1.15.4") with a published version (e.g., "1.10.1" or "^1.10.1"); update the
package.json entry for "mod-arch-shared" to a valid npm release and then run
your package manager (npm/pnpm/yarn) to regenerate/update the lockfile so all
workspaces resolve to the same published version.
| "immer": "^11.1.3", | ||
| "mod-arch-core": "^1.2.0", | ||
| "mod-arch-shared": "^1.2.0", | ||
| "mod-arch-shared": "^1.15.4", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Published metadata for mod-arch-shared@1.15.4 =="
npm view mod-arch-shared@1.15.4 version peerDependencies dependencies --json
echo
echo "== Local gen-ai imports from mod-arch-shared =="
rg -n -C2 --type=ts --type=tsx "from ['\"]mod-arch-shared['\"]|import\\(['\"]mod-arch-shared['\"]\\)" packages/gen-ai/frontend/src || true
echo
echo "== Lockfile/package references to mod-arch-shared =="
fd -t f 'package-lock\.json$|npm-shrinkwrap\.json$|package\.json$' | while read -r file; do
if rg -q '"mod-arch-shared"|node_modules/mod-arch-shared' "$file"; then
echo ">>> $file"
rg -n -C2 '"mod-arch-shared"|node_modules/mod-arch-shared' "$file"
fi
done
echo
echo "== Inspect published package declarations for expected exports =="
tmpdir="$(mktemp -d)"
trap 'rm -rf "$tmpdir"' EXIT
tarball="$(npm pack --silent mod-arch-shared@1.15.4 --pack-destination "$tmpdir")"
tar -xzf "$tmpdir/$tarball" -C "$tmpdir"
rg -n -C2 \
"DashboardEmptyTableView|useCheckboxTableBase|K8sResourceCommon|ApplicationsPage|EmptyStateErrorMessage|\\bTable\\b" \
"$tmpdir/package" \
--glob '*.d.ts' \
--glob '*.ts' \
--glob '*.tsx' \
--glob '*.js' \
--glob '*.mjs' \
--glob '*.cjs' || trueRepository: opendatahub-io/odh-dashboard
Length of output: 30740
Peer dependency mismatch will cause install failure.
Line 105 declares mod-arch-shared@^1.15.4, but mod-arch-shared@1.15.4 requires mod-arch-core >=1.15.4 as a peer dependency. The file declares mod-arch-core@^1.2.0 on line 104, which does not satisfy the >=1.15.4 constraint. This incompatibility will fail during npm install/resolution. Additionally, the lockfile (packages/gen-ai/frontend/package-lock.json) still references mod-arch-shared@1.2.0, indicating the lockfile is out of sync and must be regenerated.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/gen-ai/frontend/package.json` at line 105, The package.json declares
mod-arch-shared@^1.15.4 while mod-arch-shared@1.15.4 requires mod-arch-core
>=1.15.4, but package.json currently lists mod-arch-core@^1.2.0—update the
dependency versions to satisfy the peer (either bump mod-arch-core to ^1.15.4 or
align mod-arch-shared to a compatible version), then regenerate the lockfile
(packages/gen-ai/frontend/package-lock.json) by running npm install so the
lockfile no longer references mod-arch-shared@1.2.0 and the dependency graph is
consistent.
|
@jenny-s51: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
https://issues.redhat.com/browse/RHOAIENG-55746
Description
Rename
odh-u-spin→ai-u-spinto align with the shared utility class now provided bymod-arch-shared. Bumpmod-arch-sharedto^1.15.4in packages that use the class.How Has This Been Tested?
Verified inline spinners (workbench start/stop, model serving status) on a dev cluster. Rotation animation works as before.
Test Impact
Updated existing kueue unit test for the renamed class. No new tests needed — class rename only.
Request review criteria:
Self checklist (all need to be checked):
After the PR is posted & before it merges:
mainMade with Cursor
Summary by CodeRabbit
Documentation
Style
Chores