Commit Graph

8254 Commits

Author SHA1 Message Date
Kristaps Fabians Geikins de4159efc9 set up CI test job 2024-11-12 12:39:36 +02:00
andrewwallacespeckle dd467097b3 Prevent creation of multiple projects by multiple clicks (#3480) 2024-11-12 09:39:13 +00:00
Alessandro Magionami 992c9579ad chore(multiregion): branches resolvers multiregion (#3483) 2024-11-12 10:35:43 +01:00
Chuck Driesler 22167d215f feat(sso): delete sso (#3452)
* feat(sso): delete sso

* fix(sso): simplify delete
2024-11-12 09:17:48 +00:00
Kristaps Fabians Geikins 37824bb845 Merge branch 'main' into fabians/multiregion-testing3 2024-11-12 09:59:58 +02:00
Gergő Jedlicska 9e383f83b1 fix(workers): add zod and znv (#3484) 2024-11-11 17:10:59 +00:00
Gergő Jedlicska 6038611974 feat(webhook-service): learn to speak multi region (#3473)
* feat(webhook-service): learn to speak multi region

* refactor(webhook-service): remove unnecesary factories

* docs(activities): brain dump

* fix(shared): need to add knex as a dev dep

* fix(shared): align dev dep
2024-11-11 17:10:29 +01:00
Kristaps Fabians Geikins 653ba5dc53 reenable server admin region tests 2024-11-11 17:05:53 +02:00
Kristaps Fabians Geikins 2d0aea90cf linter fixes 2024-11-11 16:00:37 +02:00
Kristaps Fabians Geikins 9abf5b0a77 more adjustments & fixes 2024-11-11 15:38:05 +02:00
Alessandro Magionami 11357a92ff Merge pull request #3476 from specklesystems/alessandro/web-2138-models-resolvers
alessandro/web 2138 models resolvers
2024-11-11 14:37:20 +01:00
Kristaps Fabians Geikins 2643d32d0a Merge branch 'main' into fabians/multiregion-testing3 2024-11-11 14:53:53 +02:00
Kristaps Fabians Geikins d02ca824c3 test fixes 2024-11-11 14:51:54 +02:00
andrewwallacespeckle 4a43c5d52c Update Sidebar.vue (#3478) 2024-11-11 11:18:11 +00:00
Gergő Jedlicska fcb8dd275a fix(automate): some gql generation mixup 2024-11-11 10:40:28 +01:00
Gergő Jedlicska 76367c30c2 feat(commits): proper dep initialization 2024-11-11 10:23:35 +01:00
Gergő Jedlicska ebce930b9c feat(frontend2): pass projectId props where needed 2024-11-11 09:58:07 +01:00
Gergő Jedlicska 153b1c3802 feat(version): require project id in version mutations 2024-11-11 09:57:22 +01:00
Gergő Jedlicska 50a76315ef Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2138-models-resolvers 2024-11-11 06:15:31 +01:00
Gergő Jedlicska 1c19f67dd2 feat(models): support streamId, branchId in models 2024-11-11 06:09:53 +01:00
Chuck Driesler e4a005f5da fix(automate): fix possible auth error (#3470) 2024-11-08 16:59:48 +00:00
Alessandro Magionami 7fb3a97ee5 chore(multiregion): initial work for models, versions and objects 2024-11-08 17:42:11 +01:00
Alessandro Magionami 2ad6b02db9 chore(multiregion): fix project resolver 2024-11-08 17:41:34 +01:00
Alessandro Magionami 23445f91e2 chore(multiregion): add streamId to versions 2024-11-08 17:40:50 +01:00
Gergő Jedlicska b77d70585e fix(redis): make redis client singleton from a module (#3469)
* fix(redis): make redis client singleton from a module

* fix(projectDownload): pass region key properly
2024-11-08 17:18:28 +01:00
Kristaps Fabians Geikins ee16b083ba feat(server): run tests in multiregion mode if RUN_TESTS_IN_MULTIREGION_MODE=true 2024-11-08 18:03:13 +02:00
Gergő Jedlicska 2e3e8bed1d gergo/sendReceiveMultiRegion (#3461)
* feat(webhooks): multi region webhook resolver

* feat(webhooks): multi region webhook cleanup

* fix(webhooks): DI fixes

* feat(activitystream): region aware save activity

* feat(accessrequests): multi region

* feat(cli): allow multi region project and commit download

* feat(postgres): make docker postgres 0 day multi region ready

* feat(cli): allow multi region project and commit download properly

* fix(cross-server-sync): di fix

* feat(activitystream): non region aware activities, they are not project data

* fix(webhooks): triggers need to be included

* feat(stream/projectCreate): activity save is not needed any more, its all event based

* feat(multiRegion): get all registered db clients

* fix(regions): test equal in any order

* feat(objects): use project region for send and receive
2024-11-08 14:46:36 +01:00
Iain Sproat de4235a9d0 chore(healthchecks): refactor out of modules (#3465) 2024-11-08 13:36:02 +00:00
Chuck Driesler f716d0c230 fix(sso): do not use authorize resolver for sso sign in (#3443) 2024-11-08 11:00:07 +00:00
Mike 5260111f8c Feat: Add billing summary (#3456)
* Feat: Add billing summary

* Update linting

* Fix workspacePricingPlanInformation include info object

* Fix typing

* Cleanup

* Update seat prices

* Fix casing

* Remove old billing logic
2024-11-08 11:28:23 +01:00
Gergő Jedlicska 73cc7e67d3 gergo/webhookRegions (#3459)
* feat(webhooks): multi region webhook resolver

* feat(webhooks): multi region webhook cleanup

* fix(webhooks): DI fixes

* feat(activitystream): region aware save activity

* feat(accessrequests): multi region

* feat(cli): allow multi region project and commit download

* feat(postgres): make docker postgres 0 day multi region ready

* feat(cli): allow multi region project and commit download properly

* fix(cross-server-sync): di fix

* feat(activitystream): non region aware activities, they are not project data

* fix(webhooks): triggers need to be included

* feat(stream/projectCreate): activity save is not needed any more, its all event based

* feat(multiRegion): get all registered db clients

* fix(regions): test equal in any order

* fix(projectDownload): need to await
2024-11-08 10:45:39 +01:00
dependabot[bot] 5052355698 chore(deps): bump dompurify from 2.3.6 to 2.5.4 (#3014)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.6 to 2.5.4.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.6...2.5.4)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-07 21:04:44 +00:00
Iain Sproat 01450de54d fix(helm chart): root is read-only so mount volume to specific directory (#3458)
* fix(helm chart): mount correct path

* fix(helm chart): root is read-only so mount volume to specific directory
2024-11-07 14:20:05 +01:00
Iain Sproat a80e515d12 fix(helm chart): provide service account with access to multi-region (#3457) 2024-11-07 12:35:25 +00:00
Alexandru Popovici 0a6e184024 The viewer now exports pass and pipeline related types. Also added a debug normal pipeline in the sandbox (#3451) 2024-11-07 13:21:43 +02:00
Kristaps Fabians Geikins bf6479b5c8 Merge pull request #3455 from specklesystems/fabians/multiregion-dataloaders1
feat(server): multi region support in dataloaders
2024-11-07 10:28:16 +00:00
Iain Sproat 05ba9ee8e6 feat(helm chart): include multi-region feature flag and mount volume from secret (#3453)
* feat(helm chart): include multi-region feature flag and volume from secret

* fix monitoring deployment template

* Add environment variables to all services
2024-11-07 10:11:48 +00:00
Kristaps Fabians Geikins d0acdbcb8b test fix 2024-11-07 10:18:16 +02:00
Kristaps Fabians Geikins 16a56242b6 Merge pull request #3454 from specklesystems/fabians/tests-fix
fix(server): failing workspace regions test
2024-11-07 08:11:03 +00:00
Kristaps Fabians Geikins 69ff3864af feat(server): multi region support in dataloaders 2024-11-07 09:57:43 +02:00
Alexandru Popovici a48ec073a1 The bounds to check against when intersecting the scene is now being properly expanded and 0 sized component bounds are being taken care of (#3450) 2024-11-07 09:55:27 +02:00
Kristaps Fabians Geikins 256fbeb159 fix(server): failing workspace regions test 2024-11-07 09:51:50 +02:00
Alessandro Magionami 1acc6fde66 Alessandro/web 2107 projects crud operation in regions (#3446)
* chore(multiregion): project and project delete resolvers

* chore(multiregion): project update resolvers
2024-11-06 21:36:45 +01:00
Iain Sproat 8d72d50d45 fix(helm chart): secret path must be relative and not absolute (#3449) 2024-11-06 20:14:52 +00:00
Chuck Driesler 0ab53111a9 fix(sso): gatekeeper (#3442)
* feat(workspaces): add workspace sso feature flag

* feat(workspaceSso): wip validate sso

* feat(workspaces): validate and add sso provider to the workspace with user sso sessions

* feat(workspaces): validate and add sso provider to the workspace with user sso sessions

* WIP

* fix(sso): restructure to handle all branches at end of flow

* fix(sso): add and validate emails used for sso

* fix(sso): park progress

* chore(workspaces): review sso login/valdate

* fix(sso): adjust validate url

* chore(sso): auth header puzzle

* fix(sso): happy-path config

* chore(gql): gqlgen

* fix(sso): almost almost

* fix(sso): auth endpoint

* a lil more terse

* fix(sso): light at the end of the tunnel

* fix(sso): improve catch block error messages

* fix(sso): session lifespan => validUntil

* fix(sso): I think we've got it

* feat(sso): limited workspace values for public sso login

* fix(sso): use factory functions

* fix(sso): til decrypt is single-use

* fix(sso): correct usage of access codes

* fix(sso): use finalize middleware in all routes

* chore(sso): cheeky tweak

* fix(sso): move some types around

* fix(sso): stencil final shape I'm sleepy

* fix(sso): more factories more factories

* fix(sso): on to final boss of factories

* fix(sso): needs a haircut but she works

* fix(sso): init rest w function, not side-effects

* fix(sso): /authn => /sso

* chore(sso): errors

* chore(sso): test test test

* chore(sso): test all the corners

* feat(sso): list workspace sso memberships

* chore(sso): tests, expose in rest

* fix(sso): sketch active user auth

* fix(sso): expose search via gql

* fix(sso): active user session information

* chore(sso): sso session test utils

* chore(sso): test sso session repo/services

* chore(sso): gqlgen

* feat(sso): throw error on missing or expired sso session

* chore(sso): tests for SSO access protection

* fix(sso): use gatekeeper to protect sso access

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2024-11-06 16:29:49 +00:00
Gergő Jedlicska f210d9b749 gergo/web 2109 project region based db connection selector (#3434)
* feat(projects): add project regions, default to null

* feat(multiregion): add projectRegion Db client lookup logic

* feat(multiregion): add project region repositories and caching

* feat(multiRegion): db initialization and get project db client

* feat(docker-compose): add second db for regions testing

* feat(multiRegion): initialize region with pubs and subs working

* fix(multiRegion): get region client even if it was registered in another pod

* feat(workspaces): create workspace resolver split

* feat: update server region metadata

* feat(projects): rewrite project creation

* feat(multiRegion): getRegionDb

* fix(workspaces): get projects now can retur null

* feat(multiRegion): make local multi region DB-s work

* feat: set d efault workspace region

* CR changes

* tests

* feat(multiRegion): bind region properly

* fe update

* test fixes

* feat(multiRegion): automatically create aiven extras plugin

* ci(postgres): use published postgres with aiven extras

* fix(multiRegion): roll back the aiven extras migration, there is a better way

* tests fix

* fix(billing): we do not need to add a seat, if the workspace is on a plan, but has no sub

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-11-06 17:29:08 +01:00
Dimitrie Stefanescu 60e6354524 Merge pull request #3445 from specklesystems/WEB-2136
fix: adds brepx, extrusionx, subdx support in viewer for real this time
2024-11-06 13:49:06 +00:00
Dimitrie Stefanescu 96d497232d fix: adds brepx, extrusionx, subdx support in viewer for real this time 2024-11-06 13:46:16 +00:00
Chuck Driesler d42bf7c3f9 feat(sso): protect access with sso sessions (#3441)
* feat(workspaces): add workspace sso feature flag

* feat(workspaceSso): wip validate sso

* feat(workspaces): validate and add sso provider to the workspace with user sso sessions

* feat(workspaces): validate and add sso provider to the workspace with user sso sessions

* WIP

* fix(sso): restructure to handle all branches at end of flow

* fix(sso): add and validate emails used for sso

* fix(sso): park progress

* chore(workspaces): review sso login/valdate

* fix(sso): adjust validate url

* chore(sso): auth header puzzle

* fix(sso): happy-path config

* chore(gql): gqlgen

* fix(sso): almost almost

* fix(sso): auth endpoint

* a lil more terse

* fix(sso): light at the end of the tunnel

* fix(sso): improve catch block error messages

* fix(sso): session lifespan => validUntil

* fix(sso): I think we've got it

* feat(sso): limited workspace values for public sso login

* fix(sso): use factory functions

* fix(sso): til decrypt is single-use

* fix(sso): correct usage of access codes

* fix(sso): use finalize middleware in all routes

* chore(sso): cheeky tweak

* fix(sso): move some types around

* fix(sso): stencil final shape I'm sleepy

* fix(sso): more factories more factories

* fix(sso): on to final boss of factories

* fix(sso): needs a haircut but she works

* fix(sso): init rest w function, not side-effects

* fix(sso): /authn => /sso

* chore(sso): errors

* chore(sso): test test test

* chore(sso): test all the corners

* feat(sso): list workspace sso memberships

* chore(sso): tests, expose in rest

* fix(sso): sketch active user auth

* fix(sso): expose search via gql

* fix(sso): active user session information

* chore(sso): sso session test utils

* chore(sso): test sso session repo/services

* chore(sso): gqlgen

* feat(sso): throw error on missing or expired sso session

* chore(sso): tests for SSO access protection

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2024-11-05 17:36:51 +01:00
Kristaps Fabians Geikins 1c0482b48a feat: update server region metadata (#3433) 2024-11-05 13:29:51 +01:00