@nordicsemiconductor/pc-nrfconnect-shared 230.0.0 → 232.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Changelog.md +1688 -1674
- package/README.md +8 -8
- package/config/colors.js +1 -1
- package/config/eslintrc.js +25 -5
- package/config/jest.config.js +1 -1
- package/ipc/MetaFiles.ts +2 -2
- package/ipc/README.md +14 -14
- package/ipc/appDetails.ts +1 -1
- package/ipc/apps.ts +5 -5
- package/ipc/infrastructure/mainToRenderer.ts +3 -3
- package/ipc/infrastructure/rendererToMain.ts +5 -5
- package/ipc/open.ts +2 -2
- package/ipc/safeStorage.ts +2 -2
- package/ipc/schema/packageJson.ts +1 -1
- package/ipc/serialPort.ts +2 -2
- package/main/index.ts +7 -0
- package/mocks/electronStoreMock.ts +1 -1
- package/nrfutil/collectingResultParser.ts +3 -4
- package/nrfutil/device/batch.ts +37 -35
- package/nrfutil/device/boardController.ts +2 -2
- package/nrfutil/device/common.ts +6 -6
- package/nrfutil/device/deviceInfo.ts +3 -3
- package/nrfutil/device/erase.ts +2 -2
- package/nrfutil/device/getBoardControllerConfig.ts +2 -2
- package/nrfutil/device/getBoardControllerVersion.ts +2 -2
- package/nrfutil/device/getCoreInfo.ts +2 -2
- package/nrfutil/device/getFwInfo.ts +2 -2
- package/nrfutil/device/getProtectionStatus.ts +2 -2
- package/nrfutil/device/list.ts +2 -2
- package/nrfutil/device/logLibVersions.ts +7 -7
- package/nrfutil/device/program.ts +21 -40
- package/nrfutil/device/recover.ts +2 -2
- package/nrfutil/device/reset.ts +2 -2
- package/nrfutil/device/setMcuState.ts +2 -2
- package/nrfutil/device/setProtectionStatus.ts +2 -2
- package/nrfutil/device/xRead.ts +2 -2
- package/nrfutil/fs.ts +49 -0
- package/nrfutil/modules.ts +9 -9
- package/nrfutil/sandbox.ts +101 -53
- package/nrfutil/version/jlinkVersion.test.ts +34 -34
- package/nrfutil/version/jlinkVersion.ts +7 -7
- package/nrfutil/version/moduleVersion.ts +7 -7
- package/nrfutil/version/version.ts +3 -3
- package/package.json +7 -7
- package/release_notes.md +14 -2
- package/scripts/check-app-properties.ts +12 -12
- package/scripts/check-for-typescript.ts +2 -2
- package/scripts/create-source.ts +2 -2
- package/scripts/esbuild-renderer.ts +8 -8
- package/scripts/esbuild.ts +2 -2
- package/scripts/get-release-numbers.ts +1 -1
- package/scripts/is-releasable.ts +3 -3
- package/scripts/nordic-publish.ts +34 -34
- package/scripts/nrfconnect-license.ts +6 -6
- package/scripts/prepare-shared-release.ts +10 -10
- package/src/About/Feedback.tsx +3 -3
- package/src/About/SupportCard.tsx +1 -1
- package/src/App/App.test.tsx +1 -1
- package/src/App/App.tsx +3 -3
- package/src/App/VisibilityBar.tsx +1 -1
- package/src/App/appLayout.ts +12 -12
- package/src/Button/Button.tsx +1 -1
- package/src/ConfirmBeforeClose/ConfirmCloseDialog.tsx +1 -1
- package/src/ConfirmBeforeClose/confirmBeforeCloseSlice.ts +5 -5
- package/src/Device/DeviceSelector/DeviceList/Device.tsx +2 -2
- package/src/Device/DeviceSelector/DeviceList/DeviceList.tsx +3 -3
- package/src/Device/DeviceSelector/DeviceList/VirtualDevices.tsx +2 -2
- package/src/Device/DeviceSelector/DeviceSelector.test.tsx +16 -16
- package/src/Device/DeviceSelector/DeviceSelector.tsx +13 -13
- package/src/Device/DeviceSelector/Favorite.tsx +1 -1
- package/src/Device/DeviceSelector/SelectDevice.tsx +1 -1
- package/src/Device/DeviceSetup/DeviceSetupView.tsx +1 -1
- package/src/Device/deviceAutoSelectSlice.ts +5 -5
- package/src/Device/deviceInfo/deviceInfo.ts +2 -2
- package/src/Device/deviceLister.test.ts +4 -4
- package/src/Device/deviceLister.ts +49 -51
- package/src/Device/deviceSetup.ts +27 -26
- package/src/Device/deviceSetupSlice.ts +2 -2
- package/src/Device/deviceSlice.ts +17 -18
- package/src/Device/initPacket.ts +13 -13
- package/src/Device/jprogOperations.ts +11 -11
- package/src/Device/sdfuOperations.ts +47 -47
- package/src/Dropdown/Dropdown.test.tsx +3 -3
- package/src/Dropdown/Dropdown.tsx +6 -6
- package/src/Dropdown/DropdownHelpers.test.ts +1 -1
- package/src/Dropdown/DropdownHelpers.ts +4 -4
- package/src/ErrorBoundary/ErrorBoundary.test.tsx +5 -5
- package/src/ErrorBoundary/ErrorBoundary.tsx +7 -5
- package/src/ErrorDialog/ErrorDialog.tsx +4 -4
- package/src/ErrorDialog/errorDialogSlice.ts +3 -3
- package/src/FactoryReset/FactoryResetButton.test.tsx +1 -1
- package/src/FlashMessage/FlashMessage.tsx +8 -8
- package/src/FlashMessage/FlashMessageSlice.ts +3 -3
- package/src/Group/Group.tsx +11 -11
- package/src/InlineInput/InlineInput.tsx +4 -4
- package/src/InlineInput/NumberInlineInput.tsx +13 -13
- package/src/InlineInput/NumberInputWithDropdown.tsx +2 -2
- package/src/Link/ExternalLink.tsx +1 -1
- package/src/Link/FileLink.tsx +1 -1
- package/src/Log/LogEntry.tsx +2 -2
- package/src/Log/logSlice.ts +1 -1
- package/src/Log/syncLogToStore.ts +1 -1
- package/src/MasonryLayout/MasonryLayout.tsx +8 -6
- package/src/NavBar/NavMenuItem.tsx +1 -1
- package/src/NumberInput/NumberInput.tsx +3 -3
- package/src/Parsers/shellParser.test.ts +98 -104
- package/src/Parsers/shellParser.ts +20 -20
- package/src/PseudoButton/PseudoButton.tsx +1 -1
- package/src/SerialPort/ConflictingSettingsDialog.tsx +11 -9
- package/src/SerialPort/SerialPort.test.ts +4 -4
- package/src/SerialPort/SerialPort.ts +22 -18
- package/src/Slider/Handle.tsx +3 -3
- package/src/Slider/Slider.test.tsx +2 -2
- package/src/Slider/Slider.tsx +2 -2
- package/src/Slider/Ticks.tsx +2 -2
- package/src/Slider/percentage.ts +2 -2
- package/src/Slider/range.ts +7 -7
- package/src/StartStopButton/StartStopButton.tsx +1 -1
- package/src/StateSelector/StateSelector.tsx +1 -1
- package/src/Stepper/Stepper.tsx +2 -2
- package/src/Toggle/Toggle.tsx +2 -2
- package/src/logging/appTransport.test.ts +2 -2
- package/src/logging/appTransport.ts +1 -1
- package/src/logging/describeError.test.ts +1 -1
- package/src/logging/describeError.ts +1 -1
- package/src/logging/index.ts +4 -4
- package/src/logging/sendInitialLogMessages.ts +2 -2
- package/src/store.ts +4 -5
- package/src/telemetry/TelemetrySender.ts +2 -2
- package/src/telemetry/TelemetrySenderInMain.ts +1 -2
- package/src/telemetry/flatObject.test.ts +1 -1
- package/src/telemetry/telemetry.ts +3 -3
- package/src/utils/classNames.test.ts +2 -2
- package/src/utils/packageJson.ts +4 -4
- package/src/utils/persistentStore.ts +19 -19
- package/src/utils/systemReport.ts +8 -8
- package/src/utils/truncateMiddle.test.ts +1 -1
- package/src/utils/truncateMiddle.ts +1 -1
- package/src/utils/udevInstalled.ts +1 -1
- package/src/utils/useHotKey.ts +2 -2
- package/src/utils/useStopwatch.test.tsx +1 -11
- package/src/utils/useStopwatch.ts +3 -3
- package/test/dispatchTo.ts +1 -1
- package/test/setupTests.ts +3 -3
- package/test/testrenderer.tsx +4 -8
- package/typings/generated/ipc/appDetails.d.ts.map +1 -1
- package/typings/generated/ipc/apps.d.ts.map +1 -1
- package/typings/generated/ipc/infrastructure/mainToRenderer.d.ts +1 -1
- package/typings/generated/ipc/infrastructure/mainToRenderer.d.ts.map +1 -1
- package/typings/generated/ipc/infrastructure/rendererToMain.d.ts.map +1 -1
- package/typings/generated/ipc/open.d.ts.map +1 -1
- package/typings/generated/ipc/safeStorage.d.ts +4 -5
- package/typings/generated/ipc/safeStorage.d.ts.map +1 -1
- package/typings/generated/ipc/schema/packageJson.d.ts +3 -3
- package/typings/generated/ipc/schema/parseJson.d.ts +1 -1
- package/typings/generated/ipc/schema/parseJson.d.ts.map +1 -1
- package/typings/generated/ipc/serialPort.d.ts +10 -11
- package/typings/generated/ipc/serialPort.d.ts.map +1 -1
- package/typings/generated/main/index.d.ts +15 -14
- package/typings/generated/main/index.d.ts.map +1 -1
- package/typings/generated/nrfutil/collectingResultParser.d.ts +1 -2
- package/typings/generated/nrfutil/collectingResultParser.d.ts.map +1 -1
- package/typings/generated/nrfutil/common.d.ts +0 -1
- package/typings/generated/nrfutil/common.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/__mocks__/device.d.ts +1 -2
- package/typings/generated/nrfutil/device/__mocks__/device.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/batch.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/batchTypes.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/boardController.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/common.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/device.d.ts +17 -17
- package/typings/generated/nrfutil/device/device.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/deviceInfo.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/erase.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getBoardControllerConfig.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getBoardControllerVersion.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getCoreInfo.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getFwInfo.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/getProtectionStatus.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/list.d.ts +2 -2
- package/typings/generated/nrfutil/device/list.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/logLibVersions.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/program.d.ts +0 -2
- package/typings/generated/nrfutil/device/program.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/recover.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/reset.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/setMcuState.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/setProtectionStatus.d.ts +1 -1
- package/typings/generated/nrfutil/device/setProtectionStatus.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/xRead.d.ts.map +1 -1
- package/typings/generated/nrfutil/fs.d.ts +12 -0
- package/typings/generated/nrfutil/fs.d.ts.map +1 -0
- package/typings/generated/nrfutil/modules.d.ts.map +1 -1
- package/typings/generated/nrfutil/nrfutilLogger.d.ts.map +1 -1
- package/typings/generated/nrfutil/sandbox.d.ts +6 -5
- package/typings/generated/nrfutil/sandbox.d.ts.map +1 -1
- package/typings/generated/nrfutil/version/jlinkVersion.d.ts.map +1 -1
- package/typings/generated/nrfutil/version/moduleVersion.d.ts +1 -1
- package/typings/generated/nrfutil/version/moduleVersion.d.ts.map +1 -1
- package/typings/generated/nrfutil/version/version.d.ts.map +1 -1
- package/typings/generated/scripts/check-app-properties.d.ts.map +1 -1
- package/typings/generated/scripts/esbuild-renderer.d.ts.map +1 -1
- package/typings/generated/scripts/get-release-numbers.d.ts.map +1 -1
- package/typings/generated/scripts/latest-changelog-entry.d.ts.map +1 -1
- package/typings/generated/src/About/About.d.ts.map +1 -1
- package/typings/generated/src/About/ApplicationCard.d.ts +0 -1
- package/typings/generated/src/About/ApplicationCard.d.ts.map +1 -1
- package/typings/generated/src/About/DeviceCard.d.ts +0 -1
- package/typings/generated/src/About/DeviceCard.d.ts.map +1 -1
- package/typings/generated/src/About/DocumentationCard.d.ts.map +1 -1
- package/typings/generated/src/About/DocumentationSection.d.ts.map +1 -1
- package/typings/generated/src/About/Feedback.d.ts +1 -2
- package/typings/generated/src/About/Feedback.d.ts.map +1 -1
- package/typings/generated/src/About/Section.d.ts.map +1 -1
- package/typings/generated/src/About/SupportCard.d.ts +1 -2
- package/typings/generated/src/About/SupportCard.d.ts.map +1 -1
- package/typings/generated/src/About/sendFeedback.d.ts.map +1 -1
- package/typings/generated/src/About/shortcutSlice.d.ts +1 -1
- package/typings/generated/src/About/shortcutSlice.d.ts.map +1 -1
- package/typings/generated/src/App/App.d.ts +1 -1
- package/typings/generated/src/App/App.d.ts.map +1 -1
- package/typings/generated/src/App/ConnectedToStore.d.ts +1 -1
- package/typings/generated/src/App/ConnectedToStore.d.ts.map +1 -1
- package/typings/generated/src/App/VisibilityBar.d.ts +0 -1
- package/typings/generated/src/App/VisibilityBar.d.ts.map +1 -1
- package/typings/generated/src/App/appLayout.d.ts +1 -1
- package/typings/generated/src/App/appLayout.d.ts.map +1 -1
- package/typings/generated/src/Card/Card.d.ts.map +1 -1
- package/typings/generated/src/ConfirmBeforeClose/ConfirmCloseDialog.d.ts +0 -1
- package/typings/generated/src/ConfirmBeforeClose/ConfirmCloseDialog.d.ts.map +1 -1
- package/typings/generated/src/ConfirmBeforeClose/confirmBeforeCloseSlice.d.ts +2 -3
- package/typings/generated/src/ConfirmBeforeClose/confirmBeforeCloseSlice.d.ts.map +1 -1
- package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts +0 -1
- package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts.map +1 -1
- package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts +1 -1
- package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/VirtualDevices.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceList/VirtualDevices.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/DisconnectDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/DisconnectDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSelector/SelectedVirtualDevice.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSelector/SelectedVirtualDevice.d.ts.map +1 -1
- package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts +0 -1
- package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts +1 -1
- package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +0 -1
- package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceLister.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceSetup.d.ts +0 -1
- package/typings/generated/src/Device/deviceSetup.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceSetupSlice.d.ts +3 -3
- package/typings/generated/src/Device/deviceSetupSlice.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceSlice.d.ts +1 -1
- package/typings/generated/src/Device/deviceSlice.d.ts.map +1 -1
- package/typings/generated/src/Device/initPacket.d.ts +0 -1
- package/typings/generated/src/Device/initPacket.d.ts.map +1 -1
- package/typings/generated/src/Device/jprogOperations.d.ts.map +1 -1
- package/typings/generated/src/Device/sdfuOperations.d.ts +1 -2
- package/typings/generated/src/Device/sdfuOperations.d.ts.map +1 -1
- package/typings/generated/src/Dialog/Dialog.d.ts +3 -3
- package/typings/generated/src/Dialog/Dialog.d.ts.map +1 -1
- package/typings/generated/src/Dropdown/Dropdown.d.ts.map +1 -1
- package/typings/generated/src/Dropdown/DropdownHelpers.d.ts.map +1 -1
- package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
- package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts +0 -1
- package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts.map +1 -1
- package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts +1 -1
- package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts.map +1 -1
- package/typings/generated/src/FlashMessage/FlashMessage.d.ts +0 -1
- package/typings/generated/src/FlashMessage/FlashMessage.d.ts.map +1 -1
- package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts +1 -1
- package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts.map +1 -1
- package/typings/generated/src/Group/Group.d.ts +8 -8
- package/typings/generated/src/Group/Group.d.ts.map +1 -1
- package/typings/generated/src/InlineInput/InlineInput.d.ts.map +1 -1
- package/typings/generated/src/InlineInput/NumberInlineInput.d.ts +0 -1
- package/typings/generated/src/InlineInput/NumberInlineInput.d.ts.map +1 -1
- package/typings/generated/src/InlineInput/NumberInputWithDropdown.d.ts.map +1 -1
- package/typings/generated/src/Link/ExternalLink.d.ts +1 -2
- package/typings/generated/src/Link/ExternalLink.d.ts.map +1 -1
- package/typings/generated/src/Link/FileLink.d.ts +1 -2
- package/typings/generated/src/Link/FileLink.d.ts.map +1 -1
- package/typings/generated/src/Log/LogEntry.d.ts +0 -1
- package/typings/generated/src/Log/LogEntry.d.ts.map +1 -1
- package/typings/generated/src/Log/LogViewer.d.ts +0 -1
- package/typings/generated/src/Log/LogViewer.d.ts.map +1 -1
- package/typings/generated/src/Log/logSlice.d.ts +1 -1
- package/typings/generated/src/Log/logSlice.d.ts.map +1 -1
- package/typings/generated/src/Log/syncLogToStore.d.ts.map +1 -1
- package/typings/generated/src/Main/Main.d.ts.map +1 -1
- package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts.map +1 -1
- package/typings/generated/src/NavBar/NavBar.d.ts.map +1 -1
- package/typings/generated/src/NavBar/NavMenu.d.ts +0 -1
- package/typings/generated/src/NavBar/NavMenu.d.ts.map +1 -1
- package/typings/generated/src/NoticeBox/NoticeBox.d.ts.map +1 -1
- package/typings/generated/src/NumberInput/NumberInput.d.ts +8 -8
- package/typings/generated/src/NumberInput/NumberInput.d.ts.map +1 -1
- package/typings/generated/src/Overlay/Overlay.d.ts +2 -2
- package/typings/generated/src/Overlay/Overlay.d.ts.map +1 -1
- package/typings/generated/src/Parsers/shellParser.d.ts +1 -1
- package/typings/generated/src/Parsers/shellParser.d.ts.map +1 -1
- package/typings/generated/src/Parsers/shellParser.test.d.ts.map +1 -1
- package/typings/generated/src/PseudoButton/PseudoButton.d.ts +4 -4
- package/typings/generated/src/PseudoButton/PseudoButton.d.ts.map +1 -1
- package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts +0 -1
- package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts.map +1 -1
- package/typings/generated/src/SerialPort/SerialPort.d.ts +0 -1
- package/typings/generated/src/SerialPort/SerialPort.d.ts.map +1 -1
- package/typings/generated/src/SidePanel/SidePanel.d.ts +1 -1
- package/typings/generated/src/SidePanel/SidePanel.d.ts.map +1 -1
- package/typings/generated/src/Slider/factor.d.ts.map +1 -1
- package/typings/generated/src/Slider/percentage.d.ts.map +1 -1
- package/typings/generated/src/Slider/range.d.ts.map +1 -1
- package/typings/generated/src/Spinner/Spinner.d.ts +2 -3
- package/typings/generated/src/Spinner/Spinner.d.ts.map +1 -1
- package/typings/generated/src/StateSelector/StateSelector.d.ts.map +1 -1
- package/typings/generated/src/Stepper/Stepper.d.ts +0 -1
- package/typings/generated/src/Stepper/Stepper.d.ts.map +1 -1
- package/typings/generated/src/logging/describeError.d.ts.map +1 -1
- package/typings/generated/src/logging/index.d.ts.map +1 -1
- package/typings/generated/src/logging/logBuffer.d.ts.map +1 -1
- package/typings/generated/src/store.d.ts +15 -39
- package/typings/generated/src/store.d.ts.map +1 -1
- package/typings/generated/src/telemetry/TelemetrySender.d.ts.map +1 -1
- package/typings/generated/src/telemetry/TelemetrySenderInMain.d.ts.map +1 -1
- package/typings/generated/src/telemetry/TelemetrySenderInRenderer.d.ts.map +1 -1
- package/typings/generated/src/telemetry/flatObject.d.ts.map +1 -1
- package/typings/generated/src/telemetry/simplifyDevice.d.ts.map +1 -1
- package/typings/generated/src/telemetry/telemetry.d.ts +1 -1
- package/typings/generated/src/telemetry/telemetry.d.ts.map +1 -1
- package/typings/generated/src/utils/appDirs.d.ts.map +1 -1
- package/typings/generated/src/utils/classNames.d.ts.map +1 -1
- package/typings/generated/src/utils/packageJson.d.ts.map +1 -1
- package/typings/generated/src/utils/persistentStore.d.ts +1 -1
- package/typings/generated/src/utils/persistentStore.d.ts.map +1 -1
- package/typings/generated/src/utils/systemReport.d.ts.map +1 -1
- package/typings/generated/src/utils/truncateMiddle.d.ts.map +1 -1
- package/typings/generated/src/utils/useFocusedOnVisible.d.ts +0 -1
- package/typings/generated/src/utils/useFocusedOnVisible.d.ts.map +1 -1
- package/typings/generated/src/utils/useHotKey.d.ts.map +1 -1
- package/typings/generated/src/utils/useStopwatch.d.ts.map +1 -1
- package/typings/generated/test/dispatchTo.d.ts +1 -1
- package/typings/generated/test/dispatchTo.d.ts.map +1 -1
- package/typings/generated/test/testrenderer.d.ts +2 -1
- package/typings/generated/test/testrenderer.d.ts.map +1 -1
|
@@ -72,7 +72,7 @@ const getBootloaderInformation = async (device: Device) => {
|
|
|
72
72
|
const info = await NrfutilDeviceLib.getFwInfo(device);
|
|
73
73
|
|
|
74
74
|
const index = info.imageInfoList.findIndex(
|
|
75
|
-
imageInfo => imageInfo.imageType === 'NRFDL_IMAGE_TYPE_BOOTLOADER'
|
|
75
|
+
imageInfo => imageInfo.imageType === 'NRFDL_IMAGE_TYPE_BOOTLOADER',
|
|
76
76
|
);
|
|
77
77
|
if (index !== -1) {
|
|
78
78
|
return {
|
|
@@ -89,7 +89,7 @@ const updateBootloader =
|
|
|
89
89
|
device: Device,
|
|
90
90
|
onSuccess: (device: Device) => void,
|
|
91
91
|
onFail: (reason?: unknown) => void,
|
|
92
|
-
onProgress: (progress: number, message?: string) => void
|
|
92
|
+
onProgress: (progress: number, message?: string) => void,
|
|
93
93
|
): AppThunk =>
|
|
94
94
|
async dispatch => {
|
|
95
95
|
logger.info(`Update bootloader ${device}`);
|
|
@@ -107,7 +107,7 @@ const updateBootloader =
|
|
|
107
107
|
once: false,
|
|
108
108
|
onSuccess,
|
|
109
109
|
onFail,
|
|
110
|
-
})
|
|
110
|
+
}),
|
|
111
111
|
);
|
|
112
112
|
|
|
113
113
|
try {
|
|
@@ -117,16 +117,16 @@ const updateBootloader =
|
|
|
117
117
|
progress => {
|
|
118
118
|
onProgress(
|
|
119
119
|
progress.totalProgressPercentage,
|
|
120
|
-
progress.message ?? 'Programming bootloader'
|
|
120
|
+
progress.message ?? 'Programming bootloader',
|
|
121
121
|
);
|
|
122
|
-
}
|
|
122
|
+
},
|
|
123
123
|
);
|
|
124
124
|
} catch (error) {
|
|
125
125
|
if (error) {
|
|
126
126
|
logger.error(
|
|
127
127
|
`Failed to write bootloader to the target device: ${
|
|
128
128
|
(error as Error).message || error
|
|
129
|
-
}
|
|
129
|
+
}`,
|
|
130
130
|
);
|
|
131
131
|
onFail((error as Error).message || error);
|
|
132
132
|
} else {
|
|
@@ -137,7 +137,7 @@ const updateBootloader =
|
|
|
137
137
|
once: true,
|
|
138
138
|
onSuccess,
|
|
139
139
|
onFail,
|
|
140
|
-
})
|
|
140
|
+
}),
|
|
141
141
|
);
|
|
142
142
|
|
|
143
143
|
onProgress(100, 'Bootloader updated');
|
|
@@ -153,7 +153,7 @@ const switchToDeviceMode =
|
|
|
153
153
|
mcuState: McuState,
|
|
154
154
|
onSuccess: (device: Device) => void,
|
|
155
155
|
onFail: (reason?: unknown) => void,
|
|
156
|
-
autoReconnectWhen?: WaitForDeviceWhen
|
|
156
|
+
autoReconnectWhen?: WaitForDeviceWhen,
|
|
157
157
|
): AppThunk =>
|
|
158
158
|
dispatch => {
|
|
159
159
|
if (autoReconnectWhen === undefined) {
|
|
@@ -169,7 +169,7 @@ const switchToDeviceMode =
|
|
|
169
169
|
once: true,
|
|
170
170
|
onSuccess,
|
|
171
171
|
onFail,
|
|
172
|
-
})
|
|
172
|
+
}),
|
|
173
173
|
);
|
|
174
174
|
NrfutilDeviceLib.setMcuState(device, mcuState).catch(err => {
|
|
175
175
|
dispatch(clearWaitForDevice());
|
|
@@ -181,7 +181,7 @@ export const switchToBootloaderMode =
|
|
|
181
181
|
(
|
|
182
182
|
device: Device,
|
|
183
183
|
onSuccess: (device: Device) => void,
|
|
184
|
-
onFail: (reason?: unknown) => void
|
|
184
|
+
onFail: (reason?: unknown) => void,
|
|
185
185
|
): AppThunk =>
|
|
186
186
|
dispatch => {
|
|
187
187
|
if (!isDeviceInDFUBootloader(device)) {
|
|
@@ -193,13 +193,13 @@ export const switchToBootloaderMode =
|
|
|
193
193
|
if (!isDeviceInDFUBootloader(d))
|
|
194
194
|
onFail(
|
|
195
195
|
new Error(
|
|
196
|
-
'Failed to switch to the bootloader mode'
|
|
197
|
-
)
|
|
196
|
+
'Failed to switch to the bootloader mode',
|
|
197
|
+
),
|
|
198
198
|
);
|
|
199
199
|
else onSuccess(d);
|
|
200
200
|
},
|
|
201
|
-
onFail
|
|
202
|
-
)
|
|
201
|
+
onFail,
|
|
202
|
+
),
|
|
203
203
|
);
|
|
204
204
|
} else if (onSuccess) {
|
|
205
205
|
onSuccess(device);
|
|
@@ -211,7 +211,7 @@ export const switchToApplicationMode =
|
|
|
211
211
|
device: Device,
|
|
212
212
|
onSuccess: (device: Device) => void,
|
|
213
213
|
onFail: (reason?: unknown) => void,
|
|
214
|
-
autoReconnectWhen?: WaitForDeviceWhen
|
|
214
|
+
autoReconnectWhen?: WaitForDeviceWhen,
|
|
215
215
|
): AppThunk =>
|
|
216
216
|
dispatch => {
|
|
217
217
|
if (isDeviceInDFUBootloader(device)) {
|
|
@@ -223,14 +223,14 @@ export const switchToApplicationMode =
|
|
|
223
223
|
if (isDeviceInDFUBootloader(d))
|
|
224
224
|
onFail(
|
|
225
225
|
new Error(
|
|
226
|
-
'Failed to switch to the application mode'
|
|
227
|
-
)
|
|
226
|
+
'Failed to switch to the application mode',
|
|
227
|
+
),
|
|
228
228
|
);
|
|
229
229
|
else onSuccess(d);
|
|
230
230
|
},
|
|
231
231
|
onFail,
|
|
232
|
-
autoReconnectWhen
|
|
233
|
-
)
|
|
232
|
+
autoReconnectWhen,
|
|
233
|
+
),
|
|
234
234
|
);
|
|
235
235
|
} else {
|
|
236
236
|
onSuccess(device);
|
|
@@ -261,7 +261,7 @@ const askAndUpdateBootloader =
|
|
|
261
261
|
device: Device,
|
|
262
262
|
onSuccess: (device: Device) => void,
|
|
263
263
|
onFail: (reason?: unknown) => void,
|
|
264
|
-
onProgress: (progress: number, message?: string) => void
|
|
264
|
+
onProgress: (progress: number, message?: string) => void,
|
|
265
265
|
): AppThunk =>
|
|
266
266
|
dispatch => {
|
|
267
267
|
dispatch(
|
|
@@ -274,7 +274,7 @@ const askAndUpdateBootloader =
|
|
|
274
274
|
onUserInput: isConfirmed => {
|
|
275
275
|
if (isConfirmed) {
|
|
276
276
|
logger.info(
|
|
277
|
-
'Continuing with old bootloader'
|
|
277
|
+
'Continuing with old bootloader',
|
|
278
278
|
);
|
|
279
279
|
onSuccess(d);
|
|
280
280
|
} else {
|
|
@@ -283,8 +283,8 @@ const askAndUpdateBootloader =
|
|
|
283
283
|
switchToBootloaderMode(
|
|
284
284
|
dd,
|
|
285
285
|
onSuccess,
|
|
286
|
-
onFail
|
|
287
|
-
)
|
|
286
|
+
onFail,
|
|
287
|
+
),
|
|
288
288
|
);
|
|
289
289
|
};
|
|
290
290
|
dispatch(
|
|
@@ -292,21 +292,21 @@ const askAndUpdateBootloader =
|
|
|
292
292
|
d,
|
|
293
293
|
action,
|
|
294
294
|
onFail,
|
|
295
|
-
onProgress
|
|
296
|
-
)
|
|
295
|
+
onProgress,
|
|
296
|
+
),
|
|
297
297
|
);
|
|
298
298
|
}
|
|
299
299
|
},
|
|
300
300
|
message:
|
|
301
301
|
'Device will be programmed. A newer version of the bootloader is available. Do you want to update it as well?',
|
|
302
|
-
})
|
|
302
|
+
}),
|
|
303
303
|
);
|
|
304
304
|
} else {
|
|
305
305
|
onSuccess(d);
|
|
306
306
|
}
|
|
307
307
|
},
|
|
308
|
-
onFail
|
|
309
|
-
)
|
|
308
|
+
onFail,
|
|
309
|
+
),
|
|
310
310
|
);
|
|
311
311
|
};
|
|
312
312
|
|
|
@@ -329,7 +329,7 @@ function parseFirmwareImage(firmware: Buffer | string) {
|
|
|
329
329
|
});
|
|
330
330
|
return memMap.slicePad(
|
|
331
331
|
startAddress,
|
|
332
|
-
Math.ceil((endAddress - startAddress) / 4) * 4
|
|
332
|
+
Math.ceil((endAddress - startAddress) / 4) * 4,
|
|
333
333
|
);
|
|
334
334
|
}
|
|
335
335
|
|
|
@@ -360,7 +360,7 @@ const createDfuDataFromImages = (dfuImages: DfuImage[]): DfuData => {
|
|
|
360
360
|
image.initPacket.hash as Buffer,
|
|
361
361
|
image.initPacket.isDebug,
|
|
362
362
|
image.initPacket.signatureType as number,
|
|
363
|
-
image.initPacket.signature as []
|
|
363
|
+
image.initPacket.signature as [],
|
|
364
364
|
),
|
|
365
365
|
});
|
|
366
366
|
|
|
@@ -422,7 +422,7 @@ const programInDFUBootloader =
|
|
|
422
422
|
onProgress: (progress: number, message?: string) => void,
|
|
423
423
|
onSuccess: (device: Device) => void,
|
|
424
424
|
onFail: (reason?: unknown) => void,
|
|
425
|
-
autoReconnectAfterProgrammingWhen: WaitForDeviceWhen = 'applicationMode'
|
|
425
|
+
autoReconnectAfterProgrammingWhen: WaitForDeviceWhen = 'applicationMode',
|
|
426
426
|
): AppThunk<RootState, Promise<void>> =>
|
|
427
427
|
async dispatch => {
|
|
428
428
|
logger.debug(`${device.serialNumber} on is now in DFU-Bootloader...`);
|
|
@@ -487,7 +487,7 @@ const programInDFUBootloader =
|
|
|
487
487
|
once: false,
|
|
488
488
|
onSuccess,
|
|
489
489
|
onFail,
|
|
490
|
-
})
|
|
490
|
+
}),
|
|
491
491
|
);
|
|
492
492
|
|
|
493
493
|
NrfutilDeviceLib.program(
|
|
@@ -496,13 +496,13 @@ const programInDFUBootloader =
|
|
|
496
496
|
progress => {
|
|
497
497
|
onProgress(
|
|
498
498
|
progress.totalProgressPercentage,
|
|
499
|
-
progress.message ?? ''
|
|
499
|
+
progress.message ?? '',
|
|
500
500
|
);
|
|
501
|
-
}
|
|
501
|
+
},
|
|
502
502
|
)
|
|
503
503
|
.then(() => {
|
|
504
504
|
logger.info(
|
|
505
|
-
'All DFU images have been written to the target device.'
|
|
505
|
+
'All DFU images have been written to the target device.',
|
|
506
506
|
);
|
|
507
507
|
logger.debug('DFU completed successfully!');
|
|
508
508
|
dispatch(
|
|
@@ -512,7 +512,7 @@ const programInDFUBootloader =
|
|
|
512
512
|
once: true,
|
|
513
513
|
onSuccess,
|
|
514
514
|
onFail,
|
|
515
|
-
})
|
|
515
|
+
}),
|
|
516
516
|
);
|
|
517
517
|
onProgress(100, 'Waiting for device to reboot.');
|
|
518
518
|
})
|
|
@@ -521,7 +521,7 @@ const programInDFUBootloader =
|
|
|
521
521
|
logger.error(
|
|
522
522
|
`Failed to write to the target device: ${
|
|
523
523
|
err.message || err
|
|
524
|
-
}
|
|
524
|
+
}`,
|
|
525
525
|
);
|
|
526
526
|
onFail(err);
|
|
527
527
|
}
|
|
@@ -533,7 +533,7 @@ const programDeviceWithFw =
|
|
|
533
533
|
device: Device,
|
|
534
534
|
selectedFw: DfuEntry,
|
|
535
535
|
onProgress: (progress: number, message?: string) => void,
|
|
536
|
-
autoReconnectAfterProgrammingWhen: WaitForDeviceWhen = 'applicationMode'
|
|
536
|
+
autoReconnectAfterProgrammingWhen: WaitForDeviceWhen = 'applicationMode',
|
|
537
537
|
): AppThunk<RootState, Promise<Device>> =>
|
|
538
538
|
dispatch =>
|
|
539
539
|
new Promise<Device>((resolve, reject) => {
|
|
@@ -545,21 +545,21 @@ const programDeviceWithFw =
|
|
|
545
545
|
onProgress,
|
|
546
546
|
resolve,
|
|
547
547
|
reject,
|
|
548
|
-
autoReconnectAfterProgrammingWhen
|
|
549
|
-
)
|
|
548
|
+
autoReconnectAfterProgrammingWhen,
|
|
549
|
+
),
|
|
550
550
|
);
|
|
551
551
|
logger.debug('DFU finished: ', d);
|
|
552
552
|
};
|
|
553
553
|
|
|
554
554
|
dispatch(
|
|
555
|
-
askAndUpdateBootloader(device, action, reject, onProgress)
|
|
555
|
+
askAndUpdateBootloader(device, action, reject, onProgress),
|
|
556
556
|
);
|
|
557
557
|
});
|
|
558
558
|
|
|
559
559
|
export const sdfuDeviceSetup = (
|
|
560
560
|
dfuFirmware: DfuEntry[],
|
|
561
561
|
needSerialport = false,
|
|
562
|
-
autoReconnectAfterProgrammingWhen: WaitForDeviceWhen = 'applicationMode'
|
|
562
|
+
autoReconnectAfterProgrammingWhen: WaitForDeviceWhen = 'applicationMode',
|
|
563
563
|
): DeviceSetup => ({
|
|
564
564
|
supportsProgrammingMode: (device, deviceInfo) =>
|
|
565
565
|
((!!deviceInfo?.dfuTriggerVersion &&
|
|
@@ -576,14 +576,14 @@ export const sdfuDeviceSetup = (
|
|
|
576
576
|
device,
|
|
577
577
|
firmwareOption,
|
|
578
578
|
onProgress,
|
|
579
|
-
autoReconnectAfterProgrammingWhen
|
|
580
|
-
)
|
|
579
|
+
autoReconnectAfterProgrammingWhen,
|
|
580
|
+
),
|
|
581
581
|
),
|
|
582
582
|
})),
|
|
583
583
|
isExpectedFirmware: (device, deviceInfo) => () => {
|
|
584
584
|
if (deviceInfo?.dfuTriggerVersion) {
|
|
585
585
|
logger.debug(
|
|
586
|
-
'Device has DFU trigger interface; the device is in the application mode'
|
|
586
|
+
'Device has DFU trigger interface; the device is in the application mode',
|
|
587
587
|
);
|
|
588
588
|
|
|
589
589
|
const { semVer } = deviceInfo.dfuTriggerVersion;
|
|
@@ -607,8 +607,8 @@ export const sdfuDeviceSetup = (
|
|
|
607
607
|
device,
|
|
608
608
|
resolve,
|
|
609
609
|
reject,
|
|
610
|
-
autoReconnectAfterProgrammingWhen
|
|
611
|
-
)
|
|
610
|
+
autoReconnectAfterProgrammingWhen,
|
|
611
|
+
),
|
|
612
612
|
);
|
|
613
613
|
}),
|
|
614
614
|
});
|
|
@@ -28,7 +28,7 @@ describe('Dropdown', () => {
|
|
|
28
28
|
items={items}
|
|
29
29
|
onSelect={jest.fn()}
|
|
30
30
|
selectedItem={items[0]}
|
|
31
|
-
|
|
31
|
+
/>,
|
|
32
32
|
);
|
|
33
33
|
expect(screen.getAllByText('Foo').length).toBe(2); // default selected + item
|
|
34
34
|
expect(screen.getByText('Bar')).toBeInTheDocument();
|
|
@@ -42,7 +42,7 @@ describe('Dropdown', () => {
|
|
|
42
42
|
items={items}
|
|
43
43
|
onSelect={onSelect}
|
|
44
44
|
selectedItem={items[0]}
|
|
45
|
-
|
|
45
|
+
/>,
|
|
46
46
|
);
|
|
47
47
|
const dropdownItem = screen.getByText(item.label);
|
|
48
48
|
fireEvent.click(dropdownItem);
|
|
@@ -55,7 +55,7 @@ describe('Dropdown', () => {
|
|
|
55
55
|
items={items}
|
|
56
56
|
onSelect={jest.fn()}
|
|
57
57
|
selectedItem={items[1]}
|
|
58
|
-
|
|
58
|
+
/>,
|
|
59
59
|
);
|
|
60
60
|
expect(screen.getAllByText('Bar').length).toBe(2);
|
|
61
61
|
});
|
|
@@ -57,7 +57,7 @@ export default <T,>({
|
|
|
57
57
|
className={classNames(
|
|
58
58
|
'tw-preflight tw-relative tw-text-xs',
|
|
59
59
|
minWidth ? '' : 'tw-w-full',
|
|
60
|
-
className
|
|
60
|
+
className,
|
|
61
61
|
)}
|
|
62
62
|
onBlur={event => {
|
|
63
63
|
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
@@ -80,8 +80,8 @@ export default <T,>({
|
|
|
80
80
|
'tw-bg-gray-700 tw-text-white',
|
|
81
81
|
size === 'sm'
|
|
82
82
|
? 'tw-h-6 tw-pl-2 tw-pr-1 tw-text-2xs'
|
|
83
|
-
: 'tw-h-8 tw-px-2'
|
|
84
|
-
)
|
|
83
|
+
: 'tw-h-8 tw-px-2',
|
|
84
|
+
),
|
|
85
85
|
)}
|
|
86
86
|
onClick={() => setIsActive(!isActive)}
|
|
87
87
|
disabled={disabled}
|
|
@@ -94,7 +94,7 @@ export default <T,>({
|
|
|
94
94
|
<span
|
|
95
95
|
className={`mdi mdi-chevron-down ${classNames(
|
|
96
96
|
isActive && 'tw-rotate-180',
|
|
97
|
-
size === 'sm' ? 'tw-text-base' : 'tw-text-lg'
|
|
97
|
+
size === 'sm' ? 'tw-text-base' : 'tw-text-lg',
|
|
98
98
|
)}`}
|
|
99
99
|
/>
|
|
100
100
|
</button>
|
|
@@ -118,7 +118,7 @@ export default <T,>({
|
|
|
118
118
|
className={`tw-text-while tw-absolute tw-z-10 tw-border-t-2 tw-border-solid tw-border-gray-600 tw-bg-gray-700 tw-p-0 ${classNames(
|
|
119
119
|
styles.content,
|
|
120
120
|
minWidth ? '' : 'tw-right-0 tw-w-full',
|
|
121
|
-
!isActive && 'tw-hidden'
|
|
121
|
+
!isActive && 'tw-hidden',
|
|
122
122
|
)}`}
|
|
123
123
|
>
|
|
124
124
|
{items.map(item => (
|
|
@@ -126,7 +126,7 @@ export default <T,>({
|
|
|
126
126
|
type="button"
|
|
127
127
|
className={classNames(
|
|
128
128
|
'tw-bg-transparent tw-clear-both tw-block tw-h-6 tw-w-full tw-whitespace-nowrap tw-border-0 tw-px-2 tw-py-1 tw-text-left tw-font-normal tw-text-white hover:tw-bg-gray-600 focus:tw-bg-gray-600',
|
|
129
|
-
size === 'sm' && 'tw-text-2xs'
|
|
129
|
+
size === 'sm' && 'tw-text-2xs',
|
|
130
130
|
)}
|
|
131
131
|
key={JSON.stringify(item.value)}
|
|
132
132
|
onClick={() => onClickItem(item)}
|
|
@@ -31,7 +31,7 @@ describe('getSelectedDropdownItem', () => {
|
|
|
31
31
|
it('returns the notFound item if value is not found', () => {
|
|
32
32
|
const notFound = { label: 'not found', value: 'not found' };
|
|
33
33
|
expect(getSelectedDropdownItem(itemList, 'unknown', notFound)).toBe(
|
|
34
|
-
notFound
|
|
34
|
+
notFound,
|
|
35
35
|
);
|
|
36
36
|
});
|
|
37
37
|
|
|
@@ -10,7 +10,7 @@ import { DropdownItem } from './Dropdown';
|
|
|
10
10
|
export const getSelectedDropdownItem = (
|
|
11
11
|
itemList: DropdownItem[],
|
|
12
12
|
value: unknown,
|
|
13
|
-
notFound?: DropdownItem
|
|
13
|
+
notFound?: DropdownItem,
|
|
14
14
|
) => {
|
|
15
15
|
if (typeof value === 'boolean') value = value ? 'on' : 'off';
|
|
16
16
|
|
|
@@ -18,12 +18,12 @@ export const getSelectedDropdownItem = (
|
|
|
18
18
|
|
|
19
19
|
const result = itemList[itemList.findIndex(e => e.value === `${value}`)];
|
|
20
20
|
|
|
21
|
-
return result === undefined ? notFound ?? itemList[0] : result;
|
|
21
|
+
return result === undefined ? (notFound ?? itemList[0]) : result;
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
export const convertToDropDownItems: <T>(
|
|
25
25
|
data: T[],
|
|
26
|
-
addAuto?: boolean
|
|
26
|
+
addAuto?: boolean,
|
|
27
27
|
) => DropdownItem[] = (data, addAuto = true) => {
|
|
28
28
|
const mappedData = data.map(v => ({
|
|
29
29
|
label: `${v}`,
|
|
@@ -36,7 +36,7 @@ export const convertToDropDownItems: <T>(
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
export const convertToNumberDropDownItems: (
|
|
39
|
-
data: number[]
|
|
39
|
+
data: number[],
|
|
40
40
|
) => NumberDropdownItem[] = data =>
|
|
41
41
|
data.map(v => ({
|
|
42
42
|
label: `${v}`,
|
|
@@ -26,7 +26,7 @@ jest.mocked(generateSystemReport).mockImplementation(
|
|
|
26
26
|
() =>
|
|
27
27
|
new Promise(res => {
|
|
28
28
|
res(SYSTEM_REPORT);
|
|
29
|
-
})
|
|
29
|
+
}),
|
|
30
30
|
);
|
|
31
31
|
|
|
32
32
|
const Child = () => {
|
|
@@ -49,7 +49,7 @@ describe('ErrorBoundary', () => {
|
|
|
49
49
|
render(
|
|
50
50
|
<ErrorBoundary sendTelemetryEvent={sendTelemetryEvent}>
|
|
51
51
|
<Child />
|
|
52
|
-
</ErrorBoundary
|
|
52
|
+
</ErrorBoundary>,
|
|
53
53
|
);
|
|
54
54
|
expect(sendTelemetryEvent).toHaveBeenCalled();
|
|
55
55
|
});
|
|
@@ -58,7 +58,7 @@ describe('ErrorBoundary', () => {
|
|
|
58
58
|
render(
|
|
59
59
|
<ErrorBoundary>
|
|
60
60
|
<Child />
|
|
61
|
-
</ErrorBoundary
|
|
61
|
+
</ErrorBoundary>,
|
|
62
62
|
);
|
|
63
63
|
const errorMessage = screen.getByText('Oops! There was a problem');
|
|
64
64
|
expect(errorMessage).toBeDefined();
|
|
@@ -68,7 +68,7 @@ describe('ErrorBoundary', () => {
|
|
|
68
68
|
render(
|
|
69
69
|
<ErrorBoundary>
|
|
70
70
|
<Child />
|
|
71
|
-
</ErrorBoundary
|
|
71
|
+
</ErrorBoundary>,
|
|
72
72
|
);
|
|
73
73
|
fireEvent.click(screen.getByText('Restore default settings'));
|
|
74
74
|
await screen.findByText(OKBUTTONTEXT);
|
|
@@ -80,7 +80,7 @@ describe('ErrorBoundary', () => {
|
|
|
80
80
|
render(
|
|
81
81
|
<ErrorBoundary>
|
|
82
82
|
<Child />
|
|
83
|
-
</ErrorBoundary
|
|
83
|
+
</ErrorBoundary>,
|
|
84
84
|
);
|
|
85
85
|
const report = await screen.findByText(SYSTEM_REPORT);
|
|
86
86
|
expect(report).toBeDefined();
|
|
@@ -68,15 +68,17 @@ class ErrorBoundary extends React.Component<
|
|
|
68
68
|
sendTelemetryEvent,
|
|
69
69
|
} = this.props;
|
|
70
70
|
|
|
71
|
-
sendTelemetryEvent != null
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
if (sendTelemetryEvent != null) {
|
|
72
|
+
sendTelemetryEvent(error.message);
|
|
73
|
+
} else {
|
|
74
|
+
sendErrorReport(error.message);
|
|
75
|
+
}
|
|
74
76
|
|
|
75
77
|
generateSystemReport(
|
|
76
78
|
new Date().toISOString().replace(/:/g, '-'),
|
|
77
79
|
devices,
|
|
78
80
|
selectedDevice,
|
|
79
|
-
selectedSerialNumber
|
|
81
|
+
selectedSerialNumber,
|
|
80
82
|
).then(report => {
|
|
81
83
|
this.setState({ systemReport: report });
|
|
82
84
|
});
|
|
@@ -169,7 +171,7 @@ class ErrorBoundary extends React.Component<
|
|
|
169
171
|
variant="primary"
|
|
170
172
|
onClick={() =>
|
|
171
173
|
openUrl(
|
|
172
|
-
'https://devzone.nordicsemi.com/support/add'
|
|
174
|
+
'https://devzone.nordicsemi.com/support/add',
|
|
173
175
|
)
|
|
174
176
|
}
|
|
175
177
|
>
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
|
|
24
24
|
import './error.scss';
|
|
25
25
|
|
|
26
|
-
const
|
|
26
|
+
const SingleErrorMessage = ({
|
|
27
27
|
error: { message, detail },
|
|
28
28
|
}: {
|
|
29
29
|
error: ErrorMessage;
|
|
@@ -40,7 +40,7 @@ const MultipleErrorMessages = ({ messages }: { messages: ErrorMessage[] }) => (
|
|
|
40
40
|
<ul>
|
|
41
41
|
{messages.map(message => (
|
|
42
42
|
<li key={message.message}>
|
|
43
|
-
<
|
|
43
|
+
<SingleErrorMessage error={message} />
|
|
44
44
|
</li>
|
|
45
45
|
))}
|
|
46
46
|
</ul>
|
|
@@ -74,12 +74,12 @@ const ErrorDialog = () => {
|
|
|
74
74
|
>
|
|
75
75
|
{label}
|
|
76
76
|
</DialogButton>
|
|
77
|
-
)
|
|
77
|
+
),
|
|
78
78
|
)
|
|
79
79
|
}
|
|
80
80
|
>
|
|
81
81
|
{messages.length === 1 ? (
|
|
82
|
-
<
|
|
82
|
+
<SingleErrorMessage error={messages[0]} />
|
|
83
83
|
) : (
|
|
84
84
|
<MultipleErrorMessages messages={messages} />
|
|
85
85
|
)}
|
|
@@ -12,7 +12,7 @@ const appendIfNew = (messages: ErrorMessage[], message: ErrorMessage) => {
|
|
|
12
12
|
const messageExists = messages.some(
|
|
13
13
|
existingMessage =>
|
|
14
14
|
existingMessage.message === message.message &&
|
|
15
|
-
existingMessage.detail === message.detail
|
|
15
|
+
existingMessage.detail === message.detail,
|
|
16
16
|
);
|
|
17
17
|
|
|
18
18
|
return messageExists ? messages : [...messages, message];
|
|
@@ -47,7 +47,7 @@ const slice = createSlice({
|
|
|
47
47
|
prepare: (
|
|
48
48
|
message: string,
|
|
49
49
|
errorResolutions?: ErrorResolutions,
|
|
50
|
-
detail?: string
|
|
50
|
+
detail?: string,
|
|
51
51
|
) => ({
|
|
52
52
|
payload: { message: { message, detail }, errorResolutions },
|
|
53
53
|
}),
|
|
@@ -58,7 +58,7 @@ const slice = createSlice({
|
|
|
58
58
|
}: PayloadAction<{
|
|
59
59
|
message: ErrorMessage;
|
|
60
60
|
errorResolutions?: ErrorResolutions;
|
|
61
|
-
}
|
|
61
|
+
}>,
|
|
62
62
|
) => {
|
|
63
63
|
state.isVisible = true;
|
|
64
64
|
state.errorResolutions = error.errorResolutions;
|
|
@@ -31,17 +31,17 @@ const LOADER_ANIMATION = (dismissTime: number) =>
|
|
|
31
31
|
dismissTime - SLIDE_OUT_DURATION_MS
|
|
32
32
|
}ms flash-message-loader linear forwards`;
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
const SingleFlashMessage = ({
|
|
35
|
+
flashMessage,
|
|
36
|
+
}: {
|
|
35
37
|
flashMessage: FlashMessage;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const FlashMessage = ({ flashMessage }: FlashMessageProps) => {
|
|
38
|
+
}) => {
|
|
39
39
|
const { id, message, variant, dismissTime } = flashMessage;
|
|
40
40
|
|
|
41
41
|
const dispatch = useDispatch();
|
|
42
42
|
const divRef = useRef(null);
|
|
43
43
|
const [fadeoutTimer, setFadeoutTimer] = useState<string>(
|
|
44
|
-
dismissTime == null ? 'unset' : `${dismissTime}ms
|
|
44
|
+
dismissTime == null ? 'unset' : `${dismissTime}ms`,
|
|
45
45
|
);
|
|
46
46
|
const timeoutHandler = useRef<number | undefined>(undefined);
|
|
47
47
|
|
|
@@ -79,7 +79,7 @@ const FlashMessage = ({ flashMessage }: FlashMessageProps) => {
|
|
|
79
79
|
variant === 'error' && 'tw-bg-red',
|
|
80
80
|
variant === 'success' && 'tw-bg-green',
|
|
81
81
|
variant === 'info' && 'tw-bg-nordicBlue',
|
|
82
|
-
variant === 'warning' && 'tw-bg-orange'
|
|
82
|
+
variant === 'warning' && 'tw-bg-orange',
|
|
83
83
|
)}`}
|
|
84
84
|
style={{
|
|
85
85
|
zIndex: 1000,
|
|
@@ -134,7 +134,7 @@ const FlashMessages = () => {
|
|
|
134
134
|
}}
|
|
135
135
|
>
|
|
136
136
|
{messages.map(flashMessage => (
|
|
137
|
-
<
|
|
137
|
+
<SingleFlashMessage
|
|
138
138
|
key={flashMessage.id}
|
|
139
139
|
flashMessage={flashMessage}
|
|
140
140
|
/>
|
|
@@ -145,7 +145,7 @@ const FlashMessages = () => {
|
|
|
145
145
|
|
|
146
146
|
const flashMessageAnimations = (
|
|
147
147
|
initialRender2: boolean,
|
|
148
|
-
dismissTime2?: number
|
|
148
|
+
dismissTime2?: number,
|
|
149
149
|
): string => {
|
|
150
150
|
if (!dismissTime2) {
|
|
151
151
|
return initialRender2 ? SLIDE_IN_ANIMATION : 'unset';
|
|
@@ -33,13 +33,13 @@ const slice = createSlice({
|
|
|
33
33
|
reducers: {
|
|
34
34
|
addNewMessage: (
|
|
35
35
|
state,
|
|
36
|
-
{ payload: message }: PayloadAction<FlashMessagePayload
|
|
36
|
+
{ payload: message }: PayloadAction<FlashMessagePayload>,
|
|
37
37
|
) => {
|
|
38
38
|
state.messages.push({ ...message, id: nanoid() });
|
|
39
39
|
},
|
|
40
40
|
removeMessage: (state, { payload: id }: PayloadAction<string>) => {
|
|
41
41
|
state.messages = state.messages.filter(
|
|
42
|
-
message => message.id !== id
|
|
42
|
+
message => message.id !== id,
|
|
43
43
|
);
|
|
44
44
|
},
|
|
45
45
|
},
|
|
@@ -76,7 +76,7 @@ const newFlashMessage =
|
|
|
76
76
|
message,
|
|
77
77
|
variant,
|
|
78
78
|
dismissTime,
|
|
79
|
-
})
|
|
79
|
+
}),
|
|
80
80
|
);
|
|
81
81
|
};
|
|
82
82
|
|