Kristaps Fabians Geikins
4b06f42db7
chore(server): run TS files directly (no compilation) ( #5134 )
...
* sort of works
* type fixes
* added option to run old way too
2025-07-23 11:20:40 +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
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
ecdb64ac98
chore(server/logging): add operations logging to webhooks module
2025-04-15 09:10:41 +01:00
Kristaps Fabians Geikins
5f88f562d3
feat: updated various "read/update" settings related permission checks ( #4356 )
...
* a bunch more tests
* updated GQL resolvers
* project create checks implemented
* project update/settings related checks in FE
* a bunch of tests
* tests fix
* disable app schema check
2025-04-09 16:13:09 +03:00
Iain Sproat
ce08e5e02d
refactor(server): logging directory renamed to observability ( #4077 )
2025-02-28 08:43:54 +00:00
Mike
2ecb98146a
Feat: prevent non work emails ( #3993 )
2025-02-26 10:55:02 +01: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
Iain Sproat
c59e6043bb
fix(server/errors): derive errors from BaseError ( #3918 )
2025-01-30 18:15:56 +01:00
Kristaps Fabians Geikins
aee14edc5b
chore(server): getting rid of module-scoped event emitters - batch #1 ( #3766 )
...
* got rid of models emitter + added tests
* got rid of projects emitter + added tests
* replaced user event bus
* test migrate
2025-01-13 11:39:46 +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
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
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
Alessandro Magionami
7c9780d52b
chore(webhooks): fixed function name
2024-10-28 15:19:42 +01:00
Alessandro Magionami
9779400d79
chore(webhooks): cleanup refactor
2024-10-24 15:10:29 +02:00
Iain Sproat
0ec4a87c7c
fix(file import): server port was broken when localhost was canonical url ( #3360 )
...
* fix(file import): server port was broken when localhost was canonical url
- use getServerOrigin() instead of directly calling process.env.CANONICAL_URL
- where server is calling itself, use 127.0.0.1 instead of CANONICAL_URL.
- where server is calling itself (i.e. 127.0.0.1, use the server's listening port and not default for protocol http/80, https/443
- tidy some areas where process.env was called directly; should use envHelper.
* fix tests
2024-10-22 21:12:18 +02:00
Kristaps Fabians Geikins
f27f289dc6
chore(server): core IoC #78 - getServerInfoFactory
2024-10-17 12:37:43 +03:00
Kristaps Fabians Geikins
da88f5925c
chore(server): core IoC #72 - createPersonalAccessTokenFactory
2024-10-16 17:13:03 +03:00
Kristaps Fabians Geikins
573970fc6c
chore(server): core IoC #55 - createUserFactory
2024-10-15 12:55:33 +03:00
Kristaps Fabians Geikins
1cb27e6fdd
chore(server): core IoC #51 - getUser(s)Factory
2024-10-14 17:24:11 +03:00
Kristaps Fabians Geikins
53844db17b
chore(server): core IoC #43 - scheduleExecutionFactory
2024-10-14 12:00:47 +03:00
Kristaps Fabians Geikins
6cb5022ac4
chore(server): IoC 35 - updateStreamRoleAndNotify
2024-10-09 16:31:20 +03:00
Kristaps Fabians Geikins
aa4f319277
chore(server): IoC 32 - createStreamFactory ( #3204 )
2024-10-09 11:10:20 +03:00
Kristaps Fabians Geikins
5b5dd201e2
chore(server): IoC 29 - getStream(s)Factory
2024-10-09 10:39:00 +03:00
Alessandro Magionami
07a6778fb0
chore(activitystream): refactor saveActivity
2024-09-26 10:34:27 +02:00
Alessandro Magionami
b03a8c38bd
chore(webhooks): rename functions to factory
2024-09-17 15:58:27 +02:00
Alessandro Magionami
0605224477
chore(webhooks): fix tests
2024-09-17 11:41:14 +02:00
Alessandro Magionami
194d49dc61
chore(webhooks): rename repository functions
2024-09-17 10:25:03 +02:00
Alessandro Magionami
440ac2fa49
chore(webhooks): refactor last functions for multi region
2024-09-16 15:54:52 +02:00
Alessandro Magionami
904d8cb890
chore(webhooks): refactor webhooks dispatch event function
2024-09-13 16:46:29 +02:00
Alessandro Magionami
8593285d3e
chore(webhooks): fix codegen type for webhook return type
2024-09-11 16:33:52 +02:00
Alessandro Magionami
378b4e3edc
chore(webhooks): fix codegen types
2024-09-11 15:49:18 +02:00
Alessandro Magionami
afa1ff72d5
chore(webhooks): getStreamWebhooks function refactor
2024-09-11 14:15:02 +02:00
Alessandro Magionami
261389307b
chore(webhooks): refactor delete webhook multiregion
2024-09-10 14:55:52 +02:00
Kristaps Fabians Geikins
c92938eff3
chore(server): apollo server v3 -> v4 ( #2880 )
...
* main changes seem to be done?
* lint fix
* minor cleanup
* dataloader clear
2024-09-05 12:27:13 +03:00
Iain Sproat
afbdeadf2d
test(server/graphql): assert error code and fix some tests ( #2758 )
2024-08-27 10:07:13 +01:00
Alessandro Magionami
1241a43f65
chore(webhooks): improve readability of update function in repository
2024-08-23 16:01:48 +02:00
Alessandro Magionami
14b91eb4e1
chore(webhooks): update webhook function refactor
2024-08-20 16:16:31 +02:00
Alessandro Magionami
5a62abe528
chore(webhooks): get webhook function refactor ( #2680 )
2024-08-19 18:38:49 +02:00
Alessandro Magionami
73e28d72c6
Alessandro/web 957 refactor webhooks module ( #2664 )
...
* chore(webhooks): fix test failing when running alone
* chore(webhooks): create domain types and repository
* chore(webhooks): create webhook refactor multiregion
* chore(webhooks): triggers field is required in graphql schema
2024-08-19 09:23:27 +02:00
Kristaps Fabians Geikins
37d51072fb
feat(server): resource limits on app tokens ( #1959 )
...
* WIP new mutation arg
* limited resource token creation done
* token resource rule creation validation
* updated authorizeResolver implementation
* introduced resource access rule checks in authorizeResolver everywhere
* more checks added
* updated projects resolvers
* updated stream resolvers
* more checks added
* error page theme resolution fix
* WIP testss
* more tests
* implemented checks in REST auth pipeline
* REST API coverage & tests
* some tests fixed
* test fixess
* added tests
* feat(server): new automation result reporting scope (#1976 )
* feat(server): new automation result reporting scope
* tests fix
2024-01-19 18:14:49 +01:00
andrewwallacespeckle
0045c353c6
Feature: FE2 - Project Webhooks Page ( #1792 )
...
* Layout Pages
* Add Multi Select with Badges
* Add MultiBadge
* Add prevent close on click outside
* Fix import issue
* Import Table
* Add Classnames to buttons
* Add Switch Component
* Update for webhooks
* skip precommit hooks
* Remove Infinite Load. Update Types
* Create Webhook Dialog
* Tidy Ups
* Edit Webhook dialog
* WIP Breadcurmbs
* Changes from calls with Fabians
* Breadcrumbs
* Reorders
* Fix Create Dialog
* Rename MultiBadge to BadgeSelected
* Fix and update Story file for Table
* Adjust Padding for Buttons in Table
* Add extra story, adjust padding for no buttons
* Fix bug with Edit Select
* fixed Webhook sorting + added Webhook.hasSecret and Webhook.projectId
* fixed hydration mismatch
* Changes from PR feedback
* Validation Rule for Select
* Reset Dialogs on Cancel. Conditionally render headers in Table
* stricter webhook gql types
* stricter webhook gql types
* Fix initial dialogs
* Quick Fixes
* Add projectWebhooksRoute
* Remove TableItemType
* Fixes from PR
* Fix broken Query
* Fixes from PR
* Fix based on PR
* Fix from PR
* Changes to index
* Fix in index
* Updates to Validation and Table
* Add "by" prop to FormSelectBadges and renamed component
* Use defineModel for Switch
* Revert "Use defineModel for Switch"
This reverts commit 6bc9e07a767cdc64f06c03b028150915e013ed4f.
* Replace breadcrumbs with projectWebhooksRoute
* Rename FormValues to WebhookFormValues
* Add target blank and simplify trigger mapping
* Fix casing of webhookFormValues
* Change webhookModel to prevent props mutation
* Remove unnecessary typecast
* Webhook deletion now uses fieldNameWhitelist.
* Use convertThrowIntoFetchResult and getFirstErrorMessage in Create
* Use defineModel for handling open state of Dialogs
* Optimise Switch component with defineModel
* Merge Create and Edit Dialogs
* Fix issue with Status Icons
* Remove console log
* WIP Merge of Edit and Create
* Add optional placeholder to SelectBase. Update Events placeholder.
* Add secret to Create webhook dialog
* Update Watch
* Rename Dialogs. Fix active select items
* Fix Select active items
* Simplify triggers, add secret to create call
* Remove $webhooksId: String
* fix: stale form state across edit/create webhook dialog sessions
* Fix from PR
* Swap t.text for t.id
* Use enum for historyStatus
* Use consistent story formatting
* More consistent create/edit mutations
* fix be linting errors
---------
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com >
2023-09-26 15:41:29 +02:00
Kristaps Fabians Geikins
90a5d8b383
feat(server): Project.webhooks query
2023-09-05 14:11:55 +03:00
Gergő Jedlicska
23989174d3
refactor(server scopes): use constants for streams contributor role
2023-07-26 14:12:41 +02:00
Gergő Jedlicska
a2bb36e43e
refactor(server scopes): use constants for streams owner role
2023-07-26 14:08:47 +02:00
Gergő Jedlicska
878f97baa2
refactor(server scopes): use constants for streams write scopes
2023-07-26 13:13:09 +02:00
Gergő Jedlicska
bb5778bf2d
refactor(server scopes): use constants for streams read scopes
2023-07-26 13:09:34 +02:00
Kristaps Fabians Geikins
b02a07e2b6
feat: Frontend 2.0 MVP
2023-05-08 10:47:01 +03:00