* feat(workspaces): drop createdByUserId from the dataschema
* feat(workspaces): repositories WIP
* merge
* protect against removing last admin in workspace
* quick impl and stub tests
* add tests
* services
* unit tests for role services
* feat(workspaces): authorize project creation if workspace specified
* feat(workspaces): emit project created event
* fix(workspaces): protect against adding a project to a workspace if module not enabled
* fix(workspaces): oops broke tests during merge
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
* feat: use shift for shortcuts. Swap onKeyStroke for useMagicKeys
* refactor: simplify control shortcuts
* Revert changes to input.ts
* refactor: Make more DRY
* Revert "refactor: Make more DRY"
This reverts commit a508fcfb9d.
* Revert "Revert changes to input.ts"
This reverts commit c47300d010.
* Revert "refactor: simplify control shortcuts"
This reverts commit a867d6e34d.
* Fix broken space
* Refactor Viewer Controls and Keyboard Shortcuts
* Fix keyboard shortcut mapping to handle string keys correctly
* refactor: string enum
* remove filters shortcut
* feat(metrics): collect metrics at a higher frequency then prometheus scrapes
* metrics presented as histograms
* Metric for self monitoring time taken to collect the high frequency metrics
* Initiate high frequency metrics alongside default metrics
* Collect metrics every 100ms
* feat(user-emails): create user emails table and type
* chore(user-emails): add delete cascade
* chore(user-emails): fix tests
* chore(user-emails): add unique constraint for email and userId
* chore(user-emails): use random email in tests
* chore(user-emails): add todo to remove user-email in test
* chore(user-emails): code review changes
* chore(user-emails): use random passwords for tests
* chore(user-emails): fix test and code review changes
* feat(db queries): adds db query scripts for determining db sizes
* Adds a new metric `speckle_db_tablesize` with db table sizes
* lower case all the file types to provide a combined metric
* group file status count by lower cased file type
* reinstate accidentally deleted metric
* Fix developer script
* Fixed sandbox lint error
* Gave up with trying to enforce a standard basis across camera controller and applications. Now getPosition and getTarget will always be in whatever basis the camera controller is set to be
* No more pre-transformation to (0, 1, 0) for canonical and speckle views and when computin nearest point on geometry
* Reverted transformations from onboarding
* Updated comments
* Fixed the issue where if thread was active at stream load time, the camera position and orientation would be off. This specific issue occured only at startup and it was because the min.max radius for the orbit controls were not yet computed, the frontend calling setView before the orbit controls had a chance to update and compute it's min/max. Also fixed an issue where min distance computation was not using the correct camera positon, but rather the goal position
* Simplified a lot from the Pipeline's render loop. UpdateFlags.Render now does not reset the pipeline. Added UpdateFlags.RESET_RENDER which resets the pipeline. Measurements now do not reset the pipeline needlessly
* Fixed sandbox lint error
* Accumulation now starts automatically based on the current accumulation frames count. SectionTool no longer resets the pipeline without a reason. Changing light paramters no longer reset s the pipeline without a reason. Clipping plane updating no longer resets the pipeline, except when the planes are actually set. Highlight and selection now no longer reset the pipeline. Explosion does reset the pipeline
* Fixed sandbox linting error
* Fixed sandbox lint error
* Added back the polar view and setting it. Changed the onboarding hardoced vectors from Z up to Y up, since that's what the camera controller now requires when setting inline views