Commit Graph

87 Commits

Author SHA1 Message Date
Kristaps Fabians Geikins 4b7740eb17 Merge branch 'main' into fabians/web-2415-6 2025-02-17 15:15:52 +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 4dcfbb251b chore(server): moving out branch sub reporting to separate listeners 2025-02-17 13:56:02 +02:00
Kristaps Fabians Geikins 4278e20467 chore(server): refactor activityStream invocations - batch #3 - branches 2025-02-17 13:55:43 +02:00
Chuck Driesler 60e74b34e1 feat(regions): move project objects (#3924)
* 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): move project objects

* chore(regions): add tests for object move

* fix(regions): speed up inserts

* fix(regions): simplify postgres usage

* chore(regions): 100 => 10
2025-02-17 10:51:12 +00:00
Mike f376cfcc46 Fix: Always force email verification (#3990) 2025-02-15 08:30:57 +01:00
Gergő Jedlicska d8974bf84b fix(test): update new test file to no closures (#3951) 2025-02-07 14:23:40 +01:00
Iain Sproat 55315feb59 fix(server/diffdownload): fix the bug where client connection close events were not propogated to the database stream connection (#3921)
* WIP: trying to catch a bug

* great success

* reinstate gzip

* Remove feature flag

* remove stream-chain dependency

* remove superfluous logging lines

* re-align with original where possible

* re-align package.json

* More re-alignment with main branch before the previous 'fix'

* A smaller failing example
2025-02-04 11:09:53 +01:00
Iain Sproat 32c310f849 fix(server/objects): solves database connection resource leak when client connections are prematurely closed (#3889) 2025-01-28 15:56:21 +01:00
Alessandro Magionami 276c3a761c fix(emails): add ff for new email verification flow (#3893)
* fix(emails): add ff for new email verification flow

* test(emails): disable test with ff off
2025-01-24 19:39:55 +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 9775c488a1 chore(server): moving out version sub reporting to separate listeners 2025-01-24 17:52:34 +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 d9bdc54599 chore(server): moving out branch sub reporting to separate listeners 2025-01-24 16:49:55 +02:00
Alessandro Magionami eb57ffdc62 chore(emails): remove only from test 2025-01-24 15:00:28 +01:00
Alessandro Magionami 918ab8c255 chore(emails): fix tests no ff 2025-01-24 14:50:00 +01:00
Kristaps Fabians Geikins 8ff0ae91ca chore(server): refactor activityStream invocations - batch #3 - branches 2025-01-23 12:06:54 +02:00
Alessandro Magionami 5be535503d chore(emails): test email verification flow 2025-01-23 10:38:17 +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
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 01cb1b5eaf feat(workspaces): test clarifications 2025-01-07 17:56:08 +01:00
Alessandro Magionami b98a081157 feat(gatekeeper): disable tests when workspace module is disabled 2024-12-30 18:03:38 +01:00
Alessandro Magionami efdc53a5f6 feat(gatekeeper): fix tests 2024-12-30 12:42:16 +01:00
Alessandro Magionami 49e56e3ea5 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2348-list-all-projects-in-move-projects-modal 2024-12-23 10:44:51 +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 47eb26f88e chote(core): fix tests 2024-12-20 10:12:05 +01:00
Alessandro Magionami ff04755a5c feat(gatekeeper): readOnly validation for version and commit creation 2024-12-20 09:56:47 +01:00
Alessandro Magionami ca46ae6263 chote(core): fix tests 2024-12-20 09:54:42 +01:00
Alessandro Magionami da49ec6625 feat(core): user projects filterable by workspace 2024-12-17 12:25:23 +01:00
Alessandro Magionami 11beefeada feat(gatekeeper): readOnly validation logic 2024-12-16 10:17:16 +01: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
Benjamin Ottensten 2f44ae2a7e Trigger mention dialog after a single character (#3644)
* Limit mentions to a single character

* Adjust test
2024-12-05 15:46:47 +01:00
Kristaps Fabians Geikins 4b6e7af19d feat(fe2): scope comment mentions to parent project collaborators (#3635)
* backend done

* get rid of email mention

* project scoped mentions work

* lint fix

* better user sanitization safety

* tests fix
2024-12-05 13:33:05 +02:00
Kristaps Fabians Geikins 16897b86cb feat(fe2): show custom data residency restriction disclaimer (#3605)
* move to workspace disclaimer

* disclaimer added everywhere

* cleanup

* copy update

* Update copy

---------

Co-authored-by: Benjamin Ottensten <benjamin.ottensten@gmail.com>
2024-12-03 11:58:14 +01:00
Kristaps Fabians Geikins 51579b76ef fix(server): various fixes related to subs + further improved utils + way quicker tests (#3573)
* fixed test util throwing + added new tests

* more tests

* more tests

* various model tests

* version tests

* removed shitty old tests

* lint fix

* workspaceProjectsUpdated test

* workspace updated on invite

* workspace subs support team changes

* tests fix

* test fix hopefully?
2024-12-02 13:30:24 +02: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 f210d9b749 gergo/web 2109 project region based db connection selector (#3434)
* feat(projects): add project regions, default to null

* feat(multiregion): add projectRegion Db client lookup logic

* feat(multiregion): add project region repositories and caching

* feat(multiRegion): db initialization and get project db client

* feat(docker-compose): add second db for regions testing

* feat(multiRegion): initialize region with pubs and subs working

* fix(multiRegion): get region client even if it was registered in another pod

* feat(workspaces): create workspace resolver split

* feat: update server region metadata

* feat(projects): rewrite project creation

* feat(multiRegion): getRegionDb

* fix(workspaces): get projects now can retur null

* feat(multiRegion): make local multi region DB-s work

* feat: set d efault workspace region

* CR changes

* tests

* feat(multiRegion): bind region properly

* fe update

* test fixes

* feat(multiRegion): automatically create aiven extras plugin

* ci(postgres): use published postgres with aiven extras

* fix(multiRegion): roll back the aiven extras migration, there is a better way

* tests fix

* fix(billing): we do not need to add a seat, if the workspace is on a plan, but has no sub

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-11-06 17:29:08 +01:00
Gergő Jedlicska ee514dc7b9 test: fix flaky tests (#3422) 2024-10-31 09:04:49 +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 f27f289dc6 chore(server): core IoC #78 - getServerInfoFactory 2024-10-17 12:37:43 +03:00
Kristaps Fabians Geikins 554b2fa386 chore(server): core IoC #66 - markUserAsVerifiedFactory 2024-10-16 12:03:19 +03:00
Kristaps Fabians Geikins 7350443d06 chore(server): core IoC #65 - adminUserListFactory 2024-10-16 11:36:20 +03:00
Kristaps Fabians Geikins d40d2cb947 chore(server): core IoC #60 - updateUserAndNotifyFactory 2024-10-15 13:39:20 +03:00
Kristaps Fabians Geikins a0c8dd8142 chore(server): core IoC #59 - legacyGetPaginatedUsersCount rename fix 2024-10-15 13:28:38 +03:00
Kristaps Fabians Geikins abcbe0e2b8 chore(server): core IoC #58 - legacyGetUserByEmailFactory 2024-10-15 13:26:49 +03:00
Kristaps Fabians Geikins 781ee2cc2d chore(server): core IoC #57 - getUserByEmailFactory 2024-10-15 13:17:34 +03:00
Kristaps Fabians Geikins 573970fc6c chore(server): core IoC #55 - createUserFactory 2024-10-15 12:55:33 +03:00
Kristaps Fabians Geikins c7c897d08f chore(server): core IoC #54 - deleting getUserById (duplicate) 2024-10-15 10:57:20 +03:00
Kristaps Fabians Geikins 9ad7754f55 chore(server): core IoC #53 - legacyGetPaginatedUsers(Count)Factory 2024-10-14 18:02:01 +03:00