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
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
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
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
Mike
ad899a8fd7
Feat: Add isEmailsEnabled to serverInfo ( #4109 )
2025-03-04 15:54:06 +01: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
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
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
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
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
Mike
2ecb98146a
Feat: prevent non work emails ( #3993 )
2025-02-26 10:55:02 +01:00
Alessandro Magionami
a9dd835de9
feat(workspaces): team resolver for limited workspace ( #4040 )
2025-02-25 12:19:50 +01:00
Alessandro Magionami
fd68c6ef2a
feat(workspaces): user workspace join requests ( #4023 )
...
* feat(workspaces): user workspace join requests
* chore(workspaces): return limited workspace
* chore(workspaces): fix tests
* chore(workspaces): add index for userId
* chore(shared): fix totalcount on getpaginateditems
* chore(workspaces): add workspace core resolvers to throw specific error
2025-02-25 12:19:21 +01:00
Chuck Driesler
9cfa91eded
fix(automate): defer showing header until tab query finishes ( #4051 )
2025-02-24 09:37:58 +00:00
Chuck Driesler
c382064585
feat(regions): move project branches and commits ( #3843 )
...
* feat(regions): repo functions for copying project branches and commits
* chore(regions): wire up move to resolver
* chore(regions): successful basic test of project region change
* fix(regions): sabrina carpenter please please please
* fix(regions): repair multiregion test setup
* chore(regions): appease ts
* chore(multiregion): update test multiregion config
* chore(multiregion): fix test docker config and test
* chore(multiregion): use transaction
* chore(multiregion): maybe this will work
* fix(multiregion): drop subs synchronously
* chore(multiregion): desperate test logs
* chore(multiregion): somehow that worked?
* chore(multiregion): add load-bearing log statement
* chore(multiregion): move services
* fix(multiregion): test drop waits
* chore(regions): fix import
* chore(regions): make test a bit more thorough for good measure
* fix(regions): speed up inserts
* fix(regions): ignore workspace conflict on move
2025-02-13 14:39:23 +00:00
Chuck Driesler
35b59ca4f2
chore(workspaces): drop defaultLogoIndex ( #3898 )
2025-01-28 08:56:13 +01:00
Alessandro Magionami
57751db6d7
fix(workspaces): make adminWorkspaceJoinRequests field nullable for non admin users ( #3899 )
2025-01-27 17:46:04 +01:00
Gergő Jedlicska
a282220a72
chore(server): fix nullable type for model author ( #3883 )
...
* chore(server): fix nullable type for model author
* updated fe2 gql types
---------
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com >
2025-01-24 16:40:25 +01:00
Alessandro Magionami
7fbd32dd43
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2488-create-email-verification-mutation
2025-01-23 10:51:30 +01:00
Alessandro Magionami
5be535503d
chore(emails): test email verification flow
2025-01-23 10:38:17 +01:00
Alessandro Magionami
3a197792b3
chore(workspaces): create id resolver for workspace join request
2025-01-21 17:03:23 +01:00
Alessandro Magionami
cea2da2987
chore(emails): new email verification flow
2025-01-21 16:08:18 +01:00
Alessandro Magionami
7d23f5a04c
Merge pull request #3836 from specklesystems/alessandro/web-2364-deny-workspace-join-request
...
Deny workspace join request
2025-01-20 11:02:33 +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
Alessandro Magionami
8cd060f869
chore(workspaces): use commandFactory in deny workspace join request
2025-01-16 16:55:22 +01:00
Alessandro Magionami
6d0f08b7b5
feat(workspaces): approve join request ( #3833 )
...
* feat(workspaces): approve join request
* chore(workspaces): add missing dep to resolver call
* chore(workspaces): use commandFactory
2025-01-16 16:46:59 +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
Alessandro Magionami
c0c760f202
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2362-list-workspace-pending-requests
2025-01-15 12:11:03 +01:00
Alessandro Magionami
7bf3c5df74
chore(workspaces): fix graphql enum
2025-01-14 17:58:51 +01:00
Kristaps Fabians Geikins
b41a98d107
chore(server): getting rid of module-scoped eventBuses - batch #4 - comments ( #3812 )
2025-01-14 17:24:26 +01:00
Alessandro Magionami
37ede3b1b2
Alessandro/web 2360 request to join workspace ( #3799 )
...
* feat(workspaces): request to join workspace mutation
* feat(workspaces): random email in test
* feat(workspaces): update email
* feat(workspaces): code review changes
* chore(workspaces): fix tests
2025-01-14 12:49:21 +01:00
Alessandro Magionami
85ce151264
feat(workspaces): make query for single workspace
2025-01-14 12:02:57 +01:00
Alessandro Magionami
bb73ecbe3c
feat(workspaces): list workspace join requests for admin
2025-01-14 12:02:57 +01:00
Alessandro Magionami
b236f8f58e
chore(workspaces): fix tests
2025-01-14 12:02:09 +01:00
Alessandro Magionami
7105a67124
feat(workspaces): request to join workspace mutation
2025-01-14 10:34:32 +01:00
Alessandro Magionami
c9fe57fa74
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2359-dismiss-joinable-workspace
2025-01-13 19:09:48 +01:00
Chuck Driesler
a784a72365
feat(workspaces): add workspaceRole to LimitedUser type ( #3721 )
...
* feat(workspaces): add workspaceRole to LimitedUser type
* fix(users): require workspace access for query
2025-01-09 15:11:18 +01:00
Alessandro Magionami
c32026b6d6
feat(workspaces): dismiss workspace mutation
2025-01-09 11:21:46 +01:00
Alessandro Magionami
7ddf740b33
Merge pull request #3707 from specklesystems/alessandro/web-2348-list-all-projects-in-move-projects-modal
...
feat(core): user projects filterable by workspace
2025-01-09 09:37:28 +01:00
Chuck Driesler
c791362eaf
feat(users): bulk lookup users by email ( #3720 )
...
* feat(users): bulk lookup users by email
* chore(users): add tests for lookups
* chore(users): fe gqlgen
* fix(users): match return value with input
2025-01-07 23:28:55 +00:00
Alessandro Magionami
e0f39da36b
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2348-list-all-projects-in-move-projects-modal
2025-01-07 17:36:05 +01:00
Kristaps Fabians Geikins
ab9e8bbb00
feat(server): ProjectVersionsUpdatedMessage.modelId always filled ( #3754 )
2025-01-06 10:37:54 +02:00
Alessandro Magionami
efdc53a5f6
feat(gatekeeper): fix tests
2024-12-30 12:42:16 +01:00
Alessandro Magionami
98c6161eb3
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2348-list-all-projects-in-move-projects-modal
2024-12-20 19:37:37 +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
Alessandro Magionami
da49ec6625
feat(core): user projects filterable by workspace
2024-12-17 12:25:23 +01:00
Gergő Jedlicska
68938bab94
feat(gatekeeper): show subscription seats ( #3679 )
...
* feat(gatekeeper): show subscription seats
* Enabled summary on billing page
* Made interval dynamic
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2024-12-11 22:19:22 +01:00
Gergő Jedlicska
229a19c981
gergo/workspaceAdmin ( #3677 )
...
* feat(workspaces): add unified paginated items service
* feat(workspaces): admin update workspace plan
2024-12-11 18:54:24 +01:00