Commit Graph
157 Commits
Author SHA1 Message Date
David Lechner fc89c7b329 explorer: active file after duplicating
When duplicating a file users expect the file to be opened as in other
applications.

Fixes: https://github.com/pybricks/support/issues/1084
2023-05-26 11:13:31 -05:00
David Lechner 7351dfb95c editor: fix replacing file when open in editor
When we import/replace a file that is open in an editor, instead of
modifying the file in storage, we need to modify the file in the editor.
This allows the modification to be pushed on the undo stack so that
the user can undo the change in case it wrote over any of their recent
changes.

Issue: https://github.com/pybricks/support/issues/975
2023-05-18 17:06:31 -05:00
David Lechner 2edfc7e127 v2.2.0-beta.4 2023-05-16 15:51:28 -05:00
David Lechner 945657d465 update pybricks packages
new firmware + api and docs
2023-05-16 15:49:20 -05:00
David Lechner e4b6ea0960 editor: don't paste on middle click to close tab
To avoid the Linux feature of pasting on middle click, we need to
consume the mouse up event in the browser on middle click instead of
mouse down.

This also sets the `selectionClipboard` editor option to false which
should disable the feature altogether in the monaco editor but the
setting seems to be broken in the browser[1].

[1]: https://github.com/microsoft/vscode/issues/181050

Fixes: https://github.com/pybricks/support/issues/1046
2023-04-27 12:12:08 -05:00
David Lechner 1219a377d4 ble/sagas: show alert when Pybricks Profile is newer
If the user sideloads a firmware that has communication features that
are newer than what is supported by the app, then show a warning message.
2023-04-24 17:38:53 -05:00
David Lechner 56aab66047 CHANGELOG: fix link 2023-04-24 12:08:33 -05:00
David Lechner 8ac59f3d8d v2.2.0-beta.3 2023-04-24 11:18:03 -05:00
David Lechner 0a33c6a24b CHANGELOG: fix copy/pasted firmware version 2023-04-21 16:59:51 -05:00
David Lechner 62c4ba013c update to Pybricks firmware v3.3.0b4 2023-04-21 16:59:51 -05:00
David Lechner 337209744c add support for Pybricks Profile v1.3.0 2023-04-19 13:03:48 -05:00
David Lechner be3afa167a hub/sagas: fix error message not shown when starting repl
- Add check for repl start command success/fail.
- Show error message on fail.
- Rename start repl action.
- Add new did start/did fail to start repl actions.
- Change terminal saga to use did start repl action to focus terminal.
- Add more tests.
2023-04-01 13:38:19 -05:00
David Lechner 70020275a7 ble/alerts/Disconnected: better error message for disconnected
WebBluetooth generally uses DomException with name NetworkError to mean
that Bluetooth is disconnected, so we can use that to provide a helpful
error message.
2023-04-01 13:38:19 -05:00
David Lechner 19f6862bb5 hub/reducers: change hub runtime state when disconnecting
When disconnect is requested, we should not longer allow interacting
with the hub, so we say the runtime state is unknown until it is
confirmed to be disconnected.

Fixes: https://github.com/pybricks/support/issues/1021
2023-04-01 13:38:19 -05:00
David Lechner 91b82ab737 v2.2.0-beta.2 2023-03-31 13:19:36 -05:00
David Lechner 7cd986dbd8 Pybricks firmware v3.3.0b3 2023-03-28 10:44:23 -05:00
David Lechner be32c37f18 editor/sagas: focus editor when activated
When a file is activated, it is an indication that the user wants to
edit the file right now, so the editor should be focused.
2023-03-28 10:44:23 -05:00
David Lechner 77ba67a38e v2.2.0-beta.1 2023-03-08 18:12:51 -06:00
David Lechner eee8bff17b update Pybricks firmware to v3.3.0b2 2023-03-08 17:49:20 -06:00
David Lechner 6a9405e653 explorer: add support for importing ZIP
Also add a new dialog to get user input when file names conflict.

Previously, we were not supplying a list of existing files, so existing
files were silently written over.

Fixes: https://github.com/pybricks/support/issues/833
2023-03-07 14:31:12 -06:00
David Lechner c2d4974a0e v2.1.1 2023-02-17 16:00:55 -06:00
David Lechner 41763c2f9f package.json: update Pybricks firmware to v3.2.3 2023-02-17 15:59:54 -06:00
David Lechner 0d3447a0b6 editor: show error message on fail to activate
When gotoError fails to activate a file, we need to show an error
message, otherwise it just appears to the user that the button is
broken.

Fixes: https://github.com/pybricks/support/issues/924
2023-02-13 16:13:58 -06:00
David Lechner 4551280544 v2.1.0 2023-01-06 15:49:03 -06:00
David Lechner b24bd6a03b package: update firmware to v3.2.2 2023-01-06 15:45:47 -06:00
David Lechner 2de7803c77 v2.1.0-beta.4 2022-12-30 16:10:49 -06:00
David Lechner 62d7fdff36 editor/sagas: disable code completion trigger on space
This gets in the way when typing comments and often results in
accepting a completion that was not intended.

Fixes: https://github.com/pybricks/support/issues/894
2022-12-30 16:07:52 -06:00
David Lechner 7d5c9710e5 editor/sagas: fix signature trigger characters
The intended behavior is that comma should trigger signature help when
it is not showing. retrigger only triggers if already showing.
2022-12-30 16:04:48 -06:00
David Lechner d119cb564e editor: fix find widget z-index
When open, the find widget was visible above modal dialogs because
of z-index.
2022-12-30 14:08:36 -06:00
David Lechner ca50d60b2c app: fix vertical resizing issues
Some new issues with layout when resizing the browser window vertically
were caused either by recent xterm updates or other recent style changes.

This works around those issues.
2022-12-30 14:08:36 -06:00
David Lechner dfe1d3b721 v2.1.0-beta.3 2022-12-28 17:07:29 -06:00
David Lechner e153ffe295 pybricksMicropython: fix import completion for user module
The pybricks_jedi package was filtering on only pybricks modules but
now has a feature to amend the filter to include user modules.

Fixes: https://github.com/pybricks/support/issues/759
2022-12-28 17:04:23 -06:00
David Lechner 2f14fde584 package: update @pybricks/jedi to v1.7.0 2022-12-28 16:20:03 -06:00
David Lechner 74f1619eb3 app: fix clipping of editor popups
Editor popups like the ones for code completion were getting clipped
by the layout pane containers.
2022-12-27 17:35:11 -06:00
David Lechner 43a6f63eaf editor/pybricksMicroPython: improve f-string highlighting
Fixes: https://github.com/pybricks/support/issues/875
2022-12-27 17:35:11 -06:00
David Lechner 5bef7e2637 editor/pybricksMicroPython: improve operator highlighting
This handles newer things like the := operator better.
2022-12-27 17:35:11 -06:00
David Lechner 1db0c48844 editor/pybricksMicroPython: improve numeric literal highlighting
- Drop Python 2.x "L" suffix.
- Add support for underscores.
- Drop including leading minus sign.
- Add support for binary.
- Add support for octal.
2022-12-27 17:35:11 -06:00
David Lechner e5154013c3 v2.1.0-beta.2 2022-12-26 09:39:06 -06:00
David Lechner 212a3c85ff package.json: update @pybricks/firmware@6.6.0 2022-12-26 09:36:24 -06:00
David Lechner 90b7c2256e v2.1.0-beta.1 2022-12-23 10:54:04 -06:00
David Lechner bb2fa3ae1d package: switch to @pybricks/python-program-analysis
The package we were using was only for Python 3.4 and didn't include
async/await which broke imports in any script that used async/await.

Fixes: https://github.com/pybricks/support/issues/873
2022-12-22 13:21:02 -06:00
David Lechner 48b99cb3a5 public/manifest: change display to "standalone"
"fullscreen" is for immersive apps like games (and is only available
on Android currently which is why we didn't notice the app going
fullscreen on desktop).

Fixes: https://github.com/pybricks/support/issues/867
2022-12-21 20:27:21 -06:00
David Lechner 64b6251c1a terminal: add audio/visual feedback when no user program
Characters typed into the terminal are only sent to the hub when a user
program is running. This provides audio and visual feedback to indicate
to the user that keystrokes have no effect when the user program is not
running.
2022-12-21 16:28:17 -06:00
David Lechner ef81bb2341 v2.0.1 2022-12-21 13:27:33 -06:00
David Lechner 23db8f4d9b terminal: fix input handler loop getting stuck
When no hub is connected, the terminal input handler loop would get
stuck waiting for didWrite or didFailToWrite which would never come
because handleWriteUart in ble/sagas only runs when a hub is connected.

This is fixed by only dispatching a write action if a user program is
running on the hub. By using this state, it also fixes characters being
buffered before the user program starts, e.g.

- connect hub
- type into terminal - no echo
- start the repl
- previously typed characters are echoed after the repl prompt

Now, anything typed before the user program is just ignored.

Fixes: https://github.com/pybricks/support/issues/865
Also properly fixes https://github.com/pybricks/support/issues/303
2022-12-21 12:40:47 -06:00
David Lechner a12ae333f6 yarn: revert xterm to 5.0.0
xterm v5.1.0 broke scrolling so we lock in v5.0.0 for now.
2022-12-21 12:40:47 -06:00
David Lechner 49e9606321 v2.0.0 2022-12-20 15:39:26 -06:00
David Lechner 358e893ec6 package: update @pybricks/firmware to v3.2.0 2022-12-20 15:39:26 -06:00
David Lechner 5d3c74b777 firmware/dfuWindowsDriverInstallDialog: move instructions in app
This replaces the link for Windows DFU USB driver installation
instructions with a new in-app dialog containing the instructions.

Fixes: https://github.com/pybricks/support/issues/858
2022-12-19 15:17:31 -06:00
David Lechner eb4dff4972 explorer: focus file tree when empty area clicked
This adds an event listener to catch focus events when clicking the
empty area below the file list. Users intuitively expect this to focus
the file list.

Fixes: https://github.com/pybricks/support/issues/856
2022-12-16 17:54:36 -06:00