From 1a7568a0c47072992dba48e555c1904c786e84ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Nov 2022 13:58:37 +0000 Subject: [PATCH 1/9] build(deps): bump loader-utils from 1.4.0 to 1.4.1 in /storybook Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.1. - [Release notes](https://github.com/webpack/loader-utils/releases) - [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.1/CHANGELOG.md) - [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.1) --- updated-dependencies: - dependency-name: loader-utils dependency-type: indirect ... Signed-off-by: dependabot[bot] --- storybook/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/storybook/yarn.lock b/storybook/yarn.lock index c864d817ab..80e863e803 100644 --- a/storybook/yarn.lock +++ b/storybook/yarn.lock @@ -7875,13 +7875,13 @@ __metadata: linkType: hard "loader-utils@npm:^1.1.0, loader-utils@npm:^1.2.3": - version: 1.4.0 - resolution: "loader-utils@npm:1.4.0" + version: 1.4.1 + resolution: "loader-utils@npm:1.4.1" dependencies: big.js: ^5.2.2 emojis-list: ^3.0.0 json5: ^1.0.1 - checksum: d150b15e7a42ac47d935c8b484b79e44ff6ab4c75df7cc4cb9093350cf014ec0b17bdb60c5d6f91a37b8b218bd63b973e263c65944f58ca2573e402b9a27e717 + checksum: ea0b648cba0194e04a90aab6270619f0e35be009e33a443d9e642e93056cd49e6ca4c9678bd1c777a2392551bc5f4d0f24a87f5040608da1274aa84c6eebb502 languageName: node linkType: hard From bc07e5f1c62320d117f8cab88cb610aeebdea64e Mon Sep 17 00:00:00 2001 From: Casper Thygesen <73483987+cthtrifork@users.noreply.github.com> Date: Tue, 8 Nov 2022 19:48:03 +0100 Subject: [PATCH 2/9] Add default errorHandler() to vault-backend Right now any uncaught error causes backstarte to crash We should use `packages/backend-common/src/middleware/errorHandler.ts` middleware like the other backend plugins Signed-off-by: Casper Thygesen <73483987+cthtrifork@users.noreply.github.com> Signed-off-by: cthtrifork --- plugins/vault-backend/src/service/VaultBuilder.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/vault-backend/src/service/VaultBuilder.ts b/plugins/vault-backend/src/service/VaultBuilder.ts index 67260f45ca..b82a5802bb 100644 --- a/plugins/vault-backend/src/service/VaultBuilder.ts +++ b/plugins/vault-backend/src/service/VaultBuilder.ts @@ -20,6 +20,7 @@ import { Logger } from 'winston'; import express, { Router } from 'express'; import { VaultClient } from './vaultApi'; import { TaskRunner, PluginTaskScheduler } from '@backstage/backend-tasks'; +import { errorHandler } from '@backstage/backend-common'; /** * Environment values needed by the VaultBuilder @@ -145,6 +146,7 @@ export class VaultBuilder { res.json({ items: secrets }); }); + router.use(errorHandler()); return router; } } From 687237da4c83040cecae7a8858630ca14de30e78 Mon Sep 17 00:00:00 2001 From: Casper Thygesen <73483987+cthtrifork@users.noreply.github.com> Date: Tue, 8 Nov 2022 19:51:34 +0100 Subject: [PATCH 3/9] added changeset Signed-off-by: cthtrifork --- .changeset/rude-mayflies-heal.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/rude-mayflies-heal.md diff --git a/.changeset/rude-mayflies-heal.md b/.changeset/rude-mayflies-heal.md new file mode 100644 index 0000000000..738ade0f3c --- /dev/null +++ b/.changeset/rude-mayflies-heal.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-vault-backend': patch +--- + +Added errorHandler() middleware to vault-backend to prevent errors to cause a crash From 2518959d3ab956c89cd2cb69e9e1c751c86b22a3 Mon Sep 17 00:00:00 2001 From: Casper Thygesen <73483987+cthtrifork@users.noreply.github.com> Date: Wed, 9 Nov 2022 06:43:09 +0100 Subject: [PATCH 4/9] Improved patch notes Co-authored-by: Philipp Hugenroth Signed-off-by: Casper Thygesen <73483987+cthtrifork@users.noreply.github.com> --- .changeset/rude-mayflies-heal.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/rude-mayflies-heal.md b/.changeset/rude-mayflies-heal.md index 738ade0f3c..01cbf01e28 100644 --- a/.changeset/rude-mayflies-heal.md +++ b/.changeset/rude-mayflies-heal.md @@ -2,4 +2,4 @@ '@backstage/plugin-vault-backend': patch --- -Added errorHandler() middleware to vault-backend to prevent errors to cause a crash +Added `errorHandler()` middleware to `router` to prevent crashes caused by fatal errors in plugin backend From 0e37858f22bf28e42b292d86305d1b571410d7e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Thu, 10 Nov 2022 11:56:29 +0100 Subject: [PATCH 5/9] richer errors in the msgraph import steps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/clean-socks-call.md | 5 +++++ .../src/microsoftGraph/read.ts | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/clean-socks-call.md diff --git a/.changeset/clean-socks-call.md b/.changeset/clean-socks-call.md new file mode 100644 index 0000000000..9b802618f6 --- /dev/null +++ b/.changeset/clean-socks-call.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-msgraph': patch +--- + +Added cause information to logged warnings diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts index 8e1d9a3776..0ed411bfea 100644 --- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts +++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts @@ -122,7 +122,7 @@ export async function readMicrosoftGraphUsers( 120, ); } catch (e) { - options.logger.warn(`Unable to load photo for ${user.id}`); + options.logger.warn(`Unable to load photo for ${user.id}, ${e}`); } const entity = await transformer(user, userPhoto); @@ -206,7 +206,7 @@ export async function readMicrosoftGraphUsersInGroups( expand: options.userExpand, }); } catch (e) { - options.logger.warn(`Unable to load user for ${userId}`); + options.logger.warn(`Unable to load user for ${userId}, ${e}`); } if (user) { try { @@ -217,7 +217,7 @@ export async function readMicrosoftGraphUsersInGroups( 120, ); } catch (e) { - options.logger.warn(`Unable to load userphoto for ${userId}`); + options.logger.warn(`Unable to load userphoto for ${userId}, ${e}`); } const entity = await transformer(user, userPhoto); From f36127f5fe044d6ed2a6211c6777199ddd39ae5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arn=C3=BE=C3=B3r=20J=C3=B3nsson?= Date: Wed, 9 Nov 2022 18:42:19 +0100 Subject: [PATCH 6/9] Add optional step to SimpleStepper Signed-off-by: Arnthor Jonsson --- .changeset/cyan-seahorses-itch.md | 5 ++++ .../SimpleStepper/SimpleStepper.stories.tsx | 20 +++++++++++++ .../SimpleStepper/SimpleStepper.test.tsx | 28 +++++++++++++++++++ .../SimpleStepper/SimpleStepperFooter.tsx | 27 ++++++++++++++++++ .../src/components/SimpleStepper/types.ts | 5 ++++ 5 files changed, 85 insertions(+) create mode 100644 .changeset/cyan-seahorses-itch.md diff --git a/.changeset/cyan-seahorses-itch.md b/.changeset/cyan-seahorses-itch.md new file mode 100644 index 0000000000..c3ced5ceb7 --- /dev/null +++ b/.changeset/cyan-seahorses-itch.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-components': minor +--- + +Add optional step to SimpleStepper diff --git a/packages/core-components/src/components/SimpleStepper/SimpleStepper.stories.tsx b/packages/core-components/src/components/SimpleStepper/SimpleStepper.stories.tsx index 2f3f26f23e..aedd5e6b80 100644 --- a/packages/core-components/src/components/SimpleStepper/SimpleStepper.stories.tsx +++ b/packages/core-components/src/components/SimpleStepper/SimpleStepper.stories.tsx @@ -91,3 +91,23 @@ export const CompletionStep = (args: StepperProps) => { }; CompletionStep.args = defaultArgs; + +export const OptionalStep = (args: StepperProps) => { + return ( + + +
This is the content for step 1
+
+ +
This is the content for step 2
+
+
+ ); +}; + +ConditionalButtons.args = defaultArgs; diff --git a/packages/core-components/src/components/SimpleStepper/SimpleStepper.test.tsx b/packages/core-components/src/components/SimpleStepper/SimpleStepper.test.tsx index 5897054ed5..73baff8db2 100644 --- a/packages/core-components/src/components/SimpleStepper/SimpleStepper.test.tsx +++ b/packages/core-components/src/components/SimpleStepper/SimpleStepper.test.tsx @@ -145,4 +145,32 @@ describe('Stepper', () => { expect(rendered.getByText('FinalStepNext')).toBeInTheDocument(); }); + + it('Handles skipStep property', async () => { + const rendered = await renderInTestApp( + + +
step0
+
+ +
step1
+
+ +
step2
+
+ +
step3
+
+
, + ); + + fireEvent.click(getTextInSlide(rendered, 0)('Next') as Node); + expect(rendered.getByText('step1')).toBeInTheDocument(); + + fireEvent.click(getTextInSlide(rendered, 1)('Skip') as Node); + expect(rendered.getByText('step2')).toBeInTheDocument(); + + fireEvent.click(getTextInSlide(rendered, 2)('Back') as Node); + expect(rendered.getByText('step1')).toBeInTheDocument(); + }); }); diff --git a/packages/core-components/src/components/SimpleStepper/SimpleStepperFooter.tsx b/packages/core-components/src/components/SimpleStepper/SimpleStepperFooter.tsx index 5f4bdbf0c6..0f7d604eb0 100644 --- a/packages/core-components/src/components/SimpleStepper/SimpleStepperFooter.tsx +++ b/packages/core-components/src/components/SimpleStepper/SimpleStepperFooter.tsx @@ -45,6 +45,10 @@ interface NextBtnProps extends CommonBtnProps { last?: boolean; stepIndex: number; } +interface SkipBtnProps extends CommonBtnProps { + disabled?: boolean; + stepIndex: number; +} interface BackBtnProps extends CommonBtnProps { disabled?: boolean; stepIndex: number; @@ -71,6 +75,18 @@ const NextBtn = ({ ); +const SkipBtn = ({ text, handleClick, disabled, stepIndex }: SkipBtnProps) => ( + +); + const BackBtn = ({ text, handleClick, disabled, stepIndex }: BackBtnProps) => (