Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chore/user config handling and performance fixes #2856

Open
wants to merge 36 commits into
base: feat/make-classification-and-criticality-optional
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
7c6cc6f
chore: proper default handling removing necessity for most of the nulls
Hellgartner Mar 14, 2025
b16240a
test: ad test for properly setting default values
Hellgartner Mar 14, 2025
194a1ee
chore: add reducer for user config
Hellgartner Mar 18, 2025
b725fc8
chore: sync user settings on app start
Hellgartner Mar 18, 2025
bc4dee4
chore: keep state in sync with backend
Hellgartner Mar 18, 2025
93def01
chore: move show classifications and show criticality to new approach
Hellgartner Mar 18, 2025
769c623
chore: move the remaining usage of use user settings to the new way
Hellgartner Mar 18, 2025
0f3855f
test: fix e2e tests
Hellgartner Mar 19, 2025
2e33471
fix: fix updating multiple values
Hellgartner Mar 19, 2025
86a4850
test: add tests for user settings actions
Hellgartner Mar 19, 2025
25861ef
test: add e2e test
Hellgartner Mar 19, 2025
9c3af15
fix: review-comment: add a few empty lines to improve readability
Hellgartner Mar 20, 2025
5393b42
fix: review-comment: Move showing the project popup to the new mechanism
Hellgartner Mar 20, 2025
27149ef
fix: review-comment: Simplify IPC interface
Hellgartner Mar 20, 2025
ad933a3
Merge branch 'feat/make-classification-and-criticality-optional' into…
Hellgartner Mar 20, 2025
f03015d
refactor: review-column: rename UserSettingsProvider
Hellgartner Mar 20, 2025
8fd911b
refactor: review-comment: make update user settings accept a update f…
Hellgartner Mar 20, 2025
8314a57
refactor: review-comment: user the new capability to inline the toggl…
Hellgartner Mar 20, 2025
3cd7899
feat: respect settings for showing also in overview table
Hellgartner Mar 19, 2025
7b9d4d4
feat: handle case when sorted by column is disabled
Hellgartner Mar 19, 2025
fa3605e
test: review-comment: Improve test
Hellgartner Mar 20, 2025
eb8308d
fix: review-comment: fix corner case
Hellgartner Mar 20, 2025
7870d15
fix: revert accidentally committed code
Hellgartner Mar 24, 2025
9e776e7
fix: review-comment: move expect back to test to avoid linter warnings
Hellgartner Mar 24, 2025
3645445
fix: review-comment: move to one unified useUserSettings
Hellgartner Mar 24, 2025
457aaeb
fix: review-comment: typing and naming improvements
Hellgartner Mar 24, 2025
371186a
refactor: review-comment: preparation - assimilate set and updating f…
Hellgartner Mar 24, 2025
76bbf53
refactor: review-comment: preparation - use update everywhere
Hellgartner Mar 24, 2025
c194ea6
refactor: review-comment: preparation - unify set and update
Hellgartner Mar 24, 2025
01e9d38
refactor: review-comment: use update everywhere
Hellgartner Mar 25, 2025
3c8b452
Merge pull request #2861 from opossum-tool/feat/toggle-also-statistic…
Hellgartner Mar 25, 2025
e9f59ec
fix: merge followup
Hellgartner Mar 25, 2025
d60e209
Merge branch 'feat/make-classification-and-criticality-optional' into…
Hellgartner Mar 25, 2025
1922977
refactor: review-comment: Improve naming
Hellgartner Mar 25, 2025
664e0f8
refactor: review-comment: Inline function to improve typing
Hellgartner Mar 25, 2025
4750eaf
refactor: review-comments: extract type to avoid duplication
Hellgartner Mar 25, 2025
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
Prev Previous commit
Next Next commit
chore: move show classifications and show criticality to new approach
Signed-off-by: Dominikus Hellgartner <dominikus.hellgartner@tngtech.com>
Hellgartner committed Mar 18, 2025
commit 93def01bce8eb631fb7ae9e59737cb9b44721153
4 changes: 2 additions & 2 deletions src/ElectronBackend/main/__tests__/menu.test.ts
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
import electron, { BrowserWindow, MenuItemConstructorOptions } from 'electron';

import { createMenu } from '../menu';
import { UserSettings } from '../user-settings';
import { UserSettingsProvider } from '../user-settings-provider';

jest.mock('electron', () => ({
BrowserWindow: class BrowserWindowMock {},
@@ -48,7 +48,7 @@ describe('create menu', () => {
];
testCases.forEach((testCase) => {
it(`evaluates ${testCase.darkMode ? 'dark' : 'light'} mode properly`, async () => {
await UserSettings.init();
await UserSettingsProvider.init();
const mainWindow = new BrowserWindow();

// Important to set this up only here and not in the mock setup
8 changes: 4 additions & 4 deletions src/ElectronBackend/main/__tests__/user-settings.test.ts
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@ import { tmpdir } from 'node:os';
import { join } from 'node:path';

import { DEFAULT_USER_SETTINGS } from '../../../shared/shared-constants';
import { UserSettings } from '../user-settings';
import { UserSettingsProvider } from '../user-settings-provider';

describe('UserSettings', () => {
let temporaryDir: string | undefined = undefined;
@@ -25,7 +25,7 @@ describe('UserSettings', () => {
});

it('sets up the default values if empty', async () => {
await UserSettings.init();
await UserSettingsProvider.init();

const result = await settings.get();

@@ -35,7 +35,7 @@ describe('UserSettings', () => {
it('overwrites only the non set values if there are already values set', async () => {
await settings.set('qaMode', true);

await UserSettings.init();
await UserSettingsProvider.init();

const result = await settings.get();

@@ -48,7 +48,7 @@ describe('UserSettings', () => {

await settings.set('qaMode', true);

await UserSettings.init();
await UserSettingsProvider.init();

const result = await settings.get();

12 changes: 7 additions & 5 deletions src/ElectronBackend/main/main.ts
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ import {
import { createMenu } from './menu';
import { DisabledMenuItemHandler } from './menu/DisabledMenuItemHandler';
import { openFileFromCliOrEnvVariableIfProvided } from './openFileFromCliOrEnvVariableIfProvided';
import { UserSettings } from './user-settings';
import { UserSettingsProvider } from './user-settings-provider';

export async function main(): Promise<void> {
try {
@@ -35,7 +35,7 @@ export async function main(): Promise<void> {

const mainWindow = createWindow();

await UserSettings.init();
await UserSettingsProvider.init();
Menu.setApplicationMenu(await createMenu(mainWindow));

mainWindow.webContents.session.webRequest.onBeforeSendHeaders(
@@ -93,11 +93,13 @@ export async function main(): Promise<void> {
);
ipcMain.handle(IpcChannel.OpenLink, openLinkListener);
ipcMain.handle(IpcChannel.GetUserSettings, (_, key) =>
UserSettings.get(key),
UserSettingsProvider.get(key),
);
ipcMain.handle(IpcChannel.GetFullUserSettings, () =>
UserSettingsProvider.get(),
);
ipcMain.handle(IpcChannel.GetFullUserSettings, () => UserSettings.get());
ipcMain.handle(IpcChannel.SetUserSettings, (_, { key, value }) =>
UserSettings.set(key, value, { skipNotification: true }),
UserSettingsProvider.set(key, value, { skipNotification: true }),
);

await loadWebApp(mainWindow);
17 changes: 10 additions & 7 deletions src/ElectronBackend/main/menu/viewMenu.ts
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ import { MenuItemConstructorOptions } from 'electron';

import { text } from '../../../shared/text';
import { getIconBasedOnTheme } from '../iconHelpers';
import { UserSettings } from '../user-settings';
import { UserSettingsProvider } from '../user-settings-provider';
import { switchableMenuItem } from './switchableMenuItem';

function getShowDevTools(): MenuItemConstructorOptions {
@@ -61,7 +61,7 @@ function getShowClassifications(
id: 'show-classifications',
label: text.menu.viewSubmenu.showClassifications,
onToggle: (newState: boolean) =>
UserSettings.set('showClassifications', newState),
UserSettingsProvider.set('showClassifications', newState),
});
}

@@ -72,22 +72,25 @@ function getShowCriticality(
id: 'show-criticality',
label: text.menu.viewSubmenu.showCriticality,
onToggle: (newState: boolean) =>
UserSettings.set('showCriticality', newState),
UserSettingsProvider.set('showCriticality', newState),
});
}

function getQaMode(qaMode: boolean | null): Array<MenuItemConstructorOptions> {
return switchableMenuItem(qaMode, {
id: 'qa-mode',
label: text.menu.viewSubmenu.qaMode,
onToggle: (newState: boolean) => UserSettings.set('qaMode', newState),
onToggle: (newState: boolean) =>
UserSettingsProvider.set('qaMode', newState),
});
}

export async function getViewMenu(): Promise<MenuItemConstructorOptions> {
const qaMode = await UserSettings.get('qaMode');
const showCriticality = await UserSettings.get('showCriticality');
const showClassifications = await UserSettings.get('showClassifications');
const qaMode = await UserSettingsProvider.get('qaMode');
const showCriticality = await UserSettingsProvider.get('showCriticality');
const showClassifications = await UserSettingsProvider.get(
'showClassifications',
);
return {
label: text.menu.view,
submenu: [
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@ import { AllowedFrontendChannels } from '../../shared/ipc-channels';
import { DEFAULT_USER_SETTINGS } from '../../shared/shared-constants';
import { UserSettings as IUserSettings } from '../../shared/shared-types';

export class UserSettings {
export class UserSettingsProvider {
public static async init() {
if (process.argv.includes('--reset') || process.env.RESET) {
log.info('Resetting user settings');
@@ -45,11 +45,12 @@ export class UserSettings {
await settings.set(path, value);

if (!skipNotification) {
const partialSettingsToUpdate = Object.fromEntries([[path, value]]);
BrowserWindow.getAllWindows().forEach((window) => {
window.webContents.send(AllowedFrontendChannels.UserSettingsChanged, {
path,
value,
});
window.webContents.send(
AllowedFrontendChannels.UserSettingsChanged,
partialSettingsToUpdate,
);
});
}
}
Original file line number Diff line number Diff line change
@@ -64,8 +64,8 @@ export function useAuditingOptions({
getIsPreferenceFeatureEnabled,
);
const classifications = useAppSelector(getClassifications);
const [showClassifications] = useShowClassifications();
const [showCriticality] = useShowCriticality();
const showClassifications = useShowClassifications();
const showCriticality = useShowCriticality();

const source = useMemo(() => {
const sourceName =
Original file line number Diff line number Diff line change
@@ -17,10 +17,9 @@ import {
setConfig,
setFrequentLicenses,
} from '../../../state/actions/resource-actions/all-views-simple-actions';
import { setUserSetting } from '../../../state/actions/user-settings-actions/user-settings-actions';
import { getTemporaryDisplayPackageInfo } from '../../../state/selectors/resource-selectors';
import { SHOW_CLASSIFICATIONS_KEY } from '../../../state/variables/use-show-classifications';
import { renderComponent } from '../../../test-helpers/render';
import { setUserSetting } from '../../../test-helpers/user-settings-helpers';
import { generatePurl } from '../../../util/handle-purl';
import { AttributionForm } from '../AttributionForm';

@@ -241,7 +240,7 @@ describe('AttributionForm', () => {
});

renderComponent(<AttributionForm packageInfo={packageInfo} />, {
actions: [setUserSetting('showCriticality', false)],
actions: [setUserSetting({ showCriticality: false })],
});

const criticalityChip = screen.queryByTestId(
@@ -258,7 +257,7 @@ describe('AttributionForm', () => {
});

renderComponent(<AttributionForm packageInfo={packageInfo} />, {
actions: [setUserSetting(SHOW_CLASSIFICATIONS_KEY, true)],
actions: [setUserSetting({ showClassifications: true })],
});

const classificationChip = screen.getByTestId(
@@ -273,7 +272,7 @@ describe('AttributionForm', () => {
});

renderComponent(<AttributionForm packageInfo={packageInfo} />, {
actions: [setUserSetting(SHOW_CLASSIFICATIONS_KEY, false)],
actions: [setUserSetting({ showClassifications: false })],
});

const classificationChip = screen.queryByTestId(
4 changes: 2 additions & 2 deletions src/Frontend/Components/PackageCard/PackageCard.tsx
Original file line number Diff line number Diff line change
@@ -143,8 +143,8 @@ export const PackageCard = memo(
}),
[cardConfig, packageInfo, classification_mapping],
);
const [showClassifications] = useShowClassifications();
const [showCriticality] = useShowCriticality();
const showClassifications = useShowClassifications();
const showCriticality = useShowCriticality();
const rightIcons = useMemo(
() =>
getRightIcons(
Original file line number Diff line number Diff line change
@@ -7,9 +7,8 @@ import { screen } from '@testing-library/react';
import { Criticality, RawCriticality } from '../../../../shared/shared-types';
import { faker } from '../../../../testing/Faker';
import { setConfig } from '../../../state/actions/resource-actions/all-views-simple-actions';
import { SHOW_CLASSIFICATIONS_KEY } from '../../../state/variables/use-show-classifications';
import { setUserSetting } from '../../../state/actions/user-settings-actions/user-settings-actions';
import { renderComponent } from '../../../test-helpers/render';
import { setUserSetting } from '../../../test-helpers/user-settings-helpers';
import { PackageCard } from '../PackageCard';

describe('The PackageCard', () => {
@@ -148,7 +147,7 @@ describe('The PackageCard', () => {
1: faker.opossum.classificationEntry(),
},
}),
setUserSetting(SHOW_CLASSIFICATIONS_KEY, false),
setUserSetting({ showClassifications: false }),
],
},
);
@@ -194,7 +193,7 @@ describe('The PackageCard', () => {

renderComponent(
<PackageCard packageInfo={packageInfo} onClick={jest.fn()} />,
{ actions: [setUserSetting('showCriticality', false)] },
{ actions: [setUserSetting({ showCriticality: false })] },
);

const criticalityIcon = screen.queryByLabelText('Criticality icon');
Original file line number Diff line number Diff line change
@@ -94,8 +94,8 @@ export const ProjectStatisticsPopup: React.FC = () => {

const [selectedTab, setSelectedTab] = useState(0);

const [showClassifications] = useShowClassifications();
const [showCriticality] = useShowCriticality();
const showClassifications = useShowClassifications();
const showCriticality = useShowCriticality();

return (
<NotificationPopup
Original file line number Diff line number Diff line change
@@ -8,11 +8,9 @@ import userEvent from '@testing-library/user-event';
import { Attributions, Criticality } from '../../../../shared/shared-types';
import { text } from '../../../../shared/text';
import { loadFromFile } from '../../../state/actions/resource-actions/load-actions';
import { SHOW_CLASSIFICATIONS_KEY } from '../../../state/variables/use-show-classifications';
import { SHOW_CRITICALITY_KEY } from '../../../state/variables/use-show-criticality';
import { setUserSetting } from '../../../state/actions/user-settings-actions/user-settings-actions';
import { getParsedInputFileEnrichedWithTestData } from '../../../test-helpers/general-test-helpers';
import { renderComponent } from '../../../test-helpers/render';
import { setUserSetting } from '../../../test-helpers/user-settings-helpers';
import { ProjectStatisticsPopup } from '../ProjectStatisticsPopup';

const testManualAttributions: Attributions = {
@@ -307,7 +305,7 @@ describe('The ProjectStatisticsPopup', () => {
it('does not show the classification statistics if it has been disabled', () => {
renderComponent(<ProjectStatisticsPopup />, {
actions: [
setUserSetting(SHOW_CLASSIFICATIONS_KEY, false),
setUserSetting({ showClassifications: false }),
loadFromFile(getParsedInputFileEnrichedWithTestData(fileSetup)),
],
});
@@ -323,7 +321,7 @@ describe('The ProjectStatisticsPopup', () => {
it('does not show the criticality statistics if it has been disabled', () => {
renderComponent(<ProjectStatisticsPopup />, {
actions: [
setUserSetting(SHOW_CRITICALITY_KEY, false),
setUserSetting({ showCriticality: false }),
loadFromFile(getParsedInputFileEnrichedWithTestData(fileSetup)),
],
});
Original file line number Diff line number Diff line change
@@ -55,8 +55,8 @@ export function ResourcesTreeNode({ node, nodeId, nodeName }: TreeNode) {

const canHaveChildren = node !== 1;
const classification_mapping = useAppSelector(getClassifications);
const [showClassifications] = useShowClassifications();
const [showCriticality] = useShowCriticality();
const showClassifications = useShowClassifications();
const showCriticality = useShowCriticality();

return (
<ResourcesTreeNodeLabel
4 changes: 2 additions & 2 deletions src/Frontend/Components/SortButton/useSortingOptions.tsx
Original file line number Diff line number Diff line change
@@ -27,8 +27,8 @@ export interface SortOptionConfiguration {
export type SortConfiguration = Record<SortOption, SortOptionConfiguration>;

export function useSortConfiguration(): SortConfiguration {
const [showClassifications] = useShowClassifications();
const [showCriticality] = useShowCriticality();
const showClassifications = useShowClassifications();
const showCriticality = useShowCriticality();

return useMemo(() => {
return {
Original file line number Diff line number Diff line change
@@ -43,8 +43,8 @@ interface ProgressBarSwitchConfiguration {
}

export const SwitchableProcessBar: React.FC = () => {
const [showClassifications] = useShowClassifications();
const [showCriticality] = useShowCriticality();
const showClassifications = useShowClassifications();
const showCriticality = useShowCriticality();

const switchableProgressBarConfiguration: Record<
SelectedProgressBar,
Original file line number Diff line number Diff line change
@@ -6,10 +6,10 @@ import { fireEvent, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';

import { text } from '../../../../shared/text';
import { setUserSetting } from '../../../state/actions/user-settings-actions/user-settings-actions';
import { setVariable } from '../../../state/actions/variables-actions/variables-actions';
import { PROGRESS_DATA } from '../../../state/variables/use-progress-data';
import { renderComponent } from '../../../test-helpers/render';
import { setUserSetting } from '../../../test-helpers/user-settings-helpers';
import { ProgressBarData } from '../../../types/types';
import { SwitchableProcessBar } from '../SwitchableProcessBar';

@@ -114,7 +114,7 @@ describe('SwitchableProcessBar', () => {
renderComponent(<SwitchableProcessBar />, {
actions: [
setVariable<ProgressBarData>(PROGRESS_DATA, PROGRESS_BAR_DATA),
setUserSetting('showClassifications', true),
setUserSetting({ showClassifications: true }),
],
});

@@ -136,7 +136,7 @@ describe('SwitchableProcessBar', () => {
renderComponent(<SwitchableProcessBar />, {
actions: [
setVariable<ProgressBarData>(PROGRESS_DATA, PROGRESS_BAR_DATA),
setUserSetting('showClassifications', false),
setUserSetting({ showClassifications: false }),
],
});

@@ -154,7 +154,7 @@ describe('SwitchableProcessBar', () => {
renderComponent(<SwitchableProcessBar />, {
actions: [
setVariable<ProgressBarData>(PROGRESS_DATA, PROGRESS_BAR_DATA),
setUserSetting('showCriticality', false),
setUserSetting({ showCriticality: false }),
],
});

@@ -172,8 +172,7 @@ describe('SwitchableProcessBar', () => {
renderComponent(<SwitchableProcessBar />, {
actions: [
setVariable<ProgressBarData>(PROGRESS_DATA, PROGRESS_BAR_DATA),
setUserSetting('showCriticality', false),
setUserSetting('showClassifications', false),
setUserSetting({ showCriticality: false, showClassifications: false }),
],
});

2 changes: 1 addition & 1 deletion src/Frontend/state/reducers/user-settings-reducer.ts
Original file line number Diff line number Diff line change
@@ -2,8 +2,8 @@
// SPDX-FileCopyrightText: TNG Technology Consulting GmbH <https://www.tngtech.com>
//
// SPDX-License-Identifier: Apache-2.0
import { UserSettings } from '../../../ElectronBackend/main/user-settings';
import { DEFAULT_USER_SETTINGS } from '../../../shared/shared-constants';
import { UserSettings } from '../../../shared/shared-types';
import {
ACTION_SET_USER_SETTING,
UserSettingsAction,
Loading

Unchanged files with check annotations Beta

async goto(...resourceNames: Array<string>): Promise<void> {
for (const resourceName of resourceNames) {
await this.node.getByText(resourceName, { exact: true }).click();

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (ubuntu-latest)

3) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:102:5 › reverts single fields correctly Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('whoever-desk-hairy', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">whoever-desk-hairy</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 56 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:107:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (ubuntu-latest)

3) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:102:5 › reverts single fields correctly Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('truly-um-regarding', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">truly-um-regarding</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 56 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:107:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (ubuntu-latest)

3) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:102:5 › reverts single fields correctly TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('preheat-plain-absent', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">preheat-plain-absent</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 56 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:107:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (ubuntu-latest)

2) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:66:5 › reverts all changes and applies reverted state to temporary package info Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('freely-gracefully-trolley', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">freely-gracefully-trolley</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 56 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:71:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (ubuntu-latest)

2) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:66:5 › reverts all changes and applies reverted state to temporary package info Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('soliloquy-needily-but', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">soliloquy-needily-but</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 56 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:71:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (ubuntu-latest)

2) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:66:5 › reverts all changes and applies reverted state to temporary package info TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('unto-optimal-optimistic', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">unto-optimal-optimistic</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 56 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:71:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (ubuntu-latest)

1) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:51:5 › opens the diff popup if attribution has original and compare button is clicked Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('determined-wealthy-service', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">determined-wealthy-service</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 56 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:56:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (ubuntu-latest)

1) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:51:5 › opens the diff popup if attribution has original and compare button is clicked Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('brr-selfish-brook', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">brr-selfish-brook</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 56 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:56:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (ubuntu-latest)

1) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:51:5 › opens the diff popup if attribution has original and compare button is clicked TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('motionless-unabashedly-completion', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">motionless-unabashedly-completion</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 56 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /home/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:56:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (macos-latest)

3) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:102:5 › reverts single fields correctly Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('eek-even-favorable', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">eek-even-favorable</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 53 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:107:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (macos-latest)

3) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:102:5 › reverts single fields correctly Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('yum-brochure-fortunately', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">yum-brochure-fortunately</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 53 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:107:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (macos-latest)

3) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:102:5 › reverts single fields correctly TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('miscalculate-readjust-each', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">miscalculate-readjust-each</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 52 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:107:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (macos-latest)

2) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:66:5 › reverts all changes and applies reverted state to temporary package info Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('zowie-too-hydrolyze', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">zowie-too-hydrolyze</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 54 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:71:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (macos-latest)

2) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:66:5 › reverts all changes and applies reverted state to temporary package info Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('off-on-wildly', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">off-on-wildly</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 54 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:71:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (macos-latest)

2) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:66:5 › reverts all changes and applies reverted state to temporary package info TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('helpfully-finally-optimistic', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">helpfully-finally-optimistic</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 54 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:71:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (macos-latest)

1) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:51:5 › opens the diff popup if attribution has original and compare button is clicked Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('aha-beyond-hmph', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">aha-beyond-hmph</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 54 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:56:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (macos-latest)

1) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:51:5 › opens the diff popup if attribution has original and compare button is clicked Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('instance-sniff-vivacious', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">instance-sniff-vivacious</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 54 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:56:23

Check failure on line 45 in src/e2e-tests/page-objects/ResourcesTree.ts

GitHub Actions / build-and-test (macos-latest)

1) src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:51:5 › opens the diff popup if attribution has original and compare button is clicked TimeoutError: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByTestId('resources-tree').getByText('fork-shoulder-woefully', { exact: true }) - locator resolved to <p class="MuiTypography-root MuiTypography-body1 css-wam3xv">fork-shoulder-woefully</p> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 100ms 54 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling - <div tabindex="-1" role="presentation" class="MuiDialog-container MuiDialog-scrollPaper css-8azq84">…</div> from <div role="presentation" aria-label="project statistics" class="MuiDialog-root MuiModal-root css-1egf66k">…</div> subtree intercepts pointer events - retrying click action - waiting 500ms at page-objects/ResourcesTree.ts:45 43 | async goto(...resourceNames: Array<string>): Promise<void> { 44 | for (const resourceName of resourceNames) { > 45 | await this.node.getByText(resourceName, { exact: true }).click(); | ^ 46 | } 47 | } 48 | } at ResourcesTree.goto (/Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/page-objects/ResourcesTree.ts:45:64) at /Users/runner/work/OpossumUI/OpossumUI/src/e2e-tests/__tests__/comparing-attribution-with-origin.test.ts:56:23
}
}
}