* Quick prototype: open in new window in file tree
* WIP: refresh on imported file change
* Fix up reexecution
* Clean up
* Add test 'Assembly gets reexecuted when imported models are updated externally'
* Clean up
* chore: saving off skeleton
* fix: saving skeleton
* chore: skeleton for loading projects from project directory path
* chore: cleaning up useless state transition to be an on event direct to action state
* fix: new structure for web vs desktop vs react machine provider code
* chore: saving off skeleton
* fix: skeleton logic for react? going to move it from a string to obj.string
* fix: trying to prevent error element unmount on global react components. This is bricking JS state
* fix: we are so back
* chore: implemented navigating to specfic KCL file
* chore: implementing renaming project
* chore: deleting project
* fix: auto fixes
* fix: old debug/testing file oops
* chore: generic create new file
* chore: skeleton for web create file provide
* chore: basic machine vitest... need to figure out how to get window.electron implemented in vitest?
* chore: save off progress before deleting other project implementation, a few missing features still
* chore: trying a different init skeleton? most likely will migrate
* chore: first attempt of purging projects context provider
* chore: enabling toast for some machine state
* chore: enabling more toast success and error
* chore: writing read write state to the system io based on the project path
* fix: tsc fixes
* fix: use file system watcher, navigate to project after creation via the requestProjectName
* chore: open project command, hooks vs snapshot context helpers
* chore: implemented open and create project for e2e testing. They are hard coded in poor spot for now.
* fix: codespell fixes
* chore: implementing more project commands
* chore: PR improvements for root.tsx
* chore: leaving comment about new Router.tsx layout
* fix: removing debugging code
* fix: rewriting component for readability
* fix: improving web initialization
* chore: implementing import file from url which is not actually that?
* fix: clearing search params on import file from url
* fix: fixed two e2e tests, forgot needsReview when making new command
* fix: fixing some import from url business logic to pass e2e tests
* chore: script for diffing circular deps +/-
* fix: formatting
* fix: massive fix for circular depsga!
* fix: trying to fix some errors and auto fmt
* fix: updating deps
* fix: removing debugging code
* fix: big clean up
* fix: more deletion
* fix: tsc cleanup
* fix: TSC TSC TSC TSC!
* fix: typo fix
* fix: clear query params on web only, desktop not required
* fix: removing unused code
* fmt
* Bring back `trap` removed in merge
* Use explicit types instead of `any`s on arg configs
* Add project commands directly to command palette
* fix: deleting debugging code, from PR review
* fix: this got added back(?)
* fix: using referred type
* fix: more PR clean up
* fix: big block comment for xstate architecture decision
* fix: more pr comment fixes
* fix: merge conflict just added them back why dude
* fix: more PR comments
* fix: big ciruclar deps fix, commandBarActor in appActor
---------
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
* WIP: Add point-and-click Import for geometry
Will eventually fix#6120
Right now the whole loop is there but the codemod doesn't work yet
* Better pathToNOde, log on non-working cm dispatch call
* Add workaround to updateModelingState not working
* Back to updateModelingState with a skip flag
* Better todo
* Change working from Import to Insert, cleanups
* Sister command in kclCommands to populate file options
* Improve path selector
* Unsure: move importAstMod to kclCommands onSubmit 😶
* Add e2e test
* Clean up for review
* Add native file menu entry and test
* No await yo lint said so
* WIP: UX improvements around foreign file imports
Fixes#6152
* @lrev-Dev's suggestion to remove a comment
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Update to scene.settled(cmdBar)
* Add partNNN default name for alias
* Lint
* Lint
* Fix unit tests
* Add sad path insert test
Thanks @Irev-Dev for the suggestion
* Add step insert test
* Lint
* Add test for second foreign import thru file tree click
* Add default value for local name alias
* Aligning tests
* Fix tests
* Add padding for filenames starting with a digit
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Add as const lint
* Add lint for no implied eval
* Fix incorrect type and add lints
* Add more type lints
* Remove redundant type assertions and add lint
* Fix to turn off incorrect base rules
* Fix yarn lint workflow to wait for build:wasm
* Change so that we don't build:wasm more than once in the workflow
* fix: don't use red for runtime error, use hue shift like the original error icon
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* fix: decrease font size for better layout
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* chore: dumping progress
* chore: saving progress
* fix: Got a working example of filenames piped from Rust to TS
* fix: cleaning up debugging code
* fix: TS type for filenames
* fix: rust linter errors
* fix: cargo fmt
* fix: testing code, updating KCLError class for filenames
* fix: auto fixes
* feat: display badge in project folder if there is an error in another file
* chore: skeleton ideas for badge notifications from errors in imported files
* fix: more skeleton code to test some potential implementations
* fix: addressing PR comments
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* fix: fixing the rust struct?
* fix: cargo fmt
* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)
* feat: skeleton workflow for showing runtime errors
* chore: showBadge, adding more props
* fix: new application state to reset errors from previous execution if parse fails first
* fix: cleanup
* fix: better UI
* fix: adding comment for future
* fix: revert for production
* fix: removing unused comment
* chore: swapping JS object to typed Map
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Reapply "Deflake project settings override on desktop (#4370)" (#4450)
This reverts commit b11040c23c.
* Refactor writeToFile and updateCodeEditor to happen at appropriate times
* Turn error into warning about out of date AST.
* Rename setUp to setup
* ONLY reload current file on changes.
* If value is falsey then don't try to executeAst
* Fix up code based selections after constraints
* Correct any last missing code mods
* Update src/clientSideScene/ClientSideSceneComp.tsx
Remove eslint rule no-floating-promises
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* Fixups
* Fix FileTree failing
---------
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* File tree acts as VS Code's file tree
* Adjust test for new expectations
* Remove screenshot
* Actually remove this screenshot
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* fix: fixed logic for selection
* fix: always show the current file
---------
Co-authored-by: 49lf <ircsurfer33@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* File tree acts as VS Code's file tree
* Adjust test for new expectations
* Remove screenshot
* Actually remove this screenshot
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Buffer file writes, because writing to file after every keypress does bad things
* fix: kevin -- added timeouts for the time being since the workflow for saving data to disk is now changed
---------
Co-authored-by: Kevin Nadro <kevin@zoo.dev>
* fix new file sketch mode issue
* initial extron app fixture
* Add tests for exiting sketch mode on file tree actions
* organise files
* before all after all clean up
* tweak after each
* makes typedKeys as unsafe
* update mask for draft line snapshots
* fix mask
* add fix again
* Add a shell script to get the list of KCL samples into the app
* Add support for overwriting current file with sample
* Move these KCL commands down into FileMachineProvider
* Add support for creating a new file on desktop
* Make it so these files aren't set to "renaming mode" right away
* Add support for initializing default values that are functions
* Add E2E tests
* Add a code menu item to load a sample
* Fix tsc issues
* Remove `yarn fetch:samples` from `yarn postinstall`
* Remove change to arg initialization logic, I was holding it wrong
* Switch to use new manifest file from kcl-samples repo
* Update tests now that we use proper sample titles
* Remove double-load from units menu test
* @jtran feedback
* Don't encode `https://` that's silly
* fmt
* Update e2e/playwright/testing-samples-loading.spec.ts
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Test feedback
* Add a test step to actually check the file contents were written to (@Irev-Dev feedback)
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* Add lints for floating and misued promises
* Add logging async errors in main
* Add async error catch in test-utils
* Change any to unknown
* Trap promise errors and ignore more await warnings
* Add more ignores and toSync helper
* Fix more lint warnings
* Add more ignores and fixes
* Add more reject reporting
* Add accepting arbitrary parameters to toSync()
* Fix more lints
* Revert unintentional change to non-arrow function
* Revert unintentional change to use arrow function
* Fix new warnings in main with auto updater
* Fix formatting
* Change lints to error
This is what the recommended type checked rules do.
* Fix to properly report promise rejections
* Fix formatting
* Fix formatting
* Remove unused import
* Remove unused convenience function
* Move type helpers
* Fix to not return promise when caller doesn't expect it
* Add ignores to lsp code
* migrate settingsMachine
* Guard events with properties instead
* migrate settingsMachine
* Migrate auth machine
* Migrate file machine
* Migrate depracated types
* Migrate home machine
* Migrate command bar machine
* Version fixes
* Migrate command bar machine
* Migrate modeling machine
* Migrate types, state.can, state.matches and state.nextEvents
* Fix syntax
* Pass in modelingState into editor manager instead of modeling event
* Fix issue with missing command bar provider
* Fix state transition
* Fix type issue in Home
* Make sure no guards rely on event type
* Fix up command bar submission logic
* Home machine tweaks to get things running
* Fix AST fillet function args
* Handle "Set selection" when it is called by actor onDone
* Remove unused imports
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Fix injectin project to the fileTree machine
* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)"
This reverts commit 4b43ff69d1.
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Re-run CI
* Restore success toasts on file/folder deletion
* Replace casting with guarding against event.type
* Remove console.log
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
* Replace all instances of event casting with guards against event.type
---------
Co-authored-by: Frank Noirot <frank@kittycad.io>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Remove isFirstRender because isExecuting means the same and remove building scene
* add small makefile util
* Remove waiting for building scene prompt
* Add a new model state indicator
* fmt lint tsc
---------
Co-authored-by: Frank Noirot <frank@kittycad.io>
* Fix path splitting issues on windows
* Fix path splitting issue on routeLoaders
* Enable some e2e tests
* Swap enabled e2e tests
* Working bare-min project parse
* Make tsc happy
* Clean up & enable more tests
* Fix paths in browser
* Fix tests for windows
fmt
* Clean up wasm side
* Make build:wasm windows compatible
* More paths cleanup & some tests
* Remove sleep
* Use new config sturcture in parseroute
* Clean up debugger
* Fix: on settings close go back to the same file (#3549)
* Fix: on settings close go back to the same file
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)
* shit aint working yo
* Get that page a-loading
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Frank Noirot <frank@kittycad.io>
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
* Fmt
* Comment out currently failing win32 tests
* Ignore tsc for electron monkey-patch
* Force line-endings to only
* Fix tsc
* Enable more tests
* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)
* Avoid modifying global for tests
---------
Co-authored-by: 49fl <ircsurfer33@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Frank Noirot <frank@kittycad.io>
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
* Get electron building something at all
* Merge Frank test setup work (#3418)
* Working window.electron.getPath
* Loading project-specific settings in electron tests
* Simplify test until we can get snapshots/traces working in electron tests
* test tweaks
---------
Co-authored-by: Frank Noirot <frank@kittycad.io>
* add test #3375 and #3420
* put kcl files together
* move files
* can sort projects #3362
* File in the file pane should open with a single click #3385
* pressing delete on home screen should do nothing #3387
* add aria labels to icons
* Rename and delete projects, also spam arrow keys when renaming #3364#3365#3259
* Fix up paths
* Update flake.nix to support Electron
* Remove a layer of indirection
* Work without a web server
* Fix settings#projectDir link on home
* Fix login (requires new @kittycad/lib WHICH IS NOT INCLUDED HERE)
* Lee: Tests are broken because auth skip needs to happen
* get setting override envs passed through
* tweak eletron CI
* yml tweak
* fmt
* NUKE tauri shit post merge with main
* another test auth tweak
* Revert "another test auth tweak"
This reverts commit b2254b10af.
* try CI again
* CI tweaks
* SKIP_AUTH true now on playwright
* Skipping auth when NODE_ENV=development now
* fmt
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* Use BASE_URL()
* fix exists
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix foldername for macos
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* update for windows
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix version in lower right
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* cleanup unused imports
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* progress on is playwright
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix test folders
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix fmt
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* remove tauri from actions bullshit
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* remove tauri dir
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fixups the coredump async shit
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* node env dev
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix cancellable
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* cleanup unnessary things
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* env vars
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* Bring back fix for NOT using hardcoded main.kcl
* env
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fmt
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* Revert "updates"
This reverts commit da5d9f1043eb94404e8b3f8044088e990e34a4ef.
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* remove tauri clippuy
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* less retries for now, no debug
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* updates
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* tsconfig
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* small tsc fix
* update some tsc
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* tsc env
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix other tsc
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* small change for routeLoaders
* rm old screenshot
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix auth
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix last onew
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* auth clean up
* fix package.json
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* dissmissed screen on tests
* add waits between files being written
* put back retried
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* fix weird programMemory Map issue
* put private back
* Revert "put private back"
This reverts commit d311b978ca.
* Revert "fix weird programMemory Map issue"
This reverts commit 6c387bdf62.
* remove serde-wasm-bindgen
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* add env
Signed-off-by: Jess Frazelle <github@jessfraz.com>
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* fix tests
* more test tweaks
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* another tweak
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
* more test tweaks
* more tweaks
* increase macos timeout
* try fix macos
* disable macos playwright tests
---------
Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
Co-authored-by: Frank Noirot <frank@kittycad.io>
Co-authored-by: Adam Sunderland <iterion@gmail.com>
Co-authored-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Add actual support for makeUnique parameter
* Add uniqueness logic to dirs, make text-to-cad receive unique filename
* No longer need makeUnique flag, it's always on
* fmt
* Don't show toast when name hasn't changed during a rename
* fmt
* Get "interact with many" text-to-cad test passing again
* Get "engine fails export" back to reliably green
* Maybe more stable click target for text-to-cad test
* Make "export is already going" test moderately more reliable
* Mark "export is already going" as fixme
* Undo that fixme thing I take it back
* Reload everything on a disconnect
* fix unit-integration tests
* Further improvements to connection manager; persist theme across reconnects
* Fix up artifactGraph.test
* Actually pass the callback
* Kurt hmmm (#3308)
* kurts attempts
* we're almost sane
* get tests working, praise be
---------
Co-authored-by: 49lf <ircsurfer33@gmail.com>
* typo
---------
Co-authored-by: Kurt Hutten Irev-Dev <k.hutten@protonmail.ch>
* Basic context menu components
* Working context menu!
* Show keyboard shortcuts in file tree context menu
* Add context menu to Gizmo
* Little polish on components
* Add a test for the gizmo, firm up other gizmo tests
* Updated Cargo lock
* Updated Cargo.lock
* Navigate between files with single-click
* Better semantic name for optional event passed into FileTree
* Bug fix: reset modeling state when navigating to a new file
* Add more context to E2E test TODO comment
* Newly-created file tree items are immediately set to renaming mode
* Bug fix: redirect to working file if you delete your current one
* Remove ContextMenu, unrelated branch
* Turn off autocorrect in renaming form
* Gracefully handle renaming a folder that our current file is inside of
* Update cargo.lock
* Fix renaming queue
* Navigate to newly-created files
* Make delete project and delete file/folder share deletion confirmation component
* Bug fix: navigate to project root if we delete our current file's parent directory
* Don't navigate to newly-created directories
* Add exclamationMark icon
* Add basic LowerRightControls component
* Create a help menu
* Remove NetworkHealthIndicator from AppHeader
* Refactor Tooltip to be able to be corner-anchored
* Add a better flag back to the Tooltip
* Give tooltip a faint theme outline on light mode too
* Fix broken reset onboarding behavior on home page
* Fix bug with isInProject
* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu)
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>