diff --git a/CHANGELOG.md b/CHANGELOG.md index d823ff4a..de8e8fb7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,12 +7,24 @@ ### Added - Added better error message when no files to backup ([support#681]). - Added multi-step firmware flashing dialog. -- Added support for flashing firmware via USB DFU. +- Added support for flashing firmware via USB DFU ([support#659]). - Added an interactive introductory tour of the app. +- Added restore official LEGO firmware dialog. + +### Changed +- Updated dependencies. +- Updated firmware to Pybricks v3.2.0b3: + + ### Fixed + - Fix integral control not working properly. + + ### Changed + - `Motor.run_time` no longer raises an exception for negative time values. ### Fixed - Fixed deleting files that are not open in the editor. +[support#659]: https://github.com/pybricks/support/issues/659 [support#681]: https://github.com/pybricks/support/issues/681 ## [2.0.0-beta.3] - 2022-07-06 diff --git a/src/alerts/UnexpectedErrorAlert.tsx b/src/alerts/UnexpectedErrorAlert.tsx index 9239dd3f..f84e0821 100644 --- a/src/alerts/UnexpectedErrorAlert.tsx +++ b/src/alerts/UnexpectedErrorAlert.tsx @@ -2,7 +2,14 @@ // Copyright (c) 2022 The Pybricks Authors import './UnexpectedErrorAlert.scss'; -import { AnchorButton, Button, ButtonGroup, Collapse, Intent } from '@blueprintjs/core'; +import { + AnchorButton, + Button, + ButtonGroup, + Collapse, + Intent, + Pre, +} from '@blueprintjs/core'; import React, { useState } from 'react'; import { useId } from 'react-aria'; import { CreateToast } from '../i18nToaster'; @@ -33,7 +40,7 @@ const UnexpectedErrorAlert: React.VoidFunctionComponent{i18n.translate('technicalInfo')} -
{error.stack}
+
{error.stack}
diff --git a/src/app/constants.ts b/src/app/constants.ts index 4bf20841..d66af0d3 100644 --- a/src/app/constants.ts +++ b/src/app/constants.ts @@ -44,6 +44,11 @@ export const pybricksUsbDfuWindowsDriverInstallUrl = export const pybricksUsbLinuxUdevRulesUrl = 'https://github.com/pybricks/support/discussions/688#discussioncomment-3239099'; +export const pybricksBleFirmwareRestoreVideoUrl = + 'https://pybricks.com/install/technic-boost-city/#restoring-the-original-firmware'; + +export const pybricksDfuRestoreUrl = 'https://dfu.pybricks.com'; + /** Pybricks copyright statement. */ export const pybricksCopyright = 'Copyright (c) 2020-2022 The Pybricks Authors'; diff --git a/src/ble/alerts/NoWebBluetooth.tsx b/src/ble/alerts/NoWebBluetooth.tsx index cb1c82eb..c7d88e5a 100644 --- a/src/ble/alerts/NoWebBluetooth.tsx +++ b/src/ble/alerts/NoWebBluetooth.tsx @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT // Copyright (c) 2022 The Pybricks Authors -import { Button, Intent } from '@blueprintjs/core'; +import { Button, Code, Intent } from '@blueprintjs/core'; import React from 'react'; import { CreateToast } from '../../i18nToaster'; import { isIOS, isLinux } from '../../utils/os'; @@ -19,9 +19,9 @@ const NoWebBluetooth: React.VoidFunctionComponent = () => { <>

{i18n.translate('noWebBluetooth.linux')}

- + chrome://flags/#enable-experimental-web-platform-features - +