Commit Graph

1968 Commits

Author SHA1 Message Date
Alessandro Magionami dceedf512f chore(gatekeeper): remove last references to year limit for team plan 2025-03-10 10:11:40 +01:00
Alessandro Magionami adfa8f4776 chore(gatekeeper): fix lint 2025-03-07 16:50:09 +01:00
Alessandro Magionami 1eb7331733 chore(gatekeeper): fix test 2025-03-07 16:38:36 +01:00
Chuck Driesler 9f83d1f74e feat(regions): trigger project move with job (#4010) 2025-03-07 09:18:12 +00:00
Alessandro Magionami bfc48f21a0 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2774-upgrade-from-free-to-paid-plan 2025-03-06 15:26:34 +01:00
Alessandro Magionami 2e0d2f0dbb chore(gatekeeper): fix another 2025-03-06 15:00:05 +01:00
Gergő Jedlicska 61609de97e gergo/previews (#3765)
* feat(preview-generator): add new preview generator webapp

* wip(preview-service): reworking the preview service backend

* feat(previews): logging

* feat(preview-service): streamline payloads

* fix(preview-service): do not log the full payload

* feat(preview-service): build new preview service

* feat(preview-service): add separate response queue

* feat(previews): integrate preview queues with the server

* feat(previews): use module alias

* chore(previews): remove old preview service code

* feat(previews): log stuff on job statuses

* fix(previews): add missing deps and scripts

* fix(previews): package deps fix

* fix(server): moar typing fixes

* Metrics related to jobs: total count, request failures, response errors & durations

* duration should include unit.
- histogram metric should be summary
- error responses include duration in seconds
- attempt to remove metric before adding it (prevent errors with duplicate metrics)

* fix(server, frontend): some ts fixes

* fixes

* fix(frontend): remove unneeded ts-expect-error

* chore(preview-service): eslint

* TS fix

* feat(previews): more smoal fixes

* fix(preview-service): alias loading

* feat(helm): updates for new preview service queue setup

* feat(preview-service): launch new browser for each job

* feat(preview-service): add timeout, fix liveliness

* fix(helm): add access to new secret in service accounts

* tidy metrics into a separate file

* Remove broken preview service acceptance test

* fix broken import

* Add metrics to test

* feat(preview-service): handle preview service shutdown properly

* fix(previews): merge bork

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2025-03-06 14:26:56 +01:00
Kristaps Fabians Geikins fb6dc448ca feat(server): prevent viewer seat from becoming project contributor/owner + extra fixes (#4117)
* unrelated fixes that i noticed

* tests for fix

* tests & working restrictions

* test fix

* test fixx
2025-03-06 13:26:16 +02:00
Alessandro Magionami fd99914c8e chore(gatekeeper): fix another test type 2025-03-06 11:26:41 +01:00
Alessandro Magionami e10ffac30c chore(gatekeeper): fix test type 2025-03-06 10:47:24 +01:00
Alessandro Magionami ca2c43738c Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2774-upgrade-from-free-to-paid-plan 2025-03-06 10:29:49 +01:00
Alessandro Magionami 656614e9bc chore(gatekeeper): fix build 2025-03-06 10:28:27 +01:00
Iain Sproat 5655b3e758 fix(metrics): pass registry in to modules (#4113)
- ensure metrics are added to the correct registry
2025-03-06 08:37:05 +00:00
Alessandro Magionami 66ddb1eb34 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2774-upgrade-from-free-to-paid-plan 2025-03-05 19:29:44 +01:00
Alessandro Magionami bcdb5ed0b0 feat(gatekeeper): new checkout flow 2025-03-05 17:35:28 +01:00
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
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
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 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
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
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
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
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
Chuck Driesler 025ae104db feat(regions): move file uploads and blobs (#3977)
* 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
2025-02-26 19:34:50 +00:00