Граф коммитов

5620 Коммитов

Автор SHA1 Сообщение Дата
Gergő Jedlicska 78368476d8
fix(gatekeeper): move to new workspace billing state 2024-10-30 16:10:15 +01:00
Gergő Jedlicska 9f51ad2fd4
Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/web-2102-upgrade-workspace-subscription-to-a-higher-tier 2024-10-30 15:56:32 +01:00
Gergő Jedlicska da7f0dda0e
gergo/web 2047 user joins the workspace event (#3412)
* feat(gatekeeper): add gatekeeper module feature flag

* feat(gatekeeper): add workspace pricing table domain

* feat(gatekeeper): add checkout session creation

* feat(gatekeeper): verify stripe signature

* wip(gatekeeper): checkout callbacks

* feat(gatekeeper): add unlimited and academia plan types

* refactor(envHelper): getStringFromEnv helper

* chore(gatekeeper): add future todos

* feat(gatekeeper): add productId to the subscription domain

* feat(gatekeeper): add in memory repositories

* feat(gatekeeper): add more errors

* feat(gatekeeper): complete checkout session service

* feat(gatekeeper): add stripe client implementation

* feat(gatekeeper): add checkout session completion webhook callback path

* feat(gendo): fix not needing env vars if gendo module is not enabled

* feat(gatekeeper): require a license for billing

* chore(gatekeeper): cleanup before testing

* feat(gatekeeper): subscriptionData parsing model

* ci: add billing integration and gatekeeper modules to test config

* test(gatekeeper): add checkout service tests

* feat(gatekeeper): make completeCheckout callback idempotent properly

* feat(gatekeeper): move to knex based repositories

* test(gatekeeper): billing repository tests

* feat(gatekeeper): add yearly billing cycle toggle

* feat(ci): add stripe integration context to test job

* feat(billingPage): conditionally render the checkout CTAs

* fix(gatekeeper): remove flaky test condition

* feat(helm): add billing integration feature flag

* WIP billing gql api

* feat(gatekeeper): cancel checkout session api

* feat(gatekeeper): handle existing checkout sessions, when trying to create a new one

* feat(gatekeeper): add workspace plans gql api

* feat(gatekeeper): handle cancelation and subscription updates

* fix(gatekeeper): scope initialization

* fix(gatekeeper): eliminate stripe client import sideeffect

* fix(gatekeeper): eliminate stripe client import sideeffect 2

* feat(gatekeeper): upsize subscription on workspace role change

* feat(shared): add command pattern implementation

* refactor(eventBus): remove return capabilities from the event bus

* refactor(workspaces): use new commandFactory in workspace resolver

* feat(core): facelift taskLock

* feat(gatekeeper): shedule subscription downscale

* feat(gatekeeper): manage subscription downscale

* feat(gatekeeper): get workspace subscriptions, that are about to expire

* feat(gatekeeper): manage subscription downscale

* fix(gatekeeper): do not update subscription to canceled subs

* ci: bump postgres and max connections

* feat(workspaces): fix command factory event bugs
2024-10-30 15:51:40 +01:00
Iain Sproat 077587a7c1
fix(ci): use large resource class in publish viewer sandbox job (#3416) 2024-10-30 14:16:23 +00:00
Alexandru Popovici 31a21f3a9a
GeometryPass now updates the section planes automatically for any overriden materials (#3409) 2024-10-30 14:31:30 +02:00
Benjamin Ottensten 00e9a43bc0
Uppercase keyboard shortcuts (#3403) 2024-10-30 12:58:02 +01:00
Iain Sproat 8ea43d7b98
feat(server/multi region config): mount file and read config from file (#3407)
* feat(multi region config): mount file and read config from file
* feat(helm): allow multi region config to be mounted from a secret
* Allow the file name to be amended
2024-10-30 10:59:03 +00:00
Kristaps Fabians Geikins 55d0d10103
Merge pull request #3406 from specklesystems/fabians/multi-region-base
feat(server): multi region module base w/ a test (mocked) mutation
2024-10-30 10:25:04 +00:00
andrewwallacespeckle 1cdd08062a
fix(fe2): Add workspace name to workspace page title (#3410)
* Add workspace name to workspace page title

* useHeadSafe
2024-10-30 09:43:53 +00:00
Mike 5e3c3e2689
Fix: Disabled collaborators link when user has no role on project (#3415) 2024-10-30 09:37:54 +01:00
Kristaps Fabians Geikins 31f56001f8
Merge pull request #3400 from specklesystems/fabians/quick-js-to-ts-5
chore(server): quick js to ts #5 - remaining stragglers
2024-10-30 08:19:31 +00:00
Gergő Jedlicska 1862028b67
feat(gatekeeper): upgrade workspace plan 2024-10-30 07:57:51 +01:00
Gergő Jedlicska edc70b76bc
fix(gatekeeper): do not update subscription to canceled subs 2024-10-29 20:44:13 +01:00
Gergő Jedlicska 79a0759c58
Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/web-2047-user-joins-the-workspace-event 2024-10-29 20:21:15 +01:00
Gergő Jedlicska 81c20dbdf3
feat(gatekeeper): manage subscription downscale 2024-10-29 20:17:19 +01:00
Alexandru Popovici a5cc51040c
Added batch material override support for instanced speckle meshes, aka all instances (#3411) 2024-10-29 19:14:23 +02:00
Gergő Jedlicska 796b1c23ed
feat(gatekeeper): get workspace subscriptions, that are about to expire 2024-10-29 17:44:43 +01:00
Gergő Jedlicska c0808e5577
feat(gatekeeper): manage subscription downscale 2024-10-29 16:52:00 +01:00
Alessandro Magionami 403486f01b
Merge pull request #3401 from specklesystems/alessandro/fileimport-service-ioc-2-parse-and-create-commit
Fileimport IoC 2 parseAndCreateCommit
2024-10-29 14:28:10 +01:00
Alessandro Magionami f8937058f4
Merge pull request #3390 from specklesystems/alessandro/web-957-cleanup
Webhooks IoC 1 cleanup function refactor
2024-10-29 14:27:55 +01:00
Kristaps Fabians Geikins 0335104813
config adjustment 2024-10-29 14:13:03 +02:00
Kristaps Fabians Geikins 610808fc15
feat(server): multi region module base w/ a test (mocked) mutation 2024-10-29 14:07:35 +02:00
Alexandru Popovici 613614d5d0
View Modes (#3259)
* Edge drawing render pass using both depth and normal data

* Edges are now mixed with the rest of the passes in the final pass

* Set MSAA for SS edges framebuffers to maximum number of samples

* New depth gradient extraction approach. Several improvements over the old one

* Some changes to the normal gradient extraction. Using Robert's Cross works roughly the same as the older approach with 1 less texture fetch. Also implemented Canny

* Combined static AO with edges

* Implemented SMAA and static TAA. Both toggeable in realtime for better comparisons

* Added the normal pass and fixed some issues

* The pipeline is now capable of jitter individual passes if requested

* Added TAA pass. Technically it can be used to antialias anything. Right now we've disabled MSAA and using TAA for stationary as an example

* Added a TAA pipeline on the final image. Added DPR into pipeline resize calls. Struggled a *lot* with different blending results between drawing to the backbuffer and to a framebuffer then copying to the backbuffer. There are still some differences visible

* Edges pipeline

* Edges + TAA + AO + COLOR pipeline

* ShadedView mode

* Visibility is now properly reset when coming from a visibility conditioned pass to an unconditioned one

* Added another version for 'shaded' view, inspired by blender's viewport shading

* Added pen view together with a sample paper like texture for vissual background

* A form of techincal view

* Arctic view. Separate viewport pass from matcap pass

* Cleaned up the ao shader a bit. Formalized progressive ao pass options

* WIP on BasitMode

* Added pipeline switching to the sandbox. Edge pass now has an optional texture background

* Implemented BasicMode using material overrides

* Merged with latest main

* Fix merge issues

* More merge misses

* Stating stream

* Fixed an issue that took hours to debug and it turned out to be a literal typo

* Formalized the progressive pipeline concept which removed a lot of duplicated code

* Added pipeline reseting. Added pipeline passthrough to allow features like measurements to run correctly. Added jitter to depth buffer for progressive AO for much better results!

* Implemented the required stencil passes used for stencil selection as new pass formats. Added them as well as the overlay pass to all pipelines. Will need to automate their addition though

* Fixed stencil selection in pen view. Decided to only show outlines because it makes more sense

* Implemented proper pass clearing values and flags. Also made sure the minimum amount of clears are made inside the frame. Fixed an issue with progressive pass frame counts and indices.

* Formalized options for all passes that had any. Tidied up some shaders and simplified where possible

* Centralized render target creation and removed a lot of render target creation in the passes that had no need for it. Fixed an issue where the matcap material would not not update it's matcap texture properly when rendering in override mode

* Matcap and Viewport passes where merged into a single Viewport pass that can take a matcap texture in it's options. Also, changed the way the viewport shader displays colors, based on three's textureless matcap shader block.

* Updated PassReader extension to work with the latest pipeline. NNowthe pass reader accepts the pass name when reading, so it can used to read any passes

* WIP on MRT

* Implemented DepthNormal MRT pass and used in a pipeline. Working fine on WebGL2.0

* Full Support for WebGL1.0

* Fix for viewport material not updating it's texture properly

* Added an extension that enables hotkeys for view modes

* Fixed jittering for orthographic projections

* Fixed the section tool integration issues with the new pipelines

* Added MRT versions of the pipelines that need it]

* Added a wrapper ViewModes extensions that defines the existing view modes and handles the required check for MRT capabilities and selects the nonMRT/MRT pipelines accordingly

* Error fixes

* Another error

* Added shadowcatcher to arctic and shaded view since it was missing by mistake. Increased the KERNEL_SIZE for arctic mode so that the AO is more smooth

* Disabled pen view background texture

* When reseting the pipeline the jitter index is also reset in order to avoid visible jittering when switching fast between dynamic and progressive mode repeteadly (like when moving the clipping box)

* Quick solution for integrating view modes with per-object operatins like selection and filtering

* View modes now have the ability of overriding the batch's default material instead of all it;s materials. This means that per object material changes like selection and filtering will work together with view modes. Handles WEB-2080, WEB-2083, WEB-2084, WEB-2081 and WEB-2082

* Fiter applies now trigger a hard reset, which is required and fixes a preexisting bug in production. Fixed an issue where the shadowcatcher would incorrectly blend in shaded view mode

* Viewport pass can now render transparency. Arctic mode now renders transparent objects as well (was originally required)

* Forcing the multipel render targets we use for MRT to use a 32 bit depth buffer for proper precision on MacOs Chromium

* Fixed an issue where incorrect visible ranges were being perpetuated when selecting hidden objects (outlines only mode)

* PROPS are not rendered twice anymore and they've been moved to the overlay pass in all pipelines

* Reorganized passes and pipelines. Deleted old passes

* Renamed all new passes. Only the interface and base pass types have a G prepended to make it 100% clear it's different than three's Pass type

* Fixed some compiling errors

* Dont change viewmodes when inputs are being used

* Pipeline gets resized whenever it's set in the renderer. Some other smaller changes

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2024-10-29 13:30:26 +02:00
Gergő Jedlicska d6dad6609a
feat(gatekeeper): shedule subscription downscale 2024-10-28 18:58:13 +01:00
Gergő Jedlicska 3184855aa7
gergo/checkoutGqlResolver (#3405)
* feat(gatekeeper): add all plan statuses

* chore(gatekeeper): gqlgen
2024-10-28 18:10:31 +01:00
Alessandro Magionami 7c9780d52b
chore(webhooks): fixed function name 2024-10-28 15:19:42 +01:00
Alessandro Magionami c9ef276343
Merge pull request #3399 from specklesystems/fabians/quick-js-to-ts-4
chore(server): quick js to ts #4 - remaining commits resolvers (thats it!)
2024-10-28 15:18:16 +01:00
Alessandro Magionami 11c13796c2
Merge pull request #3393 from specklesystems/fabians/gendo-ioc-5
chore(server): gendo IoC #5 - getVersionRenderRequestFactory
2024-10-28 15:17:56 +01:00
Alessandro Magionami f48b81e633
Merge pull request #3392 from specklesystems/fabians/gendo-ioc-4
chore(server): gendo IoC #4 - getLatestVersionRenderRequestsFactory
2024-10-28 15:17:26 +01:00
Alessandro Magionami 6f7501b018
Merge pull request #3391 from specklesystems/fabians/gendo-ioc-3
chore(server): gendo IoC #3 - updateRenderRequestFactory
2024-10-28 15:16:59 +01:00
Alessandro Magionami 811c8207b0
Merge pull request #3389 from specklesystems/fabians/gendo-ioc-2
chore(server): gendo IoC #2 - createRenderRequestFactory
2024-10-28 15:16:37 +01:00
Kristaps Fabians Geikins 11fec3222a
cjs doesnt like knex default export 2024-10-28 11:35:20 +02:00
Kristaps Fabians Geikins 284e9968dc
knex still busted! ffs 2024-10-28 11:33:35 +02:00
Kristaps Fabians Geikins 4bbb3739fe
minor fixes 2024-10-28 11:05:56 +02:00
Kristaps Fabians Geikins 23b9a533c6
minor fixes 2024-10-28 10:44:07 +02:00
Kristaps Fabians Geikins 01bc2e0253
chore(server): quick js to ts #5 - remaining stragglers 2024-10-25 15:47:28 +03:00
Kristaps Fabians Geikins 9783537ea9
Merge branch 'main' into fabians/quick-js-to-ts-4 2024-10-25 15:19:29 +03:00
Kristaps Fabians Geikins 6cf31becad
commitDeleted 2024-10-25 15:16:31 +03:00
Kristaps Fabians Geikins cbbf9b6ad4
commitUpdated 2024-10-25 15:03:15 +03:00
Kristaps Fabians Geikins c579e208ee
Merge pull request #3397 from specklesystems/fabians/quick-js-to-ts-3
chore(server): quick js to ts #3 - remaining branches resolver
2024-10-25 12:22:20 +01:00
Kristaps Fabians Geikins a3604331c4
commitCreated 2024-10-25 14:21:58 +03:00
Gergő Jedlicska 48b0fe0b29
feat(gatekeeper): add all plan statuses (#3398) 2024-10-25 13:19:35 +02:00
Kristaps Fabians Geikins 64c3a5c62d
Merge pull request #3396 from specklesystems/fabians/quick-js-to-ts-2
chore(server): easy js to ts migrations #2 - objectStorage.ts
2024-10-25 12:00:26 +01:00
Kristaps Fabians Geikins f690f1016a
branchDeleted 2024-10-25 13:57:58 +03:00
Kristaps Fabians Geikins 64d2888506
branchUpdated sub 2024-10-25 13:55:26 +03:00
Kristaps Fabians Geikins cedc1beb6c
branchCreated sub 2024-10-25 13:50:01 +03:00
Kristaps Fabians Geikins 716a108c7a
got rid of forced casting 2024-10-25 13:31:33 +03:00
Kristaps Fabians Geikins 04400b1ee9
chore(server): easy js to ts migrations #2 - objectStorage.ts 2024-10-25 13:21:30 +03:00
andrewwallacespeckle 678c75350c
feat(fe2): Update Section Box controls to include visibility (#3333)
* Update Section Box controls to include visibility

* Update reset v-if

* Update shortcut

* Added render requests so that section box updates are made visible

* Remove comments

* Exposed SectionToolEvent in the viewer

* Only show reset when change has been made to sectionbox

* gql

* Make state reactive

* Revert "Make state reactive"

This reverts commit 1697b12cd6.

* Handles WEB-2039

* Handles WEB-2035

* Changes from call with Fabs

---------

Co-authored-by: AlexandruPopovici <alexandrupopoviciioan@gmail.com>
2024-10-25 10:46:48 +01:00
Gergő Jedlicska a80be1ca89
Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/web-2047-user-joins-the-workspace-event 2024-10-25 11:31:20 +02:00