David Lechner
6dc4dcb2e5
toolbar: specify image width/height
...
This make the button the right size while waiting for the image to download.
Fixes: https://github.com/pybricks/support/issues/369
2021-12-27 12:38:50 -06:00
David Lechner
11e0fefb1d
toolbar: use function form of Dropzone
2021-12-27 12:38:50 -06:00
David Lechner
eb9ea2876e
toolbar: remove unuse buttonRef in ActionButton
2021-12-27 12:38:50 -06:00
David Lechner
9be6ba3640
update to Tooltip2
...
Tooltip has been deprecated so trying out the new Tooltip2.
2021-12-27 12:38:50 -06:00
David Lechner
db7f3be222
utils: convert ExternalLinkIcon to function
2021-12-27 12:38:50 -06:00
David Lechner
534d3f80e6
toolbar: convert Toolbar to function
2021-12-27 12:38:50 -06:00
David Lechner
8cd014c2ab
toolbar: convert OpenFileButton to function
2021-12-27 12:38:50 -06:00
David Lechner
f3e179683e
toolbar: convert ActionButton to function
2021-12-27 12:38:50 -06:00
David Lechner
4b19604fa9
terminal: convert Terminal to function component
2021-12-27 12:38:50 -06:00
David Lechner
5d201e61ae
status-bar: convert StatusBar to function
2021-12-27 12:38:50 -06:00
David Lechner
d5ad768122
notifications: use lambda syntax for components
2021-12-27 12:38:50 -06:00
David Lechner
a58b30ed07
licenses: convert LicenseDialog to functions
2021-12-27 12:38:50 -06:00
David Lechner
57038360f4
hub/sagas: don't log to console in tests
2021-12-27 12:38:50 -06:00
David Lechner
c9894de95e
hub: convert StopButton to function
2021-12-27 12:38:50 -06:00
David Lechner
f57bbdf8e2
hub: convert RunButton to function
2021-12-27 12:38:50 -06:00
David Lechner
dbda94c33f
hub: convert BluetoothButton to function
2021-12-27 12:38:50 -06:00
David Lechner
f1f6b2076d
firmware: convert FlashButton to function
2021-12-27 12:38:50 -06:00
David Lechner
0738046ab1
editor: conver SaveAsButton to function
2021-12-27 12:38:49 -06:00
David Lechner
384cb78a74
editor: convert OpenButton to function
2021-12-27 12:38:49 -06:00
David Lechner
476998030c
editor: convert Editor to function component
2021-12-27 12:38:46 -06:00
David Lechner
c29f879086
app: use lambda style for App function
2021-12-27 12:36:38 -06:00
David Lechner
650413d1fb
about: convert AboutDialog to function
2021-12-27 12:36:38 -06:00
David Lechner
e8a3026c43
settings: convert SettingsButton to function
2021-12-27 12:36:38 -06:00
David Lechner
a1db455a66
settings: convert SettingsDrawer to function
...
This reduces boilerplate code.
2021-12-27 12:36:38 -06:00
David Lechner
97c5a3bfb8
settings: add hub name tooltip
2021-11-19 20:48:06 -06:00
David Lechner
ae40c2f540
firmware: flash custom hub name
...
This adds support for customizing the hub name when flashing firmware.
Fixes: https://github.com/pybricks/support/issues/52
2021-11-19 20:48:06 -06:00
David Lechner
86c0e933f3
settings: add new hubName setting
...
This setting will be used to customize the hub name when flashing
firmware. This commit just implements the setting.
Some changes needed to be made to the existing settings infrastructure
since previously it only allowed boolean settings.
2021-11-19 20:48:06 -06:00
David Lechner
39c66eb98c
yarn: add monaco-editor
...
react-monaco-editor changed to include monaco-editor as a peer dependency.
Also fix breakage for updated monaco-editor version.
2021-11-17 16:06:28 -06:00
David Lechner
788b77fda0
notifications: add firmware version check
...
This adds a firmware version check that shows an error message if the
connected hub is running an older Pybricks firmware version.
Issue: https://github.com/pybricks/support/issues/482
2021-09-15 16:49:51 -05:00
David Lechner
e7d44ea9a9
src/utils: add ensureError() function
...
Typescript v4.4 no longer assumes that the error in catch is an Error
object [1]. This adds a helper function to ensure that caught errors
at least match the Error interface. If not, it creates a new Error
object with the value as the message.
[1]: https://devblogs.microsoft.com/typescript/announcing-typescript-4-4-beta/#using-unknown-in-catch-variables
2021-08-30 13:06:01 -05:00
David Lechner
af89c0b80b
about: add firmware version as main version
...
Since the firmware version is the most important version, make it the
primary version. (We still need the Pybricks Code version since not
every update includes a firmware update.)
2021-08-13 12:13:05 -05:00
David Lechner
b7b3522f78
Merge remote-tracking branch 'origin/master' into dlech
2021-08-13 10:46:01 -05:00
David Lechner
7ddeed58b7
firmware: validate checksum while flashing
...
Since we are using the checksum message for throttling flash speed
anyway, we can validate the checksum during the flash process to
catch errors earlier.
Issue: https://github.com/pybricks/support/issues/433
2021-08-13 10:40:49 -05:00
David Lechner
ce8f59e0c2
firmware: fix flashing on Android
...
Hubs that don't use the minimum chunk size will fail on Android since
it defaults to the smallest possible MTU.
Issue: https://github.com/pybricks/support/issues/403
2021-08-12 15:55:24 -05:00
David Lechner
56c739fa08
os: add isAndroid() function
...
This will be used to test if the app is running on Android.
2021-08-12 15:55:24 -05:00
David Lechner
2ba6d88c49
editor: remove gutter background override
...
This was carried over from the Ace editor, but doesn't work well with
the Monaco editor.
Fixes: https://github.com/pybricks/pybricks-code/issues/472
2021-07-08 15:57:16 -05:00
David Lechner
9ee2d1f102
editor: clean up keywords and builtins
...
- remove python 2 stuff
- separate builtins from keywords
2021-07-08 15:56:27 -05:00
David Lechner
ad948dc152
editor: copy python language configuration
...
This copies the language configuration from https://github.com/microsoft/monaco-languages/blob/d7cc098c481059f63d51ce3753975c8ca8ab6030/src/python/python.ts
This fixes a number of editor features, like auto-indent.
Fixes: https://github.com/pybricks/pybricks-code/issues/470
2021-07-08 15:55:50 -05:00
David Lechner
4b0dc90e8d
editor: improve template snippets
...
- fix always being suggested
- add more imports
- reduce duplicated code
Fixes https://github.com/pybricks/pybricks-code/issues/471
2021-07-08 15:55:03 -05:00
David Lechner
4e2902730a
hub: fix buttons not enabled after connection
...
A previous commit broke buttons after connecting since state all state
transitions were changed to be ignored if the current state was
"disconnected". This made it impossible to get into any other state.
This brings back use of the "unknown" state upon initial connection
to provide a path out of the "disconnected" state.
Fixes: 7a5aa75894
2021-07-06 10:53:56 -05:00
David Lechner
d95c550248
editor: change from ace to monaco
...
This replaces the ace editor with the monaco editor. It fixes quite a
few small paper-cut bugs and should be easier to add code completion
to in the future.
Many of the snippets are omitted but can be added back later if needed.
Otherwise, we have tried to preserve the existing look and feel as much
as possible.
2021-07-02 20:59:09 -05:00
David Lechner
c3851e7139
tests: use matchMedia polyfill
...
This makes testing code that uses window.matchMedia() work better since
it mocks it globally.
2021-07-02 20:59:09 -05:00
David Lechner
7a5aa75894
hub: fix bad hub runtime state when disconnected
...
This fixes a bad hub runtime state when the hub disconnects during a
download. This caused the run button in the UI to be enabled when the
hub was disconnected.
Issue: https://github.com/pybricks/support/issues/378
2021-07-01 11:58:04 -05:00
David Lechner
ab0ddd04b5
about/AboutDialog: fix failing test when $REACT_APP_NAME set
...
When the `REACT_APP_NAME` environment variable is set to something other
that "Pybricks Code", it caused the test to fail.
2021-06-23 15:12:07 -05:00
David Lechner
10148fa9cf
ble-uart: decode PnP ID if it exists
2021-06-23 12:31:19 -05:00
David Lechner
9fca17fbac
update projects URL to point to Pybricks website
2021-06-08 16:21:48 -05:00
David Lechner
6c692a7e95
fix wrapping on external link buttons
2021-06-08 14:52:44 -05:00
David Lechner
205937fdc3
add changelog link to about dialog
2021-06-08 14:52:44 -05:00
David Lechner
deee6578f7
improved bluetooth adapter error message
...
Issue: https://github.com/pybricks/support/issues/338
2021-05-17 13:24:57 -05:00
David Lechner
12f3f40e36
use spinner when bluetooth is connecting
...
It can take a while (especially on Windows) before the connection is
ready and the other buttons become enabled. So use a spinner to let
the user know that we are working on it.
Issue: https://github.com/pybricks/support/issues/315
2021-05-17 13:03:32 -05:00