From 1daf2a94f4ef3ae4a038ce3ded3eec77735941e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 08:36:03 +0100
Subject: [PATCH 01/58] [web] Rename the layout slot for app actions

Basically used by the Sidebar, which will stop holding "Page" or
"Contextual" actions. Another slot will be created for them in order to
make these actions more discoverable.
---
 web/src/components/core/Sidebar.jsx  |  6 +++---
 web/src/components/layout/Layout.jsx | 17 +++++++++++++++--
 web/src/test-utils.js                |  1 +
 3 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/web/src/components/core/Sidebar.jsx b/web/src/components/core/Sidebar.jsx
index d25e343e88..f82f0f706f 100644
--- a/web/src/components/core/Sidebar.jsx
+++ b/web/src/components/core/Sidebar.jsx
@@ -21,7 +21,7 @@
 
 import React, { useEffect, useRef, useState } from "react";
 import { Button, Text } from "@patternfly/react-core";
-import { Icon, PageActions } from "~/components/layout";
+import { Icon, AppActions } from "~/components/layout";
 
 // FIXME: look for a better way to allow opening the Sidebar from outside
 let openButtonRef = {};
@@ -89,7 +89,7 @@ const Sidebar = ({ children }) => {
 
   return (
     <>
-      <PageActions>
+      <AppActions>
         <button
           ref={openButtonRef}
           onClick={open}
@@ -100,7 +100,7 @@ const Sidebar = ({ children }) => {
         >
           <Icon name="menu" />
         </button>
-      </PageActions>
+      </AppActions>
 
       <nav
         id="navigation-and-options"
diff --git a/web/src/components/layout/Layout.jsx b/web/src/components/layout/Layout.jsx
index 28ddbfaeaf..4e092918d3 100644
--- a/web/src/components/layout/Layout.jsx
+++ b/web/src/components/layout/Layout.jsx
@@ -51,7 +51,7 @@ const FooterInfoArea = createTeleporter();
  * @example
  *   <Layout>
  *     <PageIcon><DashboardIcon /></PageIcon>
- *     <PageActions><DashboardActions /></PageActions>
+ *     <AppActions><DashboardActions /></AppActions>
  *     <MainActions><Install /></MainActions>
  *     <Title>Dashboard</Title>
  *
@@ -127,6 +127,19 @@ const Title = PageTitle.Source;
  */
 const PageIcon = HeaderIcon.Source;
 
+/**
+ * Component for setting global actions shown on the header right
+ *
+ * @example
+ *   import { AppActions } from "agama-layout";
+ *   import { FancyButton } from "somewhere";
+ *   ...
+ *   <AppActions>
+ *     <FancyButton onClick={() => console.log("do something")} />
+ *   </AppActions>
+ */
+const AppActions = HeaderActions.Source;
+
 /**
  * Component for setting page actions shown on the header right
  *
@@ -183,7 +196,7 @@ export {
   Layout as default,
   Title,
   PageIcon,
-  PageActions,
+  AppActions,
   MainActions,
   AdditionalInfo,
   PageOptionsSlot,
diff --git a/web/src/test-utils.js b/web/src/test-utils.js
index 3420dc7aac..502fd02ed2 100644
--- a/web/src/test-utils.js
+++ b/web/src/test-utils.js
@@ -144,6 +144,7 @@ const mockLayout = () => ({
   default: ({ children }) => children,
   Title: ({ children }) => children,
   PageIcon: ({ children }) => children,
+  AppActions: ({ children }) => children,
   PageActions: ({ children }) => children,
   MainActions: ({ children }) => children,
   AdditionalInfo: ({ children }) => children,

From c005251e8926101bd9f4e00967e94b815b6461e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 08:39:29 +0100
Subject: [PATCH 02/58] [web] Add new layout slot for contextual/page actions

---
 web/src/components/layout/Layout.jsx | 9 +++++++--
 web/src/test-utils.js                | 2 +-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/web/src/components/layout/Layout.jsx b/web/src/components/layout/Layout.jsx
index 4e092918d3..07f914aef1 100644
--- a/web/src/components/layout/Layout.jsx
+++ b/web/src/components/layout/Layout.jsx
@@ -27,6 +27,7 @@ import { About, Disclosure, LogsButton, Sidebar, ShowLogButton, ShowTerminalButt
 
 const PageTitle = createTeleporter();
 const PageOptions = createTeleporter();
+const PageActions = createTeleporter();
 const HeaderActions = createTeleporter();
 const HeaderIcon = createTeleporter();
 const FooterActions = createTeleporter();
@@ -76,7 +77,10 @@ function Layout({ children }) {
           <PageTitle.Target as="span" />
         </h1>
 
-        <HeaderActions.Target as="span" />
+        <div className="split">
+          <PageActions.Target as="span" />
+          <HeaderActions.Target as="span" />
+        </div>
       </header>
 
       <Sidebar>
@@ -151,7 +155,7 @@ const AppActions = HeaderActions.Source;
  *     <FancyButton onClick={() => console.log("do something")} />
  *   </PageActions>
  */
-const PageActions = HeaderActions.Source;
+const ContextualActions = PageActions.Source;
 
 /**
  * Component for setting the main actions shown on the footer right
@@ -197,6 +201,7 @@ export {
   Title,
   PageIcon,
   AppActions,
+  ContextualActions,
   MainActions,
   AdditionalInfo,
   PageOptionsSlot,
diff --git a/web/src/test-utils.js b/web/src/test-utils.js
index 502fd02ed2..ba7c7f47aa 100644
--- a/web/src/test-utils.js
+++ b/web/src/test-utils.js
@@ -145,7 +145,7 @@ const mockLayout = () => ({
   Title: ({ children }) => children,
   PageIcon: ({ children }) => children,
   AppActions: ({ children }) => children,
-  PageActions: ({ children }) => children,
+  ContextualActions: ({ children }) => children,
   MainActions: ({ children }) => children,
   AdditionalInfo: ({ children }) => children,
   PageOptionsContent: ({ children }) => children,

From 27715e849c3fb6969f0f261edce3f9504fee2f16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 13:13:07 +0100
Subject: [PATCH 03/58] [web] Add a new ContextualActions core component

Based in the PatternFly Dropdown component[1] and intended for displaying
the actions related to the current page in an attempt to make them more
discoverable.

[1] https://www.patternfly.org/v4/components/dropdown
---
 web/src/assets/styles/blocks.scss             | 18 ++++-
 web/src/components/core/ContextualActions.jsx | 73 +++++++++++++++++++
 web/src/components/core/index.js              |  1 +
 web/src/components/layout/Icon.jsx            |  2 +
 4 files changed, 92 insertions(+), 2 deletions(-)
 create mode 100644 web/src/components/core/ContextualActions.jsx

diff --git a/web/src/assets/styles/blocks.scss b/web/src/assets/styles/blocks.scss
index ace68ee440..1a6782af8e 100644
--- a/web/src/assets/styles/blocks.scss
+++ b/web/src/assets/styles/blocks.scss
@@ -1,7 +1,7 @@
 // Standard section
 // In the future we might need to use an specific CSS class for it if we start having different
 // section layouts.
-section {
+section:not([class^="pf-c"]) {
   display: grid;
   grid-template-columns: var(--icon-size-m) 1fr;
   grid-template-areas:
@@ -10,7 +10,7 @@ section {
   gap: var(--spacer-small);
 }
 
-section:not(:last-child) {
+section:not(:last-child, [class^="pf-c"]) {
   margin-block-end: var(--spacer-large);
 }
 
@@ -196,3 +196,17 @@ section > .content {
     --pf-c-progress--GridGap: var(--spacer-small);
   }
 }
+
+.contextual-actions a {
+  font-size: 16px;
+  font-weight: var(--fw-bold);
+  text-decoration: none;
+
+  &:hover {
+    color: var(--color-link-hover);
+
+    svg {
+      color: var(--color-link);
+    }
+  }
+}
diff --git a/web/src/components/core/ContextualActions.jsx b/web/src/components/core/ContextualActions.jsx
new file mode 100644
index 0000000000..8b9464970e
--- /dev/null
+++ b/web/src/components/core/ContextualActions.jsx
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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, { useState } from 'react';
+import { Button, Dropdown, DropdownItem, DropdownGroup } from '@patternfly/react-core';
+import { Icon, ContextualActions as ContextualActionsSlot } from "~/components/layout";
+
+const Toggler = ({ onClick }) => {
+  return (
+    <Button onClick={onClick} variant="plain">
+      <Icon name="expand_more" />
+    </Button>
+  );
+};
+
+const Group = ({ children, ...props }) => {
+  return (
+    <DropdownGroup {...props}>
+      {children}
+    </DropdownGroup>
+  );
+};
+
+const Item = ({ children, ...props }) => {
+  return (
+    <DropdownItem {...props}>
+      {children}
+    </DropdownItem>
+  );
+};
+
+const ContextualActions = ({ children }) => {
+  const [isOpen, setIsOpen] = useState(false);
+  const onToggle = () => setIsOpen(!isOpen);
+  const onSelect = () => setIsOpen(false);
+
+  return (
+    <ContextualActionsSlot>
+      <Dropdown
+        isOpen={isOpen}
+        toggle={<Toggler onClick={onToggle} />}
+        onSelect={onSelect}
+        dropdownItems={Array(children)}
+        position="right"
+        className="contextual-actions"
+        isGrouped
+      />
+    </ContextualActionsSlot>
+  );
+};
+
+ContextualActions.Group = Group;
+ContextualActions.Item = Item;
+
+export default ContextualActions;
diff --git a/web/src/components/core/index.js b/web/src/components/core/index.js
index adfef7db16..e9273624b9 100644
--- a/web/src/components/core/index.js
+++ b/web/src/components/core/index.js
@@ -20,6 +20,7 @@
  */
 
 export { default as About } from "./About";
+export { default as ContextualActions } from "./ContextualActions";
 export { default as Disclosure } from "./Disclosure";
 export { default as Sidebar } from "./Sidebar";
 export { default as Section } from "./Section";
diff --git a/web/src/components/layout/Icon.jsx b/web/src/components/layout/Icon.jsx
index 7075aa4b19..ea88ac9b0a 100644
--- a/web/src/components/layout/Icon.jsx
+++ b/web/src/components/layout/Icon.jsx
@@ -36,6 +36,7 @@ import Downloading from "@icons/downloading.svg?component";
 import Edit from "@icons/edit.svg?component";
 import EditSquare from "@icons/edit_square.svg?component";
 import Error from "@icons/error.svg?component";
+import ExpandMore from "@icons/expand_more.svg?component";
 import HardDrive from "@icons/hard_drive.svg?component";
 import Help from "@icons/help.svg?component";
 import HomeStorage from "@icons/home_storage.svg?component";
@@ -78,6 +79,7 @@ const icons = {
   edit: Edit,
   edit_square: EditSquare,
   error: Error,
+  expand_more: ExpandMore,
   hard_drive: HardDrive,
   help: Help,
   home_storage: HomeStorage,

From 67ce72c68e244d7f70fcc285e496f491f1ab2b89 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 13:21:30 +0100
Subject: [PATCH 04/58] [web] Remove header no longer needed

---
 web/src/components/layout/Layout.jsx | 1 -
 1 file changed, 1 deletion(-)

diff --git a/web/src/components/layout/Layout.jsx b/web/src/components/layout/Layout.jsx
index 07f914aef1..c30ce474fe 100644
--- a/web/src/components/layout/Layout.jsx
+++ b/web/src/components/layout/Layout.jsx
@@ -87,7 +87,6 @@ function Layout({ children }) {
         <>
           <PageOptions.Target />
 
-          <h3>Other options</h3>
           <Disclosure label="Diagnostic tools" data-keep-sidebar-open>
             <ShowLogButton />
             <LogsButton data-keep-sidebar-open="true" />

From 1d2f5effcd216f5a45d85d5b64cb7469e4a883a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 13:22:04 +0100
Subject: [PATCH 05/58] [web] Adapt ProposalPage for using ContextualActions

And stop using the somehow "deprecated" PageOptions.
---
 web/src/components/storage/ProposalPage.jsx | 46 +++++++++++++++------
 1 file changed, 33 insertions(+), 13 deletions(-)

diff --git a/web/src/components/storage/ProposalPage.jsx b/web/src/components/storage/ProposalPage.jsx
index 66c21b14e4..71ec788c1a 100644
--- a/web/src/components/storage/ProposalPage.jsx
+++ b/web/src/components/storage/ProposalPage.jsx
@@ -21,12 +21,12 @@
 
 import React, { useCallback, useReducer, useEffect, useState } from "react";
 import { Alert } from "@patternfly/react-core";
-import { Link } from "react-router-dom";
+import { useHref } from "react-router-dom";
 
 import { useInstallerClient } from "~/context/installer";
 import { useCancellablePromise } from "~/utils";
 import { Icon } from "~/components/layout";
-import { Page, PageOptions } from "~/components/core";
+import { Page, ContextualActions } from "~/components/core";
 import { ProposalActionsSection, ProposalSettingsSection } from "~/components/storage";
 
 const initialState = {
@@ -151,6 +151,7 @@ export default function ProposalPage() {
 
   const DASDLink = () => {
     const [show, setShow] = useState(false);
+    const href = useHref("/storage/dasd");
 
     useEffect(() => {
       client.dasd.isSupported().then(setShow);
@@ -159,23 +160,42 @@ export default function ProposalPage() {
     if (!show) return null;
 
     return (
-      <Link to="/storage/dasd">
-        <Icon name="settings" size="24" />
-        Configure DASD
-      </Link>
+      <ContextualActions.Item
+        key="dasd-link"
+        href={href}
+        description="Manage and format"
+      >
+        DASD
+      </ContextualActions.Item>
+    );
+  };
+
+  const ISCSILink = () => {
+    const href = useHref("/storage/iscsi");
+
+    return (
+      <ContextualActions.Item
+        key="iscsi-link"
+        href={href}
+        description="Connect to iSCSI targets"
+      >
+        iSCSI
+      </ContextualActions.Item>
     );
   };
 
   return (
     <Page title="Storage" icon="hard_drive" actionLabel="Back" actionVariant="secondary">
       <PageContent />
-      <PageOptions title="Storage">
-        <DASDLink />
-        <Link to="/storage/iscsi">
-          <Icon name="settings" size="24" />
-          Configure iSCSI
-        </Link>
-      </PageOptions>
+      <ContextualActions>
+        <ContextualActions.Group
+          label="Configure"
+          key="devices-options"
+        >
+          <DASDLink />
+          <ISCSILink />
+        </ContextualActions.Group>
+      </ContextualActions>
     </Page>
   );
 }

From 834ffc81e4032c3a95501034c22d22122f2a3405 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 14:09:31 +0100
Subject: [PATCH 06/58] [web] Move ProposalPage options to its own file

---
 web/src/components/storage/ProposalPage.jsx   | 52 +------------
 .../components/storage/ProposalPage.test.jsx  |  1 +
 .../storage/ProposalPageOptions.jsx           | 74 +++++++++++++++++++
 web/src/components/storage/index.js           |  1 +
 4 files changed, 80 insertions(+), 48 deletions(-)
 create mode 100644 web/src/components/storage/ProposalPageOptions.jsx

diff --git a/web/src/components/storage/ProposalPage.jsx b/web/src/components/storage/ProposalPage.jsx
index 71ec788c1a..87b3cf68db 100644
--- a/web/src/components/storage/ProposalPage.jsx
+++ b/web/src/components/storage/ProposalPage.jsx
@@ -19,15 +19,14 @@
  * find current contact information at www.suse.com.
  */
 
-import React, { useCallback, useReducer, useEffect, useState } from "react";
+import React, { useCallback, useReducer, useEffect } from "react";
 import { Alert } from "@patternfly/react-core";
-import { useHref } from "react-router-dom";
 
 import { useInstallerClient } from "~/context/installer";
 import { useCancellablePromise } from "~/utils";
 import { Icon } from "~/components/layout";
-import { Page, ContextualActions } from "~/components/core";
-import { ProposalActionsSection, ProposalSettingsSection } from "~/components/storage";
+import { Page } from "~/components/core";
+import { ProposalActionsSection, ProposalPageOptions, ProposalSettingsSection } from "~/components/storage";
 
 const initialState = {
   loading: true,
@@ -149,53 +148,10 @@ export default function ProposalPage() {
     );
   };
 
-  const DASDLink = () => {
-    const [show, setShow] = useState(false);
-    const href = useHref("/storage/dasd");
-
-    useEffect(() => {
-      client.dasd.isSupported().then(setShow);
-    }, []);
-
-    if (!show) return null;
-
-    return (
-      <ContextualActions.Item
-        key="dasd-link"
-        href={href}
-        description="Manage and format"
-      >
-        DASD
-      </ContextualActions.Item>
-    );
-  };
-
-  const ISCSILink = () => {
-    const href = useHref("/storage/iscsi");
-
-    return (
-      <ContextualActions.Item
-        key="iscsi-link"
-        href={href}
-        description="Connect to iSCSI targets"
-      >
-        iSCSI
-      </ContextualActions.Item>
-    );
-  };
-
   return (
     <Page title="Storage" icon="hard_drive" actionLabel="Back" actionVariant="secondary">
       <PageContent />
-      <ContextualActions>
-        <ContextualActions.Group
-          label="Configure"
-          key="devices-options"
-        >
-          <DASDLink />
-          <ISCSILink />
-        </ContextualActions.Group>
-      </ContextualActions>
+      <ProposalPageOptions />
     </Page>
   );
 }
diff --git a/web/src/components/storage/ProposalPage.test.jsx b/web/src/components/storage/ProposalPage.test.jsx
index a3878bce8e..0692bc3d4c 100644
--- a/web/src/components/storage/ProposalPage.test.jsx
+++ b/web/src/components/storage/ProposalPage.test.jsx
@@ -26,6 +26,7 @@ import { createClient } from "~/client";
 import { ProposalPage } from "~/components/storage";
 
 jest.mock("~/client");
+jest.mock("~/components/storage/ProposalPageOptions", mockComponent("ProposalPage Options"));
 
 jest.mock("@patternfly/react-core", () => {
   const original = jest.requireActual("@patternfly/react-core");
diff --git a/web/src/components/storage/ProposalPageOptions.jsx b/web/src/components/storage/ProposalPageOptions.jsx
new file mode 100644
index 0000000000..a464719f00
--- /dev/null
+++ b/web/src/components/storage/ProposalPageOptions.jsx
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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, { useEffect, useState } from "react";
+import { useHref } from "react-router-dom";
+import { useInstallerClient } from "~/context/installer";
+import { If, ContextualActions } from "~/components/core";
+
+const DASDLink = () => {
+  const href = useHref("/storage/dasd");
+
+  return (
+    <ContextualActions.Item
+      key="dasd-link"
+      href={href}
+      description="Manage and format"
+    >
+      DASD
+    </ContextualActions.Item>
+  );
+};
+
+const ISCSILink = () => {
+  const href = useHref("/storage/iscsi");
+
+  return (
+    <ContextualActions.Item
+      key="iscsi-link"
+      href={href}
+      description="Connect to iSCSI targets"
+    >
+      iSCSI
+    </ContextualActions.Item>
+  );
+};
+
+export default function ProposalPageOptions () {
+  const [showDasdLink, setShowDasdLink] = useState(false);
+  const { storage: client } = useInstallerClient();
+
+  useEffect(() => {
+    client.dasd.isSupported().then(setShowDasdLink);
+  }, [client.dasd]);
+
+  return (
+    <ContextualActions>
+      <ContextualActions.Group
+        label="Configure"
+        key="devices-options"
+      >
+        <If condition={showDasdLink} then={<DASDLink />} />
+        <ISCSILink />
+      </ContextualActions.Group>
+    </ContextualActions>
+  );
+}
diff --git a/web/src/components/storage/index.js b/web/src/components/storage/index.js
index 304b5d6bf0..4d8ae8a114 100644
--- a/web/src/components/storage/index.js
+++ b/web/src/components/storage/index.js
@@ -20,6 +20,7 @@
  */
 
 export { default as ProposalPage } from "./ProposalPage";
+export { default as ProposalPageOptions } from "./ProposalPageOptions";
 export { default as ProposalSettingsSection } from "./ProposalSettingsSection";
 export { default as ProposalActionsSection } from "./ProposalActionsSection";
 export { default as ProposalVolumes } from "./ProposalVolumes";

From 1e4683772606a726865a29efc20fb0091cdd4a61 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 16:57:04 +0100
Subject: [PATCH 07/58] [web] Adapt NetworkPage for using ContextualActions

Moving the actions to its own NetworkPageOptions page and stop using the
"deprecated" PageOptions to show them in the Sidebar.
---
 web/src/components/network/NetworkPage.jsx    | 27 +++++++---
 .../components/network/NetworkPageOptions.jsx | 49 +++++++++++++++++++
 web/src/components/network/index.js           |  1 +
 3 files changed, 70 insertions(+), 7 deletions(-)
 create mode 100644 web/src/components/network/NetworkPageOptions.jsx

diff --git a/web/src/components/network/NetworkPage.jsx b/web/src/components/network/NetworkPage.jsx
index a1d6e44888..462514c1f6 100644
--- a/web/src/components/network/NetworkPage.jsx
+++ b/web/src/components/network/NetworkPage.jsx
@@ -24,8 +24,8 @@ import { Button, Skeleton } from "@patternfly/react-core";
 import { Icon } from "~/components/layout";
 import { useInstallerClient } from "~/context/installer";
 import { ConnectionTypes, NetworkEventTypes } from "~/client/network";
-import { Page, PageOptions, Section } from "~/components/core";
-import { ConnectionsTable, IpSettingsForm, WifiSelector } from "~/components/network";
+import { If, Page, Section } from "~/components/core";
+import { ConnectionsTable, IpSettingsForm, NetworkPageOptions, WifiSelector } from "~/components/network";
 
 /**
  * Internal component for displaying the WifiSelector when applicable
@@ -98,6 +98,10 @@ export default function NetworkPage() {
   const [connections, setConnections] = useState([]);
   const [selectedConnection, setSelectedConnection] = useState(null);
   const [wifiScanSupported, setWifiScanSupported] = useState(false);
+  const [wifiSelectorOpen, setWifiSelectorOpen] = useState(false);
+
+  const openWifiSelector = () => setWifiSelectorOpen(true);
+  const closeWifiSelector = () => setWifiSelectorOpen(false);
 
   useEffect(() => {
     client.setUp().then(() => setInitialized(true));
@@ -182,12 +186,21 @@ export default function NetworkPage() {
         { ready ? <WifiConnections /> : <Skeleton /> }
       </Section>
 
+      <NetworkPageOptions
+        wifiScanSupported={wifiScanSupported}
+        openWifiSelectorCallback={openWifiSelector}
+      />
+
+      <If
+        condition={wifiScanSupported}
+        then={<WifiSelector isOpen={wifiSelectorOpen} onClose={closeWifiSelector} />}
+      />
+
       { /* TODO: improve the connections edition */ }
-      { selectedConnection && <IpSettingsForm connection={selectedConnection} onClose={() => setSelectedConnection(null)} /> }
-      { wifiScanSupported &&
-        <PageOptions title="Network">
-          <WifiScan supported={wifiScanSupported} />
-        </PageOptions> }
+      <If
+        condition={selectedConnection}
+        then=<IpSettingsForm connection={selectedConnection} onClose={() => setSelectedConnection(null)} />
+      />
     </Page>
   );
 }
diff --git a/web/src/components/network/NetworkPageOptions.jsx b/web/src/components/network/NetworkPageOptions.jsx
new file mode 100644
index 0000000000..79707d99aa
--- /dev/null
+++ b/web/src/components/network/NetworkPageOptions.jsx
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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 { ContextualActions } from "~/components/core";
+
+const WifiScanNotSupported = () => {
+  return (
+    <>
+      The system does not support scanning WiFi networks
+    </>
+  );
+};
+
+export default function NetworkPageOptions ({
+  wifiScanSupported = false,
+  openWifiSelectorCallback
+}) {
+  return (
+    <ContextualActions>
+      <ContextualActions.Item
+        key="open-wifi-selector"
+        onClick={openWifiSelectorCallback}
+        isDisabled={!wifiScanSupported}
+        description={!wifiScanSupported ? <WifiScanNotSupported /> : null}
+      >
+        <>Connect to a Wi-Fi network</>
+      </ContextualActions.Item>
+    </ContextualActions>
+  );
+}
diff --git a/web/src/components/network/index.js b/web/src/components/network/index.js
index 5cb1b445b2..7850d43466 100644
--- a/web/src/components/network/index.js
+++ b/web/src/components/network/index.js
@@ -20,6 +20,7 @@
  */
 
 export { default as NetworkPage } from "./NetworkPage";
+export { default as NetworkPageOptions } from "./NetworkPageOptions";
 export { default as AddressesDataList } from "./AddressesDataList";
 export { default as ConnectionsTable } from "./ConnectionsTable";
 export { default as DnsDataList } from "./DnsDataList";

From e403deba6aab1c50839226b46c8899452c35664e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 17:04:17 +0100
Subject: [PATCH 08/58] [web] Fix broken test

---
 web/src/components/storage/ProposalPage.test.jsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/web/src/components/storage/ProposalPage.test.jsx b/web/src/components/storage/ProposalPage.test.jsx
index 0692bc3d4c..9909a63964 100644
--- a/web/src/components/storage/ProposalPage.test.jsx
+++ b/web/src/components/storage/ProposalPage.test.jsx
@@ -26,7 +26,7 @@ import { createClient } from "~/client";
 import { ProposalPage } from "~/components/storage";
 
 jest.mock("~/client");
-jest.mock("~/components/storage/ProposalPageOptions", mockComponent("ProposalPage Options"));
+jest.mock("~/components/storage/ProposalPageOptions", () => mockComponent("ProposalPage Options"));
 
 jest.mock("@patternfly/react-core", () => {
   const original = jest.requireActual("@patternfly/react-core");

From 1e79a2d4994227723d094c85a8d88a74dcdf2f8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 17:13:31 +0100
Subject: [PATCH 09/58] [web] Display the change product link always

Now that we are going to stop teleporting links to the Sidebar and start
using another location for placing the page related links, the "Change
product" action will always be displayed in the Sidebar since, at least
initially, we don't want to relate actions only to the Overview.
---
 web/src/components/layout/Layout.jsx          | 2 ++
 web/src/components/overview/Overview.jsx      | 7 +------
 web/src/components/overview/Overview.test.jsx | 1 -
 3 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/web/src/components/layout/Layout.jsx b/web/src/components/layout/Layout.jsx
index c30ce474fe..e5dbde40b0 100644
--- a/web/src/components/layout/Layout.jsx
+++ b/web/src/components/layout/Layout.jsx
@@ -23,6 +23,7 @@ import React from "react";
 
 import logoUrl from "~/assets/suse-horizontal-logo.svg";
 import { createTeleporter } from "react-teleporter";
+import { ChangeProductLink } from "~/components/software";
 import { About, Disclosure, LogsButton, Sidebar, ShowLogButton, ShowTerminalButton } from "~/components/core";
 
 const PageTitle = createTeleporter();
@@ -87,6 +88,7 @@ function Layout({ children }) {
         <>
           <PageOptions.Target />
 
+          <ChangeProductLink />
           <Disclosure label="Diagnostic tools" data-keep-sidebar-open>
             <ShowLogButton />
             <LogsButton data-keep-sidebar-open="true" />
diff --git a/web/src/components/overview/Overview.jsx b/web/src/components/overview/Overview.jsx
index 657c37c0e4..ed13813746 100644
--- a/web/src/components/overview/Overview.jsx
+++ b/web/src/components/overview/Overview.jsx
@@ -23,8 +23,7 @@ import React, { useState } from "react";
 import { useSoftware } from "~/context/software";
 import { Navigate } from "react-router-dom";
 
-import { Page, PageOptions, InstallButton } from "~/components/core";
-import { ChangeProductLink } from "~/components/software";
+import { Page, InstallButton } from "~/components/core";
 import {
   L10nSection,
   NetworkSection,
@@ -47,10 +46,6 @@ function Overview() {
       icon="inventory_2"
       action={<InstallButton onClick={() => setShowErrors(true)} />}
     >
-      <PageOptions>
-        <ChangeProductLink />
-      </PageOptions>
-
       <L10nSection />
       <NetworkSection />
       <StorageSection showErrors />
diff --git a/web/src/components/overview/Overview.test.jsx b/web/src/components/overview/Overview.test.jsx
index 790d2b5e3c..3e7630f1e2 100644
--- a/web/src/components/overview/Overview.test.jsx
+++ b/web/src/components/overview/Overview.test.jsx
@@ -50,7 +50,6 @@ jest.mock("~/components/overview/StorageSection", () => mockComponent("Storage S
 jest.mock("~/components/overview/NetworkSection", () => mockComponent("Network Section"));
 jest.mock("~/components/overview/UsersSection", () => mockComponent("Users Section"));
 jest.mock("~/components/overview/SoftwareSection", () => mockComponent("Software Section"));
-jest.mock("~/components/core/PageOptions", () => mockComponent("PageOptions"));
 jest.mock("~/components/core/InstallButton", () => mockComponent("Install Button"));
 
 beforeEach(() => {

From dd0065bca74d21cade8117bbf1eea1fb710c0683 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 17:45:16 +0100
Subject: [PATCH 10/58] [web] Drop the PageOptions layout slot

It'll become no longer needed
---
 web/src/components/core/Sidebar.test.jsx | 26 ++++++++++++------------
 web/src/components/layout/Layout.jsx     | 15 --------------
 web/src/test-utils.js                    |  1 -
 3 files changed, 13 insertions(+), 29 deletions(-)

diff --git a/web/src/components/core/Sidebar.test.jsx b/web/src/components/core/Sidebar.test.jsx
index 00d1e8b64a..ed8d6f7505 100644
--- a/web/src/components/core/Sidebar.test.jsx
+++ b/web/src/components/core/Sidebar.test.jsx
@@ -22,17 +22,9 @@
 import React from "react";
 import { screen, within } from "@testing-library/react";
 import { plainRender, mockComponent, mockLayout } from "~/test-utils";
-import { PageOptions, Sidebar } from "~/components/core";
+import { Sidebar } from "~/components/core";
 
 jest.mock("~/components/layout/Layout", () => mockLayout());
-jest.mock("~/components/core/PageOptions", () => mockComponent(
-  <>
-    <a href="#">Goes somewhere</a>
-    <a href="#" data-keep-sidebar-open="true">Keep it open!</a>
-    <button>Do something</button>
-    <button data-keep-sidebar-open="true">Keep it open!</button>
-  </>
-));
 
 it("renders the sidebar initially hidden", async () => {
   plainRender(<Sidebar />);
@@ -41,7 +33,7 @@ it("renders the sidebar initially hidden", async () => {
 });
 
 it("renders a link for displaying the sidebar", async () => {
-  const { user } = plainRender(<Sidebar><PageOptions /></Sidebar>);
+  const { user } = plainRender(<Sidebar />);
 
   const link = await screen.findByLabelText(/Show/i);
   const nav = await screen.findByRole("navigation", { name: /options/i });
@@ -52,7 +44,7 @@ it("renders a link for displaying the sidebar", async () => {
 });
 
 it("renders a link for hiding the sidebar", async () => {
-  const { user } = plainRender(<Sidebar><PageOptions /></Sidebar>);
+  const { user } = plainRender(<Sidebar />);
 
   const openLink = await screen.findByLabelText(/Show/i);
   const closeLink = await screen.findByLabelText(/Hide/i);
@@ -66,7 +58,7 @@ it("renders a link for hiding the sidebar", async () => {
 });
 
 it("moves the focus to the close action after opening it", async () => {
-  const { user } = plainRender(<Sidebar><PageOptions /></Sidebar>);
+  const { user } = plainRender(<Sidebar />);
 
   const openLink = await screen.findByLabelText(/Show/i);
   const closeLink = await screen.findByLabelText(/Hide/i);
@@ -78,7 +70,15 @@ it("moves the focus to the close action after opening it", async () => {
 
 describe("onClick bubbling", () => {
   it("hides the sidebar only if the user clicked on a link or button w/o keepSidebarOpen attribute", async () => {
-    const { user } = plainRender(<Sidebar><PageOptions /></Sidebar>);
+    const { user } = plainRender(
+      <Sidebar>
+        <a href="#">Goes somewhere</a>
+        <a href="#" data-keep-sidebar-open="true">Keep it open!</a>
+        <button>Do something</button>
+        <button data-keep-sidebar-open="true">Keep it open!</button>
+      </Sidebar>
+    );
+
     const openLink = screen.getByLabelText(/Show/i);
     await user.click(openLink);
     const nav = screen.getByRole("navigation", { name: /options/i });
diff --git a/web/src/components/layout/Layout.jsx b/web/src/components/layout/Layout.jsx
index e5dbde40b0..0ef2e20278 100644
--- a/web/src/components/layout/Layout.jsx
+++ b/web/src/components/layout/Layout.jsx
@@ -27,7 +27,6 @@ import { ChangeProductLink } from "~/components/software";
 import { About, Disclosure, LogsButton, Sidebar, ShowLogButton, ShowTerminalButton } from "~/components/core";
 
 const PageTitle = createTeleporter();
-const PageOptions = createTeleporter();
 const PageActions = createTeleporter();
 const HeaderActions = createTeleporter();
 const HeaderIcon = createTeleporter();
@@ -86,8 +85,6 @@ function Layout({ children }) {
 
       <Sidebar>
         <>
-          <PageOptions.Target />
-
           <ChangeProductLink />
           <Disclosure label="Diagnostic tools" data-keep-sidebar-open>
             <ShowLogButton />
@@ -187,16 +184,6 @@ const MainActions = FooterActions.Source;
  */
 const AdditionalInfo = FooterInfoArea.Source;
 
-/**
- * Component for setting the slot to place related options, usually in the Sidebar
- */
-const PageOptionsSlot = PageOptions.Target;
-
-/**
- * Component for teleport page related options to the PageOptions slot
- */
-const PageOptionsContent = PageOptions.Source;
-
 export {
   Layout as default,
   Title,
@@ -205,6 +192,4 @@ export {
   ContextualActions,
   MainActions,
   AdditionalInfo,
-  PageOptionsSlot,
-  PageOptionsContent,
 };
diff --git a/web/src/test-utils.js b/web/src/test-utils.js
index ba7c7f47aa..c1bb77de9c 100644
--- a/web/src/test-utils.js
+++ b/web/src/test-utils.js
@@ -148,7 +148,6 @@ const mockLayout = () => ({
   ContextualActions: ({ children }) => children,
   MainActions: ({ children }) => children,
   AdditionalInfo: ({ children }) => children,
-  PageOptionsContent: ({ children }) => children,
 });
 
 export {

From 3145b0a646fbd42c335c44e975ed9f490a4a70bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 17:47:40 +0100
Subject: [PATCH 11/58] [web] Drop PageOptions component

No longer needed since we've decided to stop teleporting page related
actions to make them more discoverable.
---
 web/src/components/core/PageOptions.jsx      | 82 --------------------
 web/src/components/core/PageOptions.test.jsx | 71 -----------------
 web/src/components/core/index.js             |  1 -
 3 files changed, 154 deletions(-)
 delete mode 100644 web/src/components/core/PageOptions.jsx
 delete mode 100644 web/src/components/core/PageOptions.test.jsx

diff --git a/web/src/components/core/PageOptions.jsx b/web/src/components/core/PageOptions.jsx
deleted file mode 100644
index 42b3ab3937..0000000000
--- a/web/src/components/core/PageOptions.jsx
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) [2023] SUSE LLC
- *
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as published
- * by the Free Software Foundation.
- *
- * 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.
- */
-
-// @ts-check
-
-import React from "react";
-import { PageOptionsContent } from '~/components/layout';
-
-/**
- * Wrapper for teleported page options that bubbles onClick
- * event to the slot element.
- *
- * Needed to "dispatch" the onClick events bind to any
- * parent on the DOM tree for "teleported nodes", bypassing the
- * default React Portal behavior of bubbling events up through the
- * React tree only.
- *
- * @example <caption>Simple usage</caption>
- *   <PageOptions title="Storage options">
- *     <Link to="/storage/iscsi">Configure iSCSI devices</Link>
- *     <Button
- *       onClick={showStorageHwInfo}
- *       data-keep-sidebar-open
- *     >
- *       Show Storage Hardware info
- *     </Button>
- *   </PageOptions>
- *
- * @param {object} props
- * @param {string} [props.title="Page options"] - a title for the group
- * @param {string} [props.className="flex-stack"] - CSS class for the wrapper div
- * @param {React.ReactElement} props.children - the teleported content
- */
-export default function PageOptions({
-  title = "Page options",
-  className = "flex-stack",
-  children
-}) {
-  const forwardEvents = (target) => {
-    return (
-      <div
-        className={className}
-        onClick={ e => {
-          // Using a CustomEvent because the originalTarget is needed to check the dataset.
-          // See Sidebar.jsx for better understanding
-          const customEvent = new CustomEvent(
-            e.type,
-            { ...e, detail: { originalTarget: e.target } }
-          );
-          target.dispatchEvent(customEvent);
-        }}
-      >
-        <h3>{title}</h3>
-        {children}
-      </div>
-    );
-  };
-
-  return (
-    <PageOptionsContent>
-      { (target) => forwardEvents(target) }
-    </PageOptionsContent>
-  );
-}
diff --git a/web/src/components/core/PageOptions.test.jsx b/web/src/components/core/PageOptions.test.jsx
deleted file mode 100644
index 543d8a4e4d..0000000000
--- a/web/src/components/core/PageOptions.test.jsx
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) [2023] SUSE LLC
- *
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as published
- * by the Free Software Foundation.
- *
- * 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 } from "@testing-library/react";
-import { plainRender } from "~/test-utils";
-import { PageOptionsSlot } from "~/components/layout";
-import { PageOptions } from "~/components/core";
-
-describe("PageOptions", () => {
-  it("renders given title", () => {
-    plainRender(
-      <>
-        <PageOptionsSlot />
-        <PageOptions title="Awesome options">
-          The page options content
-        </PageOptions>
-      </>
-    );
-
-    screen.getByText("Awesome options");
-  });
-
-  it("renders given children", () => {
-    plainRender(
-      <>
-        <PageOptionsSlot />
-        <PageOptions title="Awesome options">
-          The page options content
-        </PageOptions>
-      </>
-    );
-
-    screen.getByText("The page options content");
-  });
-
-  it("dispatches onClick events to the target", async () => {
-    const onClickHandler = jest.fn();
-    const { user } = plainRender(
-      <>
-        <PageOptionsSlot onClick={onClickHandler} />
-        <PageOptions title="Awesome options">
-          <button>Click tester</button>
-        </PageOptions>
-      </>
-    );
-
-    const button = screen.getByRole("button", { name: "Click tester" });
-    await user.click(button);
-
-    expect(onClickHandler).toHaveBeenCalled();
-  });
-});
diff --git a/web/src/components/core/index.js b/web/src/components/core/index.js
index e9273624b9..db8288c25f 100644
--- a/web/src/components/core/index.js
+++ b/web/src/components/core/index.js
@@ -40,7 +40,6 @@ export { default as FileViewer } from "./FileViewer";
 export { default as RowActions } from "./RowActions";
 export { default as ShowLogButton } from "./ShowLogButton";
 export { default as Page } from "./Page";
-export { default as PageOptions } from "./PageOptions";
 export { default as PasswordAndConfirmationInput } from "./PasswordAndConfirmationInput";
 export { default as Popup } from "./Popup";
 export { default as ProgressReport } from "./ProgressReport";

From dcdf6ba9177e879d79b8e05e3e515b1f61988018 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 18:17:18 +0100
Subject: [PATCH 12/58] [web] CSS adjustment

---
 web/src/assets/styles/blocks.scss | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/web/src/assets/styles/blocks.scss b/web/src/assets/styles/blocks.scss
index 1a6782af8e..f56eea423e 100644
--- a/web/src/assets/styles/blocks.scss
+++ b/web/src/assets/styles/blocks.scss
@@ -202,6 +202,10 @@ section > .content {
   font-weight: var(--fw-bold);
   text-decoration: none;
 
+  svg {
+    color: inherit;
+  }
+
   &:hover {
     color: var(--color-link-hover);
 

From 1cb6b597f0937590db00f478c7a7e17f95a3a6ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 19:06:02 +0100
Subject: [PATCH 13/58] [web] Internal improvements for NetworkPage

---
 web/src/components/network/NetworkPage.jsx | 53 ++++++++--------------
 1 file changed, 20 insertions(+), 33 deletions(-)

diff --git a/web/src/components/network/NetworkPage.jsx b/web/src/components/network/NetworkPage.jsx
index 462514c1f6..315df9e5ea 100644
--- a/web/src/components/network/NetworkPage.jsx
+++ b/web/src/components/network/NetworkPage.jsx
@@ -27,33 +27,6 @@ import { ConnectionTypes, NetworkEventTypes } from "~/client/network";
 import { If, Page, Section } from "~/components/core";
 import { ConnectionsTable, IpSettingsForm, NetworkPageOptions, WifiSelector } from "~/components/network";
 
-/**
- * Internal component for displaying the WifiSelector when applicable
- * @component
- *
- * @param {object} props
- * @param {boolean} props.supported - whether the system supports scanning WiFi networks
- * @param {string} [buttonVariant="link"] - the PF4/Button variant prop for the button. See {@link https://www.patternfly.org/v4/components/button#props }
- */
-const WifiScan = ({ supported, actionVariant = "link" }) => {
-  const [wifiSelectorOpen, setWifiSelectorOpen] = useState(false);
-
-  if (!supported) return null;
-
-  return (
-    <>
-      <Button
-        variant={actionVariant}
-        onClick={() => setWifiSelectorOpen(true)}
-        icon={<Icon name="wifi_find" size="24" />}
-      >
-        Connect to a Wi-Fi network
-      </Button>
-      <WifiSelector isOpen={wifiSelectorOpen} onClose={() => setWifiSelectorOpen(false)} />
-    </>
-  );
-};
-
 /**
  * Internal component for displaying info when none wire connection is found
  * @component
@@ -72,8 +45,9 @@ const NoWiredConnections = () => {
  *
  * @param {object} props
  * @param {boolean} props.supported - whether the system supports scanning WiFi networks
+ * @param {boolean} props.openWifiSelector - the function for opening the WiFi selector
  */
-const NoWifiConnections = ({ wifiScanSupported }) => {
+const NoWifiConnections = ({ wifiScanSupported, openWifiSelector }) => {
   const message = wifiScanSupported
     ? "The system has not been configured for connecting to a WiFi network yet."
     : "The system does not support WiFi connections, probably because of missing or disabled hardware.";
@@ -82,7 +56,20 @@ const NoWifiConnections = ({ wifiScanSupported }) => {
     <div className="stack">
       <div className="bold">No WiFi connections found</div>
       <div>{message}</div>
-      <WifiScan supported={wifiScanSupported} actionVariant="primary" />
+      <If
+        condition={wifiScanSupported}
+        then={
+          <>
+            <Button
+              variant="primary"
+              onClick={openWifiSelector}
+              icon={<Icon name="wifi_find" size="24" />}
+            >
+              Connect to a Wi-Fi network
+            </Button>
+          </>
+        }
+      />
     </div>
   );
 };
@@ -160,13 +147,13 @@ export default function NetworkPage() {
 
   const WifiConnections = () => {
     if (activeWifiConnections.length === 0) {
-      return <NoWifiConnections wifiScanSupported={wifiScanSupported} />;
+      return (
+        <NoWifiConnections wifiScanSupported={wifiScanSupported} openWifiSelector={openWifiSelector} />
+      );
     }
 
     return (
-      <>
-        <ConnectionsTable connections={activeWifiConnections} onEdit={selectConnection} onForget={forgetConnection} />
-      </>
+      <ConnectionsTable connections={activeWifiConnections} onEdit={selectConnection} onForget={forgetConnection} />
     );
   };
 

From e5e9ec0708a1f5a74095ae3369b43ca55f5625ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Fri, 21 Apr 2023 19:47:20 +0100
Subject: [PATCH 14/58] [web] Do not import no longer used test util

Forgotten at dd0065bca74d21cade8117bbf1eea1fb710c0683
---
 web/src/components/core/Sidebar.test.jsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/web/src/components/core/Sidebar.test.jsx b/web/src/components/core/Sidebar.test.jsx
index ed8d6f7505..a29e802a86 100644
--- a/web/src/components/core/Sidebar.test.jsx
+++ b/web/src/components/core/Sidebar.test.jsx
@@ -21,7 +21,7 @@
 
 import React from "react";
 import { screen, within } from "@testing-library/react";
-import { plainRender, mockComponent, mockLayout } from "~/test-utils";
+import { plainRender, mockLayout } from "~/test-utils";
 import { Sidebar } from "~/components/core";
 
 jest.mock("~/components/layout/Layout", () => mockLayout());

From e91e7ccbeb65f913a380d003d8aa273fef86533c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Mon, 24 Apr 2023 13:03:52 +0100
Subject: [PATCH 15/58] [web] Limit when connect to WiFi menu option is
 rendered

For not displaying it when the WiFi scan is not supported.

See https://github.com/openSUSE/agama/pull/545#discussion_r1174995268
---
 web/src/components/network/NetworkPage.jsx    |  5 +----
 .../components/network/NetworkPageOptions.jsx | 21 ++++++-------------
 2 files changed, 7 insertions(+), 19 deletions(-)

diff --git a/web/src/components/network/NetworkPage.jsx b/web/src/components/network/NetworkPage.jsx
index 315df9e5ea..f643f2a76c 100644
--- a/web/src/components/network/NetworkPage.jsx
+++ b/web/src/components/network/NetworkPage.jsx
@@ -173,10 +173,7 @@ export default function NetworkPage() {
         { ready ? <WifiConnections /> : <Skeleton /> }
       </Section>
 
-      <NetworkPageOptions
-        wifiScanSupported={wifiScanSupported}
-        openWifiSelectorCallback={openWifiSelector}
-      />
+      <NetworkPageOptions wifiScanSupported={wifiScanSupported} openWifiSelector={openWifiSelector} />
 
       <If
         condition={wifiScanSupported}
diff --git a/web/src/components/network/NetworkPageOptions.jsx b/web/src/components/network/NetworkPageOptions.jsx
index 79707d99aa..b5d44fa973 100644
--- a/web/src/components/network/NetworkPageOptions.jsx
+++ b/web/src/components/network/NetworkPageOptions.jsx
@@ -22,26 +22,17 @@
 import React from "react";
 import { ContextualActions } from "~/components/core";
 
-const WifiScanNotSupported = () => {
-  return (
-    <>
-      The system does not support scanning WiFi networks
-    </>
-  );
-};
-
 export default function NetworkPageOptions ({
   wifiScanSupported = false,
-  openWifiSelectorCallback
+  openWifiSelector,
 }) {
+  // Since there are not more options yet, do not show the menu if WiFi scan is
+  // not supported.
+  if (!wifiScanSupported) return null;
+
   return (
     <ContextualActions>
-      <ContextualActions.Item
-        key="open-wifi-selector"
-        onClick={openWifiSelectorCallback}
-        isDisabled={!wifiScanSupported}
-        description={!wifiScanSupported ? <WifiScanNotSupported /> : null}
-      >
+      <ContextualActions.Item key="open-wifi-selector" onClick={openWifiSelector}>
         <>Connect to a Wi-Fi network</>
       </ContextualActions.Item>
     </ContextualActions>

From d80381b42a10ac1100d6c3ee9023a656de0d8368 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Mon, 24 Apr 2023 13:09:56 +0100
Subject: [PATCH 16/58] [web] Delete a no longer needed nor true hint

The option for configuring additional devices should be discoverable
enough now and, hopefully, the user does not need to be taught anymore
about where to find options related to a specific page. What is more,
it's no longer true that such actions can be done from the Sidebar.
---
 .../storage/ProposalSettingsSection.jsx       | 39 +++++++------------
 1 file changed, 13 insertions(+), 26 deletions(-)

diff --git a/web/src/components/storage/ProposalSettingsSection.jsx b/web/src/components/storage/ProposalSettingsSection.jsx
index 637b8af7bf..41ee3fac3e 100644
--- a/web/src/components/storage/ProposalSettingsSection.jsx
+++ b/web/src/components/storage/ProposalSettingsSection.jsx
@@ -26,7 +26,7 @@ import {
   Tooltip
 } from "@patternfly/react-core";
 
-import { If, PasswordAndConfirmationInput, Section, Sidebar, Popup } from "~/components/core";
+import { If, PasswordAndConfirmationInput, Section, Popup } from "~/components/core";
 import { ProposalVolumes } from "~/components/storage";
 import { Icon } from "~/components/layout";
 import { noop } from "~/utils";
@@ -130,14 +130,6 @@ const InstallationDeviceField = ({ current, devices, isLoading, onChange }) => {
     return <Button variant="link" isInline onClick={openForm}>{text}</Button>;
   };
 
-  const SidebarLink = ({ label }) => {
-    return (
-      <Sidebar.OpenButton onClick={closeForm}>
-        {label}
-      </Sidebar.OpenButton>
-    );
-  };
-
   if (isLoading) {
     return <Skeleton width="25%" />;
   }
@@ -153,23 +145,18 @@ const InstallationDeviceField = ({ current, devices, isLoading, onChange }) => {
         title="Installation device"
         isOpen={isFormOpen}
       >
-        <div className="flex-stack">
-          <If
-            condition={devices.length === 0}
-            then={<div className="bold">No devices found</div>}
-            else={
-              <InstallationDeviceForm
-                id="bootDeviceForm"
-                current={device}
-                devices={devices}
-                onSubmit={acceptForm}
-              />
-            }
-          />
-          <p>
-            Use the <SidebarLink label="advanced options menu" /> to configure access to more disks.
-          </p>
-        </div>
+        <If
+          condition={devices.length === 0}
+          then={<div className="bold">No devices found</div>}
+          else={
+            <InstallationDeviceForm
+              id="bootDeviceForm"
+              current={device}
+              devices={devices}
+              onSubmit={acceptForm}
+            />
+          }
+        />
         <Popup.Actions>
           <Popup.Confirm
             form="bootDeviceForm"

From a492944bda33c32b3d124ac42d74b1df32b8b40a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Mon, 24 Apr 2023 13:24:09 +0100
Subject: [PATCH 17/58] [web] Drop Sidebar.OpenButton component

Because the use case [1] for which it was introduced was already gone:
to provide a link for directly opening the sidebar from a text teaching
the user where to find page related actions.

We can bring back the component if needed, but let's get rid of it now.

This commit "reverts" f1a56eba9, df85b3c70, and a bit of f39f65dc1

[1] https://github.com/openSUSE/agama/pull/500
---
 web/src/components/core/Sidebar.jsx | 28 ++--------------------------
 1 file changed, 2 insertions(+), 26 deletions(-)

diff --git a/web/src/components/core/Sidebar.jsx b/web/src/components/core/Sidebar.jsx
index f82f0f706f..38be25ad92 100644
--- a/web/src/components/core/Sidebar.jsx
+++ b/web/src/components/core/Sidebar.jsx
@@ -23,9 +23,6 @@ import React, { useEffect, useRef, useState } from "react";
 import { Button, Text } from "@patternfly/react-core";
 import { Icon, AppActions } from "~/components/layout";
 
-// FIXME: look for a better way to allow opening the Sidebar from outside
-let openButtonRef = {};
-
 /**
  * Agama sidebar navigation
  * @component
@@ -33,9 +30,8 @@ let openButtonRef = {};
  * @param {object} props
  * @param {React.ReactElement} props.children
  */
-const Sidebar = ({ children }) => {
+export default function Sidebar ({ children }) {
   const [isOpen, setIsOpen] = useState(false);
-  openButtonRef = useRef(null);
   const closeButtonRef = useRef(null);
 
   const open = () => setIsOpen(true);
@@ -91,7 +87,6 @@ const Sidebar = ({ children }) => {
     <>
       <AppActions>
         <button
-          ref={openButtonRef}
           onClick={open}
           className="plain-control"
           aria-label="Show navigation and other options"
@@ -134,23 +129,4 @@ const Sidebar = ({ children }) => {
       </nav>
     </>
   );
-};
-
-/**
- * Button for opening the sidebar
- * @component
- *
- * @param {object} props
- * @param {onClickFn} [props.onClick] - On click callback
- * @param {React.ReactElement} props.children
- */
-Sidebar.OpenButton = ({ onClick: onClickProp, children }) => {
-  const onClick = () => {
-    if (onClickProp !== undefined) onClickProp();
-    openButtonRef.current.click();
-  };
-
-  return <Button variant="link" isInline onClick={onClick}>{children}</Button>;
-};
-
-export default Sidebar;
+}

From 390329e4bc1be0d650a3cc181d1ddd6ddd400ae2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Mon, 24 Apr 2023 15:12:28 +0100
Subject: [PATCH 18/58] [web] Add documentation and test for ContextualActions

---
 web/src/components/core/ContextualActions.jsx | 65 ++++++++++++++++
 .../core/ContextualActions.test.jsx           | 76 +++++++++++++++++++
 2 files changed, 141 insertions(+)
 create mode 100644 web/src/components/core/ContextualActions.test.jsx

diff --git a/web/src/components/core/ContextualActions.jsx b/web/src/components/core/ContextualActions.jsx
index 8b9464970e..7e3395fb76 100644
--- a/web/src/components/core/ContextualActions.jsx
+++ b/web/src/components/core/ContextualActions.jsx
@@ -23,6 +23,13 @@ import React, { useState } from 'react';
 import { Button, Dropdown, DropdownItem, DropdownGroup } from '@patternfly/react-core';
 import { Icon, ContextualActions as ContextualActionsSlot } from "~/components/layout";
 
+/**
+ * Internal component to build the {ContextualActions} toggler
+ * @component
+ *
+ * @param {object} props
+ * @param {function} props.onClick
+ */
 const Toggler = ({ onClick }) => {
   return (
     <Button onClick={onClick} variant="plain">
@@ -31,6 +38,16 @@ const Toggler = ({ onClick }) => {
   );
 };
 
+/**
+ * A group of actions belonging to a {ContextualActions} component
+ * @component
+ *
+ * Built on top of {@link https://www.patternfly.org/v4/components/dropdown/#dropdowngroup PF DropdownGroup}
+ *
+ * @see {ContextualActions } examples.
+ *
+ * @param {object} props - PF DropdownItem props, See {@link https://www.patternfly.org/v4/components/dropdowngroup}
+ */
 const Group = ({ children, ...props }) => {
   return (
     <DropdownGroup {...props}>
@@ -39,6 +56,16 @@ const Group = ({ children, ...props }) => {
   );
 };
 
+/**
+ * An action belonging to a {ContextualActions} component
+ * @component
+ *
+ * Built on top of {@link https://www.patternfly.org/v4/components/dropdown/#dropdownitem PF DropdownItem}
+ *
+ * @see {ContextualActions } examples.
+ *
+ * @param {object} props - PF DropdownItem props, See {@link https://www.patternfly.org/v4/components/dropdownitem}
+ */
 const Item = ({ children, ...props }) => {
   return (
     <DropdownItem {...props}>
@@ -47,6 +74,44 @@ const Item = ({ children, ...props }) => {
   );
 };
 
+/**
+ * Component for rendering actions related to the current page
+ * @component
+ *
+ * It consist in a {@link https://www.patternfly.org/v4/components/dropdown
+ * PatternFly Dropdown} "teleported" to the header, close to the
+ * action for opening the Sidebar
+ *
+ * @example <caption>Usage example</caption>
+ *   <ContextualActions>
+ *     <ContextualActions.Item
+ *       key="reprobe-link"
+ *       description="Run a storage device detection"
+ *     >
+ *
+ *       Reprobe
+ *     </ContextualActions.Item>
+ *     <ContextualActions.Group key="configuration-links" label="Configure">
+ *       <ContextualActions.Item
+ *         key="dasd-link"
+ *         href={href}
+ *         description="Manage and format"
+ *       >
+ *         DASD
+ *       </ContextualActions.Item>
+ *       <ContextualActions.Item
+ *         key="iscsi-link"
+ *         href={href}
+ *         description="Connect to iSCSI targets"
+ *        >
+ *         iSCSI
+ *       </ContextualActions.Item>
+ *     </ContextualActions.Group>
+ *   </ContextualActions>
+ *
+ * @param {object} props
+ * @param {Group|Item|Array<Group|Item>} props.children
+ */
 const ContextualActions = ({ children }) => {
   const [isOpen, setIsOpen] = useState(false);
   const onToggle = () => setIsOpen(!isOpen);
diff --git a/web/src/components/core/ContextualActions.test.jsx b/web/src/components/core/ContextualActions.test.jsx
new file mode 100644
index 0000000000..8fe1acc01b
--- /dev/null
+++ b/web/src/components/core/ContextualActions.test.jsx
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) [2022-2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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, within } from "@testing-library/react";
+import { plainRender, mockLayout } from "~/test-utils";
+import { ContextualActions } from "~/components/core";
+
+jest.mock("~/components/layout/Layout", () => mockLayout());
+
+it("renders the component initially closed", async () => {
+  const { user } = plainRender(
+    <ContextualActions>
+      <ContextualActions.Item>A dummy action</ContextualActions.Item>
+    </ContextualActions>
+  );
+
+  expect(screen.queryByRole("menuitem", { name: "A dummy action" })).toBeNull();
+});
+
+it("show and hide the component content on user request", async () => {
+  const { user } = plainRender(
+    <ContextualActions>
+      <ContextualActions.Item><>A dummy action</></ContextualActions.Item>
+    </ContextualActions>
+  );
+
+  const toggler = screen.getByRole("button");
+
+  expect(screen.queryByRole("menuitem", { name: "A dummy action" })).toBeNull();
+
+  await user.click(toggler);
+
+  screen.getByRole("menuitem", { name: "A dummy action" });
+
+  await user.click(toggler);
+
+  expect(screen.queryByRole("menuitem", { name: "A dummy action" })).toBeNull();
+});
+
+it("hide the component content when the user clicks on one of its actions", async () => {
+  const { user } = plainRender(
+    <ContextualActions>
+      <ContextualActions.Group label="Refresh">
+        <ContextualActions.Item><>Section</></ContextualActions.Item>
+        <ContextualActions.Item><>Page</></ContextualActions.Item>
+      </ContextualActions.Group>
+      <ContextualActions.Item><>Exit</></ContextualActions.Item>
+    </ContextualActions>
+  );
+
+  const toggler = screen.getByRole("button");
+  await user.click(toggler);
+  const action = screen.getByRole("menuitem", { name: "Section" });
+  await user.click(action);
+
+  expect(screen.queryByRole("menuitem", { name: "A dummy action" })).toBeNull();
+});

From a195e8dc7b6b5da1b4a8a80044b8cae99a75644a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Mon, 24 Apr 2023 15:17:38 +0100
Subject: [PATCH 19/58] [web] CSS adjustment

---
 web/src/assets/styles/blocks.scss | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/web/src/assets/styles/blocks.scss b/web/src/assets/styles/blocks.scss
index f56eea423e..c11acaf65a 100644
--- a/web/src/assets/styles/blocks.scss
+++ b/web/src/assets/styles/blocks.scss
@@ -197,6 +197,10 @@ section > .content {
   }
 }
 
+.contextual-actions > button {
+  --pf-c-button--PaddingRight: 0
+}
+
 .contextual-actions a {
   font-size: 16px;
   font-weight: var(--fw-bold);

From 6a8999026890e24ad18013f86c7f483e52cc84e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Mon, 24 Apr 2023 15:25:24 +0100
Subject: [PATCH 20/58] [web] Rename ContextualActions to PageOptions

Because the component is more related to a PageMenu or PageOptions and
not to a "contextual actions".
---
 web/src/assets/styles/blocks.scss             |  4 +-
 ...{ContextualActions.jsx => PageOptions.jsx} | 46 +++++++++----------
 ...lActions.test.jsx => PageOptions.test.jsx} | 28 +++++------
 web/src/components/core/index.js              |  2 +-
 web/src/components/layout/Layout.jsx          | 22 ++++-----
 .../components/network/NetworkPageOptions.jsx | 10 ++--
 .../storage/ProposalPageOptions.jsx           | 18 ++++----
 web/src/test-utils.js                         |  2 +-
 8 files changed, 66 insertions(+), 66 deletions(-)
 rename web/src/components/core/{ContextualActions.jsx => PageOptions.jsx} (76%)
 rename web/src/components/core/{ContextualActions.test.jsx => PageOptions.test.jsx} (75%)

diff --git a/web/src/assets/styles/blocks.scss b/web/src/assets/styles/blocks.scss
index c11acaf65a..3bccf67918 100644
--- a/web/src/assets/styles/blocks.scss
+++ b/web/src/assets/styles/blocks.scss
@@ -197,11 +197,11 @@ section > .content {
   }
 }
 
-.contextual-actions > button {
+.page-options > button {
   --pf-c-button--PaddingRight: 0
 }
 
-.contextual-actions a {
+.page-options a {
   font-size: 16px;
   font-weight: var(--fw-bold);
   text-decoration: none;
diff --git a/web/src/components/core/ContextualActions.jsx b/web/src/components/core/PageOptions.jsx
similarity index 76%
rename from web/src/components/core/ContextualActions.jsx
rename to web/src/components/core/PageOptions.jsx
index 7e3395fb76..a25a5a264e 100644
--- a/web/src/components/core/ContextualActions.jsx
+++ b/web/src/components/core/PageOptions.jsx
@@ -21,10 +21,10 @@
 
 import React, { useState } from 'react';
 import { Button, Dropdown, DropdownItem, DropdownGroup } from '@patternfly/react-core';
-import { Icon, ContextualActions as ContextualActionsSlot } from "~/components/layout";
+import { Icon, PageOptions as PageOptionsSlot } from "~/components/layout";
 
 /**
- * Internal component to build the {ContextualActions} toggler
+ * Internal component to build the {PageOptions} toggler
  * @component
  *
  * @param {object} props
@@ -39,12 +39,12 @@ const Toggler = ({ onClick }) => {
 };
 
 /**
- * A group of actions belonging to a {ContextualActions} component
+ * A group of actions belonging to a {PageOptions} component
  * @component
  *
  * Built on top of {@link https://www.patternfly.org/v4/components/dropdown/#dropdowngroup PF DropdownGroup}
  *
- * @see {ContextualActions } examples.
+ * @see {PageOptions } examples.
  *
  * @param {object} props - PF DropdownItem props, See {@link https://www.patternfly.org/v4/components/dropdowngroup}
  */
@@ -57,12 +57,12 @@ const Group = ({ children, ...props }) => {
 };
 
 /**
- * An action belonging to a {ContextualActions} component
+ * An action belonging to a {PageOptions} component
  * @component
  *
  * Built on top of {@link https://www.patternfly.org/v4/components/dropdown/#dropdownitem PF DropdownItem}
  *
- * @see {ContextualActions } examples.
+ * @see {PageOptions } examples.
  *
  * @param {object} props - PF DropdownItem props, See {@link https://www.patternfly.org/v4/components/dropdownitem}
  */
@@ -83,56 +83,56 @@ const Item = ({ children, ...props }) => {
  * action for opening the Sidebar
  *
  * @example <caption>Usage example</caption>
- *   <ContextualActions>
- *     <ContextualActions.Item
+ *   <PageOptions>
+ *     <PageOptions.Item
  *       key="reprobe-link"
  *       description="Run a storage device detection"
  *     >
  *
  *       Reprobe
- *     </ContextualActions.Item>
- *     <ContextualActions.Group key="configuration-links" label="Configure">
- *       <ContextualActions.Item
+ *     </PageOptions.Item>
+ *     <PageOptions.Group key="configuration-links" label="Configure">
+ *       <PageOptions.Item
  *         key="dasd-link"
  *         href={href}
  *         description="Manage and format"
  *       >
  *         DASD
- *       </ContextualActions.Item>
- *       <ContextualActions.Item
+ *       </PageOptions.Item>
+ *       <PageOptions.Item
  *         key="iscsi-link"
  *         href={href}
  *         description="Connect to iSCSI targets"
  *        >
  *         iSCSI
- *       </ContextualActions.Item>
- *     </ContextualActions.Group>
- *   </ContextualActions>
+ *       </PageOptions.Item>
+ *     </PageOptions.Group>
+ *   </PageOptions>
  *
  * @param {object} props
  * @param {Group|Item|Array<Group|Item>} props.children
  */
-const ContextualActions = ({ children }) => {
+const PageOptions = ({ children }) => {
   const [isOpen, setIsOpen] = useState(false);
   const onToggle = () => setIsOpen(!isOpen);
   const onSelect = () => setIsOpen(false);
 
   return (
-    <ContextualActionsSlot>
+    <PageOptionsSlot>
       <Dropdown
         isOpen={isOpen}
         toggle={<Toggler onClick={onToggle} />}
         onSelect={onSelect}
         dropdownItems={Array(children)}
         position="right"
-        className="contextual-actions"
+        className="page-options"
         isGrouped
       />
-    </ContextualActionsSlot>
+    </PageOptionsSlot>
   );
 };
 
-ContextualActions.Group = Group;
-ContextualActions.Item = Item;
+PageOptions.Group = Group;
+PageOptions.Item = Item;
 
-export default ContextualActions;
+export default PageOptions;
diff --git a/web/src/components/core/ContextualActions.test.jsx b/web/src/components/core/PageOptions.test.jsx
similarity index 75%
rename from web/src/components/core/ContextualActions.test.jsx
rename to web/src/components/core/PageOptions.test.jsx
index 8fe1acc01b..472ef22bb1 100644
--- a/web/src/components/core/ContextualActions.test.jsx
+++ b/web/src/components/core/PageOptions.test.jsx
@@ -22,15 +22,15 @@
 import React from "react";
 import { screen, within } from "@testing-library/react";
 import { plainRender, mockLayout } from "~/test-utils";
-import { ContextualActions } from "~/components/core";
+import { PageOptions } from "~/components/core";
 
 jest.mock("~/components/layout/Layout", () => mockLayout());
 
 it("renders the component initially closed", async () => {
   const { user } = plainRender(
-    <ContextualActions>
-      <ContextualActions.Item>A dummy action</ContextualActions.Item>
-    </ContextualActions>
+    <PageOptions>
+      <PageOptions.Item>A dummy action</PageOptions.Item>
+    </PageOptions>
   );
 
   expect(screen.queryByRole("menuitem", { name: "A dummy action" })).toBeNull();
@@ -38,9 +38,9 @@ it("renders the component initially closed", async () => {
 
 it("show and hide the component content on user request", async () => {
   const { user } = plainRender(
-    <ContextualActions>
-      <ContextualActions.Item><>A dummy action</></ContextualActions.Item>
-    </ContextualActions>
+    <PageOptions>
+      <PageOptions.Item><>A dummy action</></PageOptions.Item>
+    </PageOptions>
   );
 
   const toggler = screen.getByRole("button");
@@ -58,13 +58,13 @@ it("show and hide the component content on user request", async () => {
 
 it("hide the component content when the user clicks on one of its actions", async () => {
   const { user } = plainRender(
-    <ContextualActions>
-      <ContextualActions.Group label="Refresh">
-        <ContextualActions.Item><>Section</></ContextualActions.Item>
-        <ContextualActions.Item><>Page</></ContextualActions.Item>
-      </ContextualActions.Group>
-      <ContextualActions.Item><>Exit</></ContextualActions.Item>
-    </ContextualActions>
+    <PageOptions>
+      <PageOptions.Group label="Refresh">
+        <PageOptions.Item><>Section</></PageOptions.Item>
+        <PageOptions.Item><>Page</></PageOptions.Item>
+      </PageOptions.Group>
+      <PageOptions.Item><>Exit</></PageOptions.Item>
+    </PageOptions>
   );
 
   const toggler = screen.getByRole("button");
diff --git a/web/src/components/core/index.js b/web/src/components/core/index.js
index db8288c25f..aa646259a7 100644
--- a/web/src/components/core/index.js
+++ b/web/src/components/core/index.js
@@ -20,7 +20,7 @@
  */
 
 export { default as About } from "./About";
-export { default as ContextualActions } from "./ContextualActions";
+export { default as PageOptions } from "./PageOptions";
 export { default as Disclosure } from "./Disclosure";
 export { default as Sidebar } from "./Sidebar";
 export { default as Section } from "./Section";
diff --git a/web/src/components/layout/Layout.jsx b/web/src/components/layout/Layout.jsx
index 0ef2e20278..1cbdbb836b 100644
--- a/web/src/components/layout/Layout.jsx
+++ b/web/src/components/layout/Layout.jsx
@@ -130,30 +130,30 @@ const Title = PageTitle.Source;
 const PageIcon = HeaderIcon.Source;
 
 /**
- * Component for setting global actions shown on the header right
+ * Component for setting page actions shown on the header right
  *
  * @example
- *   import { AppActions } from "agama-layout";
+ *   import { PageActions } from "agama-layout";
  *   import { FancyButton } from "somewhere";
  *   ...
- *   <AppActions>
+ *   <PageActions>
  *     <FancyButton onClick={() => console.log("do something")} />
- *   </AppActions>
+ *   </PageActions>
  */
-const AppActions = HeaderActions.Source;
+const PageOptions = PageActions.Source;
 
 /**
- * Component for setting page actions shown on the header right
+ * Component for setting global actions shown on the header right
  *
  * @example
- *   import { PageActions } from "agama-layout";
+ *   import { AppActions } from "agama-layout";
  *   import { FancyButton } from "somewhere";
  *   ...
- *   <PageActions>
+ *   <AppActions>
  *     <FancyButton onClick={() => console.log("do something")} />
- *   </PageActions>
+ *   </AppActions>
  */
-const ContextualActions = PageActions.Source;
+const AppActions = HeaderActions.Source;
 
 /**
  * Component for setting the main actions shown on the footer right
@@ -189,7 +189,7 @@ export {
   Title,
   PageIcon,
   AppActions,
-  ContextualActions,
+  PageOptions,
   MainActions,
   AdditionalInfo,
 };
diff --git a/web/src/components/network/NetworkPageOptions.jsx b/web/src/components/network/NetworkPageOptions.jsx
index b5d44fa973..01286ecf73 100644
--- a/web/src/components/network/NetworkPageOptions.jsx
+++ b/web/src/components/network/NetworkPageOptions.jsx
@@ -20,7 +20,7 @@
  */
 
 import React from "react";
-import { ContextualActions } from "~/components/core";
+import { PageOptions } from "~/components/core";
 
 export default function NetworkPageOptions ({
   wifiScanSupported = false,
@@ -31,10 +31,10 @@ export default function NetworkPageOptions ({
   if (!wifiScanSupported) return null;
 
   return (
-    <ContextualActions>
-      <ContextualActions.Item key="open-wifi-selector" onClick={openWifiSelector}>
+    <PageOptions>
+      <PageOptions.Item key="open-wifi-selector" onClick={openWifiSelector}>
         <>Connect to a Wi-Fi network</>
-      </ContextualActions.Item>
-    </ContextualActions>
+      </PageOptions.Item>
+    </PageOptions>
   );
 }
diff --git a/web/src/components/storage/ProposalPageOptions.jsx b/web/src/components/storage/ProposalPageOptions.jsx
index a464719f00..a6a90ad060 100644
--- a/web/src/components/storage/ProposalPageOptions.jsx
+++ b/web/src/components/storage/ProposalPageOptions.jsx
@@ -22,19 +22,19 @@
 import React, { useEffect, useState } from "react";
 import { useHref } from "react-router-dom";
 import { useInstallerClient } from "~/context/installer";
-import { If, ContextualActions } from "~/components/core";
+import { If, PageOptions } from "~/components/core";
 
 const DASDLink = () => {
   const href = useHref("/storage/dasd");
 
   return (
-    <ContextualActions.Item
+    <PageOptions.Item
       key="dasd-link"
       href={href}
       description="Manage and format"
     >
       DASD
-    </ContextualActions.Item>
+    </PageOptions.Item>
   );
 };
 
@@ -42,13 +42,13 @@ const ISCSILink = () => {
   const href = useHref("/storage/iscsi");
 
   return (
-    <ContextualActions.Item
+    <PageOptions.Item
       key="iscsi-link"
       href={href}
       description="Connect to iSCSI targets"
     >
       iSCSI
-    </ContextualActions.Item>
+    </PageOptions.Item>
   );
 };
 
@@ -61,14 +61,14 @@ export default function ProposalPageOptions () {
   }, [client.dasd]);
 
   return (
-    <ContextualActions>
-      <ContextualActions.Group
+    <PageOptions>
+      <PageOptions.Group
         label="Configure"
         key="devices-options"
       >
         <If condition={showDasdLink} then={<DASDLink />} />
         <ISCSILink />
-      </ContextualActions.Group>
-    </ContextualActions>
+      </PageOptions.Group>
+    </PageOptions>
   );
 }
diff --git a/web/src/test-utils.js b/web/src/test-utils.js
index c1bb77de9c..a472747423 100644
--- a/web/src/test-utils.js
+++ b/web/src/test-utils.js
@@ -145,7 +145,7 @@ const mockLayout = () => ({
   Title: ({ children }) => children,
   PageIcon: ({ children }) => children,
   AppActions: ({ children }) => children,
-  ContextualActions: ({ children }) => children,
+  PageOptions: ({ children }) => children,
   MainActions: ({ children }) => children,
   AdditionalInfo: ({ children }) => children,
 });

From fd4f07991e3412bd6e06aeaf9be8b86ec06f9d19 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Mon, 24 Apr 2023 16:47:38 +0100
Subject: [PATCH 21/58] [web] Add documentation

---
 web/src/components/network/NetworkPageOptions.jsx  |  8 ++++++++
 web/src/components/storage/ProposalPageOptions.jsx | 12 ++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/web/src/components/network/NetworkPageOptions.jsx b/web/src/components/network/NetworkPageOptions.jsx
index 01286ecf73..b27cb1d4ab 100644
--- a/web/src/components/network/NetworkPageOptions.jsx
+++ b/web/src/components/network/NetworkPageOptions.jsx
@@ -22,6 +22,14 @@
 import React from "react";
 import { PageOptions } from "~/components/core";
 
+/**
+ * Component for rendering the options available from Network page
+ * @component
+ *
+ * @param {object} props
+ * @param {boolean} [props.wifiScanSupported=false] - wether the scan of WiFi networks is supported
+ * @param {function} props.openWifiSelector - the function for opening the WiFi network selector
+ */
 export default function NetworkPageOptions ({
   wifiScanSupported = false,
   openWifiSelector,
diff --git a/web/src/components/storage/ProposalPageOptions.jsx b/web/src/components/storage/ProposalPageOptions.jsx
index a6a90ad060..858e8310e3 100644
--- a/web/src/components/storage/ProposalPageOptions.jsx
+++ b/web/src/components/storage/ProposalPageOptions.jsx
@@ -24,6 +24,10 @@ import { useHref } from "react-router-dom";
 import { useInstallerClient } from "~/context/installer";
 import { If, PageOptions } from "~/components/core";
 
+/**
+ * Internal component for build the link to Storage/DASD page
+ * @component
+ */
 const DASDLink = () => {
   const href = useHref("/storage/dasd");
 
@@ -38,6 +42,10 @@ const DASDLink = () => {
   );
 };
 
+/**
+ * Internal component for build the link to Storage/iSCSI page
+ * @component
+ */
 const ISCSILink = () => {
   const href = useHref("/storage/iscsi");
 
@@ -52,6 +60,10 @@ const ISCSILink = () => {
   );
 };
 
+/**
+ * Component for rendering the options available from Storage/ProposalPage
+ * @component
+ */
 export default function ProposalPageOptions () {
   const [showDasdLink, setShowDasdLink] = useState(false);
   const { storage: client } = useInstallerClient();

From a60b512cde93747d7a882f602848e760d55f6a53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Mon, 24 Apr 2023 16:54:53 +0100
Subject: [PATCH 22/58] [web] Update the changes file

---
 web/package/cockpit-agama.changes | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/web/package/cockpit-agama.changes b/web/package/cockpit-agama.changes
index c204d48697..db0d9246d9 100644
--- a/web/package/cockpit-agama.changes
+++ b/web/package/cockpit-agama.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Mon Apr 24 15:53:35 UTC 2023 - David Diaz <dgonzalez@suse.com>
+
+- Extract page options from the Sidebar to make them
+  more discoverable (gh#openSUSE/agama#545)
+
 -------------------------------------------------------------------
 Fri Apr 14 13:08:05 UTC 2023 - José Iván López González <jlopez@suse.com>
 

From 6d9c61b72848071012eee543a82aff15a0cca130 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Tue, 25 Apr 2023 08:39:06 +0100
Subject: [PATCH 23/58] [web] Please linters

---
 web/src/components/core/PageOptions.test.jsx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/web/src/components/core/PageOptions.test.jsx b/web/src/components/core/PageOptions.test.jsx
index 472ef22bb1..00c26aaafa 100644
--- a/web/src/components/core/PageOptions.test.jsx
+++ b/web/src/components/core/PageOptions.test.jsx
@@ -20,14 +20,14 @@
  */
 
 import React from "react";
-import { screen, within } from "@testing-library/react";
+import { screen } from "@testing-library/react";
 import { plainRender, mockLayout } from "~/test-utils";
 import { PageOptions } from "~/components/core";
 
 jest.mock("~/components/layout/Layout", () => mockLayout());
 
 it("renders the component initially closed", async () => {
-  const { user } = plainRender(
+  plainRender(
     <PageOptions>
       <PageOptions.Item>A dummy action</PageOptions.Item>
     </PageOptions>

From a0d7685a93e084d37e373a47a9525acde10f72cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Tue, 25 Apr 2023 09:24:15 +0100
Subject: [PATCH 24/58] [web] Add a the initial version of a notification mark

A simple component for rendering a notification/status mark, consisting
of an absolute right positioned circle on top of a relative positioned
element.

The idea is to catch the users' attention for clicking on the element
presenting the mark, but having in mind that they can continue with the
installation without doing so.
---
 web/src/assets/styles/blocks.scss             | 13 ++++++
 web/src/assets/styles/utilities.scss          |  1 +
 web/src/components/core/NotificationMark.jsx  | 42 +++++++++++++++++++
 .../components/core/NotificationMark.test.jsx | 30 +++++++++++++
 web/src/components/core/Sidebar.jsx           |  2 +
 web/src/components/core/index.js              |  1 +
 6 files changed, 89 insertions(+)
 create mode 100644 web/src/components/core/NotificationMark.jsx
 create mode 100644 web/src/components/core/NotificationMark.test.jsx

diff --git a/web/src/assets/styles/blocks.scss b/web/src/assets/styles/blocks.scss
index 3bccf67918..08e40a0445 100644
--- a/web/src/assets/styles/blocks.scss
+++ b/web/src/assets/styles/blocks.scss
@@ -218,3 +218,16 @@ section > .content {
     }
   }
 }
+
+span.notification-mark {
+  --border-width: 2px;
+  --size: calc(var(--fs-base) + var(--border-width));
+
+  position: absolute;
+  right: 0;
+  background: var(--color-primary-lighter);
+  border: var(--border-width) solid var(--color-primary);
+  width: var(--size);
+  height: var(--size);
+  border-radius: 999px;
+}
diff --git a/web/src/assets/styles/utilities.scss b/web/src/assets/styles/utilities.scss
index 5ccf6d7e2a..fbcf746fb4 100644
--- a/web/src/assets/styles/utilities.scss
+++ b/web/src/assets/styles/utilities.scss
@@ -114,6 +114,7 @@
 }
 
 .plain-control {
+  position: relative;
   background: none;
   border: none;
 }
diff --git a/web/src/components/core/NotificationMark.jsx b/web/src/components/core/NotificationMark.jsx
new file mode 100644
index 0000000000..8e6feac3cf
--- /dev/null
+++ b/web/src/components/core/NotificationMark.jsx
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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";
+
+/**
+ * A notification mark that  icon for catching the users attention when there is
+ * something that can be interesting for them but not urgent enough to use a
+ * (blocking) Popup.
+ *
+ * @component
+ *
+ * Initially though to be displayed on top of the Sidebar icon.
+ *
+ * Use only when the information to show might be overlooked without risk and/or
+ * when the information will be displayed sooner or later in other way (in a
+ * confirmation dialog, for example).
+ *
+ * @param {object} props
+ * @param {string} props.label - the label to be announced by screen readers
+ */
+export default function NotificationMark ({ label }) {
+  return <span className="notification-mark" role="status" aria-label={label} />;
+}
diff --git a/web/src/components/core/NotificationMark.test.jsx b/web/src/components/core/NotificationMark.test.jsx
new file mode 100644
index 0000000000..551c019a9f
--- /dev/null
+++ b/web/src/components/core/NotificationMark.test.jsx
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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 } from "@testing-library/react";
+import { plainRender } from "~/test-utils";
+import { NotificationMark } from "~/components/core";
+
+it("renders a span with status role", async () => {
+  plainRender(<NotificationMark label="Some issues detected, please have a look" />);
+  screen.getByRole("status", { name: "Some issues detected, please have a look" });
+});
diff --git a/web/src/components/core/Sidebar.jsx b/web/src/components/core/Sidebar.jsx
index 38be25ad92..7b9a0f74de 100644
--- a/web/src/components/core/Sidebar.jsx
+++ b/web/src/components/core/Sidebar.jsx
@@ -22,6 +22,7 @@
 import React, { useEffect, useRef, useState } from "react";
 import { Button, Text } from "@patternfly/react-core";
 import { Icon, AppActions } from "~/components/layout";
+import { NotificationMark } from "~/components/core";
 
 /**
  * Agama sidebar navigation
@@ -93,6 +94,7 @@ export default function Sidebar ({ children }) {
           aria-controls="navigation-and-options"
           aria-expanded={isOpen}
         >
+          <NotificationMark />
           <Icon name="menu" />
         </button>
       </AppActions>
diff --git a/web/src/components/core/index.js b/web/src/components/core/index.js
index aa646259a7..976870f9b7 100644
--- a/web/src/components/core/index.js
+++ b/web/src/components/core/index.js
@@ -47,3 +47,4 @@ export { default as ProgressText } from "./ProgressText";
 export { default as ValidationErrors } from "./ValidationErrors";
 export { default as Terminal } from "./Terminal";
 export { default as ShowTerminalButton } from "./ShowTerminalButton";
+export { default as NotificationMark } from "./NotificationMark";

From 78b4ab41133629458f99829b3f1865b84d7e9518 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Wed, 26 Apr 2023 16:05:48 +0100
Subject: [PATCH 25/58] [service] Add Issue class

---
 service/lib/agama/issue.rb       | 77 ++++++++++++++++++++++++++++++++
 service/test/agama/issue_test.rb | 45 +++++++++++++++++++
 2 files changed, 122 insertions(+)
 create mode 100644 service/lib/agama/issue.rb
 create mode 100644 service/test/agama/issue_test.rb

diff --git a/service/lib/agama/issue.rb b/service/lib/agama/issue.rb
new file mode 100644
index 0000000000..067cce1a7c
--- /dev/null
+++ b/service/lib/agama/issue.rb
@@ -0,0 +1,77 @@
+# frozen_string_literal: true
+
+# Copyright (c) [2023] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# 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.
+
+module Agama
+  # Represents an issue
+  class Issue
+    # Description of the issue
+    #
+    # @return [String]
+    attr_reader :description
+
+    # Details of the isssue, if any
+    #
+    # @return [String, nil]
+    attr_reader :details
+
+    # Source of the issue, see {Source}
+    #
+    # @return [Symbol, nil]
+    attr_reader :source
+
+    # Severity of the issue, see {Severity}
+    #
+    # @return [Symbol]
+    attr_reader :severity
+
+    # Defines possible sources
+    module Source
+      SYSTEM = :system
+      CONFIG = :config
+    end
+
+    # Defines different severities
+    module Severity
+      WARN = :warn
+      ERROR = :error
+    end
+
+    # Constructor
+    #
+    # @param description [String]
+    # @param details [String, nil]
+    # @param source [symbol, nil]
+    # @param severity [symbol]
+    def initialize(description, details: "", source: nil, severity: Severity::WARN)
+      @description = description
+      @details = details
+      @source = source
+      @severity = severity
+    end
+
+    # Whether the issue has error severity
+    #
+    # @return [Boolean]
+    def error?
+      severity == Severity::ERROR
+    end
+  end
+end
diff --git a/service/test/agama/issue_test.rb b/service/test/agama/issue_test.rb
new file mode 100644
index 0000000000..ae2a00d858
--- /dev/null
+++ b/service/test/agama/issue_test.rb
@@ -0,0 +1,45 @@
+# frozen_string_literal: true
+
+# Copyright (c) [2023] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# 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.
+
+require_relative "../test_helper"
+require "agama/issue"
+
+describe Agama::Issue do
+  subject { described_class.new("Issue test", severity: severity) }
+
+  describe "#error?" do
+    context "if the issue has warn severity" do
+      let(:severity) { Agama::Issue::Severity::WARN }
+
+      it "returns false" do
+        expect(subject.error?).to eq(false)
+      end
+    end
+
+    context "if the issue has error severity" do
+      let(:severity) { Agama::Issue::Severity::ERROR }
+
+      it "returns true" do
+        expect(subject.error?).to eq(true)
+      end
+    end
+  end
+end

From 04e87fdeeb54b7ce88e5daf9bbc513b9c1518933 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Wed, 26 Apr 2023 16:08:28 +0100
Subject: [PATCH 26/58] [service] Add issues interface

---
 service/lib/agama/dbus.rb                     | 24 +++++-
 service/lib/agama/dbus/interfaces.rb          | 33 ++++++++
 service/lib/agama/dbus/interfaces/issues.rb   | 74 ++++++++++++++++++
 .../test/agama/dbus/interfaces/issues_test.rb | 76 +++++++++++++++++++
 4 files changed, 206 insertions(+), 1 deletion(-)
 create mode 100644 service/lib/agama/dbus/interfaces.rb
 create mode 100644 service/lib/agama/dbus/interfaces/issues.rb
 create mode 100644 service/test/agama/dbus/interfaces/issues_test.rb

diff --git a/service/lib/agama/dbus.rb b/service/lib/agama/dbus.rb
index 5c9f5f3491..45354f6c27 100644
--- a/service/lib/agama/dbus.rb
+++ b/service/lib/agama/dbus.rb
@@ -1,7 +1,26 @@
 # frozen_string_literal: true
 
+# Copyright (c) [2022] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# 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.
+
 module Agama
-  # Namespace for DBus API
+  # Namespace for D-Bus API
   module DBus
   end
 end
@@ -9,3 +28,6 @@ module DBus
 require "agama/dbus/manager"
 require "agama/dbus/language"
 require "agama/dbus/software"
+require "agama/dbus/storage"
+require "agama/dbus/users"
+require "agama/dbus/questions"
diff --git a/service/lib/agama/dbus/interfaces.rb b/service/lib/agama/dbus/interfaces.rb
new file mode 100644
index 0000000000..a439d3f505
--- /dev/null
+++ b/service/lib/agama/dbus/interfaces.rb
@@ -0,0 +1,33 @@
+# frozen_string_literal: true
+
+# Copyright (c) [2023] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# 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.
+
+module Agama
+  module DBus
+    # Namespace for generic D-Bus interfaces
+    module Interfaces
+    end
+  end
+end
+
+require "agama/dbus/interfaces/issues"
+require "agama/dbus/interfaces/progress"
+require "agama/dbus/interfaces/service_status"
+require "agama/dbus/interfaces/validation"
diff --git a/service/lib/agama/dbus/interfaces/issues.rb b/service/lib/agama/dbus/interfaces/issues.rb
new file mode 100644
index 0000000000..758edba54f
--- /dev/null
+++ b/service/lib/agama/dbus/interfaces/issues.rb
@@ -0,0 +1,74 @@
+# frozen_string_literal: true
+
+# Copyright (c) [2022] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# 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.
+
+require "dbus"
+require "agama/issue"
+
+module Agama
+  module DBus
+    module Interfaces
+      # Mixin to define the Issues D-Bus interface
+      #
+      # @note This mixin is expected to be included in a class that inherits from {DBus::BaseObject}
+      # and it requires a #issues method that returns an array of {Issue} objects.
+      module Issues
+        ISSUES_INTERFACE = "org.opensuse.Agama1.Issues"
+
+        # Issues with the D-Bus format
+        #
+        # @return [Array<Array(String, String, Integer, Integer)>] The description, details, source
+        #   and severity of each issue.
+        #   Source: 1 for system, 2 for config and 3 for unknown.
+        #   Severity: 0 for warn and 1 for error.
+        def dbus_issues
+          issues.map do |issue|
+            source = case issue.source
+            when Agama::Issue::Source::SYSTEM
+              1
+            when Agama::Issue::Source::CONFIG
+              2
+            else
+              0
+            end
+            severity = issue.severity == Agama::Issue::Severity::WARN ? 0 : 1
+
+            [issue.description, issue.details.to_s, source, severity]
+          end
+        end
+
+        # Emits the signal for properties changed
+        def issues_properties_changed
+          dbus_properties_changed(ISSUES_INTERFACE,
+            interfaces_and_properties[ISSUES_INTERFACE], [])
+        end
+
+        def self.included(base)
+          base.class_eval do
+            dbus_interface ISSUES_INTERFACE do
+              # @see {#dbus_issues}
+              dbus_reader :dbus_issues, "a(ssuu)", dbus_name: "All"
+            end
+          end
+        end
+      end
+    end
+  end
+end
diff --git a/service/test/agama/dbus/interfaces/issues_test.rb b/service/test/agama/dbus/interfaces/issues_test.rb
new file mode 100644
index 0000000000..146e579d6d
--- /dev/null
+++ b/service/test/agama/dbus/interfaces/issues_test.rb
@@ -0,0 +1,76 @@
+# frozen_string_literal: true
+
+# Copyright (c) [2023] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# 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.
+
+require_relative "../../../test_helper"
+require "dbus"
+require "agama/dbus/interfaces/issues"
+require "agama/issue"
+
+class DBusObjectWithIssuesInterface < ::DBus::Object
+  include Agama::DBus::Interfaces::Issues
+
+  def initialize
+    super("org.opensuse.Agama.UnitTests")
+  end
+
+  def issues
+    [
+      Agama::Issue.new("Issue 1",
+        details:  "Details 1",
+        source:   Agama::Issue::Source::SYSTEM,
+        severity: Agama::Issue::Severity::WARN),
+      Agama::Issue.new("Issue 2",
+        details:  "Details 2",
+        source:   Agama::Issue::Source::CONFIG,
+        severity: Agama::Issue::Severity::ERROR)
+    ]
+  end
+end
+
+describe DBusObjectWithIssuesInterface do
+  let(:issues_interface) do
+    Agama::DBus::Interfaces::Issues::ISSUES_INTERFACE
+  end
+
+  it "defines Issues D-Bus interface" do
+    expect(subject.intfs.keys).to include(issues_interface)
+  end
+
+  describe "#dbus_issues" do
+    it "returns the info of all issues" do
+      result = subject.dbus_issues
+
+      expect(result).to contain_exactly(
+        ["Issue 1", "Details 1", 1, 0],
+        ["Issue 2", "Details 2", 2, 1]
+      )
+    end
+  end
+
+  describe "#issues_properties_changed" do
+    it "emits a properties changed signal for issues" do
+      expect(subject).to receive(:dbus_properties_changed)
+        .with(issues_interface, anything, anything)
+
+      subject.issues_properties_changed
+    end
+  end
+end

From f957f2e0193a6c95d420ca34286ccd5334a82f41 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Wed, 26 Apr 2023 16:43:24 +0100
Subject: [PATCH 27/58] [service] Add shared examples for progress

---
 service/test/agama/manager_test.rb            |  3 +++
 service/test/agama/software/manager_test.rb   |  3 +++
 service/test/agama/storage/finisher_test.rb   |  3 +++
 ...ress_test.rb => with_progress_examples.rb} | 21 +++++++------------
 4 files changed, 17 insertions(+), 13 deletions(-)
 rename service/test/agama/{with_progress_test.rb => with_progress_examples.rb} (86%)

diff --git a/service/test/agama/manager_test.rb b/service/test/agama/manager_test.rb
index 69cf6f555f..24d00a9138 100644
--- a/service/test/agama/manager_test.rb
+++ b/service/test/agama/manager_test.rb
@@ -20,6 +20,7 @@
 # find current contact information at www.suse.com.
 
 require_relative "../test_helper"
+require_relative "./with_progress_examples"
 require "agama/manager"
 require "agama/config"
 require "agama/question"
@@ -213,4 +214,6 @@
       expect(path).to eq("/tmp/y2log-hWBn95.tar.xz")
     end
   end
+
+  include_examples "progress"
 end
diff --git a/service/test/agama/software/manager_test.rb b/service/test/agama/software/manager_test.rb
index e706943c71..1dd557a6f1 100644
--- a/service/test/agama/software/manager_test.rb
+++ b/service/test/agama/software/manager_test.rb
@@ -20,6 +20,7 @@
 # find current contact information at www.suse.com.
 
 require_relative "../../test_helper"
+require_relative "../with_progress_examples"
 require_relative File.join(
   SRC_PATH, "agama", "dbus", "y2dir", "software", "modules", "PackageCallbacks.rb"
 )
@@ -282,4 +283,6 @@
       end
     end
   end
+
+  include_examples "progress"
 end
diff --git a/service/test/agama/storage/finisher_test.rb b/service/test/agama/storage/finisher_test.rb
index c4d325a783..3f5f3eac19 100644
--- a/service/test/agama/storage/finisher_test.rb
+++ b/service/test/agama/storage/finisher_test.rb
@@ -21,6 +21,7 @@
 
 require_relative "../../test_helper"
 require_relative "storage_helpers"
+require_relative "../with_progress_examples"
 require "agama/helpers"
 require "agama/config"
 require "agama/security"
@@ -137,4 +138,6 @@
       subject.run
     end
   end
+
+  include_examples "progress"
 end
diff --git a/service/test/agama/with_progress_test.rb b/service/test/agama/with_progress_examples.rb
similarity index 86%
rename from service/test/agama/with_progress_test.rb
rename to service/test/agama/with_progress_examples.rb
index 1c086b3ecd..a4e463e799 100644
--- a/service/test/agama/with_progress_test.rb
+++ b/service/test/agama/with_progress_examples.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-# Copyright (c) [2022] SUSE LLC
+# Copyright (c) [2023] SUSE LLC
 #
 # All Rights Reserved.
 #
@@ -20,15 +20,8 @@
 # find current contact information at www.suse.com.
 
 require_relative "../test_helper"
-require "agama/with_progress"
-
-class WithProgressTest
-  include Agama::WithProgress
-end
-
-describe WithProgressTest do
-  let(:logger) { Logger.new($stdout, level: :warn) }
 
+shared_examples "progress" do
   describe "#progress" do
     context "if not progress was started" do
       it "returns nil" do
@@ -73,18 +66,20 @@ class WithProgressTest
       end
 
       it "configures the 'on_change' callbacks for the new progress" do
-        subject.on_progress_change { logger.info("progress changes") }
+        callback = proc {}
+        subject.on_progress_change(&callback)
 
-        expect(logger).to receive(:info).with(/progress changes/)
+        expect(callback).to receive(:call)
 
         subject.start_progress(1)
         subject.progress.step("step 1")
       end
 
       it "configures the 'on_finish' callbacks for the new progress" do
-        subject.on_progress_finish { logger.info("progress finishes") }
+        callback = proc {}
+        subject.on_progress_finish(&callback)
 
-        expect(logger).to receive(:info).with(/progress finishes/)
+        expect(callback).to receive(:call)
 
         subject.start_progress(1)
         subject.progress.finish

From d57181cf6e16e7eba234f7617c642d0c6329b866 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Wed, 26 Apr 2023 16:45:16 +0100
Subject: [PATCH 28/58] [service] Add issues to storage

---
 service/lib/agama/dbus/storage/manager.rb     |  35 ++--
 service/lib/agama/manager.rb                  |   2 +-
 service/lib/agama/storage/manager.rb          | 122 +++++++++---
 service/lib/agama/storage/proposal.rb         |  69 ++++---
 service/lib/agama/with_issues.rb              |  48 +++++
 .../test/agama/dbus/storage/manager_test.rb   |  14 +-
 service/test/agama/manager_test.rb            |   6 +-
 service/test/agama/storage/manager_test.rb    | 185 ++++++++++++++----
 service/test/agama/storage/proposal_test.rb   |  65 +++---
 service/test/agama/with_issues_examples.rb    |  49 +++++
 10 files changed, 441 insertions(+), 154 deletions(-)
 create mode 100644 service/lib/agama/with_issues.rb
 create mode 100644 service/test/agama/with_issues_examples.rb

diff --git a/service/lib/agama/dbus/storage/manager.rb b/service/lib/agama/dbus/storage/manager.rb
index d7c8ccf11d..213c0f4b77 100644
--- a/service/lib/agama/dbus/storage/manager.rb
+++ b/service/lib/agama/dbus/storage/manager.rb
@@ -23,9 +23,9 @@
 require "yast"
 require "agama/dbus/base_object"
 require "agama/dbus/with_service_status"
+require "agama/dbus/interfaces/issues"
 require "agama/dbus/interfaces/progress"
 require "agama/dbus/interfaces/service_status"
-require "agama/dbus/interfaces/validation"
 require "agama/dbus/storage/dasd_manager_interface"
 require "agama/dbus/storage/proposal"
 require "agama/dbus/storage/proposal_settings_converter"
@@ -43,9 +43,9 @@ class Manager < BaseObject
         include WithISCSIAuth
         include WithServiceStatus
         include ::DBus::ObjectManager
+        include DBus::Interfaces::Issues
         include DBus::Interfaces::Progress
         include DBus::Interfaces::ServiceStatus
-        include DBus::Interfaces::Validation
 
         PATH = "/org/opensuse/Agama/Storage1"
         private_constant :PATH
@@ -57,6 +57,7 @@ class Manager < BaseObject
         def initialize(backend, logger)
           super(PATH, logger: logger)
           @backend = backend
+          register_storage_callbacks
           register_proposal_callbacks
           register_progress_callbacks
           register_service_status_callbacks
@@ -68,14 +69,18 @@ def initialize(backend, logger)
           register_and_extend_dasd_callbacks
         end
 
+        # List of issues, see {DBus::Interfaces::Issues}
+        #
+        # @return [Array<Agama::Issue>]
+        def issues
+          backend.issues
+        end
+
         STORAGE_INTERFACE = "org.opensuse.Agama.Storage1"
         private_constant :STORAGE_INTERFACE
 
         def probe
-          busy_while do
-            backend.probe
-            storage_properties_changed
-          end
+          busy_while { backend.probe }
         end
 
         def install
@@ -90,7 +95,7 @@ def finish
         #
         # @return [Boolean]
         def deprecated_system
-          backend.deprecated_system
+          backend.deprecated_system?
         end
 
         dbus_interface STORAGE_INTERFACE do
@@ -241,11 +246,15 @@ def proposal
           backend.proposal
         end
 
+        def register_storage_callbacks
+          backend.on_issues_change { issues_properties_changed }
+          backend.on_deprecated_system_change { storage_properties_changed }
+        end
+
         def register_proposal_callbacks
           proposal.on_calculate do
             export_proposal
             proposal_properties_changed
-            update_validation
           end
         end
 
@@ -278,12 +287,6 @@ def register_and_extend_dasd_callbacks
           end
         end
 
-        def deprecate_system
-          backend.deprecated_system = true
-          storage_properties_changed
-          update_validation
-        end
-
         def storage_properties_changed
           properties = interfaces_and_properties[STORAGE_INTERFACE]
           dbus_properties_changed(STORAGE_INTERFACE, properties, [])
@@ -294,6 +297,10 @@ def proposal_properties_changed
           dbus_properties_changed(PROPOSAL_CALCULATOR_INTERFACE, properties, [])
         end
 
+        def deprecate_system
+          backend.deprecated_system = true
+        end
+
         def export_proposal
           @service.unexport(dbus_proposal) if dbus_proposal
           @dbus_proposal = DBus::Storage::Proposal.new(proposal, logger)
diff --git a/service/lib/agama/manager.rb b/service/lib/agama/manager.rb
index bbf233a7f6..e98fe2f0b3 100644
--- a/service/lib/agama/manager.rb
+++ b/service/lib/agama/manager.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-# Copyright (c) [2022] SUSE LLC
+# Copyright (c) [2022-2023] SUSE LLC
 #
 # All Rights Reserved.
 #
diff --git a/service/lib/agama/storage/manager.rb b/service/lib/agama/storage/manager.rb
index 0864863059..32bd2d5bcc 100644
--- a/service/lib/agama/storage/manager.rb
+++ b/service/lib/agama/storage/manager.rb
@@ -27,9 +27,10 @@
 require "agama/storage/callbacks"
 require "agama/storage/iscsi/manager"
 require "agama/storage/finisher"
+require "agama/issue"
+require "agama/with_issues"
 require "agama/with_progress"
 require "agama/security"
-require "agama/validation_error"
 require "agama/dbus/clients/questions"
 require "agama/dbus/clients/software"
 
@@ -39,31 +40,62 @@ module Agama
   module Storage
     # Manager to handle storage configuration
     class Manager
+      include WithIssues
       include WithProgress
 
+      # Constructor
+      #
+      # @param config [Config]
+      # @param logger [Logger]
+      def initialize(config, logger)
+        @config = config
+        @logger = logger
+        register_proposal_callbacks
+      end
+
       # Whether the system is in a deprecated status
       #
       # The system is usually set as deprecated as effect of managing some kind of devices, for
       # example, when iSCSI sessions are created.
       #
       # A deprecated system means that the probed system could not match with the current system.
-      attr_accessor :deprecated_system
+      #
+      # @return [Boolean]
+      def deprecated_system?
+        !!@deprecated_system
+      end
 
-      def initialize(config, logger)
-        @config = config
-        @logger = logger
-        @deprecated_system = false
+      # Sets whether the system is deprecated
+      #
+      # If the deprecated status changes, then callbacks are executed and the issues are
+      # recalculated, see {#on_deprecated_system_change}.
+      #
+      # @param value [Boolean]
+      def deprecated_system=(value)
+        return if deprecated_system? == value
+
+        @deprecated_system = value
+        @on_deprecated_system_change_callbacks&.each(&:call)
+        update_issues
+      end
+
+      # Registers a callback to be called when the system is set as deprecated
+      #
+      # @param block [Proc]
+      def on_deprecated_system_change(&block)
+        @on_deprecated_system_change_callbacks ||= []
+        @on_deprecated_system_change_callbacks << block
       end
 
       # Probes storage devices and performs an initial proposal
       def probe
-        @deprecated_system = false
         start_progress(4)
         config.pick_product(software.selected_product)
         progress.step("Activating storage devices") { activate_devices }
         progress.step("Probing storage devices") { probe_devices }
         progress.step("Calculating the storage proposal") { calculate_proposal }
         progress.step("Selecting Linux Security Modules") { security.probe }
+        update_issues
       end
 
       # Prepares the partitioning to install the system
@@ -104,14 +136,6 @@ def iscsi
         @iscsi ||= ISCSI::Manager.new(logger: logger)
       end
 
-      # Validates the storage configuration
-      #
-      # @return [Array<ValidationError>] List of validation errors
-      def validate
-        errors = [deprecated_system_error] + proposal.validate
-        errors.compact
-      end
-
       # Returns the client to ask the software service
       #
       # @return [Agama::DBus::Clients::Software]
@@ -130,6 +154,11 @@ def software
       # @return [Config]
       attr_reader :config
 
+      # Issues are updated when the proposal is calculated
+      def register_proposal_callbacks
+        proposal.on_calculate { update_issues }
+      end
+
       # Activates the devices, calling activation callbacks if needed
       def activate_devices
         callbacks = Callbacks::Activate.new(questions_client, logger)
@@ -140,9 +169,13 @@ def activate_devices
 
       # Probes the devices
       def probe_devices
+        callbacks = Y2Storage::Callbacks::UserProbe.new
+
         iscsi.probe
-        # TODO: better probe callbacks that can report issue to user
-        Y2Storage::StorageManager.instance.probe(Y2Storage::Callbacks::UserProbe.new)
+        Y2Storage::StorageManager.instance.probe(callbacks)
+
+        # The system is not deprecated anymore
+        self.deprecated_system = false
       end
 
       # Calculates the proposal
@@ -171,13 +204,58 @@ def add_packages
         Yast::PackagesProposal.SetResolvables(PROPOSAL_ID, :package, packages)
       end
 
-      # Returns an error if the system is deprecated
+      # Recalculates the list of issues
+      def update_issues
+        self.issues = system_issues + proposal.issues
+      end
+
+      # Issues from the system
+      #
+      # @return [Array<Issue>]
+      def system_issues
+        issues = probing_issues + [
+          deprecated_system_issue,
+          available_devices_issue
+        ]
+
+        issues.compact
+      end
+
+      # Issues from the probing phase
+      #
+      # @return [Array<Issue>]
+      def probing_issues
+        y2storage_issues = Y2Storage::StorageManager.instance.raw_probed.probing_issues
+
+        y2storage_issues.map do |y2storage_issue|
+          details = [y2storage_issue.description, y2storage_issue.details].compact.join("\n")
+          Issue.new(y2storage_issue.message,
+            details:  details,
+            source:   Issue::Source::SYSTEM,
+            severity: Issue::Severity::WARN)
+        end
+      end
+
+      # Returns an issue if the system is deprecated
+      #
+      # @return [Issue, nil]
+      def deprecated_system_issue
+        return unless deprecated_system?
+
+        Issue.new("The system devices have changed",
+          source:   Issue::Source::SYSTEM,
+          severity: Issue::Severity::ERROR)
+      end
+
+      # Returns an issue if there is no available device for installation
       #
-      # @return [ValidationError, nil]
-      def deprecated_system_error
-        return unless deprecated_system
+      # @return [Issue, nil]
+      def available_devices_issue
+        return if proposal.available_devices.any?
 
-        ValidationError.new("The system devices have changed")
+        Issue.new("There is no suitable device for installation",
+          source:   Issue::Source::SYSTEM,
+          severity: Issue::Severity::ERROR)
       end
 
       # Security manager
diff --git a/service/lib/agama/storage/proposal.rb b/service/lib/agama/storage/proposal.rb
index ab65ffb626..ca18fa3dc8 100644
--- a/service/lib/agama/storage/proposal.rb
+++ b/service/lib/agama/storage/proposal.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-# Copyright (c) [2022] SUSE LLC
+# Copyright (c) [2022-2023] SUSE LLC
 #
 # All Rights Reserved.
 #
@@ -21,7 +21,7 @@
 
 require "y2storage"
 require "y2storage/dialogs/guided_setup/helpers/disk"
-require "agama/validation_error"
+require "agama/issue"
 require "agama/storage/actions"
 require "agama/storage/proposal_settings"
 require "agama/storage/proposal_settings_converter"
@@ -56,10 +56,22 @@ def initialize(logger, config)
         @on_calculate_callbacks = []
       end
 
+      # Resets the current proposal
       def reset
         @settings = nil
       end
 
+      # List of issues
+      #
+      # @return [Array<Issue>]
+      def issues
+        [
+          empty_candidate_devices_issue,
+          missing_candidate_devices_issue,
+          proposal_issue
+        ].compact
+      end
+
       # Stores callbacks to be call after calculating a proposal
       def on_calculate(&block)
         @on_calculate_callbacks << block
@@ -76,6 +88,8 @@ def available_devices
       #
       # @return [Array<String>]
       def candidate_devices
+        return [] unless proposal
+
         proposal.settings.candidate_devices
       end
 
@@ -147,20 +161,6 @@ def actions
         Actions.new(logger, proposal.devices.actiongraph).all
       end
 
-      # Validates the storage proposal
-      #
-      # @return [Array<ValidationError>] List of validation errors
-      def validate
-        return [] if proposal.nil?
-
-        [
-          empty_available_devices_error,
-          empty_candidate_devices_error,
-          missing_candidate_devices_error,
-          proposal_error
-        ].compact
-      end
-
     private
 
       # @return [Logger]
@@ -258,30 +258,39 @@ def storage_manager
         Y2Storage::StorageManager.instance
       end
 
-      def empty_available_devices_error
-        return if available_devices.any?
-
-        ValidationError.new("There is no suitable device for installation")
-      end
-
-      def empty_candidate_devices_error
-        return if candidate_devices.any?
+      # Returns an issue if there is no candidate device
+      #
+      # @return [Issue, nil]
+      def empty_candidate_devices_issue
+        return if !proposal || candidate_devices.any?
 
-        ValidationError.new("No devices are selected for installation")
+        Issue.new("No devices are selected for installation",
+          source:   Issue::Source::CONFIG,
+          severity: Issue::Severity::ERROR)
       end
 
-      def missing_candidate_devices_error
+      # Returns an issue if any of the candidate devices is not found
+      #
+      # @return [Issue, nil]
+      def missing_candidate_devices_issue
         available_names = available_devices.map(&:name)
         missing = candidate_devices - available_names
         return if missing.none?
 
-        ValidationError.new("Some selected devices are not found in the system")
+        Issue.new("Some selected devices are not found in the system",
+          source:   Issue::Source::CONFIG,
+          severity: Issue::Severity::ERROR)
       end
 
-      def proposal_error
-        return unless proposal.failed?
+      # Returns an issue if the proposal is not valid
+      #
+      # @return [Issue, nil]
+      def proposal_issue
+        return unless proposal&.failed?
 
-        ValidationError.new("Cannot accommodate the required file systems for installation")
+        Issue.new("Cannot accommodate the required file systems for installation",
+          source:   Issue::Source::CONFIG,
+          severity: Issue::Severity::ERROR)
       end
 
       # Adjusts the encryption-related settings of the given Y2Storage::ProposalSettings object
diff --git a/service/lib/agama/with_issues.rb b/service/lib/agama/with_issues.rb
new file mode 100644
index 0000000000..cdec10aa22
--- /dev/null
+++ b/service/lib/agama/with_issues.rb
@@ -0,0 +1,48 @@
+# frozen_string_literal: true
+
+# Copyright (c) [2023] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# 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.
+
+module Agama
+  # Mixin for managing issues
+  module WithIssues
+    # The list of current issues
+    #
+    # @return [Array<Issue>]
+    def issues
+      @issues || []
+    end
+
+    # Sets the list of current issues
+    #
+    # @param issues [Array<Issue>]
+    def issues=(issues)
+      @issues = issues
+      @on_issues_change_callbacks&.each(&:call)
+    end
+
+    # Registers a callback to be called when the list of issues changes
+    #
+    # @param block [Proc]
+    def on_issues_change(&block)
+      @on_issues_change_callbacks ||= []
+      @on_issues_change_callbacks << block
+    end
+  end
+end
diff --git a/service/test/agama/dbus/storage/manager_test.rb b/service/test/agama/dbus/storage/manager_test.rb
index fe9a1f7373..599e76d2ab 100644
--- a/service/test/agama/dbus/storage/manager_test.rb
+++ b/service/test/agama/dbus/storage/manager_test.rb
@@ -40,11 +40,13 @@
 
   let(:backend) do
     instance_double(Agama::Storage::Manager,
-      proposal:           proposal,
-      iscsi:              iscsi,
-      software:           software,
-      on_progress_change: nil,
-      on_progress_finish: nil)
+      proposal:                    proposal,
+      iscsi:                       iscsi,
+      software:                    software,
+      on_progress_change:          nil,
+      on_progress_finish:          nil,
+      on_issues_change:            nil,
+      on_deprecated_system_change: nil)
   end
 
   let(:proposal) do
@@ -68,7 +70,7 @@
 
   describe "#deprecated_system" do
     before do
-      allow(backend).to receive(:deprecated_system).and_return(deprecated)
+      allow(backend).to receive(:deprecated_system?).and_return(deprecated)
     end
 
     context "if the system is set as deprecated" do
diff --git a/service/test/agama/manager_test.rb b/service/test/agama/manager_test.rb
index 24d00a9138..96d78aeada 100644
--- a/service/test/agama/manager_test.rb
+++ b/service/test/agama/manager_test.rb
@@ -53,7 +53,7 @@
   let(:storage) do
     instance_double(
       Agama::DBus::Clients::Storage, probe: nil, install: nil, finish: nil,
-      on_service_status_change: nil, valid?: true
+      on_service_status_change: nil, errors?: false
     )
   end
 
@@ -181,9 +181,9 @@
       end
     end
 
-    context "when the storage configuration is not valid" do
+    context "when there are storage errors" do
       before do
-        allow(storage).to receive(:valid?).and_return(false)
+        allow(storage).to receive(:errors?).and_return(true)
       end
 
       it "returns false" do
diff --git a/service/test/agama/storage/manager_test.rb b/service/test/agama/storage/manager_test.rb
index 356de899b5..df03c4f3d7 100644
--- a/service/test/agama/storage/manager_test.rb
+++ b/service/test/agama/storage/manager_test.rb
@@ -20,12 +20,16 @@
 # find current contact information at www.suse.com.
 
 require_relative "../../test_helper"
+require_relative "../with_progress_examples"
+require_relative "../with_issues_examples"
 require_relative "storage_helpers"
 require "agama/storage/manager"
 require "agama/storage/proposal_settings"
 require "agama/storage/iscsi/manager"
 require "agama/config"
+require "agama/issue"
 require "agama/dbus/clients/questions"
+require "y2storage/issue"
 
 describe Agama::Storage::Manager do
   include Agama::RSpec::StorageHelpers
@@ -55,29 +59,99 @@
   let(:bootloader_finish) { instance_double(Bootloader::FinishClient, write: nil) }
   let(:security) { instance_double(Agama::Security, probe: nil, write: nil) }
 
-  describe "#probe" do
+  describe "#deprecated_system=" do
     before do
       allow(Y2Storage::StorageManager).to receive(:instance).and_return(y2storage_manager)
       allow(Agama::Storage::Proposal).to receive(:new).and_return(proposal)
-      allow(Agama::Storage::ISCSI::Manager).to receive(:new).and_return(iscsi)
+
+      allow(y2storage_manager).to receive(:raw_probed).and_return(raw_devicegraph)
+
+      allow(proposal).to receive(:issues).and_return([])
+      allow(proposal).to receive(:available_devices).and_return([])
     end
 
-    let(:proposal) do
-      instance_double(Agama::Storage::Proposal,
-        settings:          settings,
-        calculate:         nil,
-        available_devices: devices)
+    let(:raw_devicegraph) { instance_double(Y2Storage::Devicegraph, probing_issues: []) }
+
+    let(:proposal) { Agama::Storage::Proposal.new(logger, config) }
+
+    let(:callback) { proc {} }
+
+    context "if the current value is changed" do
+      before do
+        storage.deprecated_system = true
+      end
+
+      it "executes the on_deprecated_system_change callbacks" do
+        storage.on_deprecated_system_change(&callback)
+
+        expect(callback).to receive(:call)
+
+        storage.deprecated_system = false
+      end
     end
 
-    let(:devices) { [disk1, disk2] }
-    let(:settings) { nil }
+    context "if the current value is not changed" do
+      before do
+        storage.deprecated_system = true
+      end
 
-    let(:disk1) { instance_double(Y2Storage::Disk, name: "/dev/vda") }
-    let(:disk2) { instance_double(Y2Storage::Disk, name: "/dev/vdb") }
+      it "does not execute the on_deprecated_system_change callbacks" do
+        storage.on_deprecated_system_change(&callback)
 
-    let(:iscsi) { Agama::Storage::ISCSI::Manager.new }
+        expect(callback).to_not receive(:call)
+
+        storage.deprecated_system = true
+      end
+    end
+
+    context "when the system is set as deprecated" do
+      it "marks the system as deprecated" do
+        storage.deprecated_system = true
 
+        expect(storage.deprecated_system?).to eq(true)
+      end
+
+      it "adds a deprecated system issue" do
+        expect(storage.issues).to be_empty
+
+        storage.deprecated_system = true
+
+        expect(storage.issues).to include(
+          an_object_having_attributes(description: /system devices have changed/)
+        )
+      end
+    end
+
+    context "when the system is set as not deprecated" do
+      it "marks the system as not deprecated" do
+        storage.deprecated_system = false
+
+        expect(storage.deprecated_system?).to eq(false)
+      end
+
+      it "does not add a deprecated system issue" do
+        storage.deprecated_system = false
+
+        expect(storage.issues).to_not include(
+          an_object_having_attributes(description: /system devices have changed/)
+        )
+      end
+    end
+  end
+
+  describe "#probe" do
     before do
+      allow(Y2Storage::StorageManager).to receive(:instance).and_return(y2storage_manager)
+      allow(Agama::Storage::Proposal).to receive(:new).and_return(proposal)
+      allow(Agama::Storage::ISCSI::Manager).to receive(:new).and_return(iscsi)
+
+      allow(y2storage_manager).to receive(:raw_probed).and_return(raw_devicegraph)
+
+      allow(proposal).to receive(:issues).and_return(proposal_issues)
+      allow(proposal).to receive(:available_devices).and_return(devices)
+      allow(proposal).to receive(:settings).and_return(settings)
+      allow(proposal).to receive(:calculate)
+
       allow(config).to receive(:pick_product)
       allow(iscsi).to receive(:activate)
       allow(y2storage_manager).to receive(:activate)
@@ -85,6 +159,24 @@
       allow(y2storage_manager).to receive(:probe)
     end
 
+    let(:raw_devicegraph) do
+      instance_double(Y2Storage::Devicegraph, probing_issues: probing_issues)
+    end
+
+    let(:proposal) { Agama::Storage::Proposal.new(logger, config) }
+
+    let(:iscsi) { Agama::Storage::ISCSI::Manager.new }
+
+    let(:devices) { [disk1, disk2] }
+    let(:settings) { nil }
+
+    let(:disk1) { instance_double(Y2Storage::Disk, name: "/dev/vda") }
+    let(:disk2) { instance_double(Y2Storage::Disk, name: "/dev/vdb") }
+
+    let(:probing_issues) { [Y2Storage::Issue.new("probing issue")] }
+
+    let(:proposal_issues) { [Agama::Issue.new("proposal issue")] }
+
     it "probes the storage devices and calculates a proposal" do
       expect(config).to receive(:pick_product).with("ALP")
       expect(iscsi).to receive(:activate)
@@ -101,7 +193,47 @@
       storage.deprecated_system = true
       storage.probe
 
-      expect(storage.deprecated_system).to eq(false)
+      expect(storage.deprecated_system?).to eq(false)
+    end
+
+    it "adds the probing issues" do
+      storage.probe
+
+      expect(storage.issues).to include(
+        an_object_having_attributes(description: /probing issue/)
+      )
+    end
+
+    it "adds the proposal issues" do
+      storage.probe
+
+      expect(storage.issues).to include(
+        an_object_having_attributes(description: /proposal issue/)
+      )
+    end
+
+    context "if there are available devices" do
+      let(:devices) { [disk1] }
+
+      it "does not add an issue for available devices" do
+        storage.probe
+
+        expect(storage.issues).to_not include(
+          an_object_having_attributes(description: /no suitable device/)
+        )
+      end
+    end
+
+    context "if there are not available devices" do
+      let(:devices) { [] }
+
+      it "adds an issue for available devices" do
+        storage.probe
+
+        expect(storage.issues).to include(
+          an_object_having_attributes(description: /no suitable device/)
+        )
+      end
     end
 
     context "when there are settings from a previous proposal" do
@@ -229,30 +361,7 @@
     end
   end
 
-  describe "#validate" do
-    let(:errors) { [double("error 1")] }
-    let(:proposal) do
-      instance_double(Agama::Storage::Proposal, validate: errors)
-    end
-
-    before do
-      allow(Agama::Storage::Proposal).to receive(:new).and_return(proposal)
-    end
-
-    it "returns the proposal errors" do
-      expect(storage.validate).to eq(errors)
-    end
-
-    context "if the system is deprecated" do
-      before do
-        storage.deprecated_system = true
-      end
-
-      it "includes an error" do
-        error = storage.validate.find { |e| e.message.match?(/devices have changed/) }
+  include_examples "progress"
 
-        expect(error).to_not be_nil
-      end
-    end
-  end
+  include_examples "issues"
 end
diff --git a/service/test/agama/storage/proposal_test.rb b/service/test/agama/storage/proposal_test.rb
index 27740e83d0..709e9d90d1 100644
--- a/service/test/agama/storage/proposal_test.rb
+++ b/service/test/agama/storage/proposal_test.rb
@@ -53,6 +53,7 @@
   let(:y2storage_proposal) do
     instance_double(Y2Storage::MinGuidedProposal, propose: true, failed?: failed)
   end
+
   let(:failed) { false }
 
   describe "#calculate" do
@@ -100,18 +101,16 @@
     end
 
     it "runs all the callbacks" do
-      var1 = 5
-      var2 = 5
-      proposal.on_calculate do
-        var1 += 1
-      end
-      proposal.on_calculate { var2 *= 2 }
+      callback1 = proc {}
+      callback2 = proc {}
+
+      proposal.on_calculate(&callback1)
+      proposal.on_calculate(&callback2)
+
+      expect(callback1).to receive(:call)
+      expect(callback2).to receive(:call)
 
-      expect(var1).to eq 5
-      expect(var2).to eq 5
       proposal.calculate
-      expect(var1).to eq 6
-      expect(var2).to eq 10
     end
 
     it "stores the given settings" do
@@ -348,39 +347,22 @@
     end
   end
 
-  describe "#validate" do
-    let(:sda) { instance_double(Y2Storage::Disk, name: "/dev/sda") }
-    let(:available_devices) { [sda] }
-    let(:candidate_devices) { ["/dev/sda"] }
-
+  describe "#issues" do
     before do
+      allow(subject).to receive(:proposal).and_return(y2storage_proposal)
       allow(subject).to receive(:available_devices).and_return(available_devices)
       allow(subject).to receive(:candidate_devices).and_return(candidate_devices)
-      allow(subject).to receive(:proposal).and_return(y2storage_proposal)
     end
 
-    context "when the proposal was successful" do
-      let(:failed) { false }
-
-      it "returns an empty list" do
-        expect(subject.validate).to eq([])
-      end
-    end
+    let(:sda) { instance_double(Y2Storage::Disk, name: "/dev/sda") }
+    let(:available_devices) { [sda] }
+    let(:candidate_devices) { [] }
 
     context "when the proposal does not exist yet" do
       let(:y2storage_proposal) { nil }
 
       it "returns an empty list" do
-        expect(subject.validate).to eq([])
-      end
-    end
-
-    context "when there are not available storage devices" do
-      let(:available_devices) { [] }
-
-      it "returns a list of errors including the expected error" do
-        error = subject.validate.find { |e| e.message.match?(/no suitable device/) }
-        expect(error).to_not be_nil
+        expect(subject.issues).to eq([])
       end
     end
 
@@ -388,17 +370,19 @@
       let(:candidate_devices) { [] }
 
       it "returns a list of errors including the expected error" do
-        error = subject.validate.find { |e| e.message.match?(/No devices are selected/) }
-        expect(error).to_not be_nil
+        expect(subject.issues).to include(
+          an_object_having_attributes(description: /No devices are selected/)
+        )
       end
     end
 
-    context "when any candidate device is missing" do
+    context "when some candidate device is missing" do
       let(:candidate_devices) { ["/dev/vda"] }
 
       it "returns a list of errors including the expected error" do
-        error = subject.validate.find { |e| e.message.match?(/not found in the system/) }
-        expect(error).to_not be_nil
+        expect(subject.issues).to include(
+          an_object_having_attributes(description: /devices are not found/)
+        )
       end
     end
 
@@ -406,8 +390,9 @@
       let(:failed) { true }
 
       it "returns a list of errors including the expected error" do
-        error = subject.validate.find { |e| e.message.match?(/Cannot accommodate/) }
-        expect(error).to_not be_nil
+        expect(subject.issues).to include(
+          an_object_having_attributes(description: /Cannot accommodate/)
+        )
       end
     end
   end
diff --git a/service/test/agama/with_issues_examples.rb b/service/test/agama/with_issues_examples.rb
new file mode 100644
index 0000000000..e3ce105822
--- /dev/null
+++ b/service/test/agama/with_issues_examples.rb
@@ -0,0 +1,49 @@
+# frozen_string_literal: true
+
+# Copyright (c) [2023] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# 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.
+
+require_relative "../test_helper"
+require "agama/issue"
+
+shared_examples "issues" do
+  describe "#issues=" do
+    let(:issues) { [Agama::Issue.new("Issue 1"), Agama::Issue.new("Issue 2")] }
+
+    it "sets the given list of issues" do
+      expect(subject.issues).to be_empty
+
+      subject.issues = issues
+
+      expect(subject.issues).to contain_exactly(
+        an_object_having_attributes(description: /Issue 1/),
+        an_object_having_attributes(description: /Issue 2/)
+      )
+    end
+
+    it "executes the on_issues_change callbacks" do
+      callback = proc {}
+      subject.on_issues_change(&callback)
+
+      expect(callback).to receive(:call)
+
+      subject.issues = issues
+    end
+  end
+end

From d832985dfe5cb271ee225549921c338fc57a51c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Wed, 26 Apr 2023 16:45:57 +0100
Subject: [PATCH 29/58] [service] Adapt storage client

---
 service/lib/agama/dbus/clients/storage.rb     |  4 +-
 service/lib/agama/dbus/clients/with_issues.rb | 54 +++++++++++++
 service/lib/agama/manager.rb                  |  2 +-
 .../test/agama/dbus/clients/storage_test.rb   |  4 +-
 .../dbus/clients/with_issues_examples.rb      | 76 +++++++++++++++++++
 5 files changed, 135 insertions(+), 5 deletions(-)
 create mode 100644 service/lib/agama/dbus/clients/with_issues.rb
 create mode 100644 service/test/agama/dbus/clients/with_issues_examples.rb

diff --git a/service/lib/agama/dbus/clients/storage.rb b/service/lib/agama/dbus/clients/storage.rb
index 218f9eb34f..bff3080aab 100644
--- a/service/lib/agama/dbus/clients/storage.rb
+++ b/service/lib/agama/dbus/clients/storage.rb
@@ -22,7 +22,7 @@
 require "agama/dbus/clients/base"
 require "agama/dbus/clients/with_service_status"
 require "agama/dbus/clients/with_progress"
-require "agama/dbus/clients/with_validation"
+require "agama/dbus/clients/with_issues"
 
 module Agama
   module DBus
@@ -31,7 +31,7 @@ module Clients
       class Storage < Base
         include WithServiceStatus
         include WithProgress
-        include WithValidation
+        include WithIssues
 
         STORAGE_IFACE = "org.opensuse.Agama.Storage1"
         private_constant :STORAGE_IFACE
diff --git a/service/lib/agama/dbus/clients/with_issues.rb b/service/lib/agama/dbus/clients/with_issues.rb
new file mode 100644
index 0000000000..a4a1dc363e
--- /dev/null
+++ b/service/lib/agama/dbus/clients/with_issues.rb
@@ -0,0 +1,54 @@
+# frozen_string_literal: true
+
+# Copyright (c) [2023] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# 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.
+
+require "agama/issue"
+
+module Agama
+  module DBus
+    # Mixin to include in the clients of services that implement the Issues interface
+    module WithIssues
+      ISSUES_IFACE = "org.opensuse.Agama1.Issues"
+      private_constant :ISSUES_IFACE
+
+      # Returns the issues
+      #
+      # @return [Array<Issue>]
+      def issues
+        sources = [nil, Issue::Source::SYSTEM, Issue::Source::CONFIG]
+        severities = [Issue::Severity::WARN, Issue::Severity::ERROR]
+
+        dbus_object[ISSUES_IFACE]["All"].map do |dbus_issue|
+          Issue.new(dbus_issue[0],
+            details:  dbus_issue[1],
+            source:   sources[dbus_issue[2]],
+            severity: severities[dbus_issue[3]])
+        end
+      end
+
+      # Determines whether there are errors
+      #
+      # @return [Boolean]
+      def errors?
+        issues.any?(&:error?)
+      end
+    end
+  end
+end
diff --git a/service/lib/agama/manager.rb b/service/lib/agama/manager.rb
index e98fe2f0b3..8462ca00b9 100644
--- a/service/lib/agama/manager.rb
+++ b/service/lib/agama/manager.rb
@@ -178,7 +178,7 @@ def on_services_status_change(&block)
     #
     # @return [Boolean]
     def valid?
-      [storage, users, software].all?(&:valid?)
+      [users, software].all?(&:valid?) && !storage.errors?
     end
 
     # Collects the logs and stores them into an archive
diff --git a/service/test/agama/dbus/clients/storage_test.rb b/service/test/agama/dbus/clients/storage_test.rb
index c44240344f..c6c39069c0 100644
--- a/service/test/agama/dbus/clients/storage_test.rb
+++ b/service/test/agama/dbus/clients/storage_test.rb
@@ -20,7 +20,7 @@
 # find current contact information at www.suse.com.
 
 require_relative "../../../test_helper"
-require_relative "with_validation_examples"
+require_relative "with_issues_examples"
 require "agama/dbus/clients/storage"
 require "dbus"
 
@@ -194,5 +194,5 @@
     end
   end
 
-  include_examples "validation"
+  include_examples "issues"
 end
diff --git a/service/test/agama/dbus/clients/with_issues_examples.rb b/service/test/agama/dbus/clients/with_issues_examples.rb
new file mode 100644
index 0000000000..e599db742f
--- /dev/null
+++ b/service/test/agama/dbus/clients/with_issues_examples.rb
@@ -0,0 +1,76 @@
+# frozen_string_literal: true
+
+# Copyright (c) [2023] SUSE LLC
+#
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of version 2 of the GNU General Public License as published
+# by the Free Software Foundation.
+#
+# 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.
+
+require_relative "../../../test_helper"
+require "agama/issue"
+
+shared_examples "issues" do
+  before do
+    allow(dbus_object).to receive(:path).and_return("/org/opensuse/Agama/Test")
+    allow(dbus_object).to receive(:[]).with("org.opensuse.Agama1.Issues")
+      .and_return(issues_properties)
+  end
+
+  let(:issues_properties) { { "All" => issues } }
+
+  let(:issues) { [issue1, issue2] }
+  let(:issue1) { ["Issue 1", "Details 1", 1, 0] }
+  let(:issue2) { ["Issue 2", "Details 2", 2, 1] }
+
+  describe "#issues" do
+    it "returns the list of issues" do
+      expect(subject.issues).to all(be_a(Agama::Issue))
+
+      expect(subject.issues).to contain_exactly(
+        an_object_having_attributes(
+          description: "Issue 1",
+          details:     "Details 1",
+          source:      Agama::Issue::Source::SYSTEM,
+          severity:    Agama::Issue::Severity::WARN
+        ),
+        an_object_having_attributes(
+          description: "Issue 2",
+          details:     "Details 2",
+          source:      Agama::Issue::Source::CONFIG,
+          severity:    Agama::Issue::Severity::ERROR
+        )
+      )
+    end
+  end
+
+  describe "#errors?" do
+    context "if there is any error" do
+      let(:issues) { [issue2] }
+
+      it "returns true" do
+        expect(subject.errors?).to eq(true)
+      end
+    end
+
+    context "if there is no error" do
+      let(:issues) { [issue1] }
+
+      it "returns false" do
+        expect(subject.errors?).to eq(false)
+      end
+    end
+  end
+end

From 3a29e941c4422b3c94acc98ed14f6be3820f5541 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Wed, 26 Apr 2023 16:51:20 +0100
Subject: [PATCH 30/58] [service] Changelog

---
 service/package/rubygem-agama.changes | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/service/package/rubygem-agama.changes b/service/package/rubygem-agama.changes
index 6f19e96f71..ea29bfb5f3 100644
--- a/service/package/rubygem-agama.changes
+++ b/service/package/rubygem-agama.changes
@@ -1,9 +1,16 @@
+-------------------------------------------------------------------
+Wed Apr 26 15:48:41 UTC 2023 - José Iván López González <jlopez@suse.com>
+
+- Add D-Bus API for managing issues.
+- Replace validation interface by issues in the storage service.
+- gh#openSUSE/agama#548
+
 -------------------------------------------------------------------
 Fri Apr 14 13:13:56 UTC 2023 - José Iván López González <jlopez@suse.com>
 
 - Modify default storage settings.
 - Fix issue with volume templates.
-- gh#openSUSE/agama/521
+- gh#openSUSE/agama#521
 
 -------------------------------------------------------------------
 Mon Apr 10 10:14:39 UTC 2023 - Imobach Gonzalez Sosa <igonzalezsosa@suse.com>

From d86b948649db3d1708d9222f0843d3ccb075cec9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Thu, 27 Apr 2023 09:08:05 +0100
Subject: [PATCH 31/58] [service] Improve doc

---
 service/lib/agama/dbus.rb                   |  2 +-
 service/lib/agama/dbus/interfaces/issues.rb |  2 +-
 service/lib/agama/issue.rb                  | 17 +++++++++++++++--
 service/lib/agama/with_issues.rb            |  2 +-
 4 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/service/lib/agama/dbus.rb b/service/lib/agama/dbus.rb
index 45354f6c27..f4870b8eac 100644
--- a/service/lib/agama/dbus.rb
+++ b/service/lib/agama/dbus.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-# Copyright (c) [2022] SUSE LLC
+# Copyright (c) [2022-2023] SUSE LLC
 #
 # All Rights Reserved.
 #
diff --git a/service/lib/agama/dbus/interfaces/issues.rb b/service/lib/agama/dbus/interfaces/issues.rb
index 758edba54f..09ccc17d9a 100644
--- a/service/lib/agama/dbus/interfaces/issues.rb
+++ b/service/lib/agama/dbus/interfaces/issues.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-# Copyright (c) [2022] SUSE LLC
+# Copyright (c) [2023] SUSE LLC
 #
 # All Rights Reserved.
 #
diff --git a/service/lib/agama/issue.rb b/service/lib/agama/issue.rb
index 067cce1a7c..18630a4d29 100644
--- a/service/lib/agama/issue.rb
+++ b/service/lib/agama/issue.rb
@@ -20,7 +20,20 @@
 # find current contact information at www.suse.com.
 
 module Agama
-  # Represents an issue
+  # This class represents an issue in Agama
+  #
+  # An issue is used for notifying about some unexpected or problematic situation, for example, to
+  # indicate that there is no device for installing the system.
+  #
+  # Issues have a description, details, source and severity:
+  # * Description: describes the issue, typically with a single sentence.
+  # * Details: provides more details about the problem. It is useful to report the output of a
+  #   command failure.
+  # * Source: indicates the source of the problem. In Agama, the issues usually comes from some
+  #   unexpected situation in the system (e.g., missing device, etc) or from a wrong config (e.g.,
+  #   missing user, etc).
+  # * Severity: sets the severity of the issue. For now, issues could have warn or error severity.
+  #   Error severity indicates that the installation cannot start.
   class Issue
     # Description of the issue
     #
@@ -48,7 +61,7 @@ module Source
       CONFIG = :config
     end
 
-    # Defines different severities
+    # Defines different severity levels
     module Severity
       WARN = :warn
       ERROR = :error
diff --git a/service/lib/agama/with_issues.rb b/service/lib/agama/with_issues.rb
index cdec10aa22..950ddce6bb 100644
--- a/service/lib/agama/with_issues.rb
+++ b/service/lib/agama/with_issues.rb
@@ -20,7 +20,7 @@
 # find current contact information at www.suse.com.
 
 module Agama
-  # Mixin for managing issues
+  # Mixin for managing issues, see {Issue}
   module WithIssues
     # The list of current issues
     #

From 62de9cfe7596570fad0a7a81998471c800ba45d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Thu, 27 Apr 2023 17:04:07 +0100
Subject: [PATCH 32/58] Update README screenshots

By replacing the no longer available storage settings popup by the users
page.
---
 README.md                                           |   2 +-
 .../{storage-settings.png => users-page.png}        | Bin
 playwright/tests/take_screenshots.spec.ts           |  11 +++--------
 3 files changed, 4 insertions(+), 9 deletions(-)
 rename doc/images/screenshots/{storage-settings.png => users-page.png} (100%)

diff --git a/README.md b/README.md
index 74ade8aa26..1148c8ec3b 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@ Agama is a new Linux installer born in the core of the YaST team. It is designed
 
 |||
 |-|-|
-| ![Storage page](./doc/images/screenshots/storage-page.png) | ![Storage settings](./doc/images/screenshots/storage-settings.png) |
+| ![Users page](./doc/images/screenshots/users-page.png) | ![Storage settings](./doc/images/screenshots/storage-page.png) |
 
 |||
 |-|-|
diff --git a/doc/images/screenshots/storage-settings.png b/doc/images/screenshots/users-page.png
similarity index 100%
rename from doc/images/screenshots/storage-settings.png
rename to doc/images/screenshots/users-page.png
diff --git a/playwright/tests/take_screenshots.spec.ts b/playwright/tests/take_screenshots.spec.ts
index dc297ea1a7..be0ec30839 100644
--- a/playwright/tests/take_screenshots.spec.ts
+++ b/playwright/tests/take_screenshots.spec.ts
@@ -61,6 +61,8 @@ test.describe("The Installer", () => {
       // the the root password must be set
       await test.step("Set the root password", async () => {
         await page.locator("a[href='#/users']").click();
+        // Create users page screenshot
+        await page.screenshot({ path: "screenshots/users-page.png" });
         await page.locator("#actions-for-root-password").click();
         await page.getByRole("menuitem", { name: "Set" }).click();
         await page.locator("#password").fill("linux");
@@ -78,15 +80,8 @@ test.describe("The Installer", () => {
     await test.step("Storage configuration", async () => {
       // create storage page screenshot
       await page.locator("a[href='#/storage']").click();
-      await expect(page.getByRole("button", { name: "Settings" })).toBeVisible();
+      await expect(page.getByRole("heading", { name: "Settings" })).toBeVisible();
       await page.screenshot({ path: "screenshots/storage-page.png" });
-
-      // create storage settings screenshot
-      await page.getByRole("button", { name: "Settings" }).click();
-      await expect(page.locator("[role='dialog']")).toBeVisible();
-      await page.screenshot({ path: "screenshots/storage-settings.png" });
-      await page.getByRole("button", { name: "Cancel" }).click();
-      await page.getByText("Back").click();
     });
 
     // confirm the installation only when explicitly set via the environment

From e1f621e25571f3f7a7264a31756bc309f805611f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Fri, 28 Apr 2023 16:02:54 +0100
Subject: [PATCH 33/58] [web] Add issues to storage client

---
 web/src/client/dbus.js         |  6 +--
 web/src/client/mixins.js       | 96 +++++++++++++++++++++++++++++++++-
 web/src/client/storage.js      |  4 +-
 web/src/client/storage.test.js | 73 ++++++++++++++++++++++++++
 4 files changed, 172 insertions(+), 7 deletions(-)

diff --git a/web/src/client/dbus.js b/web/src/client/dbus.js
index 1c0bffa638..da36d1c604 100644
--- a/web/src/client/dbus.js
+++ b/web/src/client/dbus.js
@@ -25,8 +25,8 @@ import cockpit from "../lib/cockpit";
 
 /**
  * @typedef {object} DBusValue
- * @property {string} s - type signature
- * @property {DBusValue | DBusValue[] | number | string | boolean | number[] | string[] | boolean[]} v - value
+ * @property {string} t - type signature
+ * @property { * } v - value
  */
 
 /**
@@ -149,7 +149,7 @@ class DBusClient {
 
     try {
       const result = await this.client.call(
-        path, "org.freedesktop.DBus.Properties", "Get", [iface, "Errors"]
+        path, "org.freedesktop.DBus.Properties", "Get", [iface, name]
       );
       property = result[0];
     } catch (error) {
diff --git a/web/src/client/mixins.js b/web/src/client/mixins.js
index ca90defade..78f5618b8c 100644
--- a/web/src/client/mixins.js
+++ b/web/src/client/mixins.js
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) [2022] SUSE LLC
+ * Copyright (c) [2022-2023] SUSE LLC
  *
  * All Rights Reserved.
  *
@@ -20,6 +20,98 @@
  */
 
 // @ts-check
+
+const ISSUES_IFACE = "org.opensuse.Agama1.Issues";
+
+/**
+ * @typedef {[string, string, number, number]} DBusIssue
+ */
+
+/**
+ * @typedef {object} Issue
+ * @property {string} description
+ * @property {string} details
+ * @property {string} source - "unknown", "system" or "config"
+ * @property {string} severity - "warn", "error"
+ */
+
+/**
+* @callback IssuesHandler
+* @param {Issue[]} issues
+* @return {void}
+*/
+
+/**
+ * Builds an issue from a D-Bus issue
+ *
+ * @param {DBusIssue} dbusIssue
+ * @return {Issue}
+ */
+const buildIssue = (dbusIssue) => {
+  const source = (value) => {
+    switch (value) {
+      case 0: return "unknown";
+      case 1: return "system";
+      case 2: return "config";
+    }
+  };
+
+  const severity = (value) => {
+    return value === 0 ? "warn" : "error";
+  };
+
+  return {
+    description: dbusIssue[0],
+    details: dbusIssue[1],
+    source: source(dbusIssue[2]),
+    severity: severity(dbusIssue[3])
+  };
+};
+
+/**
+ * Extends the given class with methods to get the issues over D-Bus
+ * @param {string} object_path - object_path
+ * @param {T} superclass - superclass to extend
+ * @template {!WithDBusClient} T
+ */
+const WithIssues = (superclass, object_path) => class extends superclass {
+  /**
+   * Returns the issues
+   *
+   * @return {Promise<Issue[]>}
+   */
+  async getIssues() {
+    const proxy = await this.client.proxy(ISSUES_IFACE, object_path);
+    return proxy.All.map(buildIssue);
+  }
+
+  /**
+   * Gets all issues with error severity
+   *
+   * @return {Promise<Issue[]>}
+   */
+  async getErrors() {
+    const issues = await this.getIssues();
+    return issues.filter(i => i.severity === "error");
+  }
+
+  /**
+   * Registers a callback to run when the issues change
+   *
+   * @param {IssuesHandler} handler - callback function
+   * @return {import ("./dbus").RemoveFn} function to disable the callback
+   */
+  onIssuesChange(handler) {
+    return this.client.onObjectChanged(object_path, ISSUES_IFACE, (changes) => {
+      if ("All" in changes) {
+        const dbusIssues = changes.All.v;
+        const issues = dbusIssues.map(buildIssue);
+        handler(issues);
+      }
+    });
+  }
+};
+
 const STATUS_IFACE = "org.opensuse.Agama1.ServiceStatus";
 
 /**
@@ -179,4 +271,4 @@ const WithValidation = (superclass, object_path) => class extends superclass {
   }
 };
 
-export { WithStatus, WithProgress, WithValidation };
+export { WithIssues, WithStatus, WithProgress, WithValidation };
diff --git a/web/src/client/storage.js b/web/src/client/storage.js
index eecc3cd53f..3907cd6fed 100644
--- a/web/src/client/storage.js
+++ b/web/src/client/storage.js
@@ -22,7 +22,7 @@
 // @ts-check
 
 import DBusClient from "./dbus";
-import { WithStatus, WithProgress, WithValidation } from "./mixins";
+import { WithIssues, WithStatus, WithProgress } from "./mixins";
 import { hex } from "~/utils";
 
 const STORAGE_IFACE = "org.opensuse.Agama.Storage1";
@@ -864,7 +864,7 @@ class StorageBaseClient {
 /**
  * Allows interacting with the storage settings
  */
-class StorageClient extends WithValidation(
+class StorageClient extends WithIssues(
   WithProgress(
     WithStatus(StorageBaseClient, STORAGE_OBJECT), STORAGE_OBJECT
   ), STORAGE_OBJECT
diff --git a/web/src/client/storage.test.js b/web/src/client/storage.test.js
index c3c4a8cb1e..f745c913c5 100644
--- a/web/src/client/storage.test.js
+++ b/web/src/client/storage.test.js
@@ -80,6 +80,16 @@ const contexts = {
   withVolumeTemplates: () => {
     cockpitProxies.proposalCalculator.VolumeTemplates = volumes;
   },
+  withoutIssues: () => {
+    cockpitProxies.issues = {
+      All: []
+    };
+  },
+  withIssues: () => {
+    cockpitProxies.issues = {
+      All: [["Issue 1", "", 1, 1], ["Issue 2", "", 1, 0], ["Issue 3", "", 2, 1]]
+    };
+  },
   withoutISCSINodes: () => {
     cockpitProxies.iscsiNodes = {};
   },
@@ -140,6 +150,7 @@ const contexts = {
 
 const mockProxy = (iface, path) => {
   switch (iface) {
+    case "org.opensuse.Agama1.Issues": return cockpitProxies.issues;
     case "org.opensuse.Agama.Storage1": return cockpitProxies.storage;
     case "org.opensuse.Agama.Storage1.Proposal": return cockpitProxies.proposal;
     case "org.opensuse.Agama.Storage1.Proposal.Calculator": return cockpitProxies.proposalCalculator;
@@ -171,6 +182,7 @@ const emitSignal = (path, iface, data) => {
 };
 
 const reset = () => {
+  cockpitProxies.issues = {};
   cockpitProxies.storage = {};
   cockpitProxies.proposalCalculator = {};
   cockpitProxies.proposal = null;
@@ -263,6 +275,67 @@ describe("#onDeprecate", () => {
   });
 });
 
+describe("#getIssues", () => {
+  describe("if there are no issues", () => {
+    beforeEach(() => {
+      contexts.withoutIssues();
+    });
+
+    it("returns an empty list", async () => {
+      client = new StorageClient();
+      const issues = await client.getIssues();
+      expect(issues).toEqual([]);
+    });
+  });
+
+  describe("if there are issues", () => {
+    beforeEach(() => {
+      contexts.withIssues();
+    });
+
+    it("returns the list of issues", async () => {
+      client = new StorageClient();
+      const issues = await client.getIssues();
+      expect(issues).toEqual(expect.arrayContaining([
+        { description: "Issue 1", details: "", source: "system", severity: "error" },
+        { description: "Issue 2", details: "", source: "system", severity: "warn" },
+        { description: "Issue 3", details: "", source: "config", severity: "error" }
+      ]));
+    });
+  });
+});
+
+describe("#getErrors", () => {
+  beforeEach(() => {
+    contexts.withIssues();
+  });
+
+  it("returns the issues with error severity", async () => {
+    client = new StorageClient();
+    const errors = await client.getErrors();
+    expect(errors.map(e => e.description)).toEqual(expect.arrayContaining(["Issue 1", "Issue 3"]));
+  });
+});
+
+describe("#onIssuesChange", () => {
+  it("runs the handler when the issues change", async () => {
+    client = new StorageClient();
+
+    const handler = jest.fn();
+    client.onIssuesChange(handler);
+
+    emitSignal(
+      "/org/opensuse/Agama/Storage1",
+      "org.opensuse.Agama1.Issues",
+      { All: { v: [["Issue 1", "", 1, 0], ["Issue 2", "", 2, 1]] } });
+
+    expect(handler).toHaveBeenCalledWith([
+      { description: "Issue 1", details: "", source: "system", severity: "warn" },
+      { description: "Issue 2", details: "", source: "config", severity: "error" },
+    ]);
+  });
+});
+
 describe("#proposal", () => {
   const checkAvailableDevices = (availableDevices) => {
     expect(availableDevices).toEqual([

From 365e99996f537f058ad896d7ee7764bcd5393e33 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Fri, 28 Apr 2023 16:03:45 +0100
Subject: [PATCH 34/58] [web] Add issues client

---
 web/src/client/index.js       | 31 ++++++++----
 web/src/client/issues.js      | 78 +++++++++++++++++++++++++++++
 web/src/client/issues.test.js | 94 +++++++++++++++++++++++++++++++++++
 3 files changed, 194 insertions(+), 9 deletions(-)
 create mode 100644 web/src/client/issues.js
 create mode 100644 web/src/client/issues.test.js

diff --git a/web/src/client/index.js b/web/src/client/index.js
index 10d1ef032f..2103737273 100644
--- a/web/src/client/index.js
+++ b/web/src/client/index.js
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) [2021] SUSE LLC
+ * Copyright (c) [2021-2023] SUSE LLC
  *
  * All Rights Reserved.
  *
@@ -30,6 +30,7 @@ import { UsersClient } from "./users";
 import phase from "./phase";
 import { QuestionsClient } from "./questions";
 import { NetworkClient } from "./network";
+import { IssuesClient } from "./issues";
 
 const SERVICE_NAME = "org.opensuse.Agama";
 
@@ -43,6 +44,7 @@ const SERVICE_NAME = "org.opensuse.Agama";
  * @property {StorageClient} storage - storage client
  * @property {UsersClient} users - users client
  * @property {QuestionsClient} questions - questions client
+ * @property {IssuesClient} issues - issues client
  */
 
 /**
@@ -51,15 +53,26 @@ const SERVICE_NAME = "org.opensuse.Agama";
  * @return {InstallerClient}
  */
 const createClient = (address = "unix:path=/run/agama/bus") => {
+  const language = new LanguageClient(address);
+  const manager = new ManagerClient(address);
+  const monitor = new Monitor(address, SERVICE_NAME);
+  const network = new NetworkClient();
+  const software = new SoftwareClient(address);
+  const storage = new StorageClient(address);
+  const users = new UsersClient(address);
+  const questions = new QuestionsClient(address);
+  const issues = new IssuesClient({ storage });
+
   return {
-    language: new LanguageClient(address),
-    manager: new ManagerClient(address),
-    monitor: new Monitor(address, SERVICE_NAME),
-    network: new NetworkClient(),
-    software: new SoftwareClient(address),
-    storage: new StorageClient(address),
-    users: new UsersClient(address),
-    questions: new QuestionsClient(address)
+    language,
+    manager,
+    monitor,
+    network,
+    software,
+    storage,
+    users,
+    questions,
+    issues
   };
 };
 
diff --git a/web/src/client/issues.js b/web/src/client/issues.js
new file mode 100644
index 0000000000..f6a38d4e26
--- /dev/null
+++ b/web/src/client/issues.js
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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.
+ */
+
+// @ts-check
+
+/**
+ * @typedef {object} ClientsIssues
+ * @property {import ("~/client/mixins").Issue[]} storage - Issues from storage client
+ */
+
+/**
+ * Client for managing all issues, independently on the service owning the issues
+ */
+class IssuesClient {
+  /**
+   * @param {object} clients - Clients managing issues
+   * @param {import ("~/client/storage").StorageClient} clients.storage
+   */
+  constructor(clients) {
+    this.clients = clients;
+  }
+
+  /**
+   * Get issues from all clients managing issues
+   *
+   * @returns {Promise<ClientsIssues>}
+   */
+  async getAll() {
+    const storage = await this.clients.storage.getIssues();
+
+    return { storage };
+  }
+
+  /**
+   * Checks whether there is some error
+   *
+   * @returns {Promise<boolean>}
+   */
+  async any() {
+    const clientsIssues = await this.getAll();
+    const issues = Object.values(clientsIssues).flat();
+
+    return issues.length > 0;
+  }
+
+  /**
+   * Registers a callback for each service to be executed when its issues change
+   *
+   * @param {import ("~/client/mixins").IssuesHandler} handler - callback function
+   * @return {import ("./dbus").RemoveFn} function to disable the callback
+   */
+  onIssuesChange(handler) {
+    const unsubscribeCallbacks = [];
+    unsubscribeCallbacks.push(this.clients.storage.onIssuesChange(handler));
+
+    return () => { unsubscribeCallbacks.forEach(cb => cb()) };
+  }
+}
+
+export { IssuesClient };
diff --git a/web/src/client/issues.test.js b/web/src/client/issues.test.js
new file mode 100644
index 0000000000..2eec15df3f
--- /dev/null
+++ b/web/src/client/issues.test.js
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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.
+ */
+
+// @ts-check
+
+import { IssuesClient } from "./issues";
+import { StorageClient } from "./storage";
+
+const storageIssues = [
+  { description: "Storage issue 1", severity: "error", details: "", source: "" },
+  { description: "Storage issue 2", severity: "warn", details: "", source: "" },
+  { description: "Storage issue 3", severity: "error", details: "", source: "" }
+];
+
+const issues = {
+  storage: []
+};
+
+jest.spyOn(StorageClient.prototype, 'getIssues').mockImplementation(async () => issues.storage);
+jest.spyOn(StorageClient.prototype, 'onIssuesChange');
+
+const clientsWithIssues = {
+  storage: new StorageClient()
+};
+
+describe("#getAll", () => {
+  beforeEach(() => {
+    issues.storage = storageIssues;
+  });
+
+  it("returns all the storage issues", async () => {
+    const client = new IssuesClient(clientsWithIssues);
+
+    const { storage } = await client.getAll();
+    expect(storage).toEqual(expect.arrayContaining(storageIssues));
+  });
+});
+
+describe("#any", () => {
+  describe("if there are storage issues", () => {
+    beforeEach(() => {
+      issues.storage = storageIssues;
+    });
+
+    it("returns true", async () => {
+      const client = new IssuesClient(clientsWithIssues);
+
+      const result = await client.any();
+      expect(result).toEqual(true);
+    });
+  });
+
+  describe("if there are no issues", () => {
+    beforeEach(() => {
+      issues.storage = [];
+    });
+
+    it("returns false", async () => {
+      const client = new IssuesClient(clientsWithIssues);
+
+      const result = await client.any();
+      expect(result).toEqual(false);
+    });
+  });
+});
+
+describe("#onIssuesChange", () => {
+  it("subscribes to changes in storage issues", () => {
+    const client = new IssuesClient(clientsWithIssues);
+
+    const handler = jest.fn();
+    client.onIssuesChange(handler);
+
+    expect(clientsWithIssues.storage.onIssuesChange).toHaveBeenCalledWith(handler);
+  });
+});

From 1fc1f6f8112c6407b2713d6fe0eb402813922fa5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Fri, 28 Apr 2023 16:06:06 +0100
Subject: [PATCH 35/58] [web] Replace validation by storage issues

---
 web/src/components/overview/StorageSection.jsx   |  5 +++--
 .../components/overview/StorageSection.test.jsx  |  8 ++++----
 web/src/components/storage/ProposalPage.jsx      |  5 +++--
 web/src/components/storage/ProposalPage.test.jsx |  2 +-
 web/src/utils.js                                 | 14 +++++++++++++-
 web/src/utils.test.js                            | 16 ++++++++++++++--
 6 files changed, 38 insertions(+), 12 deletions(-)

diff --git a/web/src/components/overview/StorageSection.jsx b/web/src/components/overview/StorageSection.jsx
index 58f3c10abd..1369f22a9f 100644
--- a/web/src/components/overview/StorageSection.jsx
+++ b/web/src/components/overview/StorageSection.jsx
@@ -22,7 +22,7 @@
 import React, { useReducer, useEffect } from "react";
 import { Text } from "@patternfly/react-core";
 
-import { useCancellablePromise } from "~/utils";
+import { toValidationError, useCancellablePromise } from "~/utils";
 import { useInstallerClient } from "~/context/installer";
 import { BUSY } from "~/client/status";
 import { Em, ProgressText, Section } from "~/components/core";
@@ -104,7 +104,8 @@ export default function StorageSection({ showErrors = false }) {
       if (isDeprecated) await cancellablePromise(client.probe());
 
       const proposal = await cancellablePromise(client.proposal.getData());
-      const errors = await cancellablePromise(client.getValidationErrors());
+      const issues = await cancellablePromise(client.getErrors());
+      const errors = issues.map(toValidationError);
 
       dispatch({ type: "UPDATE_PROPOSAL", payload: { proposal, errors } });
     };
diff --git a/web/src/components/overview/StorageSection.test.jsx b/web/src/components/overview/StorageSection.test.jsx
index 4deaec0f0f..9f34c45304 100644
--- a/web/src/components/overview/StorageSection.test.jsx
+++ b/web/src/components/overview/StorageSection.test.jsx
@@ -54,7 +54,7 @@ beforeEach(() => {
           message: "Activating storage devices", current: 1, total: 4
         }),
         onProgressChange: noop,
-        getValidationErrors: jest.fn().mockResolvedValue(errors),
+        getErrors: jest.fn().mockResolvedValue(errors),
         onStatusChange: onStatusChangeFn,
         isDeprecated: jest.fn().mockResolvedValue(false),
         onDeprecate: noop
@@ -74,7 +74,7 @@ describe("when there is a proposal", () => {
 
   describe("with errors", () => {
     beforeEach(() => {
-      errors = [{ message: "Cannot make a proposal" }];
+      errors = [{ description: "Cannot make a proposal" }];
     });
 
     describe("and component has received the showErrors prop", () => {
@@ -115,7 +115,7 @@ describe("when there is a proposal", () => {
 describe("when there is no proposal yet", () => {
   beforeEach(() => {
     proposal = { result: undefined };
-    errors = [{ message: "Fake error" }];
+    errors = [{ description: "Fake error" }];
   });
 
   it("renders the progress", async () => {
@@ -134,7 +134,7 @@ describe("when there is no proposal yet", () => {
 describe("but storage service is busy", () => {
   beforeEach(() => {
     status = BUSY;
-    errors = [{ message: "Fake error" }];
+    errors = [{ description: "Fake error" }];
   });
 
   it("renders the progress", async () => {
diff --git a/web/src/components/storage/ProposalPage.jsx b/web/src/components/storage/ProposalPage.jsx
index 87b3cf68db..a274fa0209 100644
--- a/web/src/components/storage/ProposalPage.jsx
+++ b/web/src/components/storage/ProposalPage.jsx
@@ -23,7 +23,7 @@ import React, { useCallback, useReducer, useEffect } from "react";
 import { Alert } from "@patternfly/react-core";
 
 import { useInstallerClient } from "~/context/installer";
-import { useCancellablePromise } from "~/utils";
+import { toValidationError, useCancellablePromise } from "~/utils";
 import { Icon } from "~/components/layout";
 import { Page } from "~/components/core";
 import { ProposalActionsSection, ProposalPageOptions, ProposalSettingsSection } from "~/components/storage";
@@ -79,7 +79,8 @@ export default function ProposalPage() {
 
   const loadProposal = useCallback(async () => {
     const proposal = await cancellablePromise(client.proposal.getData());
-    const errors = await cancellablePromise(client.getValidationErrors());
+    const issues = await cancellablePromise(client.getErrors());
+    const errors = issues.map(toValidationError);
     return { proposal, errors };
   }, [client, cancellablePromise]);
 
diff --git a/web/src/components/storage/ProposalPage.test.jsx b/web/src/components/storage/ProposalPage.test.jsx
index 9909a63964..e8b1ea2100 100644
--- a/web/src/components/storage/ProposalPage.test.jsx
+++ b/web/src/components/storage/ProposalPage.test.jsx
@@ -69,7 +69,7 @@ beforeEach(() => {
           getData: jest.fn().mockResolvedValue(proposalData),
           calculate: jest.fn().mockResolvedValue(0)
         },
-        getValidationErrors: jest.fn().mockResolvedValue([]),
+        getErrors: jest.fn().mockResolvedValue([]),
         isDeprecated: isDeprecatedFn,
         onDeprecate: onDeprecateFn
       }
diff --git a/web/src/utils.js b/web/src/utils.js
index bb41c05b08..c313b6ae19 100644
--- a/web/src/utils.js
+++ b/web/src/utils.js
@@ -167,11 +167,23 @@ const hex = (value) => {
   return parseInt(sanitizedValue, 16);
 };
 
+/**
+ * Converts an issue to a validation error
+ * @function
+ *
+ * @todo This conversion will not be needed after adapting Section to directly work with issues.
+ *
+ * @param {import("~/client/mixins").Issue} issues
+ * @returns {import("~/client/mixins").ValidationError}
+ */
+const toValidationError = (issue) => ({ message: issue.description });
+
 export {
   noop,
   partition,
   classNames,
   useCancellablePromise,
   useLocalStorage,
-  hex
+  hex,
+  toValidationError
 };
diff --git a/web/src/utils.test.js b/web/src/utils.test.js
index d7319aad48..4c1f290ea5 100644
--- a/web/src/utils.test.js
+++ b/web/src/utils.test.js
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) [2022] SUSE LLC
+ * Copyright (c) [2022-2023] SUSE LLC
  *
  * All Rights Reserved.
  *
@@ -19,7 +19,7 @@
  * find current contact information at www.suse.com.
  */
 
-import { classNames, partition, noop } from "./utils";
+import { classNames, partition, noop, toValidationError } from "./utils";
 
 describe("noop", () => {
   it("returns undefined", () => {
@@ -49,3 +49,15 @@ describe("classNames", () => {
     )).toEqual("bg-yellow w-24");
   });
 });
+
+describe("toValidationError", () => {
+  it("converts an issue to a validation error", () => {
+    const issue = {
+      description: "Issue 1",
+      details: "Details issue 1",
+      source: "config",
+      severity: "warn"
+    };
+    expect(toValidationError(issue)).toEqual({ message: "Issue 1" });
+  });
+});

From 5df7f38cf0ed1ecedc992184dc5d4eede8b16551 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Fri, 28 Apr 2023 16:08:13 +0100
Subject: [PATCH 36/58] [web] Add issues warning

---
 web/src/components/core/InstallButton.jsx     | 92 ++++++++++++-------
 .../components/core/InstallButton.test.jsx    | 39 +++++++-
 2 files changed, 96 insertions(+), 35 deletions(-)

diff --git a/web/src/components/core/InstallButton.jsx b/web/src/components/core/InstallButton.jsx
index 0e02ab6153..9dcc75cfc0 100644
--- a/web/src/components/core/InstallButton.jsx
+++ b/web/src/components/core/InstallButton.jsx
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) [2022] SUSE LLC
+ * Copyright (c) [2022-2023] SUSE LLC
  *
  * All Rights Reserved.
  *
@@ -22,50 +22,75 @@
 import React, { useState } from "react";
 import { useInstallerClient } from "~/context/installer";
 
-import { Button, Text } from "@patternfly/react-core";
-import { Popup } from "~/components/core";
+import { Button } from "@patternfly/react-core";
+import { useNavigate } from "react-router-dom";
 
-const InstallConfirmationPopup = ({ onAccept, onClose }) => (
-  <Popup
-    title="Confirm Installation"
-    isOpen
-  >
-    <Text>
-      If you continue, partitions on your hard disk will be modified according to the
-      installation settings in the previous dialog.
-    </Text>
-    <Text>
-      Please, cancel and check the settings if you are unsure.
-    </Text>
+import { If, Popup } from "~/components/core";
 
-    <Popup.Actions>
-      <Popup.Confirm onClick={onAccept}>Continue</Popup.Confirm>
-      <Popup.Cancel onClick={onClose} autoFocus />
-    </Popup.Actions>
-  </Popup>
-);
+const InstallConfirmationPopup = ({ hasIssues, onAccept, onClose }) => {
+  const navigate = useNavigate();
+
+  const IssuesWarning = () => {
+    const IssuesLink = ({ text }) => {
+      return (
+        <Button variant="link" isInline onClick={() => navigate("/issues")}>
+          {text}
+        </Button>
+      );
+    };
+
+    return (
+      <p className="bold">
+        There are some reported issues. Please, check <IssuesLink text="the list of issues" /> before
+        proceeding with the installation.
+      </p>
+    );
+  };
+
+  return (
+    <Popup
+      title="Confirm Installation"
+      isOpen
+    >
+      <div className="stack">
+        <If condition={hasIssues} then={<IssuesWarning />} />
+        <p>
+          If you continue, partitions on your hard disk will be modified according to the provided
+          installation settings.
+        </p>
+        <p>
+          Please, cancel and check the settings if you are unsure.
+        </p>
+      </div>
+      <Popup.Actions>
+        <Popup.Confirm onClick={onAccept}>Continue</Popup.Confirm>
+        <Popup.Cancel onClick={onClose} autoFocus />
+      </Popup.Actions>
+    </Popup>
+  );
+};
 
 const CannotInstallPopup = ({ onClose }) => (
   <Popup
     title="Problems Found"
     isOpen
   >
-    <Text>
+    <p>
       Some problems were found when trying to start the installation.
-      Please, have a look to the reported issues and try again.
-    </Text>
+      Please, have a look to the reported errors and try again.
+    </p>
 
     <Popup.Actions>
-      <Popup.Cancel onClick={onClose} autoFocus />
+      <Popup.Cancel onClick={onClose} autoFocus>Accept</Popup.Cancel>
     </Popup.Actions>
   </Popup>
 );
 
-const renderPopup = (error, { onAccept, onClose }) => {
+const renderPopup = (error, hasIssues, { onAccept, onClose }) => {
   if (error) {
     return <CannotInstallPopup onClose={onClose} />;
   } else {
-    return <InstallConfirmationPopup onClose={onClose} onAccept={onAccept} />;
+    return <InstallConfirmationPopup onClose={onClose} onAccept={onAccept} hasIssues={hasIssues} />;
   }
 };
 
@@ -87,13 +112,14 @@ const InstallButton = ({ onClick }) => {
   const client = useInstallerClient();
   const [isOpen, setIsOpen] = useState(false);
   const [error, setError] = useState(false);
+  const [hasIssues, setHasIssues] = useState(false);
 
-  const open = () => {
+  const open = async () => {
     if (onClick) onClick();
-    client.manager.canInstall().then(ok => {
-      setIsOpen(true);
-      setError(!ok);
-    });
+    const canInstall = await client.manager.canInstall();
+    if (canInstall) setHasIssues(await client.issues.any());
+    setIsOpen(true);
+    setError(!canInstall);
   };
   const close = () => setIsOpen(false);
   const install = () => client.manager.startInstallation();
@@ -104,7 +130,7 @@ const InstallButton = ({ onClick }) => {
         Install
       </Button>
 
-      { isOpen && renderPopup(error, { onAccept: install, onClose: close }) }
+      { isOpen && renderPopup(error, hasIssues, { onAccept: install, onClose: close }) }
     </>
   );
 };
diff --git a/web/src/components/core/InstallButton.test.jsx b/web/src/components/core/InstallButton.test.jsx
index b40b2d94ed..08858affaf 100644
--- a/web/src/components/core/InstallButton.test.jsx
+++ b/web/src/components/core/InstallButton.test.jsx
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) [2022] SUSE LLC
+ * Copyright (c) [2022-2023] SUSE LLC
  *
  * All Rights Reserved.
  *
@@ -31,13 +31,18 @@ jest.mock("~/client", () => ({
   createClient: jest.fn()
 }));
 
-describe("when the button is clicked and there are not validation errors", () => {
+describe("when the button is clicked and there are not errors", () => {
+  let hasIssues = false;
+
   beforeEach(() => {
     createClient.mockImplementation(() => {
       return {
         manager: {
           startInstallation: startInstallationFn,
           canInstall: () => Promise.resolve(true),
+        },
+        issues: {
+          any: () => Promise.resolve(hasIssues)
         }
       };
     });
@@ -66,4 +71,34 @@ describe("when the button is clicked and there are not validation errors", () =>
       expect(screen.queryByRole("button", { name: "Continue" })).not.toBeInTheDocument();
     });
   });
+
+  describe("if there are issues", () => {
+    beforeEach(() => {
+      hasIssues = true;
+    });
+
+    it("shows a link to go to the issues page", async () => {
+      const { user } = installerRender(<InstallButton />);
+      const button = await screen.findByRole("button", { name: "Install" });
+      await user.click(button);
+
+      await screen.findByRole("button", { name: /list of issues$/ });
+    });
+  });
+
+  describe("if there are not issues", () => {
+    beforeEach(() => {
+      hasIssues = false;
+    });
+
+    it("does not show a link to go to the issues page", async () => {
+      const { user } = installerRender(<InstallButton />);
+      const button = await screen.findByRole("button", { name: "Install" });
+      await user.click(button);
+      await waitFor(() => {
+        const link = screen.queryByRole("button", { name: /list of issues$/ });
+        expect(link).toBeNull();
+      });
+    });
+  });
 });

From 8aa109e03b8872aa3ee11c4c9e5e53862cf98f86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Fri, 28 Apr 2023 16:14:35 +0100
Subject: [PATCH 37/58] [web] Add notification mark to sidebar

---
 web/src/assets/styles/blocks.scss             | 25 +++++++-
 web/src/components/core/NotificationMark.jsx  | 33 ++++++++---
 .../components/core/NotificationMark.test.jsx | 46 +++++++++++++--
 web/src/components/core/Sidebar.jsx           |  2 +-
 web/src/components/core/Sidebar.test.jsx      | 57 ++++++++++++++++---
 5 files changed, 141 insertions(+), 22 deletions(-)

diff --git a/web/src/assets/styles/blocks.scss b/web/src/assets/styles/blocks.scss
index 08e40a0445..164724c5bb 100644
--- a/web/src/assets/styles/blocks.scss
+++ b/web/src/assets/styles/blocks.scss
@@ -220,8 +220,29 @@ section > .content {
 }
 
 span.notification-mark {
-  --border-width: 2px;
-  --size: calc(var(--fs-base) + var(--border-width));
+  --nm-border-width: 0;
+  --nm-border-color: transparent;
+  --nm-border: var(--nm-border-width) solid var(--nm-border-color);
+  --nm-size: 8px;
+  --nm-margin-inline: var(--nm-size, 5px);
+  --nm-display: inline-block;
+  --nm-color: #00BFFF; //deepskyblue
+
+  margin-inline: var(--nm-margin-inline);
+  display: var(--nm-display);
+  background: var(--nm-color);
+  border: var(--nm-border);
+  width: var(--nm-size);
+  height: var(--nm-size);
+  border-radius: 999px;
+}
+
+span.notification-mark[data-variant="sidebar"] {
+  --nm-size: calc(var(--fs-base) + var(--nm-border-width));
+  --nm-display: initial;
+  --nm-border-width: 2px;
+  --nm-border-color: var(--color-primary);
+  --nm-margin-inline: 0;
 
   position: absolute;
   right: 0;
diff --git a/web/src/components/core/NotificationMark.jsx b/web/src/components/core/NotificationMark.jsx
index 8e6feac3cf..71c12a7ef3 100644
--- a/web/src/components/core/NotificationMark.jsx
+++ b/web/src/components/core/NotificationMark.jsx
@@ -19,24 +19,43 @@
  * find current contact information at www.suse.com.
  */
 
-import React from "react";
+import React, { useCallback, useEffect, useState } from "react";
+
+import { useCancellablePromise } from "~/utils";
+import { useInstallerClient } from "~/context/installer";
+import { If } from "~/components/core";
 
 /**
- * A notification mark that  icon for catching the users attention when there is
+ * A notification mark for catching the users attention when there is
  * something that can be interesting for them but not urgent enough to use a
  * (blocking) Popup.
  *
  * @component
  *
- * Initially though to be displayed on top of the Sidebar icon.
- *
  * Use only when the information to show might be overlooked without risk and/or
  * when the information will be displayed sooner or later in other way (in a
  * confirmation dialog, for example).
  *
  * @param {object} props
- * @param {string} props.label - the label to be announced by screen readers
  */
-export default function NotificationMark ({ label }) {
-  return <span className="notification-mark" role="status" aria-label={label} />;
+export default function NotificationMark ({ ...props }) {
+  const [hasIssues, setHasIssues] = useState(false);
+  const { issues: client } = useInstallerClient();
+  const { cancellablePromise } = useCancellablePromise();
+
+  const checkIssues = useCallback(async () => {
+    setHasIssues(await cancellablePromise(client.any()));
+  }, [client, cancellablePromise, setHasIssues]);
+
+  useEffect(() => {
+    checkIssues();
+    return client.onIssuesChange(checkIssues);
+  }, [client, checkIssues]);
+
+  return (
+    <If
+      condition={hasIssues}
+      then={<span className="notification-mark" role="status" {...props} />}
+    />
+  );
 }
diff --git a/web/src/components/core/NotificationMark.test.jsx b/web/src/components/core/NotificationMark.test.jsx
index 551c019a9f..62318e3bb3 100644
--- a/web/src/components/core/NotificationMark.test.jsx
+++ b/web/src/components/core/NotificationMark.test.jsx
@@ -20,11 +20,47 @@
  */
 
 import React from "react";
-import { screen } from "@testing-library/react";
-import { plainRender } from "~/test-utils";
+import { screen, waitFor } from "@testing-library/react";
+import { installerRender } from "~/test-utils";
 import { NotificationMark } from "~/components/core";
+import { createClient } from "~/client";
 
-it("renders a span with status role", async () => {
-  plainRender(<NotificationMark label="Some issues detected, please have a look" />);
-  screen.getByRole("status", { name: "Some issues detected, please have a look" });
+let hasIssues = false;
+
+jest.mock("~/client");
+
+beforeEach(() => {
+  createClient.mockImplementation(() => {
+    return {
+      issues: {
+        any: () => Promise.resolve(hasIssues),
+        onIssuesChange: jest.fn()
+      }
+    };
+  });
+});
+
+describe("if there are issues", () => {
+  beforeEach(() => {
+    hasIssues = true;
+  });
+
+  it("renders a span with status role", async () => {
+    installerRender(<NotificationMark aria-label="See issues" />, { usingProvider: true });
+    await screen.findByRole("status", { name: "See issues" });
+  });
+});
+
+describe("if there are not issues", () => {
+  beforeEach(() => {
+    hasIssues = false;
+  });
+
+  it("renders nothing", async () => {
+    installerRender(<NotificationMark aria-label="See issues" />, { usingProvider: true });
+    waitFor(async () => {
+      const mark = await screen.findByRole("status", { name: "See issues" });
+      expect(mark).toBeNull();
+    });
+  });
 });
diff --git a/web/src/components/core/Sidebar.jsx b/web/src/components/core/Sidebar.jsx
index 7b9a0f74de..59df1d37f6 100644
--- a/web/src/components/core/Sidebar.jsx
+++ b/web/src/components/core/Sidebar.jsx
@@ -94,7 +94,7 @@ export default function Sidebar ({ children }) {
           aria-controls="navigation-and-options"
           aria-expanded={isOpen}
         >
-          <NotificationMark />
+          <NotificationMark data-variant="sidebar" aria-label="See issues" />
           <Icon name="menu" />
         </button>
       </AppActions>
diff --git a/web/src/components/core/Sidebar.test.jsx b/web/src/components/core/Sidebar.test.jsx
index a29e802a86..32e40c7fbb 100644
--- a/web/src/components/core/Sidebar.test.jsx
+++ b/web/src/components/core/Sidebar.test.jsx
@@ -21,19 +21,36 @@
 
 import React from "react";
 import { screen, within } from "@testing-library/react";
-import { plainRender, mockLayout } from "~/test-utils";
+import { installerRender, mockLayout } from "~/test-utils";
 import { Sidebar } from "~/components/core";
+import { createClient } from "~/client";
 
 jest.mock("~/components/layout/Layout", () => mockLayout());
 
+let hasIssues = false;
+
+jest.mock("~/client");
+
+beforeEach(() => {
+  createClient.mockImplementation(() => {
+    return {
+      issues: {
+        any: () => Promise.resolve(hasIssues),
+        onIssuesChange: jest.fn()
+      }
+    };
+  });
+});
+
 it("renders the sidebar initially hidden", async () => {
-  plainRender(<Sidebar />);
+  installerRender(<Sidebar />, { usingProvider: true });
+
   const nav = await screen.findByRole("navigation", { name: /options/i });
   expect(nav).toHaveAttribute("data-state", "hidden");
 });
 
 it("renders a link for displaying the sidebar", async () => {
-  const { user } = plainRender(<Sidebar />);
+  const { user } = installerRender(<Sidebar />, { usingProvider: true });
 
   const link = await screen.findByLabelText(/Show/i);
   const nav = await screen.findByRole("navigation", { name: /options/i });
@@ -44,7 +61,7 @@ it("renders a link for displaying the sidebar", async () => {
 });
 
 it("renders a link for hiding the sidebar", async () => {
-  const { user } = plainRender(<Sidebar />);
+  const { user } = installerRender(<Sidebar />, { usingProvider: true });
 
   const openLink = await screen.findByLabelText(/Show/i);
   const closeLink = await screen.findByLabelText(/Hide/i);
@@ -58,7 +75,7 @@ it("renders a link for hiding the sidebar", async () => {
 });
 
 it("moves the focus to the close action after opening it", async () => {
-  const { user } = plainRender(<Sidebar />);
+  const { user } = installerRender(<Sidebar />, { usingProvider: true });
 
   const openLink = await screen.findByLabelText(/Show/i);
   const closeLink = await screen.findByLabelText(/Hide/i);
@@ -70,13 +87,14 @@ it("moves the focus to the close action after opening it", async () => {
 
 describe("onClick bubbling", () => {
   it("hides the sidebar only if the user clicked on a link or button w/o keepSidebarOpen attribute", async () => {
-    const { user } = plainRender(
+    const { user } = installerRender(
       <Sidebar>
         <a href="#">Goes somewhere</a>
         <a href="#" data-keep-sidebar-open="true">Keep it open!</a>
         <button>Do something</button>
         <button data-keep-sidebar-open="true">Keep it open!</button>
-      </Sidebar>
+      </Sidebar>,
+      { UsingProvider: true }
     );
 
     const openLink = screen.getByLabelText(/Show/i);
@@ -113,3 +131,28 @@ describe("onClick bubbling", () => {
     expect(nav).toHaveAttribute("data-state", "hidden");
   });
 });
+
+describe("if there are issues", () => {
+  beforeEach(() => {
+    hasIssues = true;
+  });
+
+  it("includes a notification mark", async () => {
+    installerRender(<Sidebar />, { usingProvider: true });
+    const link = await screen.findByLabelText(/Show/i);
+    within(link).getByRole("status", { name: "See issues" });
+  });
+});
+
+describe("if there are not issues", () => {
+  beforeEach(() => {
+    hasIssues = false;
+  });
+
+  it("does not include a notification mark", async () => {
+    installerRender(<Sidebar />, { usingProvider: true });
+    const link = await screen.findByLabelText(/Show/i);
+    const mark = within(link).queryByRole("status", { name: "See issues" });
+    expect(mark).toBeNull();
+  });
+});

From 7bcba1caa2a2fa7ded269b1fc2c9a5392c452be1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Fri, 28 Apr 2023 16:15:46 +0100
Subject: [PATCH 38/58] [web] Add issues page

---
 web/src/assets/styles/blocks.scss           |  20 ++-
 web/src/components/core/IssuesLink.jsx      |  40 +++++
 web/src/components/core/IssuesLink.test.jsx |  72 +++++++++
 web/src/components/core/IssuesPage.jsx      | 167 ++++++++++++++++++++
 web/src/components/core/IssuesPage.test.jsx |  82 ++++++++++
 web/src/components/core/index.js            |   2 +
 web/src/components/layout/Layout.jsx        |  11 +-
 web/src/index.js                            |   2 +
 8 files changed, 390 insertions(+), 6 deletions(-)
 create mode 100644 web/src/components/core/IssuesLink.jsx
 create mode 100644 web/src/components/core/IssuesLink.test.jsx
 create mode 100644 web/src/components/core/IssuesPage.jsx
 create mode 100644 web/src/components/core/IssuesPage.test.jsx

diff --git a/web/src/assets/styles/blocks.scss b/web/src/assets/styles/blocks.scss
index 164724c5bb..f3dbec39cd 100644
--- a/web/src/assets/styles/blocks.scss
+++ b/web/src/assets/styles/blocks.scss
@@ -246,9 +246,19 @@ span.notification-mark[data-variant="sidebar"] {
 
   position: absolute;
   right: 0;
-  background: var(--color-primary-lighter);
-  border: var(--border-width) solid var(--color-primary);
-  width: var(--size);
-  height: var(--size);
-  border-radius: 999px;
+}
+
+.issue {
+  --icon-size: 1rem;
+
+  div:first-child {
+    svg {
+      width: var(--icon-size);
+      height: var(--icon-size);
+    }
+  }
+
+  div:nth-child(2) {
+    padding-left: calc(var(--icon-size) + var(--pf-c-helper-text__item-icon--MarginRight));
+  }
 }
diff --git a/web/src/components/core/IssuesLink.jsx b/web/src/components/core/IssuesLink.jsx
new file mode 100644
index 0000000000..a99928e304
--- /dev/null
+++ b/web/src/components/core/IssuesLink.jsx
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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 { Link } from "react-router-dom";
+
+import { Icon } from "~/components/layout";
+import { NotificationMark } from "~/components/core";
+
+/**
+ * Link to go to the issues page
+ * @component
+ */
+export default function IssuesLink() {
+  return (
+    <Link to="/issues">
+      <Icon name="problem" size="24" />
+      Show issues
+      <NotificationMark aria-label="See issues" />
+    </Link>
+  );
+}
diff --git a/web/src/components/core/IssuesLink.test.jsx b/web/src/components/core/IssuesLink.test.jsx
new file mode 100644
index 0000000000..145f253bb2
--- /dev/null
+++ b/web/src/components/core/IssuesLink.test.jsx
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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, within } from "@testing-library/react";
+import { installerRender } from "~/test-utils";
+import { createClient } from "~/client";
+import { IssuesLink } from "~/components/core";
+
+let hasIssues = false;
+
+jest.mock("~/client");
+
+beforeEach(() => {
+  createClient.mockImplementation(() => {
+    return {
+      issues: {
+        any: () => Promise.resolve(hasIssues),
+        onIssuesChange: jest.fn()
+      }
+    };
+  });
+});
+
+it("renders a link for navigating to the issues page", async () => {
+  installerRender(<IssuesLink />, { usingProvider: true });
+  const link = await screen.findByRole("link", { name: "Show issues" });
+  expect(link).toHaveAttribute("href", "/issues");
+});
+
+describe("if there are issues", () => {
+  beforeEach(() => {
+    hasIssues = true;
+  });
+
+  it("includes a notification mark", async () => {
+    installerRender(<IssuesLink />, { usingProvider: true });
+    const link = await screen.findByRole("link", { name: "Show issues" });
+    within(link).getByRole("status", { name: "See issues" });
+  });
+});
+
+describe("if there are not issues", () => {
+  beforeEach(() => {
+    hasIssues = false;
+  });
+
+  it("does not include a notification mark", async () => {
+    installerRender(<IssuesLink />, { usingProvider: true });
+    const link = await screen.findByRole("link", { name: "Show issues" });
+    const mark = within(link).queryByRole("status", { name: "See issues" });
+    expect(mark).toBeNull();
+  });
+});
diff --git a/web/src/components/core/IssuesPage.jsx b/web/src/components/core/IssuesPage.jsx
new file mode 100644
index 0000000000..ca1c277d70
--- /dev/null
+++ b/web/src/components/core/IssuesPage.jsx
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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, { useCallback, useEffect, useState } from "react";
+
+import { HelperText, HelperTextItem, Skeleton } from "@patternfly/react-core";
+
+import { partition, useCancellablePromise } from "~/utils";
+import { If, Page, Section } from "~/components/core";
+import { Icon } from "~/components/layout";
+import { useInstallerClient } from "~/context/installer";
+
+/**
+ * Renders an issue
+ * @component
+ *
+ * @param {object} props
+ * @param {import ("~/client/mixins").Issue} props.issue
+ */
+const IssueItem = ({ issue }) => {
+  const variant = issue.severity === "warn" ? "warning" : "error";
+  const icon = issue.severity === "warn" ? "warning" : "error";
+  const hasDetails = issue.details.length > 0;
+
+  return (
+    <div>
+      <HelperText className="issue">
+        <HelperTextItem variant={variant} hasIcon icon={<Icon name={icon} />}>
+          {issue.description}
+        </HelperTextItem>
+        <If
+          condition={hasDetails}
+          then={<HelperTextItem>{issue.details}</HelperTextItem>}
+        />
+      </HelperText>
+    </div>
+  );
+};
+
+/**
+ * Generates a specific section with issues
+ * @component
+ *
+ * @param {object} props
+ * @param {import ("~/client/mixins").Issue[]} props.issues
+ * @param {object} props.props
+ */
+const IssuesSection = ({ issues, ...props }) => {
+  if (issues.length === 0) return null;
+
+  const sortedIssues = partition(issues, i => i.severity === "error").flat();
+
+  const issueItems = sortedIssues.map((issue, index) => {
+    return <IssueItem key={`issue-${index}`} issue={issue} />;
+  });
+
+  return (
+    <Section { ...props }>
+      {issueItems}
+    </Section>
+  );
+};
+
+/**
+ * Generates the sections with issues
+ * @component
+ *
+ * @param {object} props
+ * @param {import ("~/client/issues").ClientsIssues} props.issues
+ */
+const IssuesSections = ({ issues }) => {
+  return (
+    <IssuesSection
+      key="storage-issues"
+      title="Storage"
+      icon="hard_drive"
+      issues={issues.storage || []}
+    />
+  );
+};
+
+/**
+ * Generates the content for each section with issues. If there are no issues, then a success
+ * message is shown.
+ * @component
+ *
+ * @param {object} props
+ * @param {import ("~/client/issues").ClientsIssues} props.issues
+ */
+const IssuesContent = ({ issues }) => {
+  const NoIssues = () => {
+    return (
+      <HelperText className="issue">
+        <HelperTextItem variant="success" hasIcon icon={<Icon name="task_alt" />}>
+          No issues found. Everything looks ok.
+        </HelperTextItem>
+      </HelperText>
+    );
+  };
+
+  const allIssues = Object.values(issues).flat();
+
+  return (
+    <If
+      condition={allIssues.length === 0}
+      then={<NoIssues />}
+      else={<IssuesSections issues={issues} />}
+    />
+  );
+};
+
+/**
+ * Page to show all issues per section
+ * @component
+ */
+export default function IssuesPage() {
+  const [isLoading, setIsLoading] = useState(true);
+  const [issues, setIssues] = useState({});
+  const { issues: client } = useInstallerClient();
+  const { cancellablePromise } = useCancellablePromise();
+
+  const loadIssues = useCallback(async () => {
+    setIsLoading(true);
+    const allIssues = await cancellablePromise(client.getAll());
+    setIssues(allIssues);
+    setIsLoading(false);
+  }, [client, cancellablePromise, setIssues, setIsLoading]);
+
+  useEffect(() => {
+    loadIssues();
+    return client.onIssuesChange(loadIssues);
+  }, [client, loadIssues]);
+
+  return (
+    <Page
+      title="Issues"
+      icon="problem"
+      actionLabel="Back"
+      actionVariant="secondary"
+      navigateTo={-1}
+    >
+      <If
+        condition={isLoading}
+        then={<Skeleton />}
+        else={<IssuesContent issues={issues} />}
+      />
+    </Page>
+  );
+}
diff --git a/web/src/components/core/IssuesPage.test.jsx b/web/src/components/core/IssuesPage.test.jsx
new file mode 100644
index 0000000000..821ca6493a
--- /dev/null
+++ b/web/src/components/core/IssuesPage.test.jsx
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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, within } from "@testing-library/react";
+import { installerRender, mockComponent } from "~/test-utils";
+import { createClient } from "~/client";
+import { IssuesPage } from "~/components/core";
+
+jest.mock("~/client");
+
+jest.mock("@patternfly/react-core", () => {
+  const original = jest.requireActual("@patternfly/react-core");
+
+  return {
+    ...original,
+    Skeleton: mockComponent("PFSkeleton")
+  };
+});
+
+let issues = {
+  storage: [
+    { description: "Issue 1", details: "Details 1", source: "system", severity: "warn" },
+    { description: "Issue 2", details: "Details 2", source: "config", severity: "error" }
+  ]
+};
+
+beforeEach(() => {
+  createClient.mockImplementation(() => {
+    return {
+      issues: {
+        getAll: () => Promise.resolve(issues),
+        onIssuesChange: jest.fn()
+      }
+    };
+  });
+});
+
+it("loads the issues", async () => {
+  installerRender(<IssuesPage />);
+
+  screen.getAllByText(/PFSkeleton/);
+  await screen.findByText(/Issue 1/);
+});
+
+it("renders sections with issues", async () => {
+  installerRender(<IssuesPage />);
+
+  const section = await screen.findByText(/Storage/);
+  within(section).findByText(/Issue 1/);
+  within(section).findByText(/Issue 2/);
+});
+
+describe("if there are not issues", () => {
+  beforeEach(() => {
+    issues = { storage: [] };
+  });
+
+  it("renders a success message", async () => {
+    installerRender(<IssuesPage />);
+
+    await screen.findByText(/No issues found/);
+  });
+});
diff --git a/web/src/components/core/index.js b/web/src/components/core/index.js
index 976870f9b7..f5f7efcf67 100644
--- a/web/src/components/core/index.js
+++ b/web/src/components/core/index.js
@@ -32,6 +32,8 @@ export { default as Installation } from "./Installation";
 export { default as InstallationFinished } from "./InstallationFinished";
 export { default as InstallationProgress } from "./InstallationProgress";
 export { default as InstallButton } from "./InstallButton";
+export { default as IssuesLink } from "./IssuesLink";
+export { default as IssuesPage } from "./IssuesPage";
 export { default as SectionSkeleton } from "./SectionSkeleton";
 export { default as LoadingEnvironment } from "./LoadingEnvironment";
 export { default as KebabMenu } from "./KebabMenu";
diff --git a/web/src/components/layout/Layout.jsx b/web/src/components/layout/Layout.jsx
index 1cbdbb836b..680c622f58 100644
--- a/web/src/components/layout/Layout.jsx
+++ b/web/src/components/layout/Layout.jsx
@@ -24,7 +24,15 @@ import React from "react";
 import logoUrl from "~/assets/suse-horizontal-logo.svg";
 import { createTeleporter } from "react-teleporter";
 import { ChangeProductLink } from "~/components/software";
-import { About, Disclosure, LogsButton, Sidebar, ShowLogButton, ShowTerminalButton } from "~/components/core";
+import {
+  About,
+  Disclosure,
+  IssuesLink,
+  LogsButton,
+  Sidebar,
+  ShowLogButton,
+  ShowTerminalButton
+} from "~/components/core";
 
 const PageTitle = createTeleporter();
 const PageActions = createTeleporter();
@@ -86,6 +94,7 @@ function Layout({ children }) {
       <Sidebar>
         <>
           <ChangeProductLink />
+          <IssuesLink />
           <Disclosure label="Diagnostic tools" data-keep-sidebar-open>
             <ShowLogButton />
             <LogsButton data-keep-sidebar-open="true" />
diff --git a/web/src/index.js b/web/src/index.js
index b6b411a5c8..b4f2536ccf 100644
--- a/web/src/index.js
+++ b/web/src/index.js
@@ -44,6 +44,7 @@ import { ProposalPage as StoragePage, DASDPage, ISCSIPage } from "~/components/s
 import { UsersPage } from "~/components/users";
 import { L10nPage } from "~/components/l10n";
 import { NetworkPage } from "~/components/network";
+import { IssuesPage } from "~/components/core";
 
 /**
  * As JSX components might import CSS stylesheets, our styles must be imported
@@ -84,6 +85,7 @@ root.render(
                 <Route path="/storage/dasd" element={<DASDPage />} />
                 <Route path="/network" element={<NetworkPage />} />
                 <Route path="/users" element={<UsersPage />} />
+                <Route path="/issues" element={<IssuesPage />} />
               </Route>
               <Route path="products" element={<ProductSelectionPage />} />
             </Route>

From 8ca7aba88001d5bf1531158d607c5d905faa5adb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Fri, 28 Apr 2023 16:17:56 +0100
Subject: [PATCH 39/58] [web] Changelog

---
 web/package/cockpit-agama.changes | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/web/package/cockpit-agama.changes b/web/package/cockpit-agama.changes
index db0d9246d9..ecef283806 100644
--- a/web/package/cockpit-agama.changes
+++ b/web/package/cockpit-agama.changes
@@ -1,3 +1,10 @@
+-------------------------------------------------------------------
+Fri Apr 28 15:16:04 UTC 2023 - José Iván López González <jlopez@suse.com>
+
+- Add issues for storage client.
+- Add issues page.
+- gh#openSUSE/agama#540
+
 -------------------------------------------------------------------
 Mon Apr 24 15:53:35 UTC 2023 - David Diaz <dgonzalez@suse.com>
 

From 090ebf9c4e35f0810f9e14e2eeb439047230101e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ladislav=20Slez=C3=A1k?= <lslezak@suse.com>
Date: Sat, 29 Apr 2023 17:16:45 +0200
Subject: [PATCH 40/58] Update take_screenshots.spec.ts

Increase the timeout in the test
---
 playwright/tests/take_screenshots.spec.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/playwright/tests/take_screenshots.spec.ts b/playwright/tests/take_screenshots.spec.ts
index be0ec30839..6c1cc17c00 100644
--- a/playwright/tests/take_screenshots.spec.ts
+++ b/playwright/tests/take_screenshots.spec.ts
@@ -80,7 +80,7 @@ test.describe("The Installer", () => {
     await test.step("Storage configuration", async () => {
       // create storage page screenshot
       await page.locator("a[href='#/storage']").click();
-      await expect(page.getByRole("heading", { name: "Settings" })).toBeVisible();
+      await expect(page.getByRole("heading", { name: "Settings" })).toBeVisible({timeout: 1 * minute});
       await page.screenshot({ path: "screenshots/storage-page.png" });
     });
 

From 40bd3620879cee49e0a4b00d3804f8cf36bcf4ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Tue, 2 May 2023 10:09:25 +0100
Subject: [PATCH 41/58] [web] Do not show group options name until needed

Since it can be confusing
---
 web/src/components/storage/ProposalPageOptions.jsx | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/web/src/components/storage/ProposalPageOptions.jsx b/web/src/components/storage/ProposalPageOptions.jsx
index 858e8310e3..8982645ea0 100644
--- a/web/src/components/storage/ProposalPageOptions.jsx
+++ b/web/src/components/storage/ProposalPageOptions.jsx
@@ -74,10 +74,7 @@ export default function ProposalPageOptions () {
 
   return (
     <PageOptions>
-      <PageOptions.Group
-        label="Configure"
-        key="devices-options"
-      >
+      <PageOptions.Group key="devices-options">
         <If condition={showDasdLink} then={<DASDLink />} />
         <ISCSILink />
       </PageOptions.Group>

From 48dfa5b39b43cc434e5e51a7646373440aef9926 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20D=C3=ADaz=20Gonz=C3=A1lez?= <dgonzalez@suse.de>
Date: Tue, 2 May 2023 10:10:02 +0100
Subject: [PATCH 42/58] [web] Add missing unit test

---
 .../storage/ProposalPageOptions.test.jsx      | 68 +++++++++++++++++++
 1 file changed, 68 insertions(+)
 create mode 100644 web/src/components/storage/ProposalPageOptions.test.jsx

diff --git a/web/src/components/storage/ProposalPageOptions.test.jsx b/web/src/components/storage/ProposalPageOptions.test.jsx
new file mode 100644
index 0000000000..54c640c4c6
--- /dev/null
+++ b/web/src/components/storage/ProposalPageOptions.test.jsx
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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 } from "@testing-library/react";
+import { installerRender, mockLayout } from "~/test-utils";
+import { createClient } from "~/client";
+import { ProposalPageOptions } from "~/components/storage";
+
+jest.mock("~/client");
+jest.mock("~/components/layout/Layout", () => mockLayout());
+
+const isDASDSupportedFn = jest.fn();
+
+const dasd = {
+  isSupported: isDASDSupportedFn
+};
+
+beforeEach(() => {
+  isDASDSupportedFn.mockResolvedValue(false);
+
+  createClient.mockImplementation(() => {
+    return {
+      storage: { dasd }
+    };
+  });
+});
+
+it("contains an entry for configuring iSCSI", async () => {
+  const { user } = installerRender(<ProposalPageOptions />);
+  const toggler = screen.getByRole("button");
+  await user.click(toggler);
+  screen.getByRole("menuitem", { name: /iSCSI/ });
+});
+
+it("contains an entry for configuring DASD when is supported", async () => {
+  isDASDSupportedFn.mockResolvedValue(true);
+  const { user } = installerRender(<ProposalPageOptions />);
+  const toggler = screen.getByRole("button");
+  await user.click(toggler);
+  screen.getByRole("menuitem", { name: /DASD/ });
+});
+
+it("does not contain an entry for configuring DASD when is NOT supported", async () => {
+  isDASDSupportedFn.mockResolvedValue(false);
+  const { user } = installerRender(<ProposalPageOptions />);
+  const toggler = screen.getByRole("button");
+  await user.click(toggler);
+  expect(screen.queryByRole("menuitem", { name: /DASD/ })).toBeNull();
+});

From 95e2daa1d02898167f374d09cb573d48cfdcf81f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Tue, 2 May 2023 13:40:20 +0100
Subject: [PATCH 43/58] [web] Hide notification mark after visiting issues

- Add notification context
---
 web/src/components/core/IssuesLink.jsx        | 10 ++-
 web/src/components/core/IssuesLink.test.jsx   |  8 +-
 web/src/components/core/IssuesPage.jsx        |  5 +-
 web/src/components/core/IssuesPage.test.jsx   |  9 ++-
 web/src/components/core/NotificationMark.jsx  | 26 +------
 .../components/core/NotificationMark.test.jsx | 46 ++----------
 web/src/components/core/Sidebar.jsx           |  9 ++-
 web/src/components/core/Sidebar.test.jsx      | 29 +++----
 web/src/context/notification.jsx              | 75 +++++++++++++++++++
 web/src/index.js                              | 39 +++++-----
 web/src/test-utils.js                         | 16 ++++
 11 files changed, 162 insertions(+), 110 deletions(-)
 create mode 100644 web/src/context/notification.jsx

diff --git a/web/src/components/core/IssuesLink.jsx b/web/src/components/core/IssuesLink.jsx
index a99928e304..2587080968 100644
--- a/web/src/components/core/IssuesLink.jsx
+++ b/web/src/components/core/IssuesLink.jsx
@@ -23,18 +23,24 @@ import React from "react";
 import { Link } from "react-router-dom";
 
 import { Icon } from "~/components/layout";
-import { NotificationMark } from "~/components/core";
+import { If, NotificationMark } from "~/components/core";
+import { useNotification } from "~/context/notification";
 
 /**
  * Link to go to the issues page
  * @component
  */
 export default function IssuesLink() {
+  const [notification] = useNotification();
+
   return (
     <Link to="/issues">
       <Icon name="problem" size="24" />
       Show issues
-      <NotificationMark aria-label="See issues" />
+      <If
+        condition={notification.issues}
+        then={<NotificationMark aria-label="See issues" />}
+      />
     </Link>
   );
 }
diff --git a/web/src/components/core/IssuesLink.test.jsx b/web/src/components/core/IssuesLink.test.jsx
index 145f253bb2..2f62eefbea 100644
--- a/web/src/components/core/IssuesLink.test.jsx
+++ b/web/src/components/core/IssuesLink.test.jsx
@@ -21,7 +21,7 @@
 
 import React from "react";
 import { screen, within } from "@testing-library/react";
-import { installerRender } from "~/test-utils";
+import { installerRender, withNotificationProvider } from "~/test-utils";
 import { createClient } from "~/client";
 import { IssuesLink } from "~/components/core";
 
@@ -41,7 +41,7 @@ beforeEach(() => {
 });
 
 it("renders a link for navigating to the issues page", async () => {
-  installerRender(<IssuesLink />, { usingProvider: true });
+  installerRender(withNotificationProvider(<IssuesLink />));
   const link = await screen.findByRole("link", { name: "Show issues" });
   expect(link).toHaveAttribute("href", "/issues");
 });
@@ -52,7 +52,7 @@ describe("if there are issues", () => {
   });
 
   it("includes a notification mark", async () => {
-    installerRender(<IssuesLink />, { usingProvider: true });
+    installerRender(withNotificationProvider(<IssuesLink />));
     const link = await screen.findByRole("link", { name: "Show issues" });
     within(link).getByRole("status", { name: "See issues" });
   });
@@ -64,7 +64,7 @@ describe("if there are not issues", () => {
   });
 
   it("does not include a notification mark", async () => {
-    installerRender(<IssuesLink />, { usingProvider: true });
+    installerRender(withNotificationProvider(<IssuesLink />));
     const link = await screen.findByRole("link", { name: "Show issues" });
     const mark = within(link).queryByRole("status", { name: "See issues" });
     expect(mark).toBeNull();
diff --git a/web/src/components/core/IssuesPage.jsx b/web/src/components/core/IssuesPage.jsx
index ca1c277d70..23980a5a95 100644
--- a/web/src/components/core/IssuesPage.jsx
+++ b/web/src/components/core/IssuesPage.jsx
@@ -27,6 +27,7 @@ import { partition, useCancellablePromise } from "~/utils";
 import { If, Page, Section } from "~/components/core";
 import { Icon } from "~/components/layout";
 import { useInstallerClient } from "~/context/installer";
+import { useNotification } from "~/context/notification";
 
 /**
  * Renders an issue
@@ -136,13 +137,15 @@ export default function IssuesPage() {
   const [issues, setIssues] = useState({});
   const { issues: client } = useInstallerClient();
   const { cancellablePromise } = useCancellablePromise();
+  const [, updateNotification] = useNotification();
 
   const loadIssues = useCallback(async () => {
     setIsLoading(true);
     const allIssues = await cancellablePromise(client.getAll());
     setIssues(allIssues);
     setIsLoading(false);
-  }, [client, cancellablePromise, setIssues, setIsLoading]);
+    updateNotification({ issues: false });
+  }, [client, cancellablePromise, setIssues, setIsLoading, updateNotification]);
 
   useEffect(() => {
     loadIssues();
diff --git a/web/src/components/core/IssuesPage.test.jsx b/web/src/components/core/IssuesPage.test.jsx
index 821ca6493a..d903b7bd03 100644
--- a/web/src/components/core/IssuesPage.test.jsx
+++ b/web/src/components/core/IssuesPage.test.jsx
@@ -21,7 +21,7 @@
 
 import React from "react";
 import { screen, within } from "@testing-library/react";
-import { installerRender, mockComponent } from "~/test-utils";
+import { installerRender, mockComponent, withNotificationProvider } from "~/test-utils";
 import { createClient } from "~/client";
 import { IssuesPage } from "~/components/core";
 
@@ -47,6 +47,7 @@ beforeEach(() => {
   createClient.mockImplementation(() => {
     return {
       issues: {
+        any: () => Promise.resolve(true),
         getAll: () => Promise.resolve(issues),
         onIssuesChange: jest.fn()
       }
@@ -55,14 +56,14 @@ beforeEach(() => {
 });
 
 it("loads the issues", async () => {
-  installerRender(<IssuesPage />);
+  installerRender(withNotificationProvider(<IssuesPage />));
 
   screen.getAllByText(/PFSkeleton/);
   await screen.findByText(/Issue 1/);
 });
 
 it("renders sections with issues", async () => {
-  installerRender(<IssuesPage />);
+  installerRender(withNotificationProvider(<IssuesPage />));
 
   const section = await screen.findByText(/Storage/);
   within(section).findByText(/Issue 1/);
@@ -75,7 +76,7 @@ describe("if there are not issues", () => {
   });
 
   it("renders a success message", async () => {
-    installerRender(<IssuesPage />);
+    installerRender(withNotificationProvider(<IssuesPage />));
 
     await screen.findByText(/No issues found/);
   });
diff --git a/web/src/components/core/NotificationMark.jsx b/web/src/components/core/NotificationMark.jsx
index 71c12a7ef3..a3751493c1 100644
--- a/web/src/components/core/NotificationMark.jsx
+++ b/web/src/components/core/NotificationMark.jsx
@@ -19,11 +19,7 @@
  * find current contact information at www.suse.com.
  */
 
-import React, { useCallback, useEffect, useState } from "react";
-
-import { useCancellablePromise } from "~/utils";
-import { useInstallerClient } from "~/context/installer";
-import { If } from "~/components/core";
+import React from "react";
 
 /**
  * A notification mark for catching the users attention when there is
@@ -39,23 +35,5 @@ import { If } from "~/components/core";
  * @param {object} props
  */
 export default function NotificationMark ({ ...props }) {
-  const [hasIssues, setHasIssues] = useState(false);
-  const { issues: client } = useInstallerClient();
-  const { cancellablePromise } = useCancellablePromise();
-
-  const checkIssues = useCallback(async () => {
-    setHasIssues(await cancellablePromise(client.any()));
-  }, [client, cancellablePromise, setHasIssues]);
-
-  useEffect(() => {
-    checkIssues();
-    return client.onIssuesChange(checkIssues);
-  }, [client, checkIssues]);
-
-  return (
-    <If
-      condition={hasIssues}
-      then={<span className="notification-mark" role="status" {...props} />}
-    />
-  );
+  return <span className="notification-mark" role="status" {...props} />;
 }
diff --git a/web/src/components/core/NotificationMark.test.jsx b/web/src/components/core/NotificationMark.test.jsx
index 62318e3bb3..d05056f5f7 100644
--- a/web/src/components/core/NotificationMark.test.jsx
+++ b/web/src/components/core/NotificationMark.test.jsx
@@ -20,47 +20,11 @@
  */
 
 import React from "react";
-import { screen, waitFor } from "@testing-library/react";
-import { installerRender } from "~/test-utils";
+import { screen } from "@testing-library/react";
+import { plainRender } from "~/test-utils";
 import { NotificationMark } from "~/components/core";
-import { createClient } from "~/client";
 
-let hasIssues = false;
-
-jest.mock("~/client");
-
-beforeEach(() => {
-  createClient.mockImplementation(() => {
-    return {
-      issues: {
-        any: () => Promise.resolve(hasIssues),
-        onIssuesChange: jest.fn()
-      }
-    };
-  });
-});
-
-describe("if there are issues", () => {
-  beforeEach(() => {
-    hasIssues = true;
-  });
-
-  it("renders a span with status role", async () => {
-    installerRender(<NotificationMark aria-label="See issues" />, { usingProvider: true });
-    await screen.findByRole("status", { name: "See issues" });
-  });
-});
-
-describe("if there are not issues", () => {
-  beforeEach(() => {
-    hasIssues = false;
-  });
-
-  it("renders nothing", async () => {
-    installerRender(<NotificationMark aria-label="See issues" />, { usingProvider: true });
-    waitFor(async () => {
-      const mark = await screen.findByRole("status", { name: "See issues" });
-      expect(mark).toBeNull();
-    });
-  });
+it("renders a span with status role", async () => {
+  plainRender(<NotificationMark aria-label="See issues" />);
+  await screen.findByRole("status", { name: "See issues" });
 });
diff --git a/web/src/components/core/Sidebar.jsx b/web/src/components/core/Sidebar.jsx
index 59df1d37f6..d9e50aff92 100644
--- a/web/src/components/core/Sidebar.jsx
+++ b/web/src/components/core/Sidebar.jsx
@@ -22,7 +22,8 @@
 import React, { useEffect, useRef, useState } from "react";
 import { Button, Text } from "@patternfly/react-core";
 import { Icon, AppActions } from "~/components/layout";
-import { NotificationMark } from "~/components/core";
+import { If, NotificationMark } from "~/components/core";
+import { useNotification } from "~/context/notification";
 
 /**
  * Agama sidebar navigation
@@ -34,6 +35,7 @@ import { NotificationMark } from "~/components/core";
 export default function Sidebar ({ children }) {
   const [isOpen, setIsOpen] = useState(false);
   const closeButtonRef = useRef(null);
+  const [notification] = useNotification();
 
   const open = () => setIsOpen(true);
   const close = () => setIsOpen(false);
@@ -94,7 +96,10 @@ export default function Sidebar ({ children }) {
           aria-controls="navigation-and-options"
           aria-expanded={isOpen}
         >
-          <NotificationMark data-variant="sidebar" aria-label="See issues" />
+          <If
+            condition={notification.issues}
+            then={<NotificationMark data-variant="sidebar" aria-label="See issues" />}
+          />
           <Icon name="menu" />
         </button>
       </AppActions>
diff --git a/web/src/components/core/Sidebar.test.jsx b/web/src/components/core/Sidebar.test.jsx
index 32e40c7fbb..97d7824f8d 100644
--- a/web/src/components/core/Sidebar.test.jsx
+++ b/web/src/components/core/Sidebar.test.jsx
@@ -21,7 +21,7 @@
 
 import React from "react";
 import { screen, within } from "@testing-library/react";
-import { installerRender, mockLayout } from "~/test-utils";
+import { installerRender, mockLayout, withNotificationProvider } from "~/test-utils";
 import { Sidebar } from "~/components/core";
 import { createClient } from "~/client";
 
@@ -43,14 +43,14 @@ beforeEach(() => {
 });
 
 it("renders the sidebar initially hidden", async () => {
-  installerRender(<Sidebar />, { usingProvider: true });
+  installerRender(withNotificationProvider(<Sidebar />));
 
   const nav = await screen.findByRole("navigation", { name: /options/i });
   expect(nav).toHaveAttribute("data-state", "hidden");
 });
 
 it("renders a link for displaying the sidebar", async () => {
-  const { user } = installerRender(<Sidebar />, { usingProvider: true });
+  const { user } = installerRender(withNotificationProvider(<Sidebar />));
 
   const link = await screen.findByLabelText(/Show/i);
   const nav = await screen.findByRole("navigation", { name: /options/i });
@@ -61,7 +61,7 @@ it("renders a link for displaying the sidebar", async () => {
 });
 
 it("renders a link for hiding the sidebar", async () => {
-  const { user } = installerRender(<Sidebar />, { usingProvider: true });
+  const { user } = installerRender(withNotificationProvider(<Sidebar />));
 
   const openLink = await screen.findByLabelText(/Show/i);
   const closeLink = await screen.findByLabelText(/Hide/i);
@@ -75,7 +75,7 @@ it("renders a link for hiding the sidebar", async () => {
 });
 
 it("moves the focus to the close action after opening it", async () => {
-  const { user } = installerRender(<Sidebar />, { usingProvider: true });
+  const { user } = installerRender(withNotificationProvider(<Sidebar />));
 
   const openLink = await screen.findByLabelText(/Show/i);
   const closeLink = await screen.findByLabelText(/Hide/i);
@@ -88,13 +88,14 @@ it("moves the focus to the close action after opening it", async () => {
 describe("onClick bubbling", () => {
   it("hides the sidebar only if the user clicked on a link or button w/o keepSidebarOpen attribute", async () => {
     const { user } = installerRender(
-      <Sidebar>
-        <a href="#">Goes somewhere</a>
-        <a href="#" data-keep-sidebar-open="true">Keep it open!</a>
-        <button>Do something</button>
-        <button data-keep-sidebar-open="true">Keep it open!</button>
-      </Sidebar>,
-      { UsingProvider: true }
+      withNotificationProvider(
+        <Sidebar>
+          <a href="#">Goes somewhere</a>
+          <a href="#" data-keep-sidebar-open="true">Keep it open!</a>
+          <button>Do something</button>
+          <button data-keep-sidebar-open="true">Keep it open!</button>
+        </Sidebar>
+      )
     );
 
     const openLink = screen.getByLabelText(/Show/i);
@@ -138,7 +139,7 @@ describe("if there are issues", () => {
   });
 
   it("includes a notification mark", async () => {
-    installerRender(<Sidebar />, { usingProvider: true });
+    installerRender(withNotificationProvider(<Sidebar />));
     const link = await screen.findByLabelText(/Show/i);
     within(link).getByRole("status", { name: "See issues" });
   });
@@ -150,7 +151,7 @@ describe("if there are not issues", () => {
   });
 
   it("does not include a notification mark", async () => {
-    installerRender(<Sidebar />, { usingProvider: true });
+    installerRender(withNotificationProvider(<Sidebar />));
     const link = await screen.findByLabelText(/Show/i);
     const mark = within(link).queryByRole("status", { name: "See issues" });
     expect(mark).toBeNull();
diff --git a/web/src/context/notification.jsx b/web/src/context/notification.jsx
new file mode 100644
index 0000000000..00872b32d2
--- /dev/null
+++ b/web/src/context/notification.jsx
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) [2023] SUSE LLC
+ *
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as published
+ * by the Free Software Foundation.
+ *
+ * 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, { useCallback, useContext, useEffect, useState } from "react";
+import { useCancellablePromise } from "~/utils";
+import { useInstallerClient } from "./installer";
+
+const NotificationContext = React.createContext();
+
+function NotificationProvider({ children }) {
+  const client = useInstallerClient();
+  const { cancellablePromise } = useCancellablePromise();
+  const [state, setState] = useState({ issues: false });
+
+  const update = useCallback(({ issues }) => {
+    setState(s => ({ ...s, issues }));
+  }, [setState]);
+
+  const load = useCallback(async () => {
+    const hasIssues = await cancellablePromise(client.issues.any());
+    update({ issues: hasIssues });
+  }, [client, cancellablePromise, update]);
+
+  useEffect(() => {
+    load();
+    return client.issues.onIssuesChange(load);
+  }, [client, load]);
+
+  const value = [state, update];
+
+  return <NotificationContext.Provider value={value}>{children}</NotificationContext.Provider>;
+}
+
+/**
+ * Returns the current notification state and a function to update the state
+ * @function
+ *
+ * @typedef {object} NotificationState
+ * @property {boolean} [issues] - Whether there is a notification for pending to read issues
+ *
+ * @callback NotificationStateUpdater
+ * @param {NotificationState} state
+ * @return {void}
+ *
+ * @returns {[NotificationState, NotificationStateUpdater]}
+ */
+function useNotification() {
+  const context = useContext(NotificationContext);
+
+  if (!context) {
+    throw new Error("useNotification must be used within a NotificationProvider");
+  }
+
+  return context;
+}
+
+export { NotificationProvider, useNotification };
diff --git a/web/src/index.js b/web/src/index.js
index b4f2536ccf..1bfab17d48 100644
--- a/web/src/index.js
+++ b/web/src/index.js
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) [2022] SUSE LLC
+ * Copyright (c) [2022-2023] SUSE LLC
  *
  * All Rights Reserved.
  *
@@ -27,6 +27,7 @@ import "regenerator-runtime/runtime";
 import { HashRouter, Routes, Route } from "react-router-dom";
 import { InstallerClientProvider } from "~/context/installer";
 import { SoftwareProvider } from "~/context/software";
+import { NotificationProvider } from "~/context/notification";
 import { createClient } from "~/client";
 
 /**
@@ -73,24 +74,26 @@ root.render(
   <LoginWrapper>
     <InstallerClientProvider client={createClient}>
       <SoftwareProvider>
-        <HashRouter>
-          <Routes>
-            <Route path="/" element={<App />}>
-              <Route path="/" element={<Main />}>
-                <Route index element={<Overview />} />
-                <Route path="/overview" element={<Overview />} />
-                <Route path="/l10n" element={<L10nPage />} />
-                <Route path="/storage" element={<StoragePage />} />
-                <Route path="/storage/iscsi" element={<ISCSIPage />} />
-                <Route path="/storage/dasd" element={<DASDPage />} />
-                <Route path="/network" element={<NetworkPage />} />
-                <Route path="/users" element={<UsersPage />} />
-                <Route path="/issues" element={<IssuesPage />} />
+        <NotificationProvider>
+          <HashRouter>
+            <Routes>
+              <Route path="/" element={<App />}>
+                <Route path="/" element={<Main />}>
+                  <Route index element={<Overview />} />
+                  <Route path="/overview" element={<Overview />} />
+                  <Route path="/l10n" element={<L10nPage />} />
+                  <Route path="/storage" element={<StoragePage />} />
+                  <Route path="/storage/iscsi" element={<ISCSIPage />} />
+                  <Route path="/storage/dasd" element={<DASDPage />} />
+                  <Route path="/network" element={<NetworkPage />} />
+                  <Route path="/users" element={<UsersPage />} />
+                  <Route path="/issues" element={<IssuesPage />} />
+                </Route>
+                <Route path="products" element={<ProductSelectionPage />} />
               </Route>
-              <Route path="products" element={<ProductSelectionPage />} />
-            </Route>
-          </Routes>
-        </HashRouter>
+            </Routes>
+          </HashRouter>
+        </NotificationProvider>
       </SoftwareProvider>
     </InstallerClientProvider>
   </LoginWrapper>
diff --git a/web/src/test-utils.js b/web/src/test-utils.js
index a472747423..436efee575 100644
--- a/web/src/test-utils.js
+++ b/web/src/test-utils.js
@@ -32,6 +32,7 @@ import { render } from "@testing-library/react";
 
 import { createClient } from "~/client/index";
 import { InstallerClientProvider } from "~/context/installer";
+import { NotificationProvider } from "~/context/notification";
 
 /**
  * Internal mock for manipulating routes, using ["/"] by default
@@ -150,6 +151,20 @@ const mockLayout = () => ({
   AdditionalInfo: ({ children }) => children,
 });
 
+/**
+ * Wraps the content with a notification provider
+ *
+ * @param {React.ReactNode} content
+ * @returns {React.ReactNode}
+ */
+const withNotificationProvider = (content) => {
+  return (
+    <NotificationProvider>
+      {content}
+    </NotificationProvider>
+  );
+};
+
 export {
   plainRender,
   installerRender,
@@ -158,4 +173,5 @@ export {
   mockLayout,
   mockNavigateFn,
   mockRoutes,
+  withNotificationProvider
 };

From 3bf9ee4281c7c3ec9b760b6973247ac5a6b9c029 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Tue, 2 May 2023 16:45:53 +0100
Subject: [PATCH 44/58] [web] Improve aria-label

---
 web/src/components/core/IssuesLink.jsx      | 2 +-
 web/src/components/core/IssuesLink.test.jsx | 6 +++---
 web/src/components/core/Sidebar.jsx         | 2 +-
 web/src/components/core/Sidebar.test.jsx    | 4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/web/src/components/core/IssuesLink.jsx b/web/src/components/core/IssuesLink.jsx
index 2587080968..cf3b50b265 100644
--- a/web/src/components/core/IssuesLink.jsx
+++ b/web/src/components/core/IssuesLink.jsx
@@ -39,7 +39,7 @@ export default function IssuesLink() {
       Show issues
       <If
         condition={notification.issues}
-        then={<NotificationMark aria-label="See issues" />}
+        then={<NotificationMark aria-label="There are new issues" />}
       />
     </Link>
   );
diff --git a/web/src/components/core/IssuesLink.test.jsx b/web/src/components/core/IssuesLink.test.jsx
index 2f62eefbea..dc2fdae1ba 100644
--- a/web/src/components/core/IssuesLink.test.jsx
+++ b/web/src/components/core/IssuesLink.test.jsx
@@ -53,8 +53,8 @@ describe("if there are issues", () => {
 
   it("includes a notification mark", async () => {
     installerRender(withNotificationProvider(<IssuesLink />));
-    const link = await screen.findByRole("link", { name: "Show issues" });
-    within(link).getByRole("status", { name: "See issues" });
+    const link = await screen.findByRole("link", { name: /new issues/ });
+    within(link).getByRole("status", { name: /new issues/ });
   });
 });
 
@@ -66,7 +66,7 @@ describe("if there are not issues", () => {
   it("does not include a notification mark", async () => {
     installerRender(withNotificationProvider(<IssuesLink />));
     const link = await screen.findByRole("link", { name: "Show issues" });
-    const mark = within(link).queryByRole("status", { name: "See issues" });
+    const mark = within(link).queryByRole("status", { name: /new issues/ });
     expect(mark).toBeNull();
   });
 });
diff --git a/web/src/components/core/Sidebar.jsx b/web/src/components/core/Sidebar.jsx
index d9e50aff92..7d8b27e856 100644
--- a/web/src/components/core/Sidebar.jsx
+++ b/web/src/components/core/Sidebar.jsx
@@ -98,7 +98,7 @@ export default function Sidebar ({ children }) {
         >
           <If
             condition={notification.issues}
-            then={<NotificationMark data-variant="sidebar" aria-label="See issues" />}
+            then={<NotificationMark data-variant="sidebar" aria-label="New issues found" />}
           />
           <Icon name="menu" />
         </button>
diff --git a/web/src/components/core/Sidebar.test.jsx b/web/src/components/core/Sidebar.test.jsx
index 97d7824f8d..ee2a5f9634 100644
--- a/web/src/components/core/Sidebar.test.jsx
+++ b/web/src/components/core/Sidebar.test.jsx
@@ -141,7 +141,7 @@ describe("if there are issues", () => {
   it("includes a notification mark", async () => {
     installerRender(withNotificationProvider(<Sidebar />));
     const link = await screen.findByLabelText(/Show/i);
-    within(link).getByRole("status", { name: "See issues" });
+    within(link).getByRole("status", { name: /New issues/ });
   });
 });
 
@@ -153,7 +153,7 @@ describe("if there are not issues", () => {
   it("does not include a notification mark", async () => {
     installerRender(withNotificationProvider(<Sidebar />));
     const link = await screen.findByLabelText(/Show/i);
-    const mark = within(link).queryByRole("status", { name: "See issues" });
+    const mark = within(link).queryByRole("status", { name: /New issues/ });
     expect(mark).toBeNull();
   });
 });

From 98781162f80fcffa6e5b4ffa231c8bca101a5bfa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Tue, 2 May 2023 17:06:34 +0100
Subject: [PATCH 45/58] [web] Wrap issue details

---
 web/src/components/core/IssuesPage.jsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/web/src/components/core/IssuesPage.jsx b/web/src/components/core/IssuesPage.jsx
index 23980a5a95..02f2ec1c57 100644
--- a/web/src/components/core/IssuesPage.jsx
+++ b/web/src/components/core/IssuesPage.jsx
@@ -49,7 +49,7 @@ const IssueItem = ({ issue }) => {
         </HelperTextItem>
         <If
           condition={hasDetails}
-          then={<HelperTextItem>{issue.details}</HelperTextItem>}
+          then={<HelperTextItem><pre>{issue.details}</pre></HelperTextItem>}
         />
       </HelperText>
     </div>

From 4ce28f1f2556262d9095d46dd6a9e0eb52e898bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Tue, 2 May 2023 17:13:43 +0100
Subject: [PATCH 46/58] [web] Remove leftover

---
 web/src/components/software/ChangeProductLink.test.jsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/web/src/components/software/ChangeProductLink.test.jsx b/web/src/components/software/ChangeProductLink.test.jsx
index e7c6a986d3..84424abeab 100644
--- a/web/src/components/software/ChangeProductLink.test.jsx
+++ b/web/src/components/software/ChangeProductLink.test.jsx
@@ -70,7 +70,7 @@ describe("ChangeProductLink", () => {
     });
 
     it("renders a link for navigating to the selection product page", async () => {
-      installerRender(<ChangeProductLink />, { usingProvider: true });
+      installerRender(<ChangeProductLink />);
       const link = await screen.findByRole("link", { name: "Change product" });
 
       expect(link).toHaveAttribute("href", "/products");

From 05ea5416a2ea9b585d67cc88925cd113a7adb865 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Wed, 3 May 2023 11:50:52 +0100
Subject: [PATCH 47/58] [web] Do not use description from storage issues

- Description from YaST storage issues usally refers to YaST
  features like the Expert Partitioner. It would be weird to
  show that kind of messages in Agama.
---
 service/lib/agama/storage/manager.rb | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/service/lib/agama/storage/manager.rb b/service/lib/agama/storage/manager.rb
index 32bd2d5bcc..14f6beddc3 100644
--- a/service/lib/agama/storage/manager.rb
+++ b/service/lib/agama/storage/manager.rb
@@ -228,9 +228,8 @@ def probing_issues
         y2storage_issues = Y2Storage::StorageManager.instance.raw_probed.probing_issues
 
         y2storage_issues.map do |y2storage_issue|
-          details = [y2storage_issue.description, y2storage_issue.details].compact.join("\n")
           Issue.new(y2storage_issue.message,
-            details:  details,
+            details:  y2storage_issue.details,
             source:   Issue::Source::SYSTEM,
             severity: Issue::Severity::WARN)
         end

From 9b48e0daa73f7a431d9e00a929db2efcdff71a6f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ladislav=20Slez=C3=A1k?= <lslezak@suse.cz>
Date: Wed, 3 May 2023 13:20:54 +0200
Subject: [PATCH 48/58] CI: mount /dev in the container

---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d74fb02d17..d8584e30bf 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -187,7 +187,7 @@ jobs:
       run: mkdir -p /tmp/log/YaST2
 
     - name: start container
-      run: podman run --privileged --detach --name agama --ipc=host -v .:/checkout -v /tmp/log/YaST2:/var/log/YaST2 registry.opensuse.org/yast/head/containers/containers_tumbleweed/opensuse/agama-testing:latest
+      run: podman run --privileged --detach --name agama --ipc=host -v /dev:/dev -v .:/checkout -v /tmp/log/YaST2:/var/log/YaST2 registry.opensuse.org/yast/head/containers/containers_tumbleweed/opensuse/agama-testing:latest
 
     - name: Install Ruby gems
       run:  podman exec agama bash -c "cd /checkout/service && bundle config set --local path 'vendor/bundle' && bundle install"

From 3263a9e18d7507a9a1bdf7f916dcb1a1ef8883ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ladislav=20Slez=C3=A1k?= <lslezak@suse.cz>
Date: Thu, 4 May 2023 16:28:22 +0200
Subject: [PATCH 49/58] Fix integration tests in CI

---
 .github/workflows/ci.yml                  | 6 +++---
 playwright/tests/take_screenshots.spec.ts | 6 +++++-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d8584e30bf..da450d417a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -183,11 +183,11 @@ jobs:
     - name: Git Checkout
       uses: actions/checkout@v3
 
-    - name: Created shared yast log distro
+    - name: Created shared YaST log directory
       run: mkdir -p /tmp/log/YaST2
 
-    - name: start container
-      run: podman run --privileged --detach --name agama --ipc=host -v /dev:/dev -v .:/checkout -v /tmp/log/YaST2:/var/log/YaST2 registry.opensuse.org/yast/head/containers/containers_tumbleweed/opensuse/agama-testing:latest
+    - name: Start container
+      run: podman run --privileged --detach --name agama --ipc=host -e CI -e GITHUB_ACTIONS -v /dev:/dev -v .:/checkout -v /tmp/log/YaST2:/var/log/YaST2 registry.opensuse.org/yast/head/containers/containers_tumbleweed/opensuse/agama-testing:latest
 
     - name: Install Ruby gems
       run:  podman exec agama bash -c "cd /checkout/service && bundle config set --local path 'vendor/bundle' && bundle install"
diff --git a/playwright/tests/take_screenshots.spec.ts b/playwright/tests/take_screenshots.spec.ts
index 6c1cc17c00..aea20674f6 100644
--- a/playwright/tests/take_screenshots.spec.ts
+++ b/playwright/tests/take_screenshots.spec.ts
@@ -80,7 +80,11 @@ test.describe("The Installer", () => {
     await test.step("Storage configuration", async () => {
       // create storage page screenshot
       await page.locator("a[href='#/storage']").click();
-      await expect(page.getByRole("heading", { name: "Settings" })).toBeVisible({timeout: 1 * minute});
+      await expect(page.getByRole("heading", { name: "Settings" })).toBeVisible();
+      // skip this in GitHub CI, there is no suitable disk for installation
+      if (process.env.GITHUB_ACTIONS !== undefined) {
+        await expect(page.getByText("Install using device")).toBeVisible({timeout: minute / 2});
+      }
       await page.screenshot({ path: "screenshots/storage-page.png" });
     });
 

From 238c114e4ae96a8e80baa1b9240f785a06fc5a31 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ladislav=20Slez=C3=A1k?= <lslezak@suse.cz>
Date: Thu, 4 May 2023 17:11:49 +0200
Subject: [PATCH 50/58] CI debugging - display environment

---
 .github/workflows/ci.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index da450d417a..5e8ba0f94f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -189,6 +189,9 @@ jobs:
     - name: Start container
       run: podman run --privileged --detach --name agama --ipc=host -e CI -e GITHUB_ACTIONS -v /dev:/dev -v .:/checkout -v /tmp/log/YaST2:/var/log/YaST2 registry.opensuse.org/yast/head/containers/containers_tumbleweed/opensuse/agama-testing:latest
 
+    - name: Environment
+      run:  podman exec agama bash -c "env | sort"
+
     - name: Install Ruby gems
       run:  podman exec agama bash -c "cd /checkout/service && bundle config set --local path 'vendor/bundle' && bundle install"
 

From f3131317d66faca112bbe113dff417c6b6a499cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ladislav=20Slez=C3=A1k?= <lslezak@suse.cz>
Date: Thu, 4 May 2023 17:26:03 +0200
Subject: [PATCH 51/58] Fixed GitHub actions check

---
 playwright/tests/take_screenshots.spec.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/playwright/tests/take_screenshots.spec.ts b/playwright/tests/take_screenshots.spec.ts
index aea20674f6..cd03ff9f1b 100644
--- a/playwright/tests/take_screenshots.spec.ts
+++ b/playwright/tests/take_screenshots.spec.ts
@@ -82,7 +82,7 @@ test.describe("The Installer", () => {
       await page.locator("a[href='#/storage']").click();
       await expect(page.getByRole("heading", { name: "Settings" })).toBeVisible();
       // skip this in GitHub CI, there is no suitable disk for installation
-      if (process.env.GITHUB_ACTIONS !== undefined) {
+      if (process.env.GITHUB_ACTIONS !== "true") {
         await expect(page.getByText("Install using device")).toBeVisible({timeout: minute / 2});
       }
       await page.screenshot({ path: "screenshots/storage-page.png" });

From 45206123c5b5690559d06d7842ad1fa7e73b8b44 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ladislav=20Slez=C3=A1k?= <lslezak@suse.cz>
Date: Thu, 4 May 2023 18:09:16 +0200
Subject: [PATCH 52/58] Delete old screenshot

---
 doc/images/screenshots/users-page.png | Bin 55167 -> 0 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 doc/images/screenshots/users-page.png

diff --git a/doc/images/screenshots/users-page.png b/doc/images/screenshots/users-page.png
deleted file mode 100644
index 497ace5f9b6e0ab5823a8a8e36c6155e98052bdc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 55167
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


From 9fe3ef581ff2f5c2ffc83cdc2529efe6f79fc8d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ladislav=20Slez=C3=A1k?= <lslezak@suse.cz>
Date: Thu, 4 May 2023 18:09:50 +0200
Subject: [PATCH 53/58] Add a new screenshot

---
 doc/images/screenshots/users-page.png | Bin 0 -> 30160 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 doc/images/screenshots/users-page.png

diff --git a/doc/images/screenshots/users-page.png b/doc/images/screenshots/users-page.png
new file mode 100644
index 0000000000000000000000000000000000000000..f23c6fb660d5bd8fc964fd08b59d0dd7d11c894c
GIT binary patch
literal 30160
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

literal 0
HcmV?d00001


From cce4243d7eabfa1650e1264575aaccd67ad2479f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ladislav=20Slez=C3=A1k?= <lslezak@suse.cz>
Date: Fri, 5 May 2023 09:45:13 +0200
Subject: [PATCH 54/58] Update test

---
 playwright/tests/take_screenshots.spec.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/playwright/tests/take_screenshots.spec.ts b/playwright/tests/take_screenshots.spec.ts
index cd03ff9f1b..8182cf0b10 100644
--- a/playwright/tests/take_screenshots.spec.ts
+++ b/playwright/tests/take_screenshots.spec.ts
@@ -83,7 +83,7 @@ test.describe("The Installer", () => {
       await expect(page.getByRole("heading", { name: "Settings" })).toBeVisible();
       // skip this in GitHub CI, there is no suitable disk for installation
       if (process.env.GITHUB_ACTIONS !== "true") {
-        await expect(page.getByText("Install using device")).toBeVisible({timeout: minute / 2});
+        await expect(page.getByText("Installation device")).toBeVisible({timeout: minute / 2});
       }
       await page.screenshot({ path: "screenshots/storage-page.png" });
     });

From 780d11f5948be15c730cead0a0e88a31a93a0cb6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ladislav=20Slez=C3=A1k?= <lslezak@suse.cz>
Date: Fri, 5 May 2023 09:45:26 +0200
Subject: [PATCH 55/58] Update storage screenshot

---
 doc/images/screenshots/storage-page.png | Bin 74359 -> 67727 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/doc/images/screenshots/storage-page.png b/doc/images/screenshots/storage-page.png
index 68ebf972470e4ad3daf35a50d42360ddf74f3ffd..bf83dba72e51ef34c3a8f66ff3604187b2f66205 100644
GIT binary patch
literal 67727
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
NnzHueBE{cd{|odU_M!j)

literal 74359
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


From 750a75397d295e65d3fe6e9e18e53eabc39aa177 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ladislav=20Slez=C3=A1k?= <lslezak@suse.cz>
Date: Fri, 5 May 2023 10:09:03 +0200
Subject: [PATCH 56/58] Updated screenshots

---
 doc/images/screenshots/storage-page.png | Bin 67727 -> 67049 bytes
 doc/images/screenshots/users-page.png   | Bin 30160 -> 32046 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/doc/images/screenshots/storage-page.png b/doc/images/screenshots/storage-page.png
index bf83dba72e51ef34c3a8f66ff3604187b2f66205..4937eb64a5bf90882a60166bec6220525ab83b37 100644
GIT binary patch
literal 67049
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
C^!?ia

literal 67727
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
NnzHueBE{cd{|odU_M!j)

diff --git a/doc/images/screenshots/users-page.png b/doc/images/screenshots/users-page.png
index f23c6fb660d5bd8fc964fd08b59d0dd7d11c894c..e15a985e08b36a7c5f284d4d73e243793a44d981 100644
GIT binary patch
literal 32046
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
G?*9P&RI%Xz

literal 30160
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


From 32aaa54c75961882e97f64e8e043e21fa0853e27 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Fri, 5 May 2023 11:42:48 +0100
Subject: [PATCH 57/58] [web] Load proposal if needed

---
 web/src/client/storage.js                     |  4 +-
 web/src/components/storage/ProposalPage.jsx   | 15 +++++-
 .../components/storage/ProposalPage.test.jsx  | 53 +++++++++++++++++--
 3 files changed, 65 insertions(+), 7 deletions(-)

diff --git a/web/src/client/storage.js b/web/src/client/storage.js
index 3907cd6fed..1cfc396ef9 100644
--- a/web/src/client/storage.js
+++ b/web/src/client/storage.js
@@ -114,7 +114,7 @@ class ProposalManager {
    * @typedef {object} ProposalData
    * @property {AvailableDevice[]} availableDevices
    * @property {Volume[]} volumeTemplates
-   * @property {Result} result
+   * @property {Result|undefined} result
    */
   async getData() {
     const availableDevices = await this.getAvailableDevices();
@@ -154,7 +154,7 @@ class ProposalManager {
   /**
    * Gets the values of the current proposal
    *
-   * @return {Promise<Result>}
+   * @return {Promise<Result|undefined>}
   */
   async getResult() {
     const proxy = await this.proposalProxy();
diff --git a/web/src/components/storage/ProposalPage.jsx b/web/src/components/storage/ProposalPage.jsx
index a274fa0209..a0ae75c08a 100644
--- a/web/src/components/storage/ProposalPage.jsx
+++ b/web/src/components/storage/ProposalPage.jsx
@@ -27,6 +27,7 @@ import { toValidationError, useCancellablePromise } from "~/utils";
 import { Icon } from "~/components/layout";
 import { Page } from "~/components/core";
 import { ProposalActionsSection, ProposalPageOptions, ProposalSettingsSection } from "~/components/storage";
+import { IDLE } from "~/client/status";
 
 const initialState = {
   loading: true,
@@ -49,7 +50,7 @@ const reducer = (state, action) => {
 
     case "UPDATE_PROPOSAL": {
       const { proposal, errors } = action.payload;
-      const { availableDevices, volumeTemplates, result } = proposal;
+      const { availableDevices, volumeTemplates, result = {} } = proposal;
       const { candidateDevices, lvm, encryptionPassword, volumes, actions } = result;
       return {
         ...state,
@@ -92,7 +93,7 @@ export default function ProposalPage() {
 
     const { proposal, errors } = await loadProposal();
     dispatch({ type: "UPDATE_PROPOSAL", payload: { proposal, errors } });
-    dispatch({ type: "STOP_LOADING" });
+    if (proposal.result !== undefined) dispatch({ type: "STOP_LOADING" });
   }, [cancellablePromise, client, loadProposal]);
 
   const calculate = useCallback(async (settings) => {
@@ -111,6 +112,16 @@ export default function ProposalPage() {
     return client.onDeprecate(() => load());
   }, [client, load]);
 
+  useEffect(() => {
+    const statusHandler = (serviceStatus) => {
+      // Load the proposal if no proposal has been loaded yet. This can happen if the proposal
+      // page is visited before probing has finished.
+      if (serviceStatus === IDLE && state.settings.candidateDevices === undefined) load();
+    };
+
+    return client.onStatusChange(statusHandler);
+  });
+
   const changeSettings = async (settings) => {
     const newSettings = { ...state.settings, ...settings };
 
diff --git a/web/src/components/storage/ProposalPage.test.jsx b/web/src/components/storage/ProposalPage.test.jsx
index e8b1ea2100..7bccd931ef 100644
--- a/web/src/components/storage/ProposalPage.test.jsx
+++ b/web/src/components/storage/ProposalPage.test.jsx
@@ -23,6 +23,7 @@ import React from "react";
 import { act, screen, waitFor } from "@testing-library/react";
 import { createCallbackMock, installerRender, mockComponent } from "~/test-utils";
 import { createClient } from "~/client";
+import { IDLE } from "~/client/status";
 import { ProposalPage } from "~/components/storage";
 
 jest.mock("~/client");
@@ -56,10 +57,12 @@ const isDeprecatedFn = jest.fn();
 
 let onDeprecateFn = jest.fn();
 
+let onStatusChangeFn = jest.fn();
+
 beforeEach(() => {
   isDeprecatedFn.mockResolvedValue(false);
 
-  proposalData = defaultProposalData;
+  proposalData = { ...defaultProposalData };
 
   createClient.mockImplementation(() => {
     return {
@@ -71,7 +74,8 @@ beforeEach(() => {
         },
         getErrors: jest.fn().mockResolvedValue([]),
         isDeprecated: isDeprecatedFn,
-        onDeprecate: onDeprecateFn
+        onDeprecate: onDeprecateFn,
+        onStatusChange: onStatusChangeFn
       }
     };
   });
@@ -130,7 +134,7 @@ describe("when the storage devices become deprecated", () => {
 
     await screen.findByText("/dev/vda");
 
-    proposalData.result.candidateDevices = ["/dev/vdb"];
+    proposalData.result = { ...defaultProposalData.result, candidateDevices: ["/dev/vdb"] };
 
     const [onDeprecateCb] = callbacks;
     await act(() => onDeprecateCb());
@@ -138,3 +142,46 @@ describe("when the storage devices become deprecated", () => {
     await screen.findByText("/dev/vdb");
   });
 });
+
+describe("when there is no proposal yet", () => {
+  beforeEach(() => {
+    proposalData.result = undefined;
+  });
+
+  it("shows the page as loading", async () => {
+    installerRender(<ProposalPage />);
+
+    screen.getAllByText(/PFSkeleton/);
+    await waitFor(() => expect(screen.queryByText(/Installation device/)).toBeNull());
+  });
+
+  it("loads the proposal when the service finishes to calculate", async () => {
+    const [mockFunction, callbacks] = createCallbackMock();
+    onStatusChangeFn = mockFunction;
+    installerRender(<ProposalPage />);
+
+    screen.getAllByText(/PFSkeleton/);
+
+    proposalData.result = { ...defaultProposalData.result };
+
+    const [onStatusChangeCb] = callbacks;
+    await act(() => onStatusChangeCb(IDLE));
+    await screen.findByText("/dev/vda");
+  });
+});
+
+describe("when there is a proposal", () => {
+  it("does not load the proposal when the service finishes to calculate", async () => {
+    const [mockFunction, callbacks] = createCallbackMock();
+    onStatusChangeFn = mockFunction;
+    installerRender(<ProposalPage />);
+
+    await screen.findByText("/dev/vda");
+
+    proposalData.result.candidateDevices = ["/dev/vdb"];
+
+    const [onStatusChangeCb] = callbacks;
+    await act(() => onStatusChangeCb(IDLE));
+    await screen.findByText("/dev/vda");
+  });
+});

From 0e8d1de3407817b930a7ff4e4b8f19462d0334e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?=
 <jlopez@suse.com>
Date: Fri, 5 May 2023 14:16:31 +0100
Subject: [PATCH 58/58] [web] Only subscribe when needed

---
 web/src/components/storage/ProposalPage.jsx      | 10 +++++++---
 web/src/components/storage/ProposalPage.test.jsx |  5 +----
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/web/src/components/storage/ProposalPage.jsx b/web/src/components/storage/ProposalPage.jsx
index a0ae75c08a..44ddf89368 100644
--- a/web/src/components/storage/ProposalPage.jsx
+++ b/web/src/components/storage/ProposalPage.jsx
@@ -113,14 +113,18 @@ export default function ProposalPage() {
   }, [client, load]);
 
   useEffect(() => {
+    const proposalLoaded = () => state.settings.candidateDevices !== undefined;
+
     const statusHandler = (serviceStatus) => {
       // Load the proposal if no proposal has been loaded yet. This can happen if the proposal
       // page is visited before probing has finished.
-      if (serviceStatus === IDLE && state.settings.candidateDevices === undefined) load();
+      if (serviceStatus === IDLE && !proposalLoaded()) load();
     };
 
-    return client.onStatusChange(statusHandler);
-  });
+    if (!proposalLoaded()) {
+      return client.onStatusChange(statusHandler);
+    }
+  }, [client, load, state.settings]);
 
   const changeSettings = async (settings) => {
     const newSettings = { ...state.settings, ...settings };
diff --git a/web/src/components/storage/ProposalPage.test.jsx b/web/src/components/storage/ProposalPage.test.jsx
index 7bccd931ef..b106cd7e07 100644
--- a/web/src/components/storage/ProposalPage.test.jsx
+++ b/web/src/components/storage/ProposalPage.test.jsx
@@ -178,10 +178,7 @@ describe("when there is a proposal", () => {
 
     await screen.findByText("/dev/vda");
 
-    proposalData.result.candidateDevices = ["/dev/vdb"];
-
     const [onStatusChangeCb] = callbacks;
-    await act(() => onStatusChangeCb(IDLE));
-    await screen.findByText("/dev/vda");
+    expect(onStatusChangeCb).toBeUndefined();
   });
 });