Commit Graph

2482 Commits

Author SHA1 Message Date
Alessandro Magionami f5a8ab7cbc feat(gatekeeper): add new create checkout session function 2025-03-05 17:33:36 +01:00
Alessandro Magionami 1e3d06c121 feat(gatekeeper): add new plans in graphql 2025-03-05 17:31:06 +01:00
Iain Sproat 0035783932 place busboy instantiation in callable function 2025-03-05 15:20:12 +00:00
Iain Sproat 334a7e4988 Tidy deletion endpoint 2025-03-05 15:02:18 +00:00
Iain Sproat 2d73a75cf8 custom error handler can be removed as functionality is already provided by our existing middleware 2025-03-05 14:30:13 +00:00
Iain Sproat 6afad05430 refactor(blobstorage): separate REST components and services 2025-03-05 14:21:50 +00:00
Kristaps Fabians Geikins 954b1a9f11 feat: plan prices accurately read from Stripe (#4104)
* WIP prices + new caching utils

* cached workspace plan prices

* GQL API done

* integrated in frontend

* fixed missing FF

* CR fixes

* integration tests

* removed non-existant team yearly env var
2025-03-05 12:23:38 +02:00
Iain Sproat 5dbbe7f78a fix(server/types): GetUserActivity actionType is optional (#4093)
- https://github.com/specklesystems/speckle-server/blob/04f84c31f36da3d8eb828c7262a040e4c5ecee2e/packages/server/modules/activitystream/repositories/index.ts#L213
2025-03-04 21:13:43 +00:00
Iain Sproat ec0253c895 Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-03-04 16:36:43 +00:00
Iain Sproat d79f561647 fix broken imports 2025-03-04 16:27:44 +00:00
Iain Sproat bce8f8fd5e Merge branch 'main' into iain/task-id-to-request-context 2025-03-04 16:25:49 +00:00
Mike ad899a8fd7 Feat: Add isEmailsEnabled to serverInfo (#4109) 2025-03-04 15:54:06 +01:00
andrewwallacespeckle c384996978 refactor(fe): New workspace actions route to avoid slug conflicts (#4107)
* Remove blockedSlugs

* Update workspace action routes to use /actions

* Re-add blockedWords
2025-03-04 14:43:07 +00:00
Iain Sproat 5e4a6c5635 fix(server/prometheus): ensure consistent Prometheus registry is used (#4106)
* fix(server/prometheus): ensure consistent Prometheus registry is used
- there was a conflicting dependency between Metrics initialization and Modules initialization; resolved by separating registry initialization from metrics initialization
- pass in the registry to prevent implicit dependency being broken
- when registering a metric, first attempt to remove any of existing metrics with same name to prevent errors
- to prevent sneaky uses of the implicit registry, replace default import with explicit import so it is clearer when prometheusClient.registry is used

* Add tests for registering metrics
2025-03-04 08:41:53 +00:00
Chuck Driesler 063750cac7 feat(workspaces): track last visited workspace and project (#4086)
* feat(workspaces): track last visited workspace and project

* fix(workspaces): some renaming

* fix(workspaces): appease ts

* fix(tests): repair meta tests
2025-03-03 22:35:01 +00:00
Iain Sproat 47556d68c7 chore(server/scheduled tasks): should log task name and unique task Id (#4094) 2025-03-03 15:12:11 +00:00
Chuck Driesler 0a77270da1 fix(automate): fix search param parsing (#4099) 2025-03-03 09:19:59 +00:00
Chuck Driesler 9b7c56de9f fix(workspaces): emit role updated on join request approved (#4100) 2025-03-03 09:19:22 +00:00
Iain Sproat 76623529a5 tests(server/tests): convert modules/core/tests/graph.spec to typescript (#4096) 2025-03-03 09:18:33 +00:00
Iain Sproat d0d9d22fe2 chore(server): tidy up maybeLoggerWithContext (#4095) 2025-03-03 09:17:55 +00:00
Iain Sproat 193e7d870e chore(server/logging): email logging should include request or task Id in log context
- allows us to better link events to triggering actions
2025-03-01 23:30:57 +00:00
Iain Sproat 0244aa1b4a Merge branch 'iain/log-scheduled-executions' into iain/chore-loggerWithMaybeContext 2025-03-01 23:09:33 +00:00
Iain Sproat 7458a25928 chore(server): tidy up maybeLoggerWithContext 2025-03-01 21:53:23 +00:00
Iain Sproat d46b9fc5ae chore(server/scheduled tasks): should log task name and unique task Id 2025-03-01 21:16:23 +00:00
Iain Sproat 04f84c31f3 fix(server/automate): logger should have request context and request ID sent to execution engine (#4092)
* fix(server/automate): logger should have request context

* WIP - pass in request Id

* WIP

* fix(automate): better logging for automate processes

* chore(automate): slight log improvement

* fix(automate): just in case

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-02-28 18:22:00 +00:00
Alessandro Magionami 6d153bd485 Merge pull request #4091 from specklesystems/alessandro/web-2765-ensure-seat-is-assigned-to-users-on-workspace-role-change
Alessandro/web 2765 ensure seat is assigned to users on workspace role change
2025-02-28 17:44:12 +01:00
Chuck Driesler 3cc68bb0e2 feat(automate): use updated hybrid function search (#4085)
* fix(automate): use new function query for workspace functions

* fix(automate): include workspace resource claims in auth flow

* chore(automate): do not use btoa
2025-02-28 16:03:34 +00:00
Iain Sproat 6f0133a39b chore(server/observability): logging of resolver to create checkout session (#4067) 2025-02-28 15:42:12 +00:00
Alessandro Magionami cae5b36681 test(workspaces): fix tests 2025-02-28 11:47:05 +01:00
Alessandro Magionami b6f269b8ea feat(workspaces): code review changes 2025-02-28 11:14:28 +01:00
Alessandro Magionami b6faa09bfc Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2765-ensure-seat-is-assigned-to-users-on-workspace-role-change 2025-02-28 10:44:29 +01:00
Iain Sproat 63bb82736c Fix broken merge from main 2025-02-28 09:43:15 +00:00
Iain Sproat a01aa96058 Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-28 09:42:47 +00:00
Alessandro Magionami 4a291740e6 Merge pull request #4070 from specklesystems/alessandro/web-2764-seat-counting-by-type
feat(workspaces): count workspace seats by type
2025-02-28 10:39:12 +01:00
Chuck Driesler 0cafe77013 feat(regions): change project region once move is complete (#3995)
* chore(regions): failing test for moving blobs

* fix(blobs): use blob storage table

* chore(regions): include file_uploads table for thoroughness

* fix(regions): extract repeated string to utils

* chore(regions): move validation as own service

* feat(regions): update project region key after move

* chore(regions): update tests to make gql requests
2025-02-28 09:35:44 +00:00
Iain Sproat fb95dd3bdd Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-28 09:23:48 +00:00
Alessandro Magionami 9322cfdd25 Merge pull request #4062 from specklesystems/alessandro/web-2729-viewer-and-editor-seat-types
chore(gatekeeper): add workspace_seats table and types
2025-02-28 10:23:33 +01:00
Alessandro Magionami 01fb463a7c Merge pull request #4052 from specklesystems/alessandro/web-2728-full-seat-products-for-new-paid-plans
chore(gatekeeper): rename workspace plans
2025-02-28 10:23:08 +01:00
Iain Sproat ce08e5e02d refactor(server): logging directory renamed to observability (#4077) 2025-02-28 08:43:54 +00:00
Alessandro Magionami ee92b254bc Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2728-full-seat-products-for-new-paid-plans 2025-02-28 09:37:57 +01:00
Alessandro Magionami 938127bf4b feat(workspaces): add listeners to assign workspace seats 2025-02-27 16:21:44 +01:00
Alessandro Magionami 9275ea1ee9 feat(workspaces): assign workspace seat logic 2025-02-27 16:20:33 +01:00
Iain Sproat 1eb7412fba Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-27 11:34:04 +00:00
andrewwallacespeckle 8c69f22e27 feat: Update user tags in Mailchimp when user completes onboarding questions (#4000)
* Add new updateMailchimpMemberTags function and use it in FE

* Pass tag data from FE

* Plan > Use case

* move onboarding types to shared package

* Check newsletter consent

* Changes from PR

* GQL
2025-02-27 11:29:00 +00:00
Iain Sproat 878650e9da Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-27 10:31:31 +00:00
Alessandro Magionami 99d4aba767 feat(workspaces): create workspace seat function 2025-02-27 11:06:31 +01:00
Mike 7cecffbabf Feat: Deep links on members settings (#4069) 2025-02-27 10:47:18 +01:00
Kristaps Fabians Geikins ec092fb042 chore: move common workspace plan/feature config to @speckle/shared (#4064)
fix: gqlgen regenerated
2025-02-27 11:18:30 +02:00
Iain Sproat 735a14279e fix(server/auth): callback should not finalize auth if HTTP response already sent (#4044) 2025-02-27 08:37:43 +00:00
Chuck Driesler 1cceb30273 chore(sso): improve misconfigured log (#4080) 2025-02-26 22:17:09 +00:00