Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package agama-web-ui for openSUSE:Factory 
checked in at 2026-07-21 22:55:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/agama-web-ui (Old)
 and      /work/SRC/openSUSE:Factory/.agama-web-ui.new.24530 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "agama-web-ui"

Tue Jul 21 22:55:05 2026 rev:49 rq:1366761 version:0

Changes:
--------
--- /work/SRC/openSUSE:Factory/agama-web-ui/agama-web-ui.changes        
2026-07-17 18:47:49.729911606 +0200
+++ /work/SRC/openSUSE:Factory/.agama-web-ui.new.24530/agama-web-ui.changes     
2026-07-21 22:55:20.531329739 +0200
@@ -1,0 +2,18 @@
+Mon Jul 20 11:12:34 UTC 2026 - Imobach Gonzalez Sosa <[email protected]>
+
+- Version 23
+
+-------------------------------------------------------------------
+Fri Jul 17 08:42:50 UTC 2026 - Martin Vidner <[email protected]>
+
+- update runtime dependencies:
+  - react-router to 7.15.1, CVE-2026-53663 (bsc#1268993)
+- consequently, update call sites for stricter types of
+  generatePath, generateEncodedPath
+
+-------------------------------------------------------------------
+Thu Jul 16 15:10:34 UTC 2026 - Ancor Gonzalez Sosa <[email protected]>
+
+- Do not display the type when reusing filesystems (bsc#1271008).
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ agama.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/package/agama-web-ui.changes 
new/agama/package/agama-web-ui.changes
--- old/agama/package/agama-web-ui.changes      2026-07-16 14:18:35.000000000 
+0200
+++ new/agama/package/agama-web-ui.changes      2026-07-20 13:59:40.000000000 
+0200
@@ -1,4 +1,22 @@
 -------------------------------------------------------------------
+Mon Jul 20 11:12:34 UTC 2026 - Imobach Gonzalez Sosa <[email protected]>
+
+- Version 23
+
+-------------------------------------------------------------------
+Fri Jul 17 08:42:50 UTC 2026 - Martin Vidner <[email protected]>
+
+- update runtime dependencies:
+  - react-router to 7.15.1, CVE-2026-53663 (bsc#1268993)
+- consequently, update call sites for stricter types of
+  generatePath, generateEncodedPath
+
+-------------------------------------------------------------------
+Thu Jul 16 15:10:34 UTC 2026 - Ancor Gonzalez Sosa <[email protected]>
+
+- Do not display the type when reusing filesystems (bsc#1271008).
+
+-------------------------------------------------------------------
 Thu Jul 16  07:06:02 UTC 2026 - David Diaz <[email protected]>
 
 - Prevent the partition and logical volume forms from flickering
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/package-lock.json new/agama/package-lock.json
--- old/agama/package-lock.json 2026-07-16 14:18:35.000000000 +0200
+++ new/agama/package-lock.json 2026-07-20 13:59:40.000000000 +0200
@@ -23,7 +23,7 @@
         "radashi": "^12.7.2",
         "react": "^18.3.1",
         "react-dom": "^18.3.1",
-        "react-router": "7.14.0",
+        "react-router": "7.15.1",
         "sprintf-js": "^1.1.3",
         "stacktracey": "^2.1.8",
         "xbytes": "^1.9.1"
@@ -15917,9 +15917,9 @@
       }
     },
     "node_modules/react-router": {
-      "version": "7.14.0",
-      "resolved": 
"https://registry.npmjs.org/react-router/-/react-router-7.14.0.tgz";,
-      "integrity": 
"sha512-m/xR9N4LQLmAS0ZhkY2nkPA1N7gQ5TUVa5n8TgANuDTARbn1gt+zLPXEm7W0XDTbrQ2AJSJKhoa6yx1D8BcpxQ==",
+      "version": "7.15.1",
+      "resolved": 
"https://registry.npmjs.org/react-router/-/react-router-7.15.1.tgz";,
+      "integrity": 
"sha512-R8rl9HhgikFYoPJymnUtPXWbnDb3oget6lQnfIoupbt61aT9aOhRkDsY2XRhZRyX1Z/8a5sL74fXmFNm3NRK5A==",
       "license": "MIT",
       "dependencies": {
         "cookie": "^1.0.1",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/package.json new/agama/package.json
--- old/agama/package.json      2026-07-16 14:18:35.000000000 +0200
+++ new/agama/package.json      2026-07-20 13:59:40.000000000 +0200
@@ -108,7 +108,7 @@
     "radashi": "^12.7.2",
     "react": "^18.3.1",
     "react-dom": "^18.3.1",
-    "react-router": "7.14.0",
+    "react-router": "7.15.1",
     "sprintf-js": "^1.1.3",
     "stacktracey": "^2.1.8",
     "xbytes": "^1.9.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/agama/src/assets/styles/components/_agama-custom.scss 
new/agama/src/assets/styles/components/_agama-custom.scss
--- old/agama/src/assets/styles/components/_agama-custom.scss   2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/assets/styles/components/_agama-custom.scss   2026-07-20 
13:59:40.000000000 +0200
@@ -129,12 +129,6 @@
   font-size: inherit;
 }
 
-// FIXME: make it more generic, if possible, or even without CSS but not
-// rendering such a label if "storage instructions" are more than one
-.storage-structure:has(> li:nth-child(2)) span.action-text {
-  display: none;
-}
-
 .agm-split-info-layout-container {
   height: 100%;
   place-content: center;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/agama/src/assets/styles/components/_patternfly-overrides.scss 
new/agama/src/assets/styles/components/_patternfly-overrides.scss
--- old/agama/src/assets/styles/components/_patternfly-overrides.scss   
2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/assets/styles/components/_patternfly-overrides.scss   
2026-07-20 13:59:40.000000000 +0200
@@ -28,14 +28,6 @@
   inline-size: 50dvw;
 }
 
-.pf-v6-c-masthead__toggle button {
-  --pf-v6-c-button--LineHeight: 0;
-
-  svg {
-    font-size: var(--pf-t--global--font--size--xl);
-  }
-}
-
 .pf-v6-c-masthead {
   --pf-v6-c-masthead__logo--Width: fit-content;
   // Reduce the top and bottom padding to a small 2px to save vertical space
@@ -140,20 +132,6 @@
   --pf-v6-c-menu__item-select-icon--Color: 
var(--pf-t--global--icon--color--brand--default);
 }
 
-.pf-v6-c-nav__link {
-  --pf-v6-c-nav__link--AlignItems: center;
-  padding-inline-start: var(--pf-t--global--spacer--sm);
-  padding-inline-end: var(--pf-t--global--spacer--sm);
-
-  svg {
-    font-size: var(--pf-t--global--font--size--lg);
-  }
-}
-
-.pf-v6-c-nav__link.pf-m-current {
-  font-weight: 600;
-}
-
 .pf-v6-c-button {
   --pf-v6-c-button--BorderRadius: var(--pf-t--global--border--radius--small);
 
@@ -174,11 +152,6 @@
   --pf-v6-c-button--m-link--m-inline__icon--Color: 
var(--pf-t--global--text--color--link--default);
 }
 
-.pf-v6-c-menu-toggle.pf-m-split-button > :first-child {
-  text-decoration: none;
-  color: inherit;
-}
-
 label.pf-m-disabled + .pf-v6-c-check__description {
   color: var(--pf-v6-c-check__label--disabled--Color);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/core/SplitButton.test.tsx 
new/agama/src/components/core/SplitButton.test.tsx
--- old/agama/src/components/core/SplitButton.test.tsx  2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/core/SplitButton.test.tsx  1970-01-01 
01:00:00.000000000 +0100
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) [2025] SUSE LLC
- *
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, contact SUSE LLC.
- *
- * To contact SUSE LLC about this file by physical or electronic mail, you may
- * find current contact information at www.suse.com.
- */
-
-import React from "react";
-import { screen, waitForElementToBeRemoved, within } from 
"@testing-library/react";
-import { installerRender } from "~/test-utils";
-import SplitButton from "./SplitButton";
-import { _ } from "~/i18n";
-
-const mainOnClickFn = jest.fn();
-const secondaryOnClickFn = jest.fn();
-
-const SplitButtonTest = ({ href }: { href?: string }) => (
-  <SplitButton label="Test" toggleAriaLabel={_("More actions")} href={href} 
onClick={mainOnClickFn}>
-    <SplitButton.Item onClick={secondaryOnClickFn}>Second 
test</SplitButton.Item>
-  </SplitButton>
-);
-
-describe("SplitButton", () => {
-  it("renders two buttons if href prop is not provided: the main action button 
and the toggle button", () => {
-    installerRender(<SplitButtonTest />);
-
-    screen.getByRole("button", { name: "Test" });
-    screen.getByRole("button", { name: "More actions" });
-  });
-
-  it("renders the main action as a link and the toggle as a button when the 
'href' prop is provided", () => {
-    installerRender(<SplitButtonTest href="somewhere" />);
-
-    screen.getByRole("link", { name: "Test" });
-    screen.getByRole("button", { name: "More actions" });
-  });
-
-  it("triggers the 'onClick' function when the main action button is clicked", 
async () => {
-    const { user } = installerRender(<SplitButtonTest />);
-
-    const mainAction = screen.getByRole("button", { name: "Test" });
-    await user.click(mainAction);
-    expect(mainOnClickFn).toHaveBeenCalled();
-  });
-
-  it("allows expanding and collapsing the menu holding additional actions when 
the toggle button is clicked", async () => {
-    const { user } = installerRender(<SplitButtonTest />);
-
-    const toggleAction = screen.getByRole("button", { name: "More actions" });
-    expect(toggleAction).toHaveAttribute("aria-haspopup");
-    expect(toggleAction).toHaveAttribute("aria-controls");
-    expect(toggleAction).toHaveAttribute("aria-expanded", "false");
-
-    // Click on the toggle button to open the menu
-    await user.click(toggleAction);
-    expect(mainOnClickFn).not.toHaveBeenCalled();
-    expect(toggleAction).toHaveAttribute("aria-expanded", "true");
-    const moreActions = screen.getByRole("menu");
-
-    // Click on the toggle button to open the menu
-    await user.click(toggleAction);
-    expect(toggleAction).toHaveAttribute("aria-expanded", "false");
-    await waitForElementToBeRemoved(moreActions);
-  });
-
-  it("closes the menu when a secondary action is clicked", async () => {
-    const { user } = installerRender(<SplitButtonTest />);
-
-    const toggleAction = screen.getByRole("button", { name: "More actions" });
-    expect(toggleAction).toHaveAttribute("aria-expanded", "false");
-
-    // Click on the toggle button to open the menu
-    await user.click(toggleAction);
-
-    // Find and click on a secondary action inside the expanded menu
-    const moreActions = screen.getByRole("menu");
-    const secondaryAction = within(moreActions).getByRole("menuitem", { name: 
"Second test" });
-    await user.click(secondaryAction);
-
-    // Verify that the secondary action's onClick handler is called
-    expect(secondaryOnClickFn).toHaveBeenCalled();
-
-    // Ensure that the menu is closed
-    expect(toggleAction).toHaveAttribute("aria-expanded", "false");
-    await waitForElementToBeRemoved(moreActions);
-  });
-});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/core/SplitButton.tsx 
new/agama/src/components/core/SplitButton.tsx
--- old/agama/src/components/core/SplitButton.tsx       2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/core/SplitButton.tsx       1970-01-01 
01:00:00.000000000 +0100
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) [2025] SUSE LLC
- *
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, contact SUSE LLC.
- *
- * To contact SUSE LLC about this file by physical or electronic mail, you may
- * find current contact information at www.suse.com.
- */
-
-import React, { useId, useState } from "react";
-import {
-  Dropdown,
-  DropdownItem,
-  DropdownList,
-  MenuToggle,
-  MenuToggleAction,
-  MenuToggleActionProps,
-  MenuToggleProps,
-} from "@patternfly/react-core";
-import { Link } from "~/components/core";
-import { _, TranslatedString } from "~/i18n";
-
-/**
- * Type for props accepted by SplitButton
- *
- * Children prop is specifically declared below to make it required.
- *
- * NOTE: Unfortunately, it's not easy to restrict children to a specific
- * component type. For more information, see
- * https://www.totaltypescript.com/type-safe-children-in-react-and-typescript.
- * If necessary, consider using an specific prop instead.
- */
-type SplitButtonBaseProps = React.PropsWithChildren<{
-  /** Label for the link or button acting as a main action */
-  label: React.ReactNode;
-  /** Accessible label for the toggle button */
-  toggleAriaLabel?: TranslatedString;
-  /** Variant styles of the menu toggle */
-  variant?: MenuToggleProps["variant"];
-  /** The URL or path for the main action when it should be a link */
-  href?: string;
-  /** Callback to be triggred when main action is clicked */
-  onClick?: MenuToggleActionProps["onClick"];
-  /** Actions to be placed in the expandable menu */
-  children: React.ReactNode;
-}>;
-
-export type SplitButtonProps =
-  | (SplitButtonBaseProps & { href: string; onClick?: never })
-  | (SplitButtonBaseProps & { href?: never; onClick: 
MenuToggleActionProps["onClick"] })
-  | (SplitButtonBaseProps & { href: string; onClick: 
MenuToggleActionProps["onClick"] });
-/**
- * Displays a primary, visible action with a set of related options hidden in 
an
- * expandable menu for the user to choose from.
- *
- * Built on top of PF/Dropdown, using PF/MenuToggle with a single
- * PF/MenuToggleAction for the splitButtonItems prop.
- */
-const SplitButton = ({
-  href,
-  label,
-  onClick,
-  toggleAriaLabel = _("More actions"),
-  variant = "primary",
-  children,
-}: SplitButtonProps) => {
-  const menuId = useId();
-  const [isOpen, setIsOpen] = useState(false);
-  const toggleKey = `${menuId}-toggle`;
-  const onSelect = () => setIsOpen(false);
-  const onToggle = () => setIsOpen(!isOpen);
-
-  return (
-    <Dropdown
-      id={menuId}
-      isOpen={isOpen}
-      onSelect={onSelect}
-      onOpenChange={(isOpen) => setIsOpen(isOpen)}
-      toggle={(toggleRef) => (
-        <MenuToggle
-          variant={variant}
-          ref={toggleRef}
-          onClick={onToggle}
-          splitButtonItems={[
-            /**
-             * FIXME: PatternFly/MenuToggleAction does not accept either the 
component
-             * or role prop, difficulting to use a link (`<a>`) or a button 
with
-             * role="link" for actions that navigate to another resource, 
which would be
-             * semantically more appropriate.
-             */
-            href ? (
-              <Link key={toggleKey} to={href} onClick={onClick} isInline 
variant="link">
-                {label}
-              </Link>
-            ) : (
-              <MenuToggleAction key={toggleKey} onClick={onClick}>
-                {label}
-              </MenuToggleAction>
-            ),
-          ]}
-          isExpanded={isOpen}
-          aria-haspopup
-          aria-controls={menuId}
-          aria-label={toggleAriaLabel}
-        />
-      )}
-    >
-      <DropdownList>{children}</DropdownList>
-    </Dropdown>
-  );
-};
-
-SplitButton.Item = DropdownItem;
-export default SplitButton;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/core/index.ts 
new/agama/src/components/core/index.ts
--- old/agama/src/components/core/index.ts      2026-07-16 14:18:35.000000000 
+0200
+++ new/agama/src/components/core/index.ts      2026-07-20 13:59:40.000000000 
+0200
@@ -44,7 +44,6 @@
 export { default as NestedContent } from "./NestedContent";
 export { default as SubtleContent } from "./SubtleContent";
 export { default as MenuHeader } from "./MenuHeader";
-export { default as SplitButton } from "./SplitButton";
 export { default as SkipTo } from "./SkipTo";
 export { default as Annotation } from "./Annotation";
 export { default as SwitchEnhanced } from "./SwitchEnhanced";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/storage/ConfigEditor.tsx 
new/agama/src/components/storage/ConfigEditor.tsx
--- old/agama/src/components/storage/ConfigEditor.tsx   2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/storage/ConfigEditor.tsx   2026-07-20 
13:59:40.000000000 +0200
@@ -71,7 +71,7 @@
   return (
     <>
       {/* FIXME add arial label */}
-      <DataList aria-label="" isCompact className="storage-structure">
+      <DataList aria-label="" isCompact>
         {volumeGroups.map((_, i) => {
           return <VolumeGroupEditor key={`vg-${i}`} index={i} />;
         })}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/storage/FilesystemMenu.test.tsx 
new/agama/src/components/storage/FilesystemMenu.test.tsx
--- old/agama/src/components/storage/FilesystemMenu.test.tsx    2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/storage/FilesystemMenu.test.tsx    2026-07-20 
13:59:40.000000000 +0200
@@ -80,7 +80,7 @@
     const editItem = screen.getByText("Edit");
     await user.click(editItem);
 
-    const expectedPath = generatePath(PATHS.formatDevice, { collection: 
"drives", index: 0 });
+    const expectedPath = generatePath(PATHS.formatDevice, { collection: 
"drives", index: "0" });
     expect(mockNavigateFn).toHaveBeenCalledWith(expectedPath);
   });
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/storage/FilesystemMenu.tsx 
new/agama/src/components/storage/FilesystemMenu.tsx
--- old/agama/src/components/storage/FilesystemMenu.tsx 2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/storage/FilesystemMenu.tsx 2026-07-20 
13:59:40.000000000 +0200
@@ -92,7 +92,7 @@
 }: FilesystemMenuProps): React.ReactNode {
   const navigate = useNavigate();
   const deviceModel = usePartitionable(collection, index);
-  const editFilesystemPath = generatePath(PATHS.formatDevice, { collection, 
index });
+  const editFilesystemPath = generatePath(PATHS.formatDevice, { collection, 
index: String(index) });
 
   return (
     <MenuButton
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/storage/PartitionsSection.tsx 
new/agama/src/components/storage/PartitionsSection.tsx
--- old/agama/src/components/storage/PartitionsSection.tsx      2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/storage/PartitionsSection.tsx      2026-07-20 
13:59:40.000000000 +0200
@@ -67,7 +67,7 @@
   const partition = configModel.partitionable.findPartition(device, mountPath);
   const editPath = generateEncodedPath(PATHS.editPartition, {
     collection,
-    index,
+    index: String(index),
     partitionId: mountPath,
   });
   const deletePartition = useDeletePartition();
@@ -139,7 +139,7 @@
 const PartitionRow = ({ partition, collection, index }: PartitionRowProps) => {
   const editPath = generateEncodedPath(PATHS.editPartition, {
     collection,
-    index,
+    index: String(index),
     partitionId: partition.mountPath,
   });
   const deletePartition = useDeletePartition();
@@ -227,7 +227,10 @@
   const device = usePartitionable(collection, index);
   const uiIndex = `${collection[0]}${index}`;
   const isExpanded = isExpandedInState(uiState, uiIndex);
-  const newPartitionPath = generateEncodedPath(PATHS.addPartition, { 
collection, index });
+  const newPartitionPath = generateEncodedPath(PATHS.addPartition, {
+    collection,
+    index: String(index),
+  });
   const hasPartitions = device.partitions.some((p) => p.mountPath);
 
   const onToggle = () => {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/storage/SpacePolicyMenu.tsx 
new/agama/src/components/storage/SpacePolicyMenu.tsx
--- old/agama/src/components/storage/SpacePolicyMenu.tsx        2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/storage/SpacePolicyMenu.tsx        2026-07-20 
13:59:40.000000000 +0200
@@ -55,7 +55,9 @@
 
   const changePolicy = () => {
     if (policyId === "custom") {
-      return navigate(generateEncodedPath(PATHS.editSpacePolicy, { collection, 
index }));
+      return navigate(
+        generateEncodedPath(PATHS.editSpacePolicy, { collection, index: 
String(index) }),
+      );
     } else {
       setSpacePolicy(collection, index, { type: policyId });
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/storage/UnusedMenu.test.tsx 
new/agama/src/components/storage/UnusedMenu.test.tsx
--- old/agama/src/components/storage/UnusedMenu.test.tsx        2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/storage/UnusedMenu.test.tsx        2026-07-20 
13:59:40.000000000 +0200
@@ -62,7 +62,7 @@
 
     const expectedPath = generateEncodedPath(PATHS.addPartition, {
       collection: "drives",
-      index: 0,
+      index: "0",
     });
     expect(mockNavigateFn).toHaveBeenCalledWith(expectedPath);
   });
@@ -78,7 +78,7 @@
 
     const expectedPath = generateEncodedPath(PATHS.formatDevice, {
       collection: "drives",
-      index: 0,
+      index: "0",
     });
     expect(mockNavigateFn).toHaveBeenCalledWith(expectedPath);
   });
@@ -94,7 +94,7 @@
 
     const expectedPath = generateEncodedPath(PATHS.formatDevice, {
       collection: "mdRaids",
-      index: 1,
+      index: "1",
     });
     expect(mockNavigateFn).toHaveBeenCalledWith(expectedPath);
   });
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/storage/UnusedMenu.tsx 
new/agama/src/components/storage/UnusedMenu.tsx
--- old/agama/src/components/storage/UnusedMenu.tsx     2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/storage/UnusedMenu.tsx     2026-07-20 
13:59:40.000000000 +0200
@@ -56,8 +56,14 @@
 
 export default function UnusedMenu({ collection, index }: UnusedMenuProps): 
React.ReactNode {
   const navigate = useNavigate();
-  const newPartitionPath = generateEncodedPath(PATHS.addPartition, { 
collection, index });
-  const formatDevicePath = generateEncodedPath(PATHS.formatDevice, { 
collection, index });
+  const newPartitionPath = generateEncodedPath(PATHS.addPartition, {
+    collection,
+    index: String(index),
+  });
+  const formatDevicePath = generateEncodedPath(PATHS.formatDevice, {
+    collection,
+    index: String(index),
+  });
   const filesystemLabel =
     collection === "drives"
       ? _("Use the disk without partitions")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/storage/VolumeGroupEditor.tsx 
new/agama/src/components/storage/VolumeGroupEditor.tsx
--- old/agama/src/components/storage/VolumeGroupEditor.tsx      2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/storage/VolumeGroupEditor.tsx      2026-07-20 
13:59:40.000000000 +0200
@@ -124,7 +124,7 @@
       itemId="edit-volume-group"
       description={_("Modify settings and physical volumes")}
       role="menuitem"
-      onClick={() => navigate(generateEncodedPath(PATHS.volumeGroup.edit, { 
id: index }))}
+      onClick={() => navigate(generateEncodedPath(PATHS.volumeGroup.edit, { 
id: String(index) }))}
     >
       {_("Edit volume group")}
     </MenuButton.Item>
@@ -286,7 +286,7 @@
   const navigate = useNavigate();
   const volumeGroupConfig = useVolumeGroup(index);
 
-  const newLvPath = generateEncodedPath(PATHS.volumeGroup.logicalVolume.add, { 
id: index });
+  const newLvPath = generateEncodedPath(PATHS.volumeGroup.logicalVolume.add, { 
id: String(index) });
 
   return (
     <Button variant="plain" key="add-logical-volume" onClick={() => 
navigate(newLvPath)}>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/storage/iscsi/TargetsTable.tsx 
new/agama/src/components/storage/iscsi/TargetsTable.tsx
--- old/agama/src/components/storage/iscsi/TargetsTable.tsx     2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/storage/iscsi/TargetsTable.tsx     2026-07-20 
13:59:40.000000000 +0200
@@ -584,7 +584,7 @@
                 generatePath(STORAGE.iscsi.login, {
                   name: target.name,
                   address: target.address,
-                  port: target.port,
+                  port: String(target.port),
                 }),
               ),
             onDisconnect: () => removeTarget(target.name, target.address, 
target.port),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/components/storage/utils/partition.tsx 
new/agama/src/components/storage/utils/partition.tsx
--- old/agama/src/components/storage/utils/partition.tsx        2026-07-16 
14:18:35.000000000 +0200
+++ new/agama/src/components/storage/utils/partition.tsx        2026-07-20 
13:59:40.000000000 +0200
@@ -51,8 +51,14 @@
   const fsType = partition.filesystem ? filesystemType(partition.filesystem) : 
undefined;
   if (partition.name) {
     if (partition.filesystem?.reuse) {
+      // FIXME: the following "if (fsType)" line is commented out as a hotfix 
for bsc#1271008.
+      // Turns out fsType is not the current filesystem type, but the one that 
would be used if
+      // reusing the current one would not be possible. Commenting out the 
line is a cheap
+      // mitigation that avoids displaying wrong information while we design a 
better mechanism.
+
       // TRANSLATORS: %1$s is a filesystem type (eg. Btrfs), %2$s is a device 
name (eg. /dev/sda3).
-      if (fsType) return sprintf(_("Current %1$s at %2$s"), fsType, 
partition.name);
+      //if (fsType) return sprintf(_("Current %1$s at %2$s"), fsType, 
partition.name);
+
       // TRANSLATORS: %s is a device name (eg. /dev/sda3).
       return sprintf(_("Current %s"), partition.name);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.ca.js new/agama/src/po/po.ca.js
--- old/agama/src/po/po.ca.js   2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.ca.js   2026-07-20 13:59:40.000000000 +0200
@@ -249,6 +249,9 @@
   "Actions": [
     "Accions"
   ],
+  "Actions for %s": [
+    "Accions per a %s"
+  ],
   "Actions for %s at portal %s": [
     "Accions per a %s al portal %s"
   ],
@@ -843,9 +846,6 @@
   "Current": [
     "Actual"
   ],
-  "Current %1$s at %2$s": [
-    "%1$s actual a %2$s"
-  ],
   "Current %s": [
     "Actual: %s"
   ],
@@ -1777,9 +1777,6 @@
   "More": [
     "Més"
   ],
-  "More actions": [
-    "Més accions"
-  ],
   "More devices": [
     "Més dispositius"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.de.js new/agama/src/po/po.de.js
--- old/agama/src/po/po.de.js   2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.de.js   2026-07-20 13:59:40.000000000 +0200
@@ -840,9 +840,6 @@
   "Current": [
     "Aktuell"
   ],
-  "Current %1$s at %2$s": [
-    "Aktuell %1$s bei %2$s"
-  ],
   "Current %s": [
     "Aktuell %s"
   ],
@@ -1774,9 +1771,6 @@
   "More": [
     "Mehr"
   ],
-  "More actions": [
-    "Weitere Aktionen"
-  ],
   "More devices": [
     "Weitere Geräte"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.es.js new/agama/src/po/po.es.js
--- old/agama/src/po/po.es.js   2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.es.js   2026-07-20 13:59:40.000000000 +0200
@@ -840,9 +840,6 @@
   "Current": [
     "Actual"
   ],
-  "Current %1$s at %2$s": [
-    "Actual %1$s en %2$s"
-  ],
   "Current %s": [
     "Actual %s"
   ],
@@ -1774,9 +1771,6 @@
   "More": [
     "Más"
   ],
-  "More actions": [
-    "Más acciones"
-  ],
   "More devices": [
     "Más dispositivos"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.fr.js new/agama/src/po/po.fr.js
--- old/agama/src/po/po.fr.js   2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.fr.js   2026-07-20 13:59:40.000000000 +0200
@@ -840,9 +840,6 @@
   "Current": [
     "Actuel"
   ],
-  "Current %1$s at %2$s": [
-    "%1$s actuel sur %2$s"
-  ],
   "Current %s": [
     "%s actuel"
   ],
@@ -1771,9 +1768,6 @@
   "More": [
     "Davantage"
   ],
-  "More actions": [
-    "Autres actions"
-  ],
   "More devices": [
     "Autres périphériques"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.id.js new/agama/src/po/po.id.js
--- old/agama/src/po/po.id.js   2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.id.js   2026-07-20 13:59:40.000000000 +0200
@@ -819,9 +819,6 @@
   "Current": [
     "Saat ini"
   ],
-  "Current %1$s at %2$s": [
-    "Saat ini %1$s di %2$s"
-  ],
   "Current %s": [
     "Saat ini %s"
   ],
@@ -1746,9 +1743,6 @@
   "More": [
     "Lainnya"
   ],
-  "More actions": [
-    "Tindakan lainnya"
-  ],
   "More devices": [
     "Lebih banyak perangkat"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.it.js new/agama/src/po/po.it.js
--- old/agama/src/po/po.it.js   2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.it.js   2026-07-20 13:59:40.000000000 +0200
@@ -840,9 +840,6 @@
   "Current": [
     "Attuale"
   ],
-  "Current %1$s at %2$s": [
-    "Attuale %1$s su %2$s"
-  ],
   "Current %s": [
     "Al momento %s"
   ],
@@ -1768,9 +1765,6 @@
   "More": [
     "Altro"
   ],
-  "More actions": [
-    "Azioni aggiuntive"
-  ],
   "More devices": [
     "Altri dispositivi"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.ja.js new/agama/src/po/po.ja.js
--- old/agama/src/po/po.ja.js   2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.ja.js   2026-07-20 13:59:40.000000000 +0200
@@ -822,9 +822,6 @@
   "Current": [
     "現在"
   ],
-  "Current %1$s at %2$s": [
-    "%2$s にある現在の %1$s"
-  ],
   "Current %s": [
     "現在の %s"
   ],
@@ -1752,9 +1749,6 @@
   "More": [
     "詳細"
   ],
-  "More actions": [
-    "さらなる処理"
-  ],
   "More devices": [
     "さらなるデバイス"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.ka.js new/agama/src/po/po.ka.js
--- old/agama/src/po/po.ka.js   2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.ka.js   2026-07-20 13:59:40.000000000 +0200
@@ -249,6 +249,9 @@
   "Actions": [
     "ქმედებები"
   ],
+  "Actions for %s": [
+    "ქმედებები %s-ისთვის"
+  ],
   "Actions for %s at portal %s": [
     "ქმედებები %s-ისთვის პორტალზე %s"
   ],
@@ -843,9 +846,6 @@
   "Current": [
     "მიმდინარე"
   ],
-  "Current %1$s at %2$s": [
-    "მიმდინარე %1$s მოწყობილობაზე %2$s"
-  ],
   "Current %s": [
     "მიმდინარეა %s"
   ],
@@ -1777,9 +1777,6 @@
   "More": [
     "მეტი"
   ],
-  "More actions": [
-    "მეტი ქმედება"
-  ],
   "More devices": [
     "მეტი მოწყობილობა"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.pt-BR.js new/agama/src/po/po.pt-BR.js
--- old/agama/src/po/po.pt-BR.js        2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.pt-BR.js        2026-07-20 13:59:40.000000000 +0200
@@ -840,9 +840,6 @@
   "Current": [
     "Atual"
   ],
-  "Current %1$s at %2$s": [
-    "%1$s atual em %2$s"
-  ],
   "Current %s": [
     "%s atual"
   ],
@@ -1771,9 +1768,6 @@
   "More": [
     "Mais"
   ],
-  "More actions": [
-    "Mais ações"
-  ],
   "More devices": [
     "Mais dispositivos"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.sv.js new/agama/src/po/po.sv.js
--- old/agama/src/po/po.sv.js   2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.sv.js   2026-07-20 13:59:40.000000000 +0200
@@ -249,6 +249,9 @@
   "Actions": [
     "Åtgärder"
   ],
+  "Actions for %s": [
+    "Åtgärder för %s"
+  ],
   "Actions for %s at portal %s": [
     "Åtgärder för %s vid portal %s"
   ],
@@ -843,9 +846,6 @@
   "Current": [
     "Nuvarande"
   ],
-  "Current %1$s at %2$s": [
-    "Nuvarande %1$s på %2$s"
-  ],
   "Current %s": [
     "Nuvarande %s"
   ],
@@ -1777,9 +1777,6 @@
   "More": [
     "Mer"
   ],
-  "More actions": [
-    "Mer åtgärder"
-  ],
   "More devices": [
     "Mer enheter"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.uk.js new/agama/src/po/po.uk.js
--- old/agama/src/po/po.uk.js   2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.uk.js   2026-07-20 13:59:40.000000000 +0200
@@ -864,9 +864,6 @@
   "Current": [
     "Поточне"
   ],
-  "Current %1$s at %2$s": [
-    "Поточна %1$s на %2$s"
-  ],
   "Current %s": [
     "Поточна %s"
   ],
@@ -1802,9 +1799,6 @@
   "More": [
     "Ще"
   ],
-  "More actions": [
-    "Більше дій"
-  ],
   "More devices": [
     "Інші пристрої"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.zh-CN.js new/agama/src/po/po.zh-CN.js
--- old/agama/src/po/po.zh-CN.js        2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.zh-CN.js        2026-07-20 13:59:40.000000000 +0200
@@ -819,9 +819,6 @@
   "Current": [
     "当前"
   ],
-  "Current %1$s at %2$s": [
-    "当前 %1$s(%2$s 上)"
-  ],
   "Current %s": [
     "当前 %s"
   ],
@@ -1746,9 +1743,6 @@
   "More": [
     "更多"
   ],
-  "More actions": [
-    "更多操作"
-  ],
   "More devices": [
     "更多设备"
   ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/agama/src/po/po.zh-TW.js new/agama/src/po/po.zh-TW.js
--- old/agama/src/po/po.zh-TW.js        2026-07-16 14:18:35.000000000 +0200
+++ new/agama/src/po/po.zh-TW.js        2026-07-20 13:59:40.000000000 +0200
@@ -819,9 +819,6 @@
   "Current": [
     "目前"
   ],
-  "Current %1$s at %2$s": [
-    "目前 %1$s (%2$s 上)"
-  ],
   "Current %s": [
     "目前 %s"
   ],
@@ -1746,9 +1743,6 @@
   "More": [
     "更多"
   ],
-  "More actions": [
-    "更多動作"
-  ],
   "More devices": [
     "更多裝置"
   ],

++++++ agama.obsinfo ++++++
--- /var/tmp/diff_new_pack.nrNHAm/_old  2026-07-21 22:55:58.468621651 +0200
+++ /var/tmp/diff_new_pack.nrNHAm/_new  2026-07-21 22:55:58.500622741 +0200
@@ -1,5 +1,5 @@
 name: agama
-version: 22+456.ce0fb8baf
-mtime: 1784204315
-commit: ce0fb8baf906e6dc037106481ae0640cc743cee2
+version: 23+0.f26ed5eab
+mtime: 1784548780
+commit: f26ed5eab535b86fce039034e71968684183e4fe
 

++++++ node_modules.obscpio ++++++
/work/SRC/openSUSE:Factory/agama-web-ui/node_modules.obscpio 
/work/SRC/openSUSE:Factory/.agama-web-ui.new.24530/node_modules.obscpio differ: 
char 113903699, line 410065

++++++ node_modules.spec.inc ++++++
--- /var/tmp/diff_new_pack.nrNHAm/_old  2026-07-21 22:55:58.900636363 +0200
+++ /var/tmp/diff_new_pack.nrNHAm/_new  2026-07-21 22:55:58.928637317 +0200
@@ -1027,7 +1027,7 @@
 Source2026:         
https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz#/react-is-19.2.7.tgz
 Source2027:         
https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz#/react-refresh-0.18.0.tgz
 Source2028:         
https://registry.npmjs.org/react-refresh-typescript/-/react-refresh-typescript-2.0.12.tgz#/react-refresh-typescript-2.0.12.tgz
-Source2029:         
https://registry.npmjs.org/react-router/-/react-router-7.14.0.tgz#/react-router-7.14.0.tgz
+Source2029:         
https://registry.npmjs.org/react-router/-/react-router-7.15.1.tgz#/react-router-7.15.1.tgz
 Source2030:         
https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz#/readable-stream-2.3.8.tgz
 Source2031:         
https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz#/readable-stream-3.6.2.tgz
 Source2032:         
https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#/readdirp-3.6.0.tgz

++++++ package-lock.json ++++++
--- /var/tmp/diff_new_pack.nrNHAm/_old  2026-07-21 22:55:59.008640041 +0200
+++ /var/tmp/diff_new_pack.nrNHAm/_new  2026-07-21 22:55:59.012640177 +0200
@@ -23,7 +23,7 @@
         "radashi": "^12.7.2",
         "react": "^18.3.1",
         "react-dom": "^18.3.1",
-        "react-router": "7.14.0",
+        "react-router": "7.15.1",
         "sprintf-js": "^1.1.3",
         "stacktracey": "^2.1.8",
         "xbytes": "^1.9.1"
@@ -15917,9 +15917,9 @@
       }
     },
     "node_modules/react-router": {
-      "version": "7.14.0",
-      "resolved": 
"https://registry.npmjs.org/react-router/-/react-router-7.14.0.tgz";,
-      "integrity": 
"sha512-m/xR9N4LQLmAS0ZhkY2nkPA1N7gQ5TUVa5n8TgANuDTARbn1gt+zLPXEm7W0XDTbrQ2AJSJKhoa6yx1D8BcpxQ==",
+      "version": "7.15.1",
+      "resolved": 
"https://registry.npmjs.org/react-router/-/react-router-7.15.1.tgz";,
+      "integrity": 
"sha512-R8rl9HhgikFYoPJymnUtPXWbnDb3oget6lQnfIoupbt61aT9aOhRkDsY2XRhZRyX1Z/8a5sL74fXmFNm3NRK5A==",
       "license": "MIT",
       "dependencies": {
         "cookie": "^1.0.1",

Reply via email to