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
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
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
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
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
47556d68c7
chore(server/scheduled tasks): should log task name and unique task Id ( #4094 )
2025-03-03 15:12:11 +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
Iain Sproat
6f0133a39b
chore(server/observability): logging of resolver to create checkout session ( #4067 )
2025-02-28 15:42:12 +00: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
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
99d4aba767
feat(workspaces): create workspace seat function
2025-02-27 11:06:31 +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
Alessandro Magionami
781357c488
feat(workspaces): count workspace seats by type
2025-02-25 15:28:14 +01:00
Alessandro Magionami
df28c3d8f8
chore(gatekeeper): ignore new plans if ff is disabled
2025-02-25 11:05:57 +01:00
Alessandro Magionami
ca6f2da63f
chore(gatekeeper): add workspace_seats table and types
2025-02-25 10:22:08 +01:00
Alessandro Magionami
41454ad91a
chore(gatekeeper): fix conflicts
2025-02-25 10:01:35 +01:00
Kristaps Fabians Geikins
eb050bb649
feat(server): new plans + disabled checkout/upgrade/sidegrade ( #4057 )
...
* feat(server): new plans + disabled checkout/upgrade/sidegrade
* pushed in CR fixes
2025-02-25 09:46:46 +01:00
Gergő Jedlicska
5b0bb3b65d
gergo/web 2635 set up new plans in the backend ( #4031 )
...
* feat(gatekeeper): add new free plan option as an unpaid workspace plan
* feat(workspaces): add feature flag for new plans
* feat(gatekeeper): add free plan option to workspace plans
* Added button in FE
* Make button more beautifuller
* feat(gatekeeper): enable creating workspaces on a free plan
* Fix
* Fix FE linting
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2025-02-21 14:49:04 +01:00
Kristaps Fabians Geikins
1d2a594f0a
chore: upgrade TS 5.2 -> 5.7.3 & ESLint to 9.20.1 ( #4032 )
...
* chore: upgrade TS 5.2 -> 5.7.3
* vite dts fix
* lint fix
* resolutions fix
* ui comp build fix
* precommit fix?
* latest eslint version
* autoloader fix
* undo unnecessary viewer change
* eslint fixes fe2 + trying disabled type linting
* lint fixes
2025-02-20 14:18:18 +02:00
Gergő Jedlicska
bf80347abf
gergo/web 2664 workspace backend powered metrics ( #3985 )
...
* feat(workspaces): delete workspace emit event
* feat(workspaces): move workspace group metrics to the backend
* Removed FE mixpanel group update
* Remove fragment
* test(gatekeeper): add unittest to new gatekeeper service
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2025-02-17 09:50:16 +01:00
Chuck Driesler
a8969c9b33
fix(billing): can't be read only if no billing ( #3949 )
2025-02-11 17:08:09 +01:00
Iain Sproat
c59e6043bb
fix(server/errors): derive errors from BaseError ( #3918 )
2025-01-30 18:15:56 +01:00
Gergő Jedlicska
7b295ba408
gergo/web 2428 academia should be free business ( #3842 )
...
* feat(server): workspace shoul equal unpaid business
* feat(server): add free workspace plans
* feat(gatekeeper): rename plans to invoiced
* chore(gatekeeper): regen gql
* feat(gatekeeper): calculate workspace plan payment method
* fix(fe2): add missing workspace plans
2025-01-16 18:14:33 +01:00
Gergő Jedlicska
35bc6918cb
gergo/web 2428 academia should be free business ( #3831 )
...
* feat(server): workspace shoul equal unpaid business
* feat(server): add free workspace plans
* feat(gatekeeper): rename plans to invoiced
2025-01-16 10:21:59 +01:00
Kristaps Fabians Geikins
82c7814b39
feat(server): track wp trial expiratiom email sends ( #3753 )
...
* feat(server): track wp trial expiratiom email sends
* cr fix
2025-01-02 13:28:55 +02:00
Alessandro Magionami
934b148912
Merge pull request #3703 from specklesystems/gergo/web-2124-set-up-email-notifications-for-trial-expiration
...
Set up email notifications for trial expirations
2024-12-30 09:58:45 +01:00
Alessandro Magionami
fa4022ad14
Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/web-2124-set-up-email-notifications-for-trial-expiration
2024-12-23 10:29:12 +01:00
Alessandro Magionami
5c3887f36a
feat(gatekeeper): add text email
2024-12-23 10:23:16 +01:00
Alessandro Magionami
66f7e98aa7
feat(gatekeeper): remove 14 days trial expiration email
2024-12-20 19:31:47 +01:00
Alessandro Magionami
1ba905d61d
Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/web-2124-set-up-email-notifications-for-trial-expiration
2024-12-20 11:08:30 +01:00
Alessandro Magionami
ff04755a5c
feat(gatekeeper): readOnly validation for version and commit creation
2024-12-20 09:56:47 +01:00
Alessandro Magionami
3b82b62943
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2310-return-error-on-object-creation-for-projects-in-readonly
2024-12-20 09:21:19 +01:00
Alessandro Magionami
a363f0e81a
feat(workspaces): expose graphql field readonly for workspace type ( #3659 )
...
* feat(workspaces): add readOnly field to workspace gql type
* feat(workspaces): add readOnly logic for workspace
* refactor(gatekeeper): use exhaustive switch pattern
* chore(billing): fix test
* feat(gatekeeper): fix tests
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com >
2024-12-18 13:47:27 +00:00
Benjamin Ottensten
8afe68e1c5
Change trial email copy
2024-12-17 23:59:54 +01:00