forked from cockpit/cockpit
Compare commits
5 Commits
add-change
...
update-344
Author | SHA256 | Date | |
---|---|---|---|
176d21fea3
|
|||
5367cb4182
|
|||
c6c34fc4b9
|
|||
b7fde4551c
|
|||
9f7f321b54
|
@@ -46,6 +46,24 @@ index 868469d68..186fcf59e 100644
|
||||
</div>
|
||||
<div className='ct-overview-header-actions'>
|
||||
{ show_superuser && <SuperuserIndicator proxy={this.superuser} /> }
|
||||
diff --git a/src/common/cockpitsystem.c b/src/common/cockpitsystem.c
|
||||
index 83e2965f7..73716fff7 100644
|
||||
--- a/src/common/cockpitsystem.c
|
||||
+++ b/src/common/cockpitsystem.c
|
||||
@@ -107,6 +107,12 @@ cockpit_system_load_os_release (void)
|
||||
}
|
||||
}
|
||||
|
||||
+ gchar *value = g_hash_table_lookup (result, "SUSE_PRETTY_NAME");
|
||||
+ if (!value || strlen(value) == 0) {
|
||||
+ value = g_hash_table_lookup (result, "PRETTY_NAME");
|
||||
+ g_hash_table_replace (result, g_strdup ("SUSE_PRETTY_NAME"), g_strdup (value));
|
||||
+ }
|
||||
+
|
||||
out:
|
||||
g_clear_error (&error);
|
||||
g_free (lines);
|
||||
|
||||
--
|
||||
2.50.0
|
||||
|
||||
|
@@ -7,11 +7,11 @@ Date: Fri Aug 6 15:11:23 2021 +0200
|
||||
Index: cockpit/selinux/cockpit.te
|
||||
===================================================================
|
||||
diff --git a/selinux/cockpit.te b/selinux/cockpit.te
|
||||
index 50695ee..55b1226 100644
|
||||
index 931cbd775..4a439c8d5 100644
|
||||
--- a/selinux/cockpit.te
|
||||
+++ b/selinux/cockpit.te
|
||||
@@ -224,6 +224,14 @@ optional_policy(`
|
||||
gnome_exec_keyringd(cockpit_session_t)
|
||||
@@ -232,6 +232,14 @@ optional_policy(`
|
||||
allow cockpit_session_t pidfs_t:filesystem getattr;
|
||||
')
|
||||
|
||||
+# login may read motd file through pam
|
||||
|
@@ -79,7 +79,7 @@ index 000000000..c1617abc2
|
||||
+/* Default overrides */
|
||||
+
|
||||
+.login-note {
|
||||
+ color: transparent;
|
||||
+ display: none;
|
||||
+ position: relative;
|
||||
+}
|
||||
+
|
||||
|
BIN
cockpit-340.tar.gz
(Stored with Git LFS)
BIN
cockpit-340.tar.gz
(Stored with Git LFS)
Binary file not shown.
BIN
cockpit-344.tar.gz
(Stored with Git LFS)
Normal file
BIN
cockpit-344.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -1,3 +1,28 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 14 04:53:41 UTC 2025 - Alice Brooks <alice.brooks@suse.com>
|
||||
|
||||
- Update to 344
|
||||
* Changes since 340
|
||||
- 344
|
||||
* Bug fixes and translation updates
|
||||
- 343
|
||||
* login: Improve error message for unsupported shells
|
||||
* cockpit: Handle file access issues with files in machines.d
|
||||
* Translation updates
|
||||
- 342
|
||||
* systemd: ensure update() is called at least once for tuned-dialog
|
||||
* Translation updates
|
||||
- 341
|
||||
* services: show link to podman page for quadlets
|
||||
* Bug fixes and translation updates
|
||||
- Remove kdump-nfs-fixes.patch as this was upstreamed
|
||||
- Fix not falling back to PRETTY_NAME in SUSE_PRETTY_NAME patches
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 30 03:21:48 UTC 2025 - Luna D Dragon <luna.dragon@suse.com>
|
||||
|
||||
- drop duplicate %changelog macro
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 23 12:53:37 UTC 2025 - Alice Brooks <alice.brooks@suse.com>
|
||||
|
||||
|
11
cockpit.pam
11
cockpit.pam
@@ -1,11 +0,0 @@
|
||||
#%PAM-1.0
|
||||
auth substack common-auth
|
||||
# List of users to deny access to Cockpit, by default root is included.
|
||||
auth required pam_listfile.so item=user sense=deny file=/etc/cockpit/disallowed-users onerr=succeed
|
||||
account required pam_nologin.so
|
||||
account include common-account
|
||||
password include common-password
|
||||
session required pam_loginuid.so
|
||||
session optional pam_keyinit.so force revoke
|
||||
session include common-session
|
||||
auth [user_unknown=ignore success=ok] pam_oath.so usersfile=${HOME}/.pam_oath_usersfile no_usersfile_okay window=20 digits=6
|
60
cockpit.spec
60
cockpit.spec
@@ -38,6 +38,14 @@
|
||||
|
||||
%define __lib lib
|
||||
|
||||
%if 0%{?suse_version} > 1500
|
||||
%define pamconfdir %{_pam_vendordir}
|
||||
%define pamconfig tools/cockpit.suse.pam
|
||||
%else
|
||||
%define pamconfdir %{_sysconfdir}/pam.d
|
||||
%define pamconfig tools/cockpit.pam
|
||||
%endif
|
||||
|
||||
%if %{defined _pamdir}
|
||||
%define pamdir %{_pamdir}
|
||||
%else
|
||||
@@ -50,10 +58,9 @@ Summary: Web Console for Linux servers
|
||||
License: LGPL-2.1-or-later
|
||||
URL: https://cockpit-project.org/
|
||||
|
||||
Version: 340
|
||||
Version: 344
|
||||
Release: 0
|
||||
Source0: cockpit-%{version}.tar.gz
|
||||
Source1: cockpit.pam
|
||||
Source2: cockpit-rpmlintrc
|
||||
Source3: cockpit-suse-theme.tar
|
||||
Source4: cockpit-no-pamoath.pam
|
||||
@@ -68,7 +75,6 @@ Patch2: suse_docs.patch
|
||||
Patch3: suse-microos-branding.patch
|
||||
Patch4: css-overrides.patch
|
||||
Patch5: storage-btrfs.patch
|
||||
Patch6: kdump-nfs-fixes.patch
|
||||
# SLE Micro specific patches
|
||||
Patch101: hide-pcp.patch
|
||||
Patch102: 0002-selinux-temporary-remove-setroubleshoot-section.patch
|
||||
@@ -173,7 +179,6 @@ BuildRequires: xmlto
|
||||
|
||||
%if 0%{?with_selinux}
|
||||
BuildRequires: selinux-policy
|
||||
BuildRequires: selinux-policy-%{selinuxtype}
|
||||
BuildRequires: selinux-policy-devel
|
||||
%endif
|
||||
|
||||
@@ -227,7 +232,6 @@ BuildRequires: python3-pytest-timeout
|
||||
|
||||
%patch -P 4 -p1
|
||||
%patch -P 5 -p1
|
||||
%patch -P 6 -p1
|
||||
|
||||
%patch -P 106 -p1
|
||||
%patch -P 109 -p1
|
||||
@@ -262,9 +266,7 @@ BuildRequires: python3-pytest-timeout
|
||||
|
||||
%patch -P 201 -p1
|
||||
|
||||
%if 0%{?suse_version} > 1500
|
||||
cp %SOURCE1 tools/cockpit.pam
|
||||
%else
|
||||
%if 0%{?suse_version} < 1500
|
||||
cp %SOURCE4 tools/cockpit.pam
|
||||
%endif
|
||||
#
|
||||
@@ -302,20 +304,19 @@ bzip2 -9 cockpit.pp
|
||||
make -j$(nproc) check
|
||||
|
||||
%if 0%{?rhel} == 0 && 0%{?suse_version} == 0
|
||||
%tox
|
||||
export NO_QUNIT=1
|
||||
%pytest
|
||||
%endif
|
||||
|
||||
%install
|
||||
%if 0%{?suse_version}
|
||||
export NO_BRP_STALE_LINK_ERROR="yes"
|
||||
%endif
|
||||
# In obs we get write error: stdout
|
||||
%make_install | tee make_install.log
|
||||
make install-tests DESTDIR=%{buildroot}
|
||||
%if 0%{?suse_version} > 1500
|
||||
mkdir -p $RPM_BUILD_ROOT%{_pam_vendordir}
|
||||
install -p -m 644 tools/cockpit.pam $RPM_BUILD_ROOT%{_pam_vendordir}/cockpit
|
||||
%else
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
|
||||
install -p -m 644 tools/cockpit.pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/cockpit
|
||||
%endif
|
||||
mkdir -p $RPM_BUILD_ROOT%{pamconfdir}
|
||||
install -p -m 644 %{pamconfig} $RPM_BUILD_ROOT%{pamconfdir}/cockpit
|
||||
rm -f %{buildroot}/%{_libdir}/cockpit/*.so
|
||||
install -D -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/cockpit/
|
||||
|
||||
@@ -429,14 +430,6 @@ rm -f %{buildroot}/%{pamdir}/mock-pam-conv-mod.so
|
||||
sed -i "s|%{buildroot}||" *.list
|
||||
|
||||
%if 0%{?suse_version}
|
||||
# remove brandings with stale symlinks. Means they don't match
|
||||
# the distro.
|
||||
pushd %{buildroot}/%{_datadir}/cockpit/branding
|
||||
ls --hide={default,kubernetes,opensuse,registry,suse} | xargs rm -rv
|
||||
popd
|
||||
# need this in SUSE as post build checks dislike stale symlinks
|
||||
install -m 644 -D /dev/null %{buildroot}/run/cockpit/issue
|
||||
|
||||
test -e %{buildroot}/usr/share/cockpit/branding/opensuse/default-1920x1200.jpg || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/opensuse/default-1920x1200.jpg
|
||||
test -e %{buildroot}/usr/share/cockpit/branding/suse/apple-touch-icon.png || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/suse/apple-touch-icon.png
|
||||
test -e %{buildroot}/usr/share/cockpit/branding/suse/default-1920x1200.png || install -m 644 -D /dev/null %{buildroot}/usr/share/cockpit/branding/suse/default-1920x1200.png
|
||||
@@ -623,13 +616,10 @@ authentication via sssd/FreeIPA.
|
||||
%doc %{_mandir}/man8/pam_ssh_add.8.gz
|
||||
%dir %{_sysconfdir}/cockpit
|
||||
%config(noreplace) %{_sysconfdir}/cockpit/ws-certs.d
|
||||
%if 0%{?suse_version} > 1500
|
||||
%{_pam_vendordir}/cockpit
|
||||
%else
|
||||
%config(noreplace) %{_sysconfdir}/pam.d/cockpit
|
||||
%endif
|
||||
# dir is not owned by pam in openSUSE
|
||||
# dir is not owned by pam in openSUSE needed for Leap15.6
|
||||
%dir %{pamconfdir}
|
||||
%dir %{_sysconfdir}/motd.d
|
||||
%config(noreplace) %{pamconfdir}/cockpit
|
||||
# created in %post, so that users can rm the files
|
||||
%ghost %{_sysconfdir}/issue.d/cockpit.issue
|
||||
%ghost %{_sysconfdir}/motd.d/cockpit
|
||||
@@ -795,7 +785,11 @@ SELinux policy module for the cockpit-ws package.
|
||||
Summary: Cockpit user interface for kernel crash dumping
|
||||
Requires: cockpit-bridge >= %{required_base}
|
||||
Requires: cockpit-shell >= %{required_base}
|
||||
%if 0%{?suse_version}
|
||||
Requires: /usr/sbin/kdumptool
|
||||
%else
|
||||
Requires: /usr/bin/kdumpctl
|
||||
%endif
|
||||
BuildArch: noarch
|
||||
|
||||
%description kdump
|
||||
@@ -805,6 +799,7 @@ The Cockpit component for configuring kernel crash dumping.
|
||||
%license COPYING
|
||||
%{_datadir}/metainfo/org.cockpit_project.cockpit_kdump.metainfo.xml
|
||||
|
||||
# sosreport is not supported on opensuse yet
|
||||
%if !0%{?suse_version}
|
||||
%package sosreport
|
||||
Summary: Cockpit user interface for diagnostic reports
|
||||
@@ -843,7 +838,6 @@ The Cockpit component for managing networking. This package uses NetworkManager
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} == 0 && ( 0%{?suse_version} >= 1500 || 0%{?is_smo} )
|
||||
|
||||
%package selinux
|
||||
Summary: Cockpit SELinux package
|
||||
Requires: cockpit-bridge >= %{required_base}
|
||||
@@ -926,9 +920,6 @@ via PackageKit.
|
||||
%files -n cockpit-packagekit -f packagekit.list
|
||||
%license COPYING
|
||||
|
||||
# The changelog is automatically generated and merged
|
||||
%changelog
|
||||
|
||||
%package firewalld
|
||||
Summary: Allows Cockpit access through the firewall
|
||||
Requires: cockpit-bridge >= %{required_base}
|
||||
@@ -955,4 +946,5 @@ elif test -f %{_bindir}/firewall-offline-cmd; then
|
||||
firewall-offline-cmd --quiet --add-service=cockpit || true
|
||||
fi
|
||||
|
||||
# The changelog is automatically generated and merged
|
||||
%changelog
|
||||
|
@@ -290,17 +290,17 @@ index f89f1fa47..5086ce1f6 100644
|
||||
<script src="../base1/po.js"></script>
|
||||
<script src="po.js"></script>
|
||||
diff --git a/pkg/systemd/services.html b/pkg/systemd/services.html
|
||||
index 74fa456d4..e9c7047ee 100644
|
||||
index a17e95e56..7eaa65efa 100644
|
||||
--- a/pkg/systemd/services.html
|
||||
+++ b/pkg/systemd/services.html
|
||||
@@ -5,6 +5,7 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link href="services.css" type="text/css" rel="stylesheet" />
|
||||
+ <link href="../../static/css-overrides.css" type="text/css" rel="stylesheet" />
|
||||
<script src="../base1/cockpit.js"></script>
|
||||
@@ -9,6 +9,7 @@
|
||||
<script src="../base1/po.js"></script>
|
||||
<script src="../manifests.js"></script>
|
||||
<script src="services.js"></script>
|
||||
+ <link href="../../static/css-overrides.css" type="text/css" rel="stylesheet" />
|
||||
<script src="po.js"></script>
|
||||
</head>
|
||||
|
||||
diff --git a/pkg/systemd/terminal.html b/pkg/systemd/terminal.html
|
||||
index ce7216e4e..63547f9d3 100644
|
||||
--- a/pkg/systemd/terminal.html
|
||||
|
@@ -1,153 +0,0 @@
|
||||
From d1ffed4a006bc9f8aeb0e8f63e8d2a160720b4f6 Mon Sep 17 00:00:00 2001
|
||||
From: Alice Brooks <alice.brooks@suse.com>
|
||||
Date: Thu, 12 Jun 2025 08:48:16 +0100
|
||||
Subject: [PATCH] kdump: Remove nfs directory when using sysconfig
|
||||
configuration style
|
||||
|
||||
This is because the sysconfig style only has the KDUMP_SAVEDIR field
|
||||
so we can't work with two path fields as it's impossible to extract
|
||||
them again
|
||||
---
|
||||
pkg/kdump/kdump-client.js | 4 ++++
|
||||
pkg/kdump/kdump-view.jsx | 24 +++++++++++++++---------
|
||||
pkg/kdump/kdump.js | 6 ++++++
|
||||
4 files changed, 26 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/pkg/kdump/kdump-client.js b/pkg/kdump/kdump-client.js
|
||||
index d4c3d989a42d..35add2554a39 100644
|
||||
--- a/pkg/kdump/kdump-client.js
|
||||
+++ b/pkg/kdump/kdump-client.js
|
||||
@@ -48,6 +48,7 @@ export class KdumpClient {
|
||||
state: undefined,
|
||||
config: undefined,
|
||||
target: undefined,
|
||||
+ sysconfig: undefined,
|
||||
};
|
||||
cockpit.event_target(this);
|
||||
|
||||
@@ -62,6 +63,7 @@ export class KdumpClient {
|
||||
|
||||
// watch the config file
|
||||
this.configClient = new ConfigFile("/etc/kdump.conf", true);
|
||||
+ this.state.sysconfig = false;
|
||||
this._watchConfigChanges();
|
||||
|
||||
this.configClient.wait().then(() => {
|
||||
@@ -69,6 +71,8 @@ export class KdumpClient {
|
||||
if (this.configClient.settings === null) {
|
||||
this.configClient.close();
|
||||
this.configClient = new ConfigFileSUSE("/etc/sysconfig/kdump", true);
|
||||
+ this.state.sysconfig = true;
|
||||
+ this.dispatchEvent("kdumpSysconfigChanged", true);
|
||||
this._watchConfigChanges();
|
||||
}
|
||||
});
|
||||
diff --git a/pkg/kdump/kdump-view.jsx b/pkg/kdump/kdump-view.jsx
|
||||
index c6cc1e0d6bc6..8b5d74707e39 100644
|
||||
--- a/pkg/kdump/kdump-view.jsx
|
||||
+++ b/pkg/kdump/kdump-view.jsx
|
||||
@@ -115,12 +115,15 @@ const exportAnsibleTask = (settings, os_release) => {
|
||||
return ansible;
|
||||
};
|
||||
|
||||
-function getLocation(target) {
|
||||
+function getLocation(target, sysconfig) {
|
||||
let path = target.path || DEFAULT_KDUMP_PATH;
|
||||
|
||||
if (target.type === "ssh") {
|
||||
path = `${target.server}:${path}`;
|
||||
} else if (target.type == "nfs") {
|
||||
+ if (sysconfig) {
|
||||
+ path = '';
|
||||
+ }
|
||||
path = path[0] !== '/' ? '/' + path : path;
|
||||
path = `${target.server}:${target.export + path}`;
|
||||
}
|
||||
@@ -128,7 +131,7 @@ function getLocation(target) {
|
||||
return path;
|
||||
}
|
||||
|
||||
-const KdumpSettingsModal = ({ settings, initialTarget, handleSave }) => {
|
||||
+const KdumpSettingsModal = ({ settings, initialTarget, handleSave, sysconfig }) => {
|
||||
const Dialogs = useDialogs();
|
||||
const compressionAllowed = settings.compression?.allowed;
|
||||
const [isSaving, setIsSaving] = useState(false);
|
||||
@@ -276,13 +279,15 @@ const KdumpSettingsModal = ({ settings, initialTarget, handleSave }) => {
|
||||
placeholder="/export/cores" value={exportPath}
|
||||
onChange={(_event, value) => setExportPath(value)} isRequired />
|
||||
</FormGroup>
|
||||
+ {sysconfig === false &&
|
||||
<FormGroup fieldId="kdump-settings-nfs-directory" label={_("Directory")} isRequired>
|
||||
<TextInput id="kdump-settings-nfs-directory" key="directory"
|
||||
- placeholder={DEFAULT_KDUMP_PATH} value={directory}
|
||||
- data-stored={directory}
|
||||
- onChange={(_event, value) => setDirectory(value)}
|
||||
- isRequired />
|
||||
+ placeholder={DEFAULT_KDUMP_PATH} value={directory}
|
||||
+ data-stored={directory}
|
||||
+ onChange={(_event, value) => setDirectory(value)}
|
||||
+ isRequired />
|
||||
</FormGroup>
|
||||
+ }
|
||||
</>
|
||||
}
|
||||
|
||||
@@ -353,7 +358,7 @@ export class KdumpPage extends React.Component {
|
||||
const target = this.props.kdumpStatus.target;
|
||||
let verifyMessage;
|
||||
if (!target.multipleTargets) {
|
||||
- const path = getLocation(target);
|
||||
+ const path = getLocation(target, this.props.sysconfig);
|
||||
if (target.type === "local") {
|
||||
verifyMessage = fmt_to_fragments(
|
||||
' ' + _("Results of the crash will be stored in $0 as $1, if kdump is properly configured."),
|
||||
@@ -403,7 +408,8 @@ export class KdumpPage extends React.Component {
|
||||
const Dialogs = this.context;
|
||||
Dialogs.show(<KdumpSettingsModal settings={this.props.kdumpStatus.config}
|
||||
initialTarget={this.props.kdumpStatus.target}
|
||||
- handleSave={this.props.onSaveSettings} />);
|
||||
+ handleSave={this.props.onSaveSettings}
|
||||
+ sysconfig={this.props.sysconfig} />);
|
||||
}
|
||||
|
||||
handleAutomationClick() {
|
||||
@@ -459,7 +465,7 @@ ${enableCrashKernel}
|
||||
if (target.multipleTargets) {
|
||||
kdumpLocation = _("invalid: multiple targets defined");
|
||||
} else {
|
||||
- const locationPath = getLocation(target);
|
||||
+ const locationPath = getLocation(target, this.props.sysconfig);
|
||||
if (target.type == "local") {
|
||||
kdumpLocation = cockpit.format(_("Local, $0"), locationPath);
|
||||
targetCanChange = true;
|
||||
diff --git a/pkg/kdump/kdump.js b/pkg/kdump/kdump.js
|
||||
index 1a143defef15..b0f75e88c220 100644
|
||||
--- a/pkg/kdump/kdump.js
|
||||
+++ b/pkg/kdump/kdump.js
|
||||
@@ -41,6 +41,7 @@ const initStore = function(rootElement) {
|
||||
dataStore.domRootElement = rootElement;
|
||||
|
||||
dataStore.kdumpClient = new kdumpClient.KdumpClient();
|
||||
+ dataStore.sysconfig = dataStore.kdumpClient.state.sysconfig;
|
||||
|
||||
dataStore.saveSettings = settings =>
|
||||
dataStore.kdumpClient.validateSettings(settings)
|
||||
@@ -74,6 +75,7 @@ const initStore = function(rootElement) {
|
||||
reservedMemory: dataStore.kdumpMemory,
|
||||
kdumpStatus: dataStore.kdumpStatus,
|
||||
kdumpCmdlineEnabled: dataStore.crashkernel || false,
|
||||
+ sysconfig: dataStore.sysconfig,
|
||||
onSaveSettings: dataStore.saveSettings,
|
||||
onCrashKernel: dataStore.kdumpClient.crashKernel,
|
||||
exportConfig: dataStore.exportConfig,
|
||||
@@ -117,6 +119,10 @@ const initStore = function(rootElement) {
|
||||
dataStore.kdumpStatus = status;
|
||||
render();
|
||||
});
|
||||
+ dataStore.kdumpClient.addEventListener('kdumpSysconfigChanged', function(event, sysconfig) {
|
||||
+ dataStore.sysconfig = sysconfig;
|
||||
+ render();
|
||||
+ });
|
||||
|
||||
// render once
|
||||
render();
|
BIN
node_modules.obscpio
(Stored with Git LFS)
BIN
node_modules.obscpio
(Stored with Git LFS)
Binary file not shown.
File diff suppressed because it is too large
Load Diff
900
package-lock.json
generated
900
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -66,10 +66,10 @@ index fa57de9..d4dd3be 100644
|
||||
<Button variant="plain" aria-label={_("Help")}>
|
||||
<HelpIcon />
|
||||
diff --git a/pkg/systemd/overview-cards/tuned-dialog.jsx b/pkg/systemd/overview-cards/tuned-dialog.jsx
|
||||
index 38420ca..cd7e2a3 100644
|
||||
index 5f3c3ffc1..b36ad88e3 100644
|
||||
--- a/pkg/systemd/overview-cards/tuned-dialog.jsx
|
||||
+++ b/pkg/systemd/overview-cards/tuned-dialog.jsx
|
||||
@@ -278,36 +278,10 @@ const TunedDialog = ({
|
||||
@@ -278,40 +278,13 @@ const TunedDialog = ({
|
||||
};
|
||||
}, [tunedService]);
|
||||
|
||||
@@ -102,7 +102,12 @@ index 38420ca..cd7e2a3 100644
|
||||
<Modal position="top" variant="medium"
|
||||
className="ct-m-stretch-body"
|
||||
isOpen
|
||||
- help={help}
|
||||
onClose={() => dialogResult.resolve()}
|
||||
title={_("Change performance profile")}
|
||||
footer={
|
||||
>
|
||||
- <ModalHeader title={_("Change performance profile")}
|
||||
- help={help}
|
||||
- />
|
||||
+ <ModalHeader title={_("Change performance profile")} />
|
||||
<ModalBody>
|
||||
{error && <ModalError dialogError={typeof error == 'string' ? error : error.message} />}
|
||||
{loading && <EmptyStatePanel loading />}
|
||||
|
Reference in New Issue
Block a user