Daniel Gak Anagrov
c7d97eb25c
feat(activity): cronjob to backfill workspace seats, plans and subcriptions and project acl activity ( #5027 )
...
* feat: backfill as a scheduled execution
2025-07-14 16:28:04 +02: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
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
506bf9a07a
feat(stream_activity): add index on actionType for stream_activity ( #4947 )
2025-06-23 10:03:46 +02: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
Kristaps Fabians Geikins
c6dcf18bdb
feat(server): workspace project invite auto-accept (for existing wp members) ( #4622 )
...
* WIP ts
* DI fix & tests moved to TS
* auto-accept seems to work
* CR comments
2025-04-30 17:39:07 +03: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
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
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
Iain Sproat
47556d68c7
chore(server/scheduled tasks): should log task name and unique task Id ( #4094 )
2025-03-03 15:12:11 +00:00
Iain Sproat
ce08e5e02d
refactor(server): logging directory renamed to observability ( #4077 )
2025-02-28 08:43:54 +00:00
Kristaps Fabians Geikins
6051917b59
chore(server): refactor activityStream invocations - batch #7 - streams ( #4014 )
...
* chore(server): refactor activityStream invocations - batch #7 - streams
* test fix
* more test fixes
* CR comment fix
2025-02-24 12:34:56 +02:00
Kristaps Fabians Geikins
b4260a3885
minor adjustment
2025-02-17 15:23:25 +02:00
Kristaps Fabians Geikins
4b7740eb17
Merge branch 'main' into fabians/web-2415-6
2025-02-17 15:15:52 +02:00
Kristaps Fabians Geikins
6c5da56650
Merge branch 'main' into fabians/web-2415-5
2025-02-17 14:56:51 +02:00
Kristaps Fabians Geikins
f51d632ef7
Merge branch 'main' into fabians/web-2415-4
2025-02-17 14:23:33 +02:00
Kristaps Fabians Geikins
4278e20467
chore(server): refactor activityStream invocations - batch #3 - branches
2025-02-17 13:55:43 +02:00
Kristaps Fabians Geikins
34b11cf8d0
Merge branch 'main' into fabians/web-2415-2
2025-02-17 13:50:18 +02:00
Gergő Jedlicska
c4a6da410b
feat(core): drop the closure table pls ( #3900 )
...
* feat(core): drop the closure table pls
* feat(core): remove closures feature flag
* feat(core): remove more closure stuff
* feat(core): only drop closure table if it exists
2025-02-07 14:06:53 +01:00
Kristaps Fabians Geikins
9b46747815
chore(server): refactor activityStream invocations - batch #6 - project invites
2025-01-24 18:35:21 +02:00
Kristaps Fabians Geikins
b6871a61cc
chore(server): refactor activityStream invocations - batch #5 - comments
2025-01-24 17:54:16 +02:00
Kristaps Fabians Geikins
ac88c503e3
chore(server): refactor activityStream invocations - batch #4 - commits
2025-01-24 16:57:15 +02:00
Kristaps Fabians Geikins
8ff0ae91ca
chore(server): refactor activityStream invocations - batch #3 - branches
2025-01-23 12:06:54 +02:00
Kristaps Fabians Geikins
90e94d9cd7
chore(server): refactor activityStream invocations - batch #2 - accessRequest
2025-01-22 15:41:45 +02:00
Kristaps Fabians Geikins
a2bc9ffbcb
chore(server): refactor activityStream invocations - batch #1 - user ( #3845 )
...
* chore(server): refactor activityStream invocations - batch #1 - user
* minor cleanup
* test fix + swap to TS
* move listeners to new loc
2025-01-21 09:48:02 +01:00
Kristaps Fabians Geikins
0b81f9979e
chore(server): event bus refactor - access req emitter - batch #3
2025-01-13 11:03:58 +02:00
Kristaps Fabians Geikins
f403d51330
replaced user event bus
2025-01-07 11:24:07 +02:00
Kristaps Fabians Geikins
7ce306569f
got rid of projects emitter + added tests
2025-01-06 17:42:24 +02:00
Kristaps Fabians Geikins
ab9e8bbb00
feat(server): ProjectVersionsUpdatedMessage.modelId always filled ( #3754 )
2025-01-06 10:37:54 +02:00
Kristaps Fabians Geikins
8d0cbad8b6
feat(server): multi region blob support ( #3653 )
...
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com >
2024-12-10 09:05:18 +00:00
Kristaps Fabians Geikins
1800dbbdbd
feat(server): improved subscription testing DX + tests for common subs + new subs ( #3554 )
...
* userProjectsUpdated.added test
* multi region support
* userStreamAdded
* commit subs tested
* fix for proj workspace assignment
* undo commitHelper main changes
* disable all ffs mode
* createTestWorkspace support when workspaces arent enabled
* project create fix
* workspace projects updated subscription
* WIP new workspace sub
* updated workspaceCreated
* updated workspaceUpdated
* BE for workspace updated sub
* workspace updated sub
* ts err fix
2024-11-27 15:41:04 +02:00
Gergő Jedlicska
ef043ee234
gergo/web 2158 previews module multi region ( #3492 )
...
* feat(previews): multi region previews module
* feat(preview-service): talk multi region
* fix(preview-service): test helper await
* fix(preview-service): remove linting issue, this prob makes it worse
2024-11-19 16:35:39 +01:00
Iain Sproat
a1ee8a89a7
chore(server): graceful shutdown ( #3125 )
...
* chore(server): graceful shutdown
- stop() on the apollo server should be called
* chore(server): gracefully drain apollo server
* Allow grace period to be configured
* Terminus manages the readiness and liveness endpoints
* terminus is responsible for stopping the graphql server
* remove logging on shutdown
* Remove redundant parameter
* move healthchecks out of business modules to top-level directory
- terminus can only handle readiness check, not liveness
- app needs to return readiness handler, so that server terminus can use it
* fix tests
* Fix broken merge
* fix broken merge
* incorporate review comments
* fix invalid merge
* fix readinesscheck not being passed as parameter
2024-11-19 11:08:38 +01:00
Gergő Jedlicska
6038611974
feat(webhook-service): learn to speak multi region ( #3473 )
...
* feat(webhook-service): learn to speak multi region
* refactor(webhook-service): remove unnecesary factories
* docs(activities): brain dump
* fix(shared): need to add knex as a dev dep
* fix(shared): align dev dep
2024-11-11 17:10:29 +01:00
Gergő Jedlicska
153b1c3802
feat(version): require project id in version mutations
2024-11-11 09:57:22 +01:00
Gergő Jedlicska
1c19f67dd2
feat(models): support streamId, branchId in models
2024-11-11 06:09:53 +01:00
Gergő Jedlicska
73cc7e67d3
gergo/webhookRegions ( #3459 )
...
* feat(webhooks): multi region webhook resolver
* feat(webhooks): multi region webhook cleanup
* fix(webhooks): DI fixes
* feat(activitystream): region aware save activity
* feat(accessrequests): multi region
* feat(cli): allow multi region project and commit download
* feat(postgres): make docker postgres 0 day multi region ready
* feat(cli): allow multi region project and commit download properly
* fix(cross-server-sync): di fix
* feat(activitystream): non region aware activities, they are not project data
* fix(webhooks): triggers need to be included
* feat(stream/projectCreate): activity save is not needed any more, its all event based
* feat(multiRegion): get all registered db clients
* fix(regions): test equal in any order
* fix(projectDownload): need to await
2024-11-08 10:45:39 +01:00
Gergő Jedlicska
da7f0dda0e
gergo/web 2047 user joins the workspace event ( #3412 )
...
* feat(gatekeeper): add gatekeeper module feature flag
* feat(gatekeeper): add workspace pricing table domain
* feat(gatekeeper): add checkout session creation
* feat(gatekeeper): verify stripe signature
* wip(gatekeeper): checkout callbacks
* feat(gatekeeper): add unlimited and academia plan types
* refactor(envHelper): getStringFromEnv helper
* chore(gatekeeper): add future todos
* feat(gatekeeper): add productId to the subscription domain
* feat(gatekeeper): add in memory repositories
* feat(gatekeeper): add more errors
* feat(gatekeeper): complete checkout session service
* feat(gatekeeper): add stripe client implementation
* feat(gatekeeper): add checkout session completion webhook callback path
* feat(gendo): fix not needing env vars if gendo module is not enabled
* feat(gatekeeper): require a license for billing
* chore(gatekeeper): cleanup before testing
* feat(gatekeeper): subscriptionData parsing model
* ci: add billing integration and gatekeeper modules to test config
* test(gatekeeper): add checkout service tests
* feat(gatekeeper): make completeCheckout callback idempotent properly
* feat(gatekeeper): move to knex based repositories
* test(gatekeeper): billing repository tests
* feat(gatekeeper): add yearly billing cycle toggle
* feat(ci): add stripe integration context to test job
* feat(billingPage): conditionally render the checkout CTAs
* fix(gatekeeper): remove flaky test condition
* feat(helm): add billing integration feature flag
* WIP billing gql api
* feat(gatekeeper): cancel checkout session api
* feat(gatekeeper): handle existing checkout sessions, when trying to create a new one
* feat(gatekeeper): add workspace plans gql api
* feat(gatekeeper): handle cancelation and subscription updates
* fix(gatekeeper): scope initialization
* fix(gatekeeper): eliminate stripe client import sideeffect
* fix(gatekeeper): eliminate stripe client import sideeffect 2
* feat(gatekeeper): upsize subscription on workspace role change
* feat(shared): add command pattern implementation
* refactor(eventBus): remove return capabilities from the event bus
* refactor(workspaces): use new commandFactory in workspace resolver
* feat(core): facelift taskLock
* feat(gatekeeper): shedule subscription downscale
* feat(gatekeeper): manage subscription downscale
* feat(gatekeeper): get workspace subscriptions, that are about to expire
* feat(gatekeeper): manage subscription downscale
* fix(gatekeeper): do not update subscription to canceled subs
* ci: bump postgres and max connections
* feat(workspaces): fix command factory event bugs
2024-10-30 15:51:40 +01:00
Kristaps Fabians Geikins
f690f1016a
branchDeleted
2024-10-25 13:57:58 +03:00
Kristaps Fabians Geikins
64d2888506
branchUpdated sub
2024-10-25 13:55:26 +03:00
Kristaps Fabians Geikins
cedc1beb6c
branchCreated sub
2024-10-25 13:50:01 +03:00
Alessandro Magionami
b701a3361c
chore(activitystream): addBranchDeletedActivity refactor multiregion
2024-10-22 10:07:24 +02:00
Alessandro Magionami
282af83bd8
chore(activitystream): addBranchUpdatedActivity refactor multiregion
2024-10-22 09:53:36 +02:00
Alessandro Magionami
a2e9693a6a
chore(activitystream): addBranchCreatedActivity refactor multiregion
2024-10-22 09:52:47 +02:00
Alessandro Magionami
8502ac5db4
chore(activitystream): add missing deps
2024-10-21 17:58:16 +02:00
Alessandro Magionami
59663a81f9
chore(activitystream): addReplyAddedActivity refactor multiregion
2024-10-21 17:52:09 +02:00
Alessandro Magionami
4b4963a75e
chore(activitystream): addCommentArchivedActivity refactor multiregion ( #3343 )
2024-10-21 11:47:31 +03:00
Alessandro Magionami
8e794a78c0
Merge pull request #3340 from specklesystems/alessandro/web-943-add-comment-created-activity
...
Activitystream IoC 1 addCommentCreatedActivity
2024-10-21 10:46:02 +02:00
Alessandro Magionami
221904756d
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-943-add-comment-created-activity
2024-10-18 16:00:46 +02:00