* Bugfix: don't toast on every change of defaultDir
* Refactor app to live under /file/:id
* Stub out Tauri-only home page
* home reads and writes blank files to defaultDir
* Fix initial directory creation
* Make file names editable
* Refactor onboarding to use normal fns for load issues
* Feature: load and write files to and from disk
* Feature: Add file deletion, break out FileCard component
* Fix settings close URLs to be relative, button types
* Add filename and link to AppHeader
* Style tweaks: scrollbar, header name, card size
* Style: add header, empty state to Home
* Refactor: load file in route loader
* Move makePathRelative to lib to fix tests
* Fix App test
* Use '$nnn' default name scheme
* Fix type error on ActionButton
* Fix type error on ActionButton
* @adamchalmers review
* Fix merge mistake
* Refactor: rename all things "file" to "project"
* Feature: migrate to <project-name>/main.kcl setup
* Fix tsc test
* @Irev-Dev review part 1: renames and imports
* @Irev-Dev review pt 2: simplify file list refresh
* @Irev-Dev review pt 3: filter out non-projects
* @Irev-review pt 4: folder conventions + home auth
* Add sort functionality to new welcome page (#255)
* Add todo for Sentry
* WIP: Add release process
Test version change in tauri.conf.json
* Add bump-jsons script
* Trigger build on release and upload artifacts there (untested)
* Test
* Revert "Test"
This reverts commit 3c0c2ae39c.
* Bump to 0.0.3
* Update README
* WIP Build jobs
* Remove 'add missing import'
* Add yarn build:wasm
* Clean up
* Trying larger runner for ubuntu
* --verbose
* Back to docs
* WIP
* upload artifacts
* WIP Windows
* WIP Windows
* WIP Windows
* WIP Windows
* WIP Windows
* Clean up
* Clean up diff
* Better upload artifact
* Clean up, upload artifacts v3
* Add sed commands back
* Add fmt back
* Add name
* Clean up
* Better name
* Update .github/workflows/build.yml
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Make /settings not throw away App component
* Make App not reload for Onboarding
* Close sidebar when navigating to /settings
* Use centralized constants for route pathnames
* Clean up a few stray raw path literals
* Feature: settings auto-save as they are updated
* Refactor: get rid of temporary settings states
* Feature: add escape hotkey to settings
* Style: layout tweaks
* Feature: setting unit system updates base unit too
Right now, if the executor throws a KCLError (e.g. for "variable name is not defined" errors), they aren't being caught by the .catch or the try/catch block in asyncWrap. This PR fixes it.
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
* working without clean up
* clean up dependencies
* use test not dev
* add tests for kclErrToDiagnostic
* remove jest config
* remove unneeded @ts-ignore
* Basic transparent pane styling
* HTML and static asset cleanup
* Convert to collapsibles
* Polish up DebugPanel
* Add hotkey support, remove allotment
* Remove allotment css dependency
* Merge in from main
* Add a different resizable package
* Fix tsc errors introduced by merge
* Stream has to have at least z-index of 0
* App header has to be above stream z-index
* Applied z-index to the wrong element
* Scrollable logs, disable UI while dragging
* Fix test errors from importing CSS Modules in Jest
* Persist open panes configuration
* Style tweaks and fix camera step in onboarding
* Kurt review, make click-drag handler declarative
* Add passive dark mode to everything but codemirror
* Add dark theme support for Codemirror
* Make theme a user setting
* Fix button text size
* guard against undefined window
* Formatting and test fix
I don't think the wildcards and the {}s were being expanded as expected
in the 'scripts' section of package.json.
Also, I think the .prettierignore file is sufficient to ensure we only format
TS/JS/JSX code.
Right now I'm getting ESLint errors because wasm-lib generates a JS project with semicolons.
This didn't use to matter, because `yarn prettier` applied to the Rust projects too. But
in my recent PR https://github.com/KittyCAD/untitled-lang/pull/192 I broke that.
This should fix it by ensuring the generated JS code gets formatted in a way that matches
our ESLint requirements.
Jest now supports a reporter which emits GitHub Actions annotations. So if a test fails, it should annotate your PR when you view it on GitHub. See their example at https://jestjs.io/docs/configuration#github-actions-reporter
Also, use typescript for the config file.
Currently, syntax/semantic errors in the user's source code result in vanilla JS exceptions being thrown, so they show up in the console. Instead, this PR:
- Adds a new type KCLError
- KCL syntax/semantic errors when parsing/executing the source code now throw KCLErrors instead of vanilla JS exceptions.
- KCL errors are caught and logged to a new "Errors" panel, instead of the browser console.