Gergő Jedlicska
a1c370aafe
feat(billing): allow tax id collection during checkout ( #5066 )
2025-07-14 10:43:37 +02:00
Kristaps Fabians Geikins
b29331705e
chore(server): get rid of duplicate gql TS types ( #5065 )
2025-07-14 11:31:12 +03:00
Kristaps Fabians Geikins
bde148f286
chore(server): migrating fully to ESM ( #5042 )
...
* wip
* some extra fixes
* stuff kinda works?
* need to figure out mocks
* need to figure out mocks
* fix db listener
* gqlgen fix
* minor gqlgen watch adjustment
* lint fixes
* delete old codegen file
* converting migrations to ESM
* getModuleDIrectory
* vitest sort of works
* added back ts-vitest
* resolve gql double load
* fixing test timeout configs
* TSC lint fix
* fix automate tests
* moar debugging
* debugging
* more debugging
* codegen update
* server works
* yargs migrated
* chore(server): getting rid of global mocks for Server ESM (#5046 )
* got rid of email mock
* got rid of comment mocks
* got rid of multi region mocks
* got rid of stripe mock
* admin override mock updated
* removed final mock
* fixing import.meta.resolve calls
* another import.meta.resolve fix
* added requested test
* nyc ESM fix
* removed unneeded deps + linting
* yarn lock forgot to commit
* tryna fix flakyness
* email capture util fix
* sendEmail fix
* fix TSX check
* sender transporter fix + CR comments
* merge main fix
* test fixx
* circleci fix
* gqlgen bigint fix
* error formatter fix
* more error formatting improvements
* esmloader added to Dockerfile
* more dockerfile fixes
* bg jobs fix
2025-07-14 10:26:19 +03:00
Daniel Gak Anagrov
ba3d9ade22
feat(activity): moved project roles to activity ( #5019 )
...
* feat: moved project roles to activity
* fix: added previous project role filed on activity
* fix: remvoke does not get logged as an actvity for every project in a workspace when removed from workspace
* fix: on delete user account, emit also seat and project event
Co-authored-by: Charles Driesler <chuck@speckle.systems >
2025-07-10 11:44:54 +02:00
Daniel Gak Anagrov
3e7e11b8a1
feat(gatekeeper): add error log on seat mismatch ( #5004 )
...
* feat: added a specific errors on downscale issues
2025-07-07 12:28:59 +02:00
Daniel Gak Anagrov
7de0229b76
fix: avoid workpaces to turn free when susbscription is present ( #5015 )
2025-07-01 13:08:24 +02:00
Daniel Gak Anagrov
a4ab20c938
feat(activity): add workspace billing events and seats to activity ( #4944 )
...
* feat: improved gatekeeper eventsfor workspace history
* feat: userId on seat assign
* feat: record workspace seat events
* feat: workspace removals as activity
* feat: emit role and seat events on create workspace
* fix: reordered events for workspace creation
2025-06-30 16:49:36 +02:00
Daniel Gak Anagrov
2e0dcade5c
fix: removed duplicated event ( #4981 )
2025-06-25 09:18:19 +02:00
Daniel Gak Anagrov
51d6a8dd67
feat(activity): added user info to checkout_subscription and subscription upgrade ( #4967 )
...
* feat: added userId to checkout_subscription
* feat: add update intent to subscription
2025-06-24 15:34:26 +02:00
Gergő Jedlicska
01bb883bc4
fix(gatekeeper): add missing feature from access check api
2025-06-19 16:15:29 +02:00
Daniel Gak Anagrov
11948b40de
feat(gatekeeper): track seat updates ( #4865 )
2025-06-05 12:41:05 +02:00
Gergő Jedlicska
72ecb9197b
feat(gatekeeper): intoduce the enterprise plan ( #4882 )
...
* feat(gatekeeper): intoduce the enterprise plan
* chore(server): remove more "magic strings"
* test(shared): fix plan tests with enterprise case
* Small change to format plan name
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2025-06-05 11:07:59 +02:00
Chuck Driesler
0eb8d1f352
feat(workspaces): add workspace level default seat property ( #4851 )
...
* feat(workspaces): default workspace seat field
* chore(workspaces): add tests for default seat type
2025-05-30 12:30:20 +01:00
Daniel Gak Anagrov
3e9f87177d
feat(workspaces): Delete, Cancel, CancelSheduled mixpanel BE events
2025-05-29 11:15:06 +02:00
Daniel Gak Anagrov
0b04719834
feat: moved workspaces Create and Upgrade mixpanel events to backend ( #4816 )
2025-05-28 13:30:55 +02:00
Daniel Gak Anagrov
06e19fbd50
feat(gatekeeper): add updatedAt field to workspace plans ( #4786 )
...
* feat(gatekeeper): add updatedAt field to workspace plans
* fix: lint error
* fix: added updatedAt test
* fix: shared test
2025-05-26 11:35:53 +02:00
Chuck Driesler
70f07fc725
fix(embed): use correct id ( #4798 )
2025-05-22 15:35:44 +01:00
Chuck Driesler
780d001a1e
feat(embed): expose embed feature access at project level ( #4796 )
...
* feat(embed): expose embed feature access at project level
* fix(embeds): use switch
2025-05-22 12:22:06 +01:00
Kristaps Fabians Geikins
9998ed2586
feat: personal project limits ( #4759 )
...
* base limits cleanup
* history limit tests
* canCreatePersonal & tests
* canInvite block
* WIP model check
* fix tests
* shared tests fix
* lodash import fix
* lint fix
* help update
* hopefully fixing test
* CR comment
2025-05-20 14:56:05 +03:00
Iain Sproat
853aa6f1e9
Merge pull request #4626 from specklesystems/iain/web-3198-payment-failed-leads-to-404-on-missing-subscription
...
fix(server/billing): better handle incomplete checkout
2025-05-19 18:07:57 +01:00
Kristaps Fabians Geikins
5ff030224b
fix(server): fallback to viewer if no seat found ( #4748 )
2025-05-15 12:04:56 +03:00
Gergő Jedlicska
380e55b7aa
fix(server): we should default to a viewer seat in the rare cases of no seat assigned to the user ( #4735 )
2025-05-14 10:04:09 +03:00
Kristaps Fabians Geikins
211922b6a6
chore: get rid of all old workspace plan code ( #4624 )
...
* first batch of changes
* tests fix
* FE fixed
* renaming constants
* test fixes
* moar test fixes
* another test fix
* reenable app rover check
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com >
2025-04-30 19:18:32 +02:00
Iain Sproat
7edaa2944b
tests
2025-04-29 12:43:17 +01:00
Iain Sproat
bdd902a578
fix(server/billing): better handle incomplete checkout
2025-04-29 11:59:21 +01:00
Kristaps Fabians Geikins
89391d92ab
feat(server): get workspace seat usage w/o a subscription ( #4574 )
...
* feat(server): get workspace seat usage w/o a subscription
* minor cleanup
2025-04-23 15:26:02 +03:00
Iain Sproat
bcd99b634e
Merge branch 'main' into iain/disable-plan-migration-scheduler
2025-04-23 12:17:50 +01:00
Kristaps Fabians Geikins
11e1fcd85c
fix(server): workspace migration failing for userless workspaces ( #4569 )
2025-04-23 13:14:02 +03:00
Chuck Driesler
968859e061
fix(billing): update db subcription expiry date on upgrade ( #4544 )
2025-04-22 17:15:15 +01:00
Iain Sproat
920099c39f
chore(readable code): use TIME_MS for readable durations
...
- we recently added TIME_MS helper; this applies it to existing durations
2025-04-18 17:51:43 +01:00
Gergő Jedlicska
2d26c76ef2
feat(limits): better limits messages and some more fixes
2025-04-18 15:58:28 +02:00
Iain Sproat
dc6824f839
chore(server/migrations): disable workspace plan migrations
2025-04-17 16:46:49 +01:00
Mike
7d70ce5f48
Fix: Stripe canceled redirect ( #4476 )
2025-04-17 13:14:15 +01:00
Iain Sproat
b5c5296e72
chore(server/logging): simplify withOperationLogging parameters
...
- complex error handling should be done by the business operation, we do not need to pass in a callback
2025-04-17 09:41:40 +01:00
Kristaps Fabians Geikins
0cc19dbdf5
fix(fe2): not being able to remove member from workspace ( #4468 )
...
* fix(fe2): not being able to remove member from workspace
* minor comment
* withTransaction refactor
2025-04-17 10:44:55 +03:00
Gergő Jedlicska
c33052e697
fix(gatekeeper): accept workspace project invite fixes ( #4426 )
...
* fix(gatekeeper): accept workspace project invite fixes
* chore(gatekeeper): remove old subscription event handler
2025-04-17 05:21:23 +01:00
Gergő Jedlicska
ef08f8cecf
fix(gatekeeper): only return available seats if there are some ( #4463 )
2025-04-16 18:30:18 +01:00
Iain Sproat
37e9e9829d
Merge pull request #4458 from specklesystems/iain/improve-migration-script-logging
...
chore(logging): improve logs & error messages for workspace migration
2025-04-16 13:23:13 +01:00
Iain Sproat
225af5d251
fix log reference
2025-04-16 12:57:13 +01:00
Iain Sproat
b0bdeb9768
chore(logging): improve logs & error messages for workspace migration
2025-04-16 12:52:03 +01:00
Gergő Jedlicska
fb28654311
feat(gatekeeper): re-enable workspace plan migrations ( #4457 )
2025-04-16 13:13:12 +02:00
Gergő Jedlicska
30e39ccb01
fix(gatekeeper): fix subscription upgrades ( #4411 )
2025-04-15 08:55:33 +02:00
Iain Sproat
149cc1871e
chore(logging): observability of operations related to auth
2025-04-14 13:36:03 +01:00
Gergő Jedlicska
bf454bc003
fix(gatekeeper): fix yearly upgrade not working ( #4393 )
2025-04-14 06:24:20 +02:00
Gergő Jedlicska
61ca128ce2
gergo/multiCurrency ( #4379 )
...
* feat(gatekeeper): support multiple currencies
* feat(helm): add new currency based prices to helm chart
* chore(env): add example currency based pricing values
* fix(ci): update price ids to the proper values
* feat(helm): rename price ids to fit multi currency
* feat(gatekeeper): currency input for checkout session
* Updated prices in the FE
* chore(gatekeeper): remove old checkout session flow
* Updated prices in the FE
* Fix FE
* Fix pipeline
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2025-04-11 17:37:47 +02:00
Iain Sproat
9308fa82b4
chore(server/observability): logging of gatekeeper/rest/billing ( #4066 )
...
* chore(server/observability): logging of gatekeeper/rest/billing
* Rename logged field
* use logWithErr, operationStatus, and operationName
- clean up logging
* Fix bad merge from main
* Use a wrapper to log
* Include mutation resolvers
* Fix per PR comments
2025-04-11 15:27:52 +02:00
Gergő Jedlicska
5fce827ad7
feat(gatekeeper): calculate available seats from purchased and used ( #4362 )
2025-04-09 19:51:02 +02:00
Chuck Driesler
ea114fd394
fix(authz): only exempt empty main model ( #4358 )
2025-04-09 15:27:03 +01:00
Gergő Jedlicska
b24add762c
feat(gatekeeper): disable workspace plan migrations ( #4354 )
2025-04-09 13:02:28 +02:00
Gergő Jedlicska
b71f0bd5c4
feat(gatekeeper): re-enable workspace plan migrations ( #4352 )
2025-04-08 20:00:18 +02:00