Conversation
|
[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 |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughUpdated Vuetify dependency to 4.0.0 and adjusted many frontend templates and a few filter method signatures to read item properties directly (item.) instead of item.raw.; several import paths for Vuetify color utilities and multiple typography class renames were also applied. No behavioral/control-flow changes beyond signature adjustments noted. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). 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
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
frontend/package.json (1)
109-109:⚠️ Potential issue | 🟠 MajorVerify vite-plugin-vuetify ^2.0.4 compatibility with Vuetify 4.
The latest published version of
vite-plugin-vuetifyis2.1.3, which declaresvuetify: ">=3"as a peer dependency. While this semver range technically permits Vuetify 4.x, it is not an explicit guarantee of compatibility. The plugin was designed for Vuetify 3 (initial releases declaredvuetify: "^3.0.0"), and there is no evidence of deliberate Vuetify 4 testing or validation. If Vuetify 4's internal structure—particularly component registration, auto-import paths, or Sass exports—differs from Vuetify 3, the tree-shaking transform and style injection will fail at build time. Either confirm compatibility with Vuetify 4 through manual testing or upgrade to a version with explicit Vuetify 4 support.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@frontend/package.json` at line 109, The dependency entry "vite-plugin-vuetify": "^2.0.4" may not be explicitly compatible with Vuetify 4; either verify compatibility by testing the app build/run with Vuetify 4 (run dev/build, exercise components that rely on auto-imports and styles to ensure tree-shaking and style injection work) or upgrade the dependency to a release that declares Vuetify 4 support (e.g., bump "vite-plugin-vuetify" to a known compatible release such as ^2.1.3), then reinstall (npm/yarn/pnpm), rebuild, and re-run tests; also check the plugin changelog and package peerDependencies to confirm compatibility before merging.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@frontend/package.json`:
- Line 81: The package.json change bumps "vuetify" to "^4.0.0" but the project's
"vite-plugin-vuetify" is still on the 2.x line (incompatible), so revert the
Vuetify bump: change the "vuetify" dependency back to the compatible 3.x range
(e.g., "^3.x") and keep the existing "vite-plugin-vuetify" until a
4.x-compatible plugin is released; also add a short comment in package.json or
PR description referencing "vite-plugin-vuetify" and that upgrading to Vuetify 4
requires a plugin release plus code changes to components/composables (useTheme,
color utils, SCSS vars) and full testing before re-attempting the upgrade.
- Line 81: Replace the deep import path "vuetify/lib/util/colors" with the
public API "vuetify/util/colors" in the three modules that currently use the
deep import: update the import statement in src/plugins/vuetify.js (where colors
are imported for theme setup), in src/composables/useShootSubscription.js (the
import at the top that pulls colors), and in src/composables/useCustomColors.js
(the import around line 13); keep the rest of the import names the same so usage
(e.g., color constants or functions referenced in those files) continues to work
and run the build to confirm no other deep imports remain.
---
Outside diff comments:
In `@frontend/package.json`:
- Line 109: The dependency entry "vite-plugin-vuetify": "^2.0.4" may not be
explicitly compatible with Vuetify 4; either verify compatibility by testing the
app build/run with Vuetify 4 (run dev/build, exercise components that rely on
auto-imports and styles to ensure tree-shaking and style injection work) or
upgrade the dependency to a release that declares Vuetify 4 support (e.g., bump
"vite-plugin-vuetify" to a known compatible release such as ^2.1.3), then
reinstall (npm/yarn/pnpm), rebuild, and re-run tests; also check the plugin
changelog and package peerDependencies to confirm compatibility before merging.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
.yarn/cache/vuetify-npm-4.0.0-ef6e708af3-86bf2449a8.zipis excluded by!**/.yarn/**,!**/*.zipyarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (2)
.pnp.cjsfrontend/package.json
5d8b3b6 to
7552291
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (2)
frontend/package.json (2)
81-81:⚠️ Potential issue | 🟡 MinorReplace
vuetify/lib/util/colorsdeep imports with the public API path.The three usages of
vuetify/lib/util/colorsinsrc/plugins/vuetify.js,src/composables/useShootSubscription.js, andsrc/composables/useCustomColors.jsneed to be updated tovuetify/util/colorsas part of this upgrade. This was flagged in a prior review and is still unaddressed.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@frontend/package.json` at line 81, Three files import from the internal path 'vuetify/lib/util/colors' which must be switched to the public API path; update the import statements in src/plugins/vuetify.js, src/composables/useShootSubscription.js, and src/composables/useCustomColors.js to import from 'vuetify/util/colors' instead, preserving the same imported symbols (e.g. color names or utilities) and run a quick build/test to ensure no renamed exports are used.
81-81:⚠️ Potential issue | 🔴 Critical
vite-plugin-vuetify2.x remains incompatible with Vuetify 4 — this bump is blocked.This was flagged in a prior review and the blocker is still present. The latest published version of
vite-plugin-vuetifyis 2.1.2. Its peer-dependency range covers onlyvuetify: ^3.0.0, and the npmlatestdist-tag forvuetifyitself is still 3.11.6, meaning Vuetify 4.0.0 has not been promoted tolateston npm. Novite-plugin-vuetifyv3.x exists in the registry. Until a compatible plugin version is released and integrated, merging this bump will break the build.Run the script below to confirm the current state of both packages on npm before re-attempting the upgrade:
#!/bin/bash # Description: Check vuetify and vite-plugin-vuetify npm dist-tags and peer deps echo "=== vuetify dist-tags ===" curl -s https://registry.npmjs.org/vuetify | python3 -c " import json, sys data = json.load(sys.stdin) print('dist-tags:', json.dumps(data.get('dist-tags', {}), indent=2)) v4 = sorted([v for v in data.get('versions', {}).keys() if v.startswith('4.')]) print('v4 versions available:', v4[-5:] if v4 else 'None') " echo -e "\n=== vite-plugin-vuetify dist-tags and peer deps ===" curl -s https://registry.npmjs.org/vite-plugin-vuetify | python3 -c " import json, sys data = json.load(sys.stdin) print('dist-tags:', json.dumps(data.get('dist-tags', {}), indent=2)) latest = data['dist-tags'].get('latest', '') if latest: peer = data['versions'][latest].get('peerDependencies', {}) print('Latest version peer deps:', json.dumps(peer, indent=2)) all_versions = sorted(data.get('versions', {}).keys()) print('All versions:', all_versions[-10:]) "🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@frontend/package.json` at line 81, The package.json change bumped "vuetify" to "^4.0.0" while the project still depends on "vite-plugin-vuetify" which only supports Vuetify 3; revert the vuetify version to the previous working range (e.g., "^3.x" or the exact previous value) in package.json, do not remove or upgrade "vite-plugin-vuetify", and add a comment in the PR noting this is blocked until a compatible vite-plugin-vuetify (v3.x) is released; before reattempting the upgrade run the provided npm registry check script to confirm vuetify dist-tags and vite-plugin-vuetify peerDependencies match and only then update package.json.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.pnp.cjs:
- Around line 16141-16149: The project is pulling vuetify@4.0.0 which conflicts
with vite-plugin-vuetify@2.0.4's peerRange (vuetify:^3) and Vuetify 4.0.0 isn't
a stable release; update package.json to set vite-plugin-vuetify to ^2.1.3 or
later and pin vuetify to a supported stable 3.x version (e.g., ^3.0.0) OR if you
intentionally want Vuetify 4 beta, keep vite-plugin-vuetify compatible and
audit/update code for Vuetify 4 breaking changes (MD3 typography, grid, CSS
layers, theme and component API); after changing the dependency versions for
"vite-plugin-vuetify" and "vuetify" run your package manager (yarn/npm) to
regenerate the lockfile and test the app to ensure no runtime peer-dependency or
API breakages.
---
Duplicate comments:
In `@frontend/package.json`:
- Line 81: Three files import from the internal path 'vuetify/lib/util/colors'
which must be switched to the public API path; update the import statements in
src/plugins/vuetify.js, src/composables/useShootSubscription.js, and
src/composables/useCustomColors.js to import from 'vuetify/util/colors' instead,
preserving the same imported symbols (e.g. color names or utilities) and run a
quick build/test to ensure no renamed exports are used.
- Line 81: The package.json change bumped "vuetify" to "^4.0.0" while the
project still depends on "vite-plugin-vuetify" which only supports Vuetify 3;
revert the vuetify version to the previous working range (e.g., "^3.x" or the
exact previous value) in package.json, do not remove or upgrade
"vite-plugin-vuetify", and add a comment in the PR noting this is blocked until
a compatible vite-plugin-vuetify (v3.x) is released; before reattempting the
upgrade run the provided npm registry check script to confirm vuetify dist-tags
and vite-plugin-vuetify peerDependencies match and only then update
package.json.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
.yarn/cache/vuetify-npm-4.0.0-ef6e708af3-86bf2449a8.zipis excluded by!**/.yarn/**,!**/*.zipyarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (2)
.pnp.cjsfrontend/package.json
7552291 to
f468574
Compare
There was a problem hiding this comment.
♻️ Duplicate comments (1)
frontend/package.json (1)
81-81:⚠️ Potential issue | 🟠 MajorAlign
vite-plugin-vuetifywith the Vuetify 4 bump.
vuetifywas bumped to^4.0.0, butvite-plugin-vuetifyis still^2.0.4(Line 109). This can cause peer-dependency resolution issues for the upgrade path. Please bump the plugin to a Vuetify-4-compatible range (or defer Vuetify 4 until that is possible).Suggested package.json adjustment
"devDependencies": { @@ - "vite-plugin-vuetify": "^2.0.4", + "vite-plugin-vuetify": "^2.1.3",Run this read-only check to verify declared peer requirements against the current file:
#!/bin/bash set -euo pipefail echo "=== Local dependency versions from frontend/package.json ===" python3 - <<'PY' import json from pathlib import Path pkg = json.loads(Path("frontend/package.json").read_text()) print("vuetify:", pkg.get("dependencies", {}).get("vuetify")) print("vite-plugin-vuetify:", pkg.get("devDependencies", {}).get("vite-plugin-vuetify")) PY echo echo "=== Registry peerDependencies ===" python3 - <<'PY' import json, urllib.request def fetch(url): with urllib.request.urlopen(url) as r: return json.load(r) vu = fetch("https://registry.npmjs.org/vuetify/4.0.0") vp = fetch("https://registry.npmjs.org/vite-plugin-vuetify/2.0.4") print("vuetify@4.0.0 peerDependencies:", vu.get("peerDependencies")) print("vite-plugin-vuetify@2.0.4 peerDependencies:", vp.get("peerDependencies")) PYExpected outcome: if Vuetify 4 requires a higher plugin version than
2.0.4, the current manifest is mismatched.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@frontend/package.json` at line 81, The devDependency vite-plugin-vuetify is still pinned to an older range that conflicts with the bumped dependency vuetify:^4.0.0; update the vite-plugin-vuetify entry in package.json (devDependencies) to a Vuetify‑4 compatible range (or revert the vuetify bump) so peerDependencies align—change the "vite-plugin-vuetify" version to a release that declares support for Vuetify 4 (or remove the vuetify 4 bump) and run your package installer to verify no peer-dependency warnings.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@frontend/package.json`:
- Line 81: The devDependency vite-plugin-vuetify is still pinned to an older
range that conflicts with the bumped dependency vuetify:^4.0.0; update the
vite-plugin-vuetify entry in package.json (devDependencies) to a Vuetify‑4
compatible range (or revert the vuetify bump) so peerDependencies align—change
the "vite-plugin-vuetify" version to a release that declares support for Vuetify
4 (or remove the vuetify 4 bump) and run your package installer to verify no
peer-dependency warnings.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
.yarn/cache/vuetify-npm-4.0.0-ef6e708af3-86bf2449a8.zipis excluded by!**/.yarn/**,!**/*.zipyarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (2)
.pnp.cjsfrontend/package.json
✅ Files skipped from review due to trivial changes (1)
- .pnp.cjs
There was a problem hiding this comment.
🧹 Nitpick comments (2)
frontend/src/components/ShootWorkers/GMachineType.vue (1)
129-133: Defensively normalize thecustomFilterthird argument before.rawaccess.Per Vuetify 4's
v-autocompleteAPI, thecustom-filtercallback receives an optionalInternalItemas its third argument. The current code at line 130 directly accessesinternalItem.rawwithout guarding againstinternalItembeingundefined, which would throw a TypeError. Use optional chaining to safely handle this case.Proposed hardening patch
customFilter (_, query, internalItem) { - const item = internalItem.raw + const item = internalItem?.raw ?? internalItem if (!item) { return false }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@frontend/src/components/ShootWorkers/GMachineType.vue` around lines 129 - 133, The customFilter callback directly accesses internalItem.raw which can be undefined per Vuetify 4's v-autocomplete API; update the customFilter implementation (the customFilter function) to defensively normalize the third argument before accessing .raw (e.g., use optional chaining like internalItem?.raw or default internalItem to an empty object) and then proceed with the existing null-check and return logic so no TypeError occurs when internalItem is undefined.frontend/src/views/GCredentials.vue (1)
660-667: GuardinternalItembefore reading.rawincustomFilter.Vuetify 4's
custom-filtercallback signature defines the third parameter as optional (item?: InternalItem). The current code dereferences.rawimmediately without checking, risking a runtime error if the argument is undefined. Add a defensive guard to safely handle all callback shapes.Proposed patch
customFilter (_, query, internalItem) { - const item = internalItem.raw + const item = internalItem?.raw ?? internalItem + if (!item) { + return false + } const { credentialDetails, credential, binding, providerType, } = item🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@frontend/src/views/GCredentials.vue` around lines 660 - 667, The customFilter currently dereferences internalItem.raw unconditionally; add a defensive guard at the top of customFilter to handle the case where internalItem is undefined (or internalItem.raw is missing) — for example, if (!internalItem || !internalItem.raw) return false (or another appropriate default result) — then proceed to read const item = internalItem.raw and the existing destructuring (credentialDetails, credential, binding, providerType) so the filter never throws when Vuetify calls it with an undefined item.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@frontend/src/components/ShootWorkers/GMachineType.vue`:
- Around line 129-133: The customFilter callback directly accesses
internalItem.raw which can be undefined per Vuetify 4's v-autocomplete API;
update the customFilter implementation (the customFilter function) to
defensively normalize the third argument before accessing .raw (e.g., use
optional chaining like internalItem?.raw or default internalItem to an empty
object) and then proceed with the existing null-check and return logic so no
TypeError occurs when internalItem is undefined.
In `@frontend/src/views/GCredentials.vue`:
- Around line 660-667: The customFilter currently dereferences internalItem.raw
unconditionally; add a defensive guard at the top of customFilter to handle the
case where internalItem is undefined (or internalItem.raw is missing) — for
example, if (!internalItem || !internalItem.raw) return false (or another
appropriate default result) — then proceed to read const item = internalItem.raw
and the existing destructuring (credentialDetails, credential, binding,
providerType) so the filter never throws when Vuetify calls it with an undefined
item.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (12)
frontend/src/components/Credentials/GSelectCredential.vuefrontend/src/components/GIconPicker.vuefrontend/src/components/GTerminalSettings.vuefrontend/src/components/GWildcardSelect.vuefrontend/src/components/Members/GMemberDialog.vuefrontend/src/components/NewShoot/GNewShootDetails.vuefrontend/src/components/NewShoot/GNewShootInfrastructureDetails.vuefrontend/src/components/ShootVersion/GShootVersionUpdate.vuefrontend/src/components/ShootWorkers/GMachineImage.vuefrontend/src/components/ShootWorkers/GMachineType.vuefrontend/src/components/ShootWorkers/GVolumeType.vuefrontend/src/views/GCredentials.vue
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
- migrated css classes to Material Design 3 - manually set text-transform: uppercase globally for v-btn class to preserve look & feel
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (2)
frontend/__tests__/components/GLogin.spec.js (1)
103-103: Prefer a behavior/content assertion over a typography-class selector.This assertion is brittle against future style-token renames.
♻️ Suggested test update
- expect(wrapper.find('div.text-headline-small.text-primary').text()).toBe('Universal Kubernetes at Scale') + expect(wrapper.text()).toContain('Universal Kubernetes at Scale')🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@frontend/__tests__/components/GLogin.spec.js` at line 103, The test currently asserts using the brittle selector "div.text-headline-small.text-primary"; replace that with a content/behavior-focused assertion that checks the rendered text contains "Universal Kubernetes at Scale" (use the wrapper's text-based query or a text-finding helper instead of the typography class selector) so the spec verifies visible content rather than CSS token names.frontend/src/sass/main.scss (1)
133-135: Scope the global button uppercasing to reduce unintended side effects.Line 133 currently affects every
.v-btn. Consider making this opt-in so only legacy buttons keep forced uppercase.Proposed refactor
-.v-btn { +[data-v-app] .v-btn.g-btn-uppercase { text-transform: uppercase; }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@frontend/src/sass/main.scss` around lines 133 - 135, The global rule targeting .v-btn forces uppercase on all buttons; restrict this by turning it into an opt-in modifier class (e.g., .v-btn--legacy or .v-btn--uppercase) instead of styling .v-btn directly and update any legacy templates to add that modifier where uppercase is required; modify the SCSS selector from .v-btn { text-transform: uppercase; } to the new modifier selector and search for usages of .v-btn in templates to add the modifier class to legacy buttons only.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@frontend/src/components/dialogs/GInfoDialog.vue`:
- Around line 28-30: The title block in GInfoDialog.vue uses a span which
removes heading semantics and can affect spacing; replace the span containing
"{{ branding.productName }} Dashboard" with an appropriate heading element
(e.g., h2 or h3) so it becomes a block-level, semantic heading while keeping the
existing classes (like text-display-large and mb-1) to preserve styling and
spacing; ensure the changed element remains inside the same template location so
bindings (branding.productName) and any dialog semantics continue to work.
In `@frontend/src/components/GShootMessageDetails.vue`:
- Around line 86-92: The alert uses non-semantic <span> elements for headings
which breaks document structure for screen readers; in GShootMessageDetails.vue
replace the two <span class="text-display-medium"> and <span
class="text-headline-large wrap-text font-weight-bold"> elements with
appropriate heading tags (e.g., <h3> and <h4> or other level consistent with
surrounding markup) while preserving their class attributes and text content so
visual styling remains unchanged and semantic heading hierarchy is restored.
In `@frontend/src/views/GHome.vue`:
- Line 11: Replace the non-semantic <span> used for the section title with an
appropriate heading element (e.g., <h2>) so assistive technologies can detect
the section; retain the existing class "text-display-medium" and any other
attributes/styles from the original element so visual appearance stays the same
— update the element in GHome.vue where the title currently uses <span
class="text-display-medium">Let's get started</span> to use a heading tag while
preserving the class and content.
---
Nitpick comments:
In `@frontend/__tests__/components/GLogin.spec.js`:
- Line 103: The test currently asserts using the brittle selector
"div.text-headline-small.text-primary"; replace that with a
content/behavior-focused assertion that checks the rendered text contains
"Universal Kubernetes at Scale" (use the wrapper's text-based query or a
text-finding helper instead of the typography class selector) so the spec
verifies visible content rather than CSS token names.
In `@frontend/src/sass/main.scss`:
- Around line 133-135: The global rule targeting .v-btn forces uppercase on all
buttons; restrict this by turning it into an opt-in modifier class (e.g.,
.v-btn--legacy or .v-btn--uppercase) instead of styling .v-btn directly and
update any legacy templates to add that modifier where uppercase is required;
modify the SCSS selector from .v-btn { text-transform: uppercase; } to the new
modifier selector and search for usages of .v-btn in templates to add the
modifier class to legacy buttons only.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (53)
frontend/__tests__/components/GLogin.spec.jsfrontend/eslint.config.cjsfrontend/src/components/Credentials/GSecretDialog.vuefrontend/src/components/Credentials/GSecretDialogDelete.vuefrontend/src/components/Credentials/GSecretDialogOpenstack.vuefrontend/src/components/GBreadcrumb.vuefrontend/src/components/GGardenctlConfigExample.vuefrontend/src/components/GGardenctlInfo.vuefrontend/src/components/GGardenloginInfo.vuefrontend/src/components/GListItemContent.vuefrontend/src/components/GLoginFooter.vuefrontend/src/components/GLoginHints.vuefrontend/src/components/GLoginTeaser.vuefrontend/src/components/GMainNavigation.vuefrontend/src/components/GMainToolbar.vuefrontend/src/components/GMessage.vuefrontend/src/components/GNotReadyProjectWarning.vuefrontend/src/components/GSeedStatus.vuefrontend/src/components/GShootActionReconcileStart.vuefrontend/src/components/GShootActionRotateCredentials.vuefrontend/src/components/GShootMessageDetails.vuefrontend/src/components/GShootStatus.vuefrontend/src/components/GShootSubscriptionStatus.vuefrontend/src/components/GTableColumnSelection.vuefrontend/src/components/Members/GMemberHelpDialog.vuefrontend/src/components/NewShoot/GNewShootDetails.vuefrontend/src/components/NewShoot/GNewShootInfrastructureCard.vuefrontend/src/components/ShootAccessRestrictions/GAccessRestrictions.vuefrontend/src/components/ShootAddons/GManageAddons.vuefrontend/src/components/ShootDetails/GShootDetailsCard.vuefrontend/src/components/ShootDns/GManageDns.vuefrontend/src/components/ShootMaintenance/GMaintenanceComponents.vuefrontend/src/components/ShootMaintenance/GMaintenanceTime.vuefrontend/src/components/ShootMaintenance/GShootActionMaintenanceStart.vuefrontend/src/components/ShootWorkers/GWorkerGroup.vuefrontend/src/components/dialogs/GInfoDialog.vuefrontend/src/components/editable/GEditableText.vuefrontend/src/components/floating/GPopover.vuefrontend/src/composables/useCustomColors.jsfrontend/src/composables/useShootSubscription.jsfrontend/src/layouts/GLogin.vuefrontend/src/plugins/vuetify.jsfrontend/src/sass/main.scssfrontend/src/utils/index.jsfrontend/src/views/GAccount.vuefrontend/src/views/GAdministration.vuefrontend/src/views/GCredentials.vuefrontend/src/views/GHome.vuefrontend/src/views/GMembers.vuefrontend/src/views/GSeedList.vuefrontend/src/views/GSettings.vuefrontend/src/views/GShootItemLoading.vuefrontend/src/views/GShootList.vue
✅ Files skipped from review due to trivial changes (13)
- frontend/src/components/GLoginFooter.vue
- frontend/src/components/ShootMaintenance/GMaintenanceTime.vue
- frontend/src/views/GShootList.vue
- frontend/src/components/GShootActionRotateCredentials.vue
- frontend/src/components/GMainNavigation.vue
- frontend/src/views/GAdministration.vue
- frontend/src/components/NewShoot/GNewShootInfrastructureCard.vue
- frontend/src/components/GGardenctlInfo.vue
- frontend/src/views/GMembers.vue
- frontend/src/components/GMessage.vue
- frontend/src/components/Credentials/GSecretDialogDelete.vue
- frontend/src/components/GGardenctlConfigExample.vue
- frontend/src/components/ShootWorkers/GWorkerGroup.vue
🚧 Files skipped from review as they are similar to previous changes (1)
- frontend/src/components/NewShoot/GNewShootDetails.vue
|
PR needs rebase. 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. |
This PR contains the following updates:
^3.7.5→^4.0.0Release Notes
vuetifyjs/vuetify (vuetify)
v4.0.0Compare Source
v4.0.0 (Revisionist)
Welcome to the v4.0.0 release of Vuetify!
Supporting Vuetify
Vuetify is an open source MIT project that has been made possible due to the generous contributions by sponsors and backers. If your business depend on Vuetify, please consider joining sponsors and backers on various platforms to help support ongoing development and new features.
❗️ Important Links
💯 Release notes
🚀 Features
badgeprop +dot-sizefor VBadge (#22496) (cc9f417)menu-elevationprop (4605987)<img>(#22439) (71e01aa), closes #18860 #18907indent-detailsprop (#21265) (f483092), closes #16679multi-lineprop (#22212) (1371aba), closes #15996🔧 Bug Fixes
🔬 Code Refactoring
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.
Summary by CodeRabbit
Dependencies
Bug Fixes
Style
Tests