Commit Graph
134 Commits
Author SHA1 Message Date
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
David Lechner e2a669650c v2.0.0-rc.1 2022-12-09 16:09:26 -06:00
David Lechner fa9cb07d69 CHANGELOG: add extra heading level for firmware changes 2022-12-09 16:08:00 -06:00
David Lechner c7d0b9d3bd @pybricks/firmware@v6.4.0: update firmware to v3.2.0c1 2022-12-09 16:06:53 -06:00
David Lechner 0f871c6b2c bootloaderInstructions: add videos
This adds videos to show how to enter bootloader mode.

Issue: https://github.com/pybricks/support/issues/728
2022-12-09 13:24:00 -06:00
David Lechner 614e0b0074 firmware: remove android check for chunk size
This should no longer be needed since Chrome v98 (released Nov. 2021).
2022-12-08 17:10:47 -06:00
David Lechner cc20ab8c35 editor: move docs toggle from settings
This removes the docs toggle switch from the settings and adds a new
docs toggle button to the editor.

Fixes: https://github.com/pybricks/support/issues/778
2022-12-06 15:38:58 -06:00
David Lechner 05445c1b07 settings: use sessionStorage for doc state
This adds use of sessionStorage for the documentation visibility toggle.
This way, when multiple windows are open, the docs can be controlled
separately in each window. Local storage is still used as the default
value for new windows.

Issue: https://github.com/pybricks/support/issues/807
2022-12-06 15:38:58 -06:00
David Lechner ee850dec71 activities: use sessionStorage for selected tab
The useLocalStorage hook synchronizes state between windows. In the
case of the activities tabs, we don't want this state synchronized,
otherwise changing a tab in one window would change the tab in all
open windows.

Instead, we can use sessionStorage so that the state persists when
refreshing or duplicating a browser tab. Local storage is still used
as the default value so that any new window that is opened will use
the last selected state.

Issue: https://github.com/pybricks/support/issues/807
2022-12-06 15:38:58 -06:00
David Lechner 27b2c42023 tour: open settings when triggered from startup
Since we moved the first tour step to a possibly hidden place, we need
to make sure it is showing before starting the tour.

Fixes: https://github.com/pybricks/support/issues/823
2022-12-05 13:17:37 -06:00
David Lechner f5fbea905f CHANGELOG: move link into correct section 2022-12-05 13:17:37 -06:00
David Lechner ec556e8589 v2.0.0-beta.12 2022-12-02 12:10:17 -06:00
David Lechner 19878cbac6 update @pybricks/firmware to firmware v3.2.0b2 2022-12-02 11:54:18 -06:00
David Lechner a443ced3f4 CHANGELOG: add entry for 71c8605 2022-12-02 11:37:22 -06:00
David Lechner 99760146a6 tour: move button to settings
Since we have the Pybricks logo elsewhere now, we don't need to have
this button on the toolbar. Instead, put it in the settings where it
is out of the way, but can still be used to watch the tour again if
desired.

Some steps are reordered so we don't jump back and forth between
activities since we are starting from the settings tab now.

Also fix changing the selected activities tab when closing the tour.
2022-12-01 17:08:19 -06:00
David Lechner 6a979cafa8 editor: add pybricks logo welcome 2022-12-01 17:08:19 -06:00
David Lechner 95199e44c1 hub/alerts/UserProgramSize: add alert for program too big
This finishes the TODO about adding a proper message.

Fixes: https://github.com/pybricks/support/issues/810
2022-11-22 15:56:56 -06:00
David Lechner b5b857bca5 firmware/sagas: implement restoring official firmware
Closes: https://github.com/pybricks/pybricks-code/issues/1104
2022-11-18 19:28:00 -06:00
David Lechner f167f168ee fix missing icons
Warning sign was missed in 90b04f8. 20px error and info are added just
in case.
2022-11-18 19:28:00 -06:00
David Lechner abb4578450 v2.0.0-beta.11 2022-11-11 13:00:40 -06:00
David Lechner 6f91c57743 firmware/sagas: add delay after connecting
This adds a delay after connecting to a hub when flashing firmware via
BLE before sending any commands. This gives the OS Bluetooth stack time
to finish enumerating the Bluetooth device before we start trying to
interact with the device. Hopefully this fixes issues for some people
who are seeing problems while flashing firmware.

Issue: https://github.com/orgs/pybricks/discussions/792
2022-11-11 13:00:40 -06:00
David Lechner b2e098f2dd app: catch error when checking for updates
ServiceWorkerRegistration.update() can raise exceptions, so we need to
catch and handle them, otherwise it will crash redux sagas and the app
will stop responding.

Fixes: https://github.com/pybricks/pybricks-code/issues/1299
2022-11-11 13:00:40 -06:00
David Lechner e31a567f93 vv2.0.0-beta.10 2022-11-11 12:02:59 -06:00
David Lechner 11d3a81426 update @pybricks dependencies 2022-11-11 11:59:51 -06:00