Commit Graph

504 Commits

Author SHA1 Message Date
Dimitrie Stefanescu 7b037352df Dim/fe2/view changes (#1608)
* 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>
2023-06-08 11:26:19 +03:00
Kristaps Fabians Geikins 440adbd3f9 feat: checking schema changes against apollo studio (#1603) 2023-05-30 12:35:15 +03:00
Kristaps Fabians Geikins a62b7d0a15 fix: hiding outdated/stuck file uploads 2023-05-30 10:09:45 +03:00
Kristaps Fabians Geikins c650bd3fec fix(server): re-enabling functionality we disabled when we encountered performance degradation (#1602) 2023-05-30 09:50:18 +03:00
Kristaps Fabians Geikins 5c032bd7a8 fix(fe2): saving more concrete resourceIdString in comments 2023-05-30 09:17:02 +03:00
Kristaps Fabians Geikins 9427686d42 fix(fe2): various follow mode & thread viewer state sync fixes & improvements (#1595)
* fix(fe2): unfollow on camera move

* WIP new state hydration function

* WIP sync state

* minor cleanup

* fix coloring not being tracked

* fix for post thread close camera pos restore

* supporting duplicate users

* preventing guest commenting + state reset fixes

* fixed guests not receiving viewer comment updates

* post-thread creation opens new thread

* removing gap between 'X is typing' and bubble appearing

* reset filters will also reset colors now

* fixed thread full context

* camera reset fix

* thread reset fix

* fixed router concurrency issues

* followed user avatar fix

* TONS OF DEBUGGING FOR ROUTER QUEUING

* removing queued routing debugging stuff + disabling spotlight cancelation

* WIP async URL updates

* missing authLogger fixed

* fix for broken projection

* fix for bubbles positions not updating correctly

* queued routing cleanup

* fixed spotlight mode disabling unnecessarily

* added back stoplight stop on ctrl

* undid spotlight debugging
2023-05-29 15:20:32 +03:00
Gergő Jedlicska acc2604cc5 fix(server commits graphql): fix commit author null error (#1596)
commit authorId-s can be null, if a server user is deleted.
We keep the commit on the server, so we need to be able to
return null values for commit author name and avatar

Co-authored-by: CI <devops+circleci@speckle.systems>
2023-05-24 14:33:10 +02:00
Kristaps Fabians Geikins f83118977e fix(server): subscription request logging 2023-05-23 12:20:40 +03:00
Kristaps Fabians Geikins d84963e638 fix: fixing inverted if-else 2023-05-22 21:04:16 +03:00
Kristaps Fabians Geikins 49f1caf5ac fix(): disabling sub dataloader cache 2023-05-22 21:03:21 +03:00
Kristaps Fabians Geikins a42ee35c09 fix(server): self-cleaning sub dataloaders + Comment.data type change 2023-05-22 21:00:27 +03:00
Kristaps Fabians Geikins c7bcf8c65f yarn install quickfix 2023-05-22 20:05:57 +03:00
Kristaps Fabians Geikins c9e8f2984a fix: dbnotificationlistener precommit 2023-05-22 17:10:07 +03:00
Kristaps Fabians Geikins bc6bffc72e quickfix: disabling db listener for testing 2023-05-22 16:52:13 +03:00
Kristaps Fabians Geikins 12aa979628 feat(server): proper model() and version() error handling (#1581)
* feat(server): proper model() and version() error handling

* fix(fe-2): typing errors
2023-05-18 09:46:27 +02:00
Kristaps Fabians Geikins ba7ef04ca3 fix(server): invites fixes + proper project()/stream() query error reporting (#1580)
* fix(server): invalid stream invite purge + better error handling

* fix(server): proper project/stream query error reporting

* undo env example change

* fix(server): fixed tests

* fix(fe-2): chromatic adjustments

* fix(fe-2): non-randomized stories
2023-05-17 17:17:09 +02:00
Kristaps Fabians Geikins 766e5710b7 fix: flaky discoverable streams tests + fe2 cookie corruption 2023-05-16 14:57:24 +03:00
Kristaps Fabians Geikins c5edff0105 fix(server): more adjustments 2023-05-08 15:05:21 +03:00
Kristaps Fabians Geikins 8369f678c3 fix(server): more adjustments 2023-05-08 15:05:07 +03:00
Kristaps Fabians Geikins 31b8a4b29c fix(server): back to legacy commitUpdated/created structs 2023-05-08 14:26:55 +03:00
Kristaps Fabians Geikins b02a07e2b6 feat: Frontend 2.0 MVP 2023-05-08 10:47:01 +03:00
Gergő Jedlicska 89dccd8495 feat(server): add speckle automate as a configurable default app (#1540)
* feat(server): add speckle automate as a configurable default app

* feat(server): add default automate url, and helm values

* fix default app tests reporting the old number
2023-04-19 12:59:59 +02:00
Dimitrie Stefanescu d402837f9a fix(server): prettier saves the day as always (snark) 2023-04-15 12:46:02 +01:00
Dimitrie Stefanescu 6cc1046a86 fix(server): logging ipv6 catches 2023-04-15 12:39:24 +01:00
Iain Sproat 43c339bccf fix(logging): use broadcast address to mask logged ip (#1532) 2023-04-13 19:43:54 +01:00
Iain Sproat 8bc04f97d9 fix(logging): hash ip for all requests with an ip (#1531) 2023-04-13 17:38:17 +01:00
Iain Sproat 1515e2fee6 revert(ratelimit): defaults should remain as was prior to 2a35fe6 (#1528)
* Revert "fix(ratelimit): reduce /graphql limit based on incident (#1505)"
This reverts commit 2a35fe6178.
* Revert helm chart defaults to value in code
- fix typo
2023-04-13 15:24:51 +01:00
Iain Sproat 122f4c731f feat(log): log the ip address if a user is not logged in (#1527)
- we do not log both the ip if the user is signed in, as this may be a privacy issue
- the ip is only logged if there is no associated user information
2023-04-13 14:57:07 +01:00
Gergő Jedlicska 84ea2b1043 fix(server): make sure apollo logging works and it doesn't leak sensitive stuff (#1520) 2023-04-12 13:39:03 +01:00
Iain Sproat 4c723781b5 feat(server): authentication middleware should log auth context creation status (#1508)
* feat(server): authentication middleware should log auth context creation status
- this uses the pino http logger provided via prior express middleware, ensuring a request ID is associated with the log messages
- userID, scopes and roles will be logged
* Appends the authContext to the req.log, which makes it available on all subsequent calls
2023-04-11 18:43:46 +01:00
Iain Sproat 6c66049248 feat(logging): log apollo (graphql) requests and responses (#1509)
* feat(logging): log apollo (graphql) requests and responses
2023-04-11 18:42:40 +01:00
Iain Sproat 2a35fe6178 fix(ratelimit): reduce /graphql limit based on incident (#1505) 2023-04-07 12:49:45 +01:00
Kristaps Fabians Geikins 483a28c211 fix(server): correct server_id format (#1495) 2023-03-30 16:37:24 +03:00
Kristaps Fabians Geikins 5d5c0e012f feat(server): awaitable track calls (#1493) 2023-03-30 15:54:24 +03:00
Kristaps Fabians Geikins 9f50a11188 feat(server): extra server tracking props + better logging (#1492) 2023-03-30 15:04:11 +03:00
Kristaps Fabians Geikins 5d0fceaaf3 feat: proper sign up tracking (#1489)
* 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>
2023-03-30 12:21:59 +03:00
Gergő Jedlicska 0be2d5ee54 fix: (server password reset): email mjml was missing mj tags (#1452) 2023-03-14 10:41:00 +01:00
Iain Sproat 05838ac479 chore(server/fileimports): add more logging around file import failures (#1429) 2023-03-13 14:43:49 +00:00
Gergő Jedlicska c4454c2ede refactor(server email templates): use the mjml ejs rendering for all emails (#1448)
* refactor(server email templates): use the mjml ejs rendering for all emails

* fix(server access request): await the server info pls
2023-03-13 15:07:13 +01:00
Gergő Jedlicska 4e3e1de8d2 gergo/invalid token throw (#1444)
* fix(server authz): make sure to forbid access with invalid tokens

fix #927

* test(server authz tests): update tests to reflect the changes in the invalid token forbidden flow
2023-03-13 14:07:49 +01:00
Iain Sproat 0652af4033 fix(server): preview REST endpoint shall return 403 not 500 if no permissions (#1443) 2023-03-09 12:11:40 +00:00
Gergő Jedlicska 7d8ff2048a fix(test): make sure users are created sequentially (#1437) 2023-03-06 14:40:35 +01:00
Iain Sproat 7e89950358 feat(logging): log all http requests and responses (#1416)
- feat(logging): log all http requests and responses
- the auto logger does not log the body, to ensure sensitive payloads are not logged. Unfortunately this means that error messages are not logged either, so need to be manually logged.
- fix(logging): 400 errors should be info not error severity logging
2023-02-27 15:14:56 +00:00
Gergő Jedlicska f2803432b4 gergo/fix flaky admin override tests (#1420)
* fix(server authz tests): force wait until env vars are reloaded in authz tests

* test(server): fix flaky admin override tests with mocking
2023-02-27 13:59:16 +01:00
Iain Sproat 4b1969c804 chore(server): improve logging of REST API endpoints (#1414)
- chore(server): adds endpoint parameter to some log messages
- and any other relevant parameters we have to hand (streamId, userId etc..)
- logging severity is info for `400` status codes, error for `500` status codes or equivalent.
2023-02-24 11:22:21 +00:00
Gergő Jedlicska c80c2a2602 fix(server authz tests): force wait until env vars are reloaded in authz tests (#1403) 2023-02-22 14:05:56 +01:00
Gergő Jedlicska f1ec3f47c1 feat(server): add admin override to otheruser steams query (#1401) 2023-02-22 12:39:28 +01:00
Iain Sproat 9ed1656541 fix(redis): Redis errors should be logged in a structured manner (#1389)
- 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'
2023-02-22 09:13:05 +00:00
Gergő Jedlicska a0a44d8f17 fix(server auth): fix oidc stategy (#1394)
make sure the passport authentication works on the same request scope for auth and callback

fix #1374
2023-02-20 16:31:48 +01:00
Iain Sproat 787e85605c fix(security): prevent potential prototype pollution via request body filter (#1388)
* fix(security): prevent potential pollution of request body being executed

* An array is expected
2023-02-20 15:03:02 +00:00