Commit Graph
85 Commits
Author SHA1 Message Date
Laurens Valk 51b0988dac app: Improve split view behavior.
**Move activity buttons to main toolbar**
This was on a vscode-style sidebar because we originally thought we would add more. It turns out we will not. Having explorer/settings with the other buttons simplifies the UI.

This also makes the buttons not jump around when you open/close the explorer.

Also improves on small screens, where the explorer would obscure all buttons. Also lets us remove the blueprint hacks we had to make this work.

**Add toggles for sideviews.**
This lets us fix several UI/UX problems. It used to be easy to lose the terminal or docs forever. Now you can toggle them back on with a button and conveniently close them rather than dragging them down.

**Improve splitters**
Switch to react-resizable-panels which lets us control the split as needed. Also when dragging to near closed, it will snap to properly closed. Toggling on then restores normal size. Otherwise it preserves the split value.

The collapsed state of this library is made for hiding the docs without destroying them, so we don't need some of the hacks we had to preserve the terminal and docs state.
2026-04-02 13:08:25 +02:00
Laurens Valk ea9af98d1f usb/sagas: Drop debug prints.
We don't have these for BLE either, and it makes other debugging harder.
2026-04-02 10:25:39 +02:00
Laurens Valk c49df2b81f scripts/serve: Optionally serve over https.
Allows local testing on mobile devices with Bluetooth, USB, and camera suppport.
2026-04-02 10:25:34 +02:00
Laurens Valk 38a71238f9 app: Replace local/session docs toggle with state.
Having this persist across sessions is not necessary and a bit overly complicated when we add more sideview states such as camera (which should not stay on by default).
2026-03-30 14:37:59 +02:00
Laurens Valk 7e4a9b94d5 app: Move docs button component.
Everything is visually unchanged. This just moves the button logic to the app, since it doesn't conceptually belong to the editor component.

It controls things such as docs which has nothing to do with the editor. This way we don't have to pass states as props around when we add more buttons later.
2026-03-30 14:24:49 +02:00
Laurens Valk c3a703f3b3 app: Drop doc toggle shortkey.
This was an undocumented feature that gets in the way of other shortcuts, and doesn't extend well to the sideview being used for other things in future commits.
2026-03-30 14:24:44 +02:00
Laurens Valk 2884825f4c app: Drop persistent docs position.
This was very complicated, particularly between versions and tabs and windows, for something that offers only a minor convenience.

This also makes it simpler to navigate to a particular page interactively by just setting the iframe URL, which is useful for interactive help from the block editor.
2026-03-30 14:24:24 +02:00
Laurens Valk a09383de68 app: Drop hacks that preserved docs scroll.
The iframe automatically scrolled to 0 when CSS `display: none` is set, so we had several workarounds. Hide it instead.
2026-03-30 14:24:14 +02:00
Laurens Valk 98d2e82240 package.json: Bump firmware. 2026-03-19 15:38:32 +01:00
Laurens Valk 660a796333 hub/reducers: Also match legacy flags against USB actions.
We were already doing something similar for USB firmware revision, but this was missed for software revision.
2026-03-19 10:08:42 +01:00
Laurens Valk f3dc7b55b7 sagas/mpy: Use legacy __main__ on old firmware.
Needed for backwards compatibility. Older firmware always look for __main__.

See https://github.com/pybricks/support/issues/2364
2026-03-19 09:11:02 +01:00
Laurens Valk a18d88dffd sagas/mpy: Use main module name instead of __main__.
This is separate from Python's __main__ mechanism, so we shouldn't be manually renaming things to __main__ here.

This also makes file names show correctly on EV3.

See https://github.com/pybricks/support/issues/2364
2026-03-17 15:14:23 +01:00
Laurens Valk 32f2ece4da firmware/bootloaderInstructions: Add EV3 video.
Also fix:
- incorrect reference to version selection during install
- missing HID device name
2026-02-27 12:35:44 +01:00
Laurens ValkandDavid Lechner 3abc3f3b52 usb/sagas: Don't reset USB device.
This operation does not work on Windows, and does not appear to be
crucial on other platforms either. The browser seems to already handle
resetting the endpoints as needed when connecting or closing the browser
(at least on Linux)
2026-01-24 16:16:02 -06:00
Laurens Valk c8d7f6090b toolbar/buttons/usb: Add connected icon.
Fixes https://github.com/pybricks/support/issues/2371
2026-01-23 14:13:18 +01:00
Laurens Valk 8ef3e85c45 ble/sagas: Don't read NUS for new firmware.
This hasn't been used for a long time in Pybricks Code. We're only keeping it in the firmware because Pybricks Code raises an error otherwise.

Disabling it saves about +400 bytes on Move Hub and Technic Hub and helps simplify the firmware. By removing it we don't run untested code if someone connects to the advertised NUS service.
2026-01-23 11:06:21 +01:00
Laurens Valk e5e2d303dd firmware/installPybricksDialog/hooks: Include EV3 zip.
Otherwise EV3 installation cannot proceed even when it
is included in the firmware NPM package.
2026-01-23 10:33:54 +01:00
Laurens Valk 1aa1d40410 package.json: Bump firmware package.
This includes EV3.
2026-01-23 10:33:54 +01:00
Laurens Valk 0aeb53d1f6 deps: Bump firmware and docs. 2025-02-26 13:08:59 +01:00
Laurens Valk 5c3af1c3da sponsor: Fix <ul> nested under <p>. 2023-12-18 13:13:45 +01:00
Laurens Valk acf2373591 v2.3.0-beta.1 2023-11-24 13:02:31 +01:00
Laurens Valk 816645a806 v2.2.0 2023-11-24 11:59:03 +01:00
Laurens Valk 058b98896f v2.2.0-rc.1 2023-11-20 14:39:13 +01:00
laurensvalkandGitHub 895103244b Merge pull request #2081 from pybricks/v3.3.0b9
V3.3.0b9
2023-10-26 22:33:47 +02:00
Laurens Valk 9eba6c46c7 v2.2.0-beta.9 2023-10-26 22:20:16 +02:00
Laurens Valk 595a17ac4a build(deps): Bump firmware, docs, jedi to v3.3.0b9. 2023-10-26 22:19:53 +02:00
Laurens ValkandDavid Lechner 44512c9533 firmware/bootloaderInstructions: Clarify hold button text. 2022-12-22 10:20:37 -06:00
Laurens ValkandDavid Lechner 7277ddb1bd firmware/dfuWindows: Split properties step.
There may be one of three situations, so split to a bullet list.

Also update a few other strings.
2022-12-20 12:09:04 -06:00
Laurens ValkandDavid Lechner a7a0f5221b firmware/alerts: Show correct instructions for Linux.
Also link to pybricks website for udev rules instead.
2022-12-20 12:09:04 -06:00
Laurens ValkandDavid Lechner b6575c5724 firmware/alerts: Add button to install USB driver. 2022-12-20 12:09:04 -06:00
Laurens Valk 8b3fa29f65 firmware/installPybricksDialog/translations: Copy edit.
This was missed earlier.
2022-12-17 10:31:40 +01:00
Laurens ValkandDavid Lechner 1664a9d342 index.html: Add open graph tags. 2022-12-16 12:23:53 -06:00
Laurens ValkandDavid Lechner a7f354a0d0 index.html: Update meta content.
Fixes https://github.com/pybricks/support/issues/845
2022-12-16 12:23:53 -06:00
Laurens ValkandDavid Lechner 6bc4dbbe99 toolbar/buttons: Copy edit. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 9ceaeee739 firmware/installPybricksDialog: Make heart icon variable. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 4a9f2931d4 firmware/bootloaderInstructions: Group instruction steps. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner e606887319 firmware/bootloaderInstructions: Simplify scss. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner c84d862a57 firmware/alerts: Copy edit. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 67f05a580d firmware/bootloaderInstructions: Pass flashButtonText directly. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 525faa1670 settings: Copy edit. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 3286e4e20b notifications: Copy edit. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 231fbbadeb mpy/alerts: Copy edit. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 3648da6942 firmware/bootloaderInstructions: Copy edit battery instruction. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 390cf235de firmware/bootloaderInstructions: Keep counting instructions.
This ensures the instruction step counter does not reset after a heading.
2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner d303e28756 firmware/bootloaderInstructions: Edit unsupported hubs. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 8aa82eee46 firmware/bootloaderInstructions: Refactor.
- Use steps for the connection procedure
- Use categories (To do: consider making numbering consecutive)
- Show hub bootloader device name explicitly
- List official app to use for recovery (make V2/V3 explicit)
- Copy edit

Also fix the layout (class) of the installation panel to make it consistent with the style of the recovery panel.
2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 560da418e0 firmware/bootloaderInstructions/translations: Add prepare section.
Since there are up to three things to prepare, it is better to start the
list with that. We can still keep a separate section for points that match the video.
2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 2864fa93be firmware/alerts/translations: Copy edit. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 3e56a6b493 editor/translations: Copy edit. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner 97ea2b1ac7 ble/alerts/translations: Copy edit. 2022-12-15 14:59:36 -06:00
Laurens ValkandDavid Lechner dd7f13d33f tour/translations: Copy edit. 2022-12-15 14:59:36 -06:00
Laurens Valk 691fc1585e yarn: Bump @pybricks/jedi to 1.5.0. 2022-12-02 15:29:27 +01:00
Laurens Valk 5448937578 yarn: Bump @pybricks/ide-docs to 2.5.0, pybricks/jedi to 1.4.0. 2022-12-02 15:13:22 +01:00
Laurens Valk 65e5e6af08 editor/welcome: Stop on click.
Don't reset the position.
2022-12-02 09:20:08 +01:00
Laurens Valk 545cf786af settings: Move Welcome Tour to Help. 2022-12-02 09:20:08 +01:00
Laurens ValkandDavid Lechner 0f02c64800 src/components: Move ClipboardIcon and ExternalLinkIcon from utils.
See https://github.com/pybricks/pybricks-code/pull/1321#pullrequestreview-1190431986
2022-11-25 13:40:44 -06:00
Laurens ValkandDavid Lechner 986cb7c184 sponsor/alerts: Add address copy notification.
Fixes https://github.com/pybricks/support/issues/806
2022-11-25 13:40:44 -06:00
Laurens ValkandDavid Lechner 96f9ce313f src/sponsor: Fix button doing nothing.
Now it copies the address to the clipboard for convenience.
2022-11-25 13:40:44 -06:00
Laurens ValkandDavid Lechner 6ca0c49557 sponsor: Add an introduction. 2022-11-10 13:06:38 -06:00
Laurens ValkandDavid Lechner 4e64347870 sponsor: Add Paypal link.
Provide some more convenience options.

Also add an ENS domain while we are at it.
2022-11-10 13:06:38 -06:00
Laurens ValkandDavid Lechner 68810f071a explorer/newFileWizard: Invert template inclusion UI.
Instead of having the option to delete the template after selecting it, it is more intuitive to have a toggle for including it.
2022-11-08 13:56:38 -06:00
a673a45b03 text: Don't say that dashes are allowed. (#1247)
* text: Don't say that dashes are allowed.

This was missed in https://github.com/pybricks/pybricks-code/commit/8b19ad58662186d2295a6241e8c3f84fbfd45809

* explorer/fileNameForGroup: remove dash from translaction dict

Co-authored-by: David Lechner <david@lechnology.com>
2022-10-24 20:07:35 +00:00
Laurens ValkandDavid Lechner 10b2db2cb2 Bump @pybricks/ide-docs from 1.3.3 to 1.4.0
Includes 3.X doc features for next beta release.
2021-06-23 13:15:34 -05:00
Laurens Valk 87b42e2e02 Bump @pybricks/ide-docs from 1.3.2 to 1.3.3
This brings in the updated code snippet style.

Also includes a new example for use in a video tutorial.
2021-05-21 14:17:32 +02:00
Laurens Valk 90e04916bc Bump @pybricks/ide-docs from 1.1.1 to 1.3.1 2021-04-12 11:27:40 +02:00
Laurens Valk 32cabe054a Bump @pybricks/ide-docs from 1.1.0 to 1.1.1
This includes the installation guide.
2021-02-14 19:48:00 +01:00
Laurens Valk 8246bad1e8 add link to example projects 2021-01-18 15:10:02 +01:00
Laurens Valk bc294686ec update yarn 2021-01-18 14:59:01 +01:00
Laurens Valk 5da4b7f98c update flash button text
Make it clearer what it is / why you want to do this
2021-01-15 10:58:53 +01:00
Laurens Valk 0ed5a06900 simplify menu wording 2021-01-15 10:51:35 +01:00
Laurens ValkandDavid Lechner 5561de530b Rename CPlusHub to TechnicHub 2020-10-09 20:26:52 -05:00
Laurens Valk e9783ff821 tweak beta watermark 2020-06-16 09:39:09 +02:00
Laurens Valk 44607ca410 images: add support and pybricks docs buttons 2020-06-13 16:38:22 +02:00
Laurens Valk cab8b66117 images: remove local references 2020-06-13 16:38:22 +02:00
Laurens Valk 4c46f11722 pybricks firmware v3.0.0a3 2020-06-09 14:26:29 +02:00
Laurens Valk d0f5a42c85 app: allow doc videos to be full screen
Without this, the videos can be somewhat hard to see.
2020-06-05 16:47:38 +02:00
Laurens Valk bbad88a502 Bump @pybricks/mpy-cross to v5 2020-06-04 13:21:18 +02:00
Laurens Valk 5190ee3878 app: fix docs not hiding on small viewports
This broke when the nested containers were dropped.

Also change breakpoint from medium to large, so that docs only show in large viewports.
2020-06-01 13:20:30 +02:00
Laurens Valk aa334c2d82 app: drop nested container
This achives the responsive editor height without a nested container.
2020-06-01 13:07:14 +02:00
Laurens ValkandDavid Lechner 2ee64e3711 app: update button icons 2020-05-29 10:24:05 -05:00
Laurens ValkandDavid Lechner d04958bb01 app: configure environment color
Blue will be reserved for the buttons, not the borders
2020-05-29 10:24:05 -05:00
Laurens ValkandDavid Lechner c302b8aa91 app: remove duplicate padding due nested row/col 2020-05-29 10:24:05 -05:00
Laurens ValkandDavid Lechner f8fa09d866 app: show docs
Show only on large viewports, hide it on small viewports.
2020-05-29 10:24:05 -05:00
Laurens ValkandDavid Lechner 67de6c3af9 app: fill vertically & horizontally
Do not use a fixed height for the editor, but responsively scale to the remaining available height.

Also fill horizontally for a responsive layout. This gives us room to add left or right columns with docs or settings.
2020-05-29 10:24:05 -05:00
Laurens Valk 93e0bf8902 hub: check response to size message
The hub responds to every message with a checksum. The mpy size message is no different, so we need to read it.

This fixes the checksum messages being out of sync by one.
2020-05-08 12:08:25 +02:00