* FE2 Fixes. WIP Description
* Reorder Options. Fix cookie expiry
* added ability to edit model description in backend
* Add Description to "Add Model" WIP
* Update Radio component so icons are part of label
* Fix to disable measure mode when user navigates to another control
* Add Description WIP
* Fix description returning null
* Add Header to versions page
* Checks for PR
* Fix build error
* Changes from CR
* Use ProjectPageProjectHeaderFragment
* Remove description from handleSubmit
---------
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
* feat(models): allow number of models retrieved per page to be configurable by environment variable
* Default to 100, as this was the existing value, but allow override via helm chart
* feat(onboarding): ensures an onboarding project is always cloned when a user goes through onboarding; simplifies some of the logic & updates project naming
* feat(onboarding): improves onboarding stream cloning performance by optimising object duplication (local tests: from 25s to 270ms)
* feat(onboarding): minor changes logging + comments
* feat(onboarding): removes comments
* feat: user guest role switching in FE1
* removed stream create buttons
* fe1 done
* fe1 - specifying role in invite dialogs
* fe1 - bulk invites
* WIP FE2 changes
* fe1: allow role select condition fixes
* xtra limitations on createForOnboarding
* more invite creation validations
* no longer able to set guest as project owner in invite
* preparations for server role select in invite dialog
* team management dialog done
* server invite dialog updated
* hiding invite dialog
* fixed mocks
* feat(admin): add users email to the admin user list query
* feat(admin): WIP invite list
* feat(admin): fix server invites resolver typing
* fix(admin): slim down admin user list item data
* WIP
* cleanup and sync MVP kinda done
* WIP
* logging improved a bit
* fixed version sorting
* onboarding base stream creation works
* moved onboarding stream to use new base
* Fixed an issue with curves doubling up on geometry and also not being selectable after the last filtering changes. Added the options to make lines transparent. Added lines to diffing
* Points now are diff-able and support proper visual diff-ing. Visual diff filters are now chosen internally by the Differ. Fixed an issue with LineBatch and transparency
* Implemented PLAIN visual diff mode, where all objects keep their original materil, but opacity is manipulated via the diff time. Added API member function to switch between the PLAIN and COLORED visual diff modes
* feat(fe2): diffs wip
* Diffing fixes for instances and blocks. Things seem to be working fine, but there are some caveats. Additionally, some older issues were fixed and diffing now works better on all the rest of the streams
* feat(fe2): de-dupes diff results
* feat(fe2): wip diffs
* feat(fe2): diff transparency goes from 0 to 1
* feat(fe2): diff results display work
* feat(fe2): diff results display work
* feat(fe2): diff panel work
* feat(fe2): diff work: various display changes, coloring toggle, selection logic, selection object display wip
* feat(fe2): diff work: cleaned up old/new version, fixed minor bug in viewer diff time when swapping color mode
* feat(fe2): diff work: implements custom selection logic and selection display for modified objects (they come in pairs now)
* feat(fe2): diff minor fix in selected object display
* feat(fe2): wip; trying to fix diff order to be consistent (ordered by date)
* feat(fe2): wip, broken state right now
* feat(fe2): fixes scrollbars in viewer
* feat(fe2): fixes slider sync with diff time
* feat(fe2): WIP syncs of diffs (threads, refreshes, etc.)
* feat(fe2): diffing polish
* speckle shared fix
* speckle shared fix
* more bugfixes
* linter fixess
* more CI fixes
* fix viewerState serialization
* more linting fixess
* template fixes
* moving tailwind classes to theme package
* migrated away from diffString + simplified postSetup
* moved diff new/old version resolution to use state.resources
* cleanup
* updating url threadId & diff command correctly
* minor improvements to diff state
---------
Co-authored-by: AlexandruPopovici <alexandrupopoviciioan@gmail.com>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
* Revert "fix(ratelimit): reduce /graphql limit based on incident (#1505)"
This reverts commit 2a35fe6178.
* Revert helm chart defaults to value in code
- fix typo
* feat: register flag passed to fe
* feat: mixpanel tracking for all sign ups
* feat: utm first touch & last touch tracking
* feat(helm): Allows Environment Variable for MP to be configured
- default is enabled
- renames environment variable to ENABLE_MP
* feat(helm network policy): allowlist analytics.speckle.systems
---------
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
- errors should be logged to stdout in a structured format
- currently still throws errors which are ultimately unhandled, this matches existing behaviour
- Consolidate redis creation and error handling in a shared module
* remove unused 'redis' module, in favour of 'ioredis'
* fix(logging): user input errors should be logged as info severity
* Tidy the code to use a constant and a specific error type
* Attempting to remove the last admin user is invalid user input and should not be logged as error severity
* Missing passwords are user input errors
* Improves error logging
- use pino error logger correctly by passing in error as first argument
* monitor deployment: Filter logging at INFO level and above
* Use structured logging to create parameters for monitoring results
* Add structured logging to obj fileimport service
* Fileimport service, fix and improve logging
- use child logger with additional context where possible
- select appropriate logging level
- fix duplicated context in log statement
* REST endpoints, add context to structured logging and remove same context from message
* Webhook service provides context to bound logger to properly use structured logging
- Pass bound logger containing context to `makeNetworkRequest`
- do not log url, as it may contain a secret (like Discord's webhook urls), instead log the webhook Id
- log error message when network call fails
* upload: make better use of structured logging when recording data
* pino-pretty when in dev or test mode
- pino-pretty configured to send to stderr
* LOG_PRETTY env var
* Silence structured logging during testing
- can not rely on determining the port number by reading from stdout/stderr
- instead we determine which port is free, then create our server on that port
- we then poll that port until the server is ready before commencing tests
* Allow puppeteer to install chromium
* Do not need to install chromium separately