Commit Graph

1995 Commits

Author SHA1 Message Date
Kristaps Fabians Geikins 140fde3871 fix(server): fix registration test email provider (#4195) 2025-03-14 15:33:27 +02:00
Kristaps Fabians Geikins d903e8ffc4 feat(server): support editor -> viewer seat downgrades (#4181)
* new seat based project role checks implemented

* everything done

* minor bugfix
2025-03-14 14:21:25 +02:00
Kristaps Fabians Geikins 50fd05afe8 feat(fe2): more viewer debugging improvements (#4193) 2025-03-14 12:47:58 +02:00
Chuck Driesler 8dfbf24d91 feat(workspaces): enable move project region (#4135) 2025-03-13 19:39:59 +00:00
Alessandro Magionami b96769b425 Merge pull request #4167 from specklesystems/alessandro/web-2741-subscriptions-to-upgrade-for-new-plan-types
Alessandro/web 2741 subscriptions to upgrade for new plan types
2025-03-13 13:20:59 +01:00
Alessandro Magionami ab9ea4406e chore(gatekeeper): fix tests 2025-03-13 11:00:59 +01:00
Alessandro Magionami d829cac8b3 chore(gatekeeper): add specific error for unsupported workspace plan 2025-03-13 10:36:28 +01:00
Iain Sproat 6065a44890 Merge pull request #4162 from specklesystems/gergo/previewRenderMetrics
feat(preview-service): add load and render duration calculation to preview service
2025-03-12 09:20:50 +00:00
Alessandro Magionami 89519bc6b7 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2741-subscriptions-to-upgrade-for-new-plan-types 2025-03-12 10:01:02 +01:00
Chuck Driesler 9dba10db01 fix(sso): email capitalization again (#4164)
* fix(sso): more capitalization

* chore(sso): comment

* chore(sso): fix test
2025-03-11 17:35:38 +00:00
Alessandro Magionami d20d3bf94a feat(gatekeeper): implement new upgrade plan in resolver 2025-03-11 17:54:54 +01:00
Alessandro Magionami 39d133d46b chore(gatekeeper): test new upgrade plan flow 2025-03-11 17:54:26 +01:00
Alessandro Magionami f824cb793a feat(gatekeeper): create new upgrade plan flow 2025-03-11 17:52:42 +01:00
Alessandro Magionami c035387eec chore(gatekeeper): update function to validate upgrade 2025-03-11 17:52:18 +01:00
Iain Sproat d2067f7e48 fix(preview service): attempt to prevent duplicate jobs (#4155)
* fix(preview service): attempt to prevent duplicate jobs

* fix test

* Incorporate review comments

* add tests
2025-03-11 17:17:52 +01:00
Iain Sproat e9a90717a4 Observe load and render times in metrics
- makes new durations optional (so requests in flight aren't dropped during deployment)
- Adds durations as a label to existing metric
- Attempt to produce durations in error cases (so we can see long load times etc..)
2025-03-11 12:56:21 +00:00
Kristaps Fabians Geikins 28b49107b7 feat(server): upgrade workspace seat type (#4158)
* feat(server): upgrade workspace seat type

* test/lint fixes
2025-03-11 12:41:18 +02:00
Iain Sproat 459751eba0 Merge pull request #4152 from specklesystems/iain/fix-prometheus-summary
fix(server): prometheus summary should be over rolling window
2025-03-11 08:37:13 +00:00
Iain Sproat e795381bd2 fix(server): prometheus summary should be over rolling window
- currently it calculates based on all values from start, and should instead expire old buckets
https://github.com/siimon/prom-client?tab=readme-ov-file#configuration-2
2025-03-10 15:03:50 +00:00
Alessandro Magionami c7fe1645b9 Merge pull request #4134 from specklesystems/alessandro/web-2802-missing-workspace-new-pricing-config-from-the-helm-chart
chore(gatekeeper): add missing helm values for new plans
2025-03-10 15:58:35 +01:00
Iain Sproat cfef333a0c feat(preview service): introduce /metrics endpoint for Prometheus (#4127) 2025-03-10 10:48:29 +00:00
Alessandro Magionami e4dc3b7834 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2802-missing-workspace-new-pricing-config-from-the-helm-chart 2025-03-10 11:05:58 +01:00
Gergő Jedlicska a900aa3c7b fix(previews): logging and promise fixes (#4137) 2025-03-10 10:22:02 +01:00
Alessandro Magionami 61736f7ee3 chore(gatekeeper): remove console.log 2025-03-10 10:14:57 +01:00
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
andrewwallacespeckle d1f040051d refactor(server): Update system emails (#4074)
* Update email verification. And workspace invite emails.

* Footer logos

* Workspace requests

* Trial

* Misc emails

* New logo

* Updates to font, spacing and footer

* Remove space

* Update invite emails

* Correct classes
2025-03-07 15:30:03 +00:00
andrewwallacespeckle 45d7d4d02b feat(fe): Tutorials page (#4120)
* Tutorials Page

* Add tutorials page

* Update Page.vue

* Changes from PR

* Updates from call

* Remove page added in error

* Update Page.vue

* Remove shallowref

* Update mixpanel name
2025-03-07 12:18:45 +00:00
Kristaps Fabians Geikins ebade45d43 feat: remove project discoverability concept from UI (#4125)
* feat: remove project discoverability concept from UI

* test fix
2025-03-07 13:09:03 +02: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