* use effect for focus of command palette submit button, not autoFocus
autoFocus is being overridden by the Headless UI Dialog component's
focus management here
https://headlessui.com/v1/react/dialog#focus-management (we do not have
access to pass back initialFocus in this case). So we can use an effect
to imperatively focus the button when this component is mounted.
* Update sweep tests to submit the command with Enter
* Add backtrace to errors
* Add display of backtraces with hints
* Change pane badge to only show count of errors
* Fix property name to not collide with Error superclass
* Increase min stack again
* Add e2e test that checks that the diagnostics are created in CodeMirror
* Remove unneeded code
* Change to the new hotness
* Submit selection to command on unmount of selection arg input
This fixes#7024 by saving the user's selection to the command even if
they click another argument in the command palette's header. It does no
harm to save the selection to the argument, even if it's being torn down
because the user dismissed it has no negative effect.
* Refactor to not auto-submit before selection is cleared on mount
Thanks E2E test suite
* Update failing E2E tests with new behavior, which allows skip with preselection
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Disallow segment selection in sweep, plus displayName: Profiles for clarity
Fixes#7044
* Change selection hints for solid2d to be profile instead of face
* Update tests
* More fixes
* Fix tests following behavior change: we don't select segments in code anymore but profiles
* Remove Create with Text-to-CAD from the toolbar
* Remove "prompt-to-edit" wording, call commands "create" and "edit"
* Use sparkles for the ML feature, not chat
* lints
* Start fixing up tests, there are probably more though
* Fix up a few more tests
* Fix up prompt-to-edit tests (yay using fixtures!)
* Fix native file menu tests
* Update snapshots
* Fix menu test
* Fix snaps
---------
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* fix: when creating a t2c in a new project make the file name main.kcl
* fix: when creating a sample in a new project and there is only 1 file make the filename main.kcl
* fix: auto fixes
* fix: share links generate main.kcl
* fix: codespell typoe
* fix: fixing E2E tests
* Fix 3 more tests
* fix: share url link e2e file name fix
---------
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Frank Noirot <frank@zoo.dev>
* Improve url sharing for orgs and pros
* Remove sharing via menu item
* fmt
* Not sure what's different but it is
* fmt & lint
* whoops
* Update snapshots
* Typos from codespell
* Fix alignment
* Update snapshots
* Prune
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* Make "skip = false" non-required args appear in header
* Make non-required, unskippable selection args work
* Make prompt-to-edit's selection arg optional but non-skippable
* Update src/components/CommandBar/CommandBarSelectionInput.tsx
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Fix dumb logic bug
Thanks for user testing @Irev-dev
* Update mixed input to show selection
Feel free to revert @Irev-Dev if this is the wrong move, but I found it
odd that this component doesn't show the current selection in the text
like the other selection input does, so I copied that over.
* Merge branch 'main' into franknoirot/adhoc/optional-selection-args
* Merge branch 'main' into franknoirot/adhoc/optional-selection-args
* Merge remote-tracking branch 'origin' into franknoirot/adhoc/optional-selection-args
* fix tests
* change copy again
* Update src/components/CommandBar/CommandBarSelectionMixedInput.tsx
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
1. Remove all `waitFor` hidden states for the post-dismiss toast:
something about Playwright is making toasts hang in a way I've never
seen in real use. Not something I'm worried about, and we still test
that the toast fires the first time we dismiss.
2. Remove all `scene.connectionEstablished()` calls. This has me more
worried because some of the flakiness on this front seems like we're not
able to handle the rapid machine-speed navigation and overwriting that
this test does when it doesn't have to `waitFor` toasts to disappear.
But that is not the point of this test, which is just to ensure the
onboarding plays correctly and initiates correctly.
* Helix can't be selected as path arg in point-and-click sweep
Fixes#6966
* Remove old dry-run validations on Sweep, Loft, Revolve, and Shell
* Base on dry-run validation remove branch
* Add test
* First pass at consistency in modelingMachine codemods
* Add 'no kcl errors' guard instead of if check for all the existing ones
* Add more commands and improve consistency
* Add comments
* Fix test with old kcl that was showcasing the very behavior we're trying to fix
https://kittycadworkspace.slack.com/archives/C07A80B83FS/p1747231832870739?thread_ts=1747231178.515289&cid=C07A80B83FS
* Add test for sketch and helix
* Remove guard use and move hasErrors check closer to updateAst calls
* Revert "Remove guard use and move hasErrors check closer to updateAst calls"
This reverts commit 868ea4b605.
* Remove toasts from guards
* Remove some scene.settled calls
* Lint
* More shaky fixes
* Clean up and more test fixes
---------
Co-authored-by: Frank Noirot <frankjohnson1993@gmail.com>
* Add a Stop command that does a bit of cleanup in the engineStateMachine
* Major network code startup refactor; backoff reconnect; many more logs for us
* Save camera state after every user interaction in case of disconnection and restoral
* Translate basic WebSocket error numbers into useful text
* Add a RestartRequest event to the engineCommandManager
* Adjust for a rebase
* Add E2E test for stream pause behavior
* Fix snapshot test
* fmt, lint
* small issue
* Fix tests
* Fix up idle test
* One last fix
* fixes
* Remove circ dep
* fix test
* use a const for time
* TEST -> isPlaywright instead
* whoops
* Keep test toast messages around for longer
* Check for at least two locators
I wasn't able to reproduce, but it's possible one stuck around from a previous test.
* Restore the native file menu tests
* fix: saving off progress
* chore: making progress cleaning up these verbose tests and improving app logic for e2e
* chore: rewriting tests
* fix: reworking application logic for file menu in the scene and e2e scene file menu test
* chore: updating more e2e tests
* fix: updated all the tests, auto fixers
* fix: trying to improve tests within E2E, they aren't failing locally even with --repeat-each=10
* fix: application logic has a bug that you can navigate instantly but the scroll to view code will not trigger which breaks end to end tests
* fix: improving E2E tests
* fix: fixing clipboard typo
* fix: porting test() for each native file menu to a test.step to speed it up
* fix: auto fixes and console log helper function for playwright runtimes
* fix: more cleanup
* fix: trying to fix these...
* fix: got the tests working
* fix: addressing PR comments
* fix: trying to stablize the tests
* fix: auto fixes
* fix: trying to make it the command name and not arg? could be a source of race condition if the input is not written fast enough?
* fix: maybe because this close locator was running too quickly?
* fix: panic timeout, classic
* fix: these are gone
* fix: shorter waits
---------
Co-authored-by: Kevin Nadro <kevin@zoo.dev>
Co-authored-by: Kevin Nadro <nadr0@users.noreply.github.com>
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
* Fix bug with `undo startSketchOn` removing existing sketch
Fixes#6822, I believe. in this case the `variableName` was not being
marked as in-use, so I just logged out the AST and made sure this case
was covered. @Irev-Dev this is probably worth a check from you.
* Add a regression test
It's an E2E test because I'm being lazy, but it should probably be an
XState unit test at some point.
* check what's checked
---------
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
* oops, make it nicer for no reason
* tests
* deleteTopLevelStatement
* little swap
* astMod edits
* typos
* add playwright test for chamfers
* scene.settled instead of page.waitForTimeout
* unfuck circular dep - move locateExtrudeDeclarator
* locateExtrudeDeclarator > locateVariableWithCallOrPipe
* fmt
* edit the comment
* constrain profile start
* add test
* make sure it works on segment drag too, fix tests
* remove old log
* some tests fixes
* Bump more segment counters
* Two more fixes
* Two more test fixes
* small test fix
* moretest fixes
* another test
---------
Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com>
Co-authored-by: Pierre Jacquier <pierre@zoo.dev>
* Remove gnarly fake union hotkeys
* Enable hotkey for items buried in ActionButtonDropdown
I'm kinda over `useHotkeys` as a hook
* Add hotkeys for other sketch tools
* Fix lint and tsc
* Fix duplicate locator
* The circular dependecies got reordered somehow
* Update src/lib/toolbar.ts
* Remove snapshottoken
Fixes#6800
* Add placeholder in .env.development
* Clean up language
* Update CONTRIBUTING.md
Co-authored-by: Jace Browning <jacebrowning@gmail.com>
* Add dotenv to secrets for local testing
* Lint
* Reorg things
* Quick fix
* Last one for windows
---------
Co-authored-by: Jace Browning <jacebrowning@gmail.com>
* Remove unused `telemetryLoader`
* Remove onboarding redirect behavior
* Allow subRoute to be passed to navigateToProject
* Replace warning dialog routes with toasts
* Wire up new utilities and toasts to UI components
* Add home sidebar buttons for tutorial flow
* Rename menu item
* Add flex-1 so home-layout fills available space
* Remove onboarding avatar tests, they are becoming irrelevant
* Consolidate onboarding tests to one longer one
and update it to not use pixel color checks, and use fixtures.
* Shorten warning toast button text
* tsc, lint, and circular deps
* Update circular dep file
* Fix mistakes made in circular update tweaking
* One more dumb created circular dep
* Update src/routes/Onboarding/utils.tsx
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
* Fix narrow screen home layout breaking
* fix: kevin, navigation routes fixed
* fix: filename parsing is correct now for onboarding with the last file sep
* Fix e2e test state checks that are diff on Linux
* Create onboarding project entirely through systemIOMachine
* Fix Windows path construction
* Make utility to verify a string is an onboarding value
* Little biome formatting suggestion fix
* Units onboarding step was not using OnboardingButtons
* Add type checking of next and previous status, fix useNextClick
* Update `OnboardingStatus` type on WASM side
* Make onboarding different on browser and web, placeholder component
* Show proof of concept with custom content per route
* Make text type args not insta dismiss when you click anywhere
* Make some utility hooks for the onboarding
* Update requestedProjectName along with requestedProjectName
* Build out a rough draft of desktop onboarding
* Remove unused onboarding route files
* Build out rough draft of browser onboarding content
* @jgomez720 browser flow feedback
* @jgomez420 desktop feedback
* tsc and lints
* Tweaks
* Import is dead, long live Add files
* What's up with my inability to type "highlight"?
* Codespell and String casting
* Update browser sample to be axial fan
* lint and tsc
* codespell again
* Remove unused nightmare function `useDemoCode`
* Add a few unit tests
* Update desktop to use bulk file creation from #6747
* Oops overwrote main.kcl on the modify with text-to-cad step
* Undo the dumb use of `sep` that I introduced
* Fix up project test
which was fragile to the number of steps in the onboarding smh
* Fix up onboarding flow test
* typo
---------
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: Kevin Nadro <kevin@zoo.dev>
* fix: how?
* fix: 0 byte thumbnail png loading bug
* fix: adding navigate to single file back
* fix: cargo fmt
* fix: sorting files to match manifest and unit test
* fix: restoring back to main
* fix: cargo fmt
* fix: ope, I forgot I deleted some code that renamed single files to the samples name to track easier within the file tree
* fix: ope
* Update src/lib/commandBarConfigs/applicationCommandConfig.ts
Co-authored-by: Frank Noirot <frank@zoo.dev>
* fix: unique name for project, ope
* fix: filtered samples for web and skeleton create a sample command
* fix: Create A Sample specifically desktop home page instead of overloading the add to file
* fix: hiding source
* fix: gotcha on add to file with existing project default args and assemblies
---------
Co-authored-by: Frank Noirot <frank@zoo.dev>