Commit Graph
1325 Commits
Author SHA1 Message Date
David Lechner 1403dbb2f5 fix codeql recommendations
https://github.com/pybricks/pybricks-code/pull/823/checks?check_run_id=6695406302
2022-06-01 13:27:32 -05:00
David Lechner 64cf4821b1 CHANGELOG: update for multi-file support 2022-06-01 13:12:25 -05:00
David Lechner f0fbd6fa96 Merge branch 'master' into dlech 2022-06-01 13:02:44 -05:00
David Lechner c26a83f126 explorer/fileNameFormGroup: add "fix it" button
This adds a button on some errors to automatically fix the error.
2022-06-01 12:54:51 -05:00
David Lechner 9cdd102477 webpack: ignore warning about main.js size 2022-06-01 11:20:12 -05:00
David Lechner 6386c90068 yarn: add source map explorer
https://create-react-app.dev/docs/analyzing-the-bundle-size/
2022-06-01 10:15:30 -05:00
David Lechner 41e826d73b editor: save view state on change
Instead of trying to save the view state when a window "closes", which
is unreliable, we just save the state on every change.
2022-05-31 17:43:54 -05:00
David Lechner 818865462e editor: handle files by uuid
This changes things up a bit so that files are handled by uuid instead
of path. The allows for files to be renamed without breaking things.

Also some improvements with persistence of the view state for each
file is made.
2022-05-31 17:21:29 -05:00
David Lechner 012d6b029e explorer: fix toolbar buttons wrapping
This fixes the toolbar buttons wrapping when the text overflows.
2022-05-31 12:51:55 -05:00
David Lechner 56e1505f14 Revert "explorer: drop rename feature"
This reverts commit 30741b13ef.
2022-05-30 11:26:35 -05:00
David Lechner e300aa7d64 explorer: explain how to fix error 2022-05-30 11:03:26 -05:00
David Lechner d42b72f1a3 explorer: fix text input not getting focus when clicked
All user controls should stop propagation of events that are handled.
2022-05-30 11:01:29 -05:00
David Lechner 69ca51fbbb explorer: fix broken layout
Applying this control tweak globally broke the explorer layout. So we
now apply it to settings only.
2022-05-30 10:15:10 -05:00
David Lechner 0a89198f5c activities: fix potential control overflow 2022-05-21 14:16:55 -05:00
David Lechner a3e55c828a move useI18n to i18n.ts
Since we are using the react-i18n babel loader plugin, useI18n can only
be used once per file. Also we have to remember to add the istanbul
ignore next comment each time we use it. By moving this to a common
file, it can be easily copied and pasted when a new submodule is
created and we don't have to remember the rules when calling it.
2022-05-21 13:57:58 -05:00
David Lechner e7366c8afd rework alerts
This starts moving alerts to the same subsystem where they are relevant
instead of putting everything in notifications.

So far, only the explorer file in use error is handled like this.
2022-05-20 19:25:18 -05:00
David Lechner 4e88605b16 utils/customError: narrow type of name property
The name property is inherited from Error and has a type of string.
But our CustomError ensures that the name is restricted to the type
of T. This causes compiler errors, so we had to enable a babel plugin
to support it.
2022-05-20 16:46:17 -05:00
David Lechner 348d6e90d9 add CustomError class
This will be used for throwing errors that can be caught and handled without having to parse the message.
2022-05-20 11:13:55 -05:00
David Lechner 8b6939a983 utils: extract acquireLock function from fileStorage 2022-05-19 12:03:10 -05:00
David Lechner 3dc03f3879 editor: save file to correct path
previously, all files were being saved as main.py
2022-05-19 10:44:31 -05:00
David Lechner 057ba4bab9 spelling 2022-05-18 18:21:01 -05:00
David Lechner d02e38795b editor/sagas: fix error creating model on hot reload 2022-05-18 17:47:29 -05:00
David Lechner 325562996b replace useUniqueId() with useId()
there should only be one way to do a thing...
2022-05-18 17:16:32 -05:00
David Lechner a005992a21 fileStorage: use dexie-react-hooks
This lets the dexie-react-hooks library do more of the work for us
instead of having to make redux-sagas wrappers for everything.
2022-05-18 17:06:08 -05:00
David Lechner 4580869e6f editor: don't keep file open when editing
Since open takes a lock on the file, it prevented other file operations.
2022-05-18 13:11:06 -05:00
David Lechner 3235d32dbb webpack: fix yarn build after 8ba4d49e
Something about commit 8ba4d49e caused a few extra babel modules to
trigger the ModuleScopePlugin guard. Example error:

    Failed to compile.

    Module not found: Error: You attempted to import /home/david/work/pybricks/pybricks-code/node_modules/@babel/runtime/regenerator/index.js which falls outside of the project src/ directory. Relative imports outside of src/ are not supported.
    You can either move it inside src/, or add a symlink to it from project's node_modules/.
2022-05-18 12:15:30 -05:00
David Lechner c4c8da967c components/toolbar: types is a types-only file 2022-05-18 11:15:50 -05:00
David Lechner 76475cc79b fix lint errors 2022-05-18 11:12:52 -05:00
David Lechner 133b52029f automatic formatting 2022-05-18 11:11:50 -05:00
David Lechner 0e1a6c47a5 app: fix terminal padding for focus within outline 2022-05-18 10:57:42 -05:00
David Lechner 4384f80f9b terminal: move handleKeyDown inside of useEffect()
This will avoid extra renders triggered by a new handleKeyDown function.
2022-05-18 10:26:48 -05:00
David Lechner df6e93407e terminal: remove questionable tabindex
Not sure if this has a purpose I don't know about but removing it gives
better behavior when using keyboard navigation.
2022-05-18 10:13:31 -05:00
David Lechner 0839392183 rework roving tab index to use react-aria 2022-05-17 23:20:09 -05:00
David Lechner f7dcf8b0f7 components/toolbar: move from utils
This is a better home.
2022-05-17 11:28:21 -05:00
David Lechner ef7f6d15c4 improve focus styles 2022-05-16 21:59:58 -05:00
David Lechner 9e092ca469 explorer: fix tree item button translations not updating 2022-05-16 01:11:10 -05:00
David Lechner 8ba4d49e3b components: add new component to fix a11y issues 2022-05-15 23:27:55 -05:00
David Lechner b729d90907 yarn: add patch for react-dev-utils
https://github.com/facebook/create-react-app/pull/11878
2022-05-14 14:18:49 -05:00
David Lechner 728e7c3b26 settings: change tooltips to help buttons
This is more friendly for touch screen users.
2022-05-14 11:09:41 -05:00
David Lechner fb681e06ec explorer/fileNameFormGroup: hide tag
screen readers don't need to read the file extension tag
2022-05-13 23:52:21 -05:00
David Lechner 404818bcdf toolbar: use roving focus 2022-05-13 23:28:12 -05:00
David Lechner f0dcb281de utils: add Toolbar component
This adds a generic toolbar component that follow aria guidelines.
2022-05-13 22:36:01 -05:00
David Lechner a185457067 explorer: don't disable archive button
disabled buttons are bad for accessability
2022-05-13 16:48:32 -05:00
David Lechner dc2daf2fe4 toolbar: hide icons from a11y tools
There are already ARIA labels, so the icons should be hidden.
2022-05-13 14:44:26 -05:00
David Lechner 7322c9d667 utils: drop pointerEventsNone
Not sure why this was used in the first place, but causes non-default
behavior which can be confusing.
2022-05-13 14:39:35 -05:00
David Lechner cd88789be7 toolbar: override aria-haspopup
The Tooltip2 component incorrectly sets this attribute which should
not be set for tooltips.
2022-05-13 14:38:12 -05:00
David Lechner a0f8b9a0ca more style and a11y fixes 2022-05-12 20:46:50 -05:00
David Lechner 3fb98e6ae1 ViewHeightSensor: hard-code style
This style is not about looks, so hard-code it instead of using style sheets.
2022-05-12 19:23:49 -05:00
David Lechner 5dc6b2e4cb util: drop preventBrowserNativeContextMenu
This is done once at the top-level app, so is no longer needed.
2022-05-12 19:20:46 -05:00
David Lechner 6816795c6d activities: use blueprintjs tabs for keyboard a18y 2022-05-12 19:17:09 -05:00