Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions .github/workflows/5_bumper_repository.yml
Original file line number Diff line number Diff line change
Expand Up @@ -187,11 +187,14 @@ jobs:
PR_NUMBER=$(gh pr list --head "$BUMP_BRANCH" --base "${{ github.ref_name }}" --state merged --json number --jq '.[0].number')

if [ -z "$PR_NUMBER" ] || [ "$PR_NUMBER" == "null" ]; then
echo "Error: The original PR for the bump was not found"
echo "The original PR for the bump was not found"
echo "Searching merged PR from: $BUMP_BRANCH to ${{ github.ref_name }}"
exit 1
echo "pr_found=false" >> $GITHUB_OUTPUT
echo "has_changes=false" >> $GITHUB_OUTPUT
exit 0
fi

echo "pr_found=true" >> $GITHUB_OUTPUT
echo "Original PR found: #$PR_NUMBER"

MERGE_COMMIT=$(gh pr view $PR_NUMBER --json mergeCommit --jq '.mergeCommit.oid')
Expand Down Expand Up @@ -244,6 +247,17 @@ jobs:
run: |
gh pr merge "${{ steps.create_pr.outputs.pull_request_url }}" --squash --admin

- name: 'Result: original bump pull request not found'
if: inputs.revert == true && steps.revert_step.outputs.pr_found == 'false'
run: echo "There is no original bump pull request to revert, nothing to do."

- name: 'Result: no changes to commit'
if: >-
(inputs.revert != true && steps.bump_changes.outputs.has_changes == 'false') ||
(inputs.revert == true && steps.revert_step.outputs.pr_found == 'true' &&
steps.revert_step.outputs.has_changes == 'false')
run: echo "The bump produced no changes, no pull request was created."

- name: Show logs
if: inputs.revert != true
run: |
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

## Prior versions

- [v4.14.7](https://github.com/wazuh/wazuh-dashboard/blob/v4.14.7/CHANGELOG.md)
- [v4.14.6](https://github.com/wazuh/wazuh-dashboard/blob/v4.14.6/CHANGELOG.md)
- [v4.14.5](https://github.com/wazuh/wazuh-dashboard/blob/v4.14.5/CHANGELOG.md)
- [v4.14.4](https://github.com/wazuh/wazuh-dashboard/blob/v4.14.4/CHANGELOG.md)
Expand Down
2 changes: 1 addition & 1 deletion dev-tools/build-packages/deb/debian/changelog
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ wazuh-dashboard (5.0.0-RELEASE) stable; urgency=low

* More info: https://documentation.wazuh.com/current/release-notes/release-5-0-0.html

-- Wazuh, Inc <info@wazuh.com> Tue, 04 Aug 2026 12:00:00 +0000
-- Wazuh, Inc <info@wazuh.com> Wed, 09 Sep 2026 12:00:00 +0000

wazuh-dashboard (4.14.9-RELEASE) stable; urgency=low

Expand Down
4 changes: 2 additions & 2 deletions dev-tools/build-packages/rpm/wazuh-dashboard.spec
Original file line number Diff line number Diff line change
Expand Up @@ -485,12 +485,12 @@ rm -fr %{buildroot}
- More info: https://documentation.wazuh.com/current/release-notes/release-4-14-9.html
* Wed Sep 09 2026 support <info@wazuh.com> - 5.0.1
- More info: https://documentation.wazuh.com/current/release-notes/release-5-0-1.html
* Wed Sep 09 2026 support <info@wazuh.com> - 5.0.0
- More info: https://documentation.wazuh.com/current/release-notes/release-5-0-0.html
* Thu Sep 03 2026 support <info@wazuh.com> - 4.10.5
- More info: https://documentation.wazuh.com/current/release-notes/release-4-10-5.html
* Wed Sep 02 2026 support <info@wazuh.com> - 4.14.8
- More info: https://documentation.wazuh.com/current/release-notes/release-4-14-8.html
* Tue Aug 04 2026 support <info@wazuh.com> - 5.0.0
- More info: https://documentation.wazuh.com/current/release-notes/release-5-0-0.html
* Wed Jul 29 2026 support <info@wazuh.com> - 4.14.7
- More info: https://documentation.wazuh.com/current/release-notes/release-4-14-7.html
* Wed Jul 01 2026 support <info@wazuh.com> - 4.14.6
Expand Down
9 changes: 7 additions & 2 deletions packages/osd-stylelint-config/config/global_selectors.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,16 @@
"src/plugins/data/public/ui/query_string_input/_query_bar.scss",
"src/plugins/data/public/ui/query_editor/_query_editor.scss",
"src/plugins/data/public/ui/dataset_selector/_dataset_selector.scss",
"src/plugins/explore/public/components/data_table/table_cell/table_source_cell.scss"
"src/plugins/explore/public/components/data_table/table_cell/table_source_cell.scss",
"src/core/public/overlays/sidecar/components/sidecar.scss"
]
},
"/\\.explore/": {
"explanation": "\"explore\" prefix is preserved for Explore plugin",
"approved": ["src/plugins/explore/", "src/plugins/agent_traces/", "examples/expressions_example/public/index.scss"]
"approved": [
"src/plugins/explore/",
"src/plugins/agent_traces/",
"examples/expressions_example/public/index.scss"
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,9 @@
}
}

// Add a transparent background to the container and emphasis the "grab" icon with primary color on :focus
&:focus:not(:disabled) {
// Wazuh: changed from :focus to :active (upstream OSD used :focus here)
// Add a transparent background to the container and emphasis the "grab" icon with primary color on :active
&:active:not(:disabled) {
background-color: transparentize($euiColorPrimary, 0.9);

&::before,
Expand All @@ -91,9 +92,10 @@
}
}

// Morph the "grab" icon into a fluid 2px straight line on :hover and :focus
// Wazuh: changed from :focus to :active (upstream OSD used :focus here)
// Morph the "grab" icon into a fluid 2px straight line on :hover and :active
&:hover:not(:disabled),
&:focus:not(:disabled) {
&:active:not(:disabled) {
&.resizableButton--horizontal {
&::before,
&::after {
Expand Down
15 changes: 10 additions & 5 deletions src/core/public/overlays/sidecar/components/resizable_button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,22 @@ interface Props {
onResize: (size: number) => void;
flyoutSize: number;
dockedMode: ISidecarConfig['dockedMode'] | undefined;
className?: string;
}

const RESIZE_DEBOUNCE_DELAY = 50;

export const ResizableButton = ({ dockedMode, onResize, flyoutSize }: Props) => {
export const ResizableButton = ({ dockedMode, onResize, flyoutSize, className }: Props) => {
const isHorizontal = dockedMode !== SIDECAR_DOCKED_MODE.TAKEOVER;

const classes = classNames('sidecar-resizableButton', {
'resizableButton--vertical': !isHorizontal,
'resizableButton--horizontal': isHorizontal,
});
const classes = classNames(
'sidecar-resizableButton',
{
'resizableButton--vertical': !isHorizontal,
'resizableButton--horizontal': isHorizontal,
},
className
);

const initialMouseXorY = useRef(0);
const initialFlyoutSize = useRef(flyoutSize);
Expand Down
16 changes: 16 additions & 0 deletions src/core/public/overlays/sidecar/components/sidecar.scss
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,19 @@
height: 100%;
}
}

// WAZUH
// EuiFlyout is `position: fixed` and portaled to <body>, so it sits outside
// the app-wrapper subtree that the sidecar pushes over via padding (see
// getOsdSidecarPaddingStyle). Left to itself it keeps `right: 0` / `left: 0`
// and ends up underneath the sidecar instead of beside it. `Sidecar` keeps
// these attributes/custom property in sync with its own config while docked
// left or right (not for `--dockedTakeover`, which is meant to cover
// everything), so displace any open flyout by that same amount here.
body[data-osd-sidecar-docked-mode="right"] .euiFlyout:not(.euiFlyout--left) {
right: var(--osd-sidecar-size, 0);
}

body[data-osd-sidecar-docked-mode="left"] .euiFlyout--left {
left: var(--osd-sidecar-size, 0);
}
30 changes: 29 additions & 1 deletion src/core/public/overlays/sidecar/components/sidecar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/

import React, { useCallback, useMemo } from 'react';
import React, { useCallback, useEffect, useMemo } from 'react';
import useObservable from 'react-use/lib/useObservable';
import { BehaviorSubject } from 'rxjs';
import classNames from 'classnames';
Expand Down Expand Up @@ -57,13 +57,41 @@ export const Sidecar = ({ sidecarConfig$, options, setSidecarConfig, i18n, mount
[sidecarConfig]
);

// WAZUH
// Other overlays (e.g. EuiFlyout) are rendered outside this component's DOM
// subtree, so they can't be shifted via a padding/width style the way the
// app-wrapper is. Expose the docked side and size on `document.body` so
// global CSS can displace them instead of letting the sidecar cover them.
useEffect(() => {
const { body } = document;
const isSideDocked =
sidecarConfig &&
!sidecarConfig.isHidden &&
(sidecarConfig.dockedMode === SIDECAR_DOCKED_MODE.LEFT ||
sidecarConfig.dockedMode === SIDECAR_DOCKED_MODE.RIGHT);

if (isSideDocked) {
body.dataset.osdSidecarDockedMode = sidecarConfig!.dockedMode;
body.style.setProperty('--osd-sidecar-size', `${sidecarConfig!.paddingSize}px`);
} else {
delete body.dataset.osdSidecarDockedMode;
body.style.removeProperty('--osd-sidecar-size');
}

return () => {
delete body.dataset.osdSidecarDockedMode;
body.style.removeProperty('--osd-sidecar-size');
};
}, [sidecarConfig]);

return (
<i18n.Context>
<div data-test-subj={options['data-test-subj']} style={flyoutSizeStyle} className={classes}>
<ResizableButton
onResize={handleResize}
dockedMode={sidecarConfig?.dockedMode}
flyoutSize={sidecarConfig?.paddingSize ?? 0}
className={options.classNameButton}
/>
<MountWrapper mount={mount} className="osdSidecarMountWrapper" />
</div>
Expand Down
1 change: 1 addition & 0 deletions src/core/public/overlays/sidecar/sidecar_service.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ export interface OverlaySidecarStart {
*/
export interface OverlaySidecarOpenOptions {
className?: string;
classNameButton?: string;
'data-test-subj'?: string;
config: ISidecarConfig;
}
Expand Down
Loading
Loading