Daniel Gak Anagrov
2c122a138d
feat(workspaces): apply prepared transactions to workspaces ( #5383 )
...
* feat(multiregion): replace user replication
* chore(multiregion): optimise replication
* maybe it's this
* postgres is fun
* once more
* chore(multiregion): only replicate test user creation during multiregion tests
* feat: improved replicate_query logic
* fix: minor
* fix: starting issue
* feat: included user create and delete specs to multiregion
* feat: removed console logs
* fix: user defaults
* fix: multiregion test helper
* fix: update scenarios for users
* refactor(multiregion): swap replicateQuery concept to asMultiregionOperation (#5301 )
feat(multiregion): introduced asMultregionOperator, refactor test to user builder classes
* chore: renamings
* fix: remove comments
* feat: remove user replication
* refactor: simplified spec usages
* chore: comments
* chore: branches and favs
* chore: more tests
* chore: more tests
* fix linting
* fix tests
* feat: dropping replication
* refactor: moved project delete to service
* fix: comment
* feat: updateStreamFactory and updateProjectFacotry
* deleteProjectFactory + replicateFactory
* deleteWorkspaceFactory
* fix: selector
* fix: tests
* fix tests, finished createStreamFactory
* feat: simplify changes
* fix: remove comment
* fix: minor strucutres
* fix: moveProjectToRegion
* fix: moved branch creation outside of multiregion scope
* fix: branch creation
* fix: tests
* fix: ci tests
* fix: removed log form test
* fix: on specs, no random regionKeys
* review fixes
* feat: workspace replciation
* fix: mr comments
* feat: removed test
* fix: worksapce test creation
* fix: mr issues
* updated mutations
* feat: drop workspace random defaults
---------
Co-authored-by: Charles Driesler <chuck@speckle.systems >
2025-09-11 10:08:26 +02:00
Daniel Gak Anagrov
1f5003bd32
feat(multiregion): cron job to detect regions out of sync ( #5392 )
...
* feat: basic structure
* fix: detect regions out of sync
* feat: added sync logic
* fix: tests
* feat: merge all strategy
* fix: mr comments
* fix: updatedAt in updates
* feat: project updatedAt no longer is a hidden operation
* feat: project region sync
* feat: delete project on cross-region-move
* removal: unnecesary permisions
* fix: caching issue
* fix: saved views on project cross region move
2025-09-10 16:35:48 +01:00
Daniel Gak Anagrov
87082062c9
feat(multiregion): avoiding prepared transaction with only one database ( #5336 )
...
* feat: avoiding prepared transaction with only one database
* scope 2pc monitor specs to multiregion only
2025-09-04 14:42:55 +01:00
Daniel Gak Anagrov
399c998fd7
feat(multiregion): apply prepared transactions to projects ( #5322 )
...
* feat(multiregion): replace user replication
* chore(multiregion): optimise replication
* maybe it's this
* postgres is fun
* once more
* chore(multiregion): only replicate test user creation during multiregion tests
* feat: improved replicate_query logic
* fix: minor
* fix: starting issue
* feat: included user create and delete specs to multiregion
* feat: removed console logs
* fix: user defaults
* fix: multiregion test helper
* fix: update scenarios for users
* refactor(multiregion): swap replicateQuery concept to asMultiregionOperation (#5301 )
feat(multiregion): introduced asMultregionOperator, refactor test to user builder classes
* chore: renamings
* fix: remove comments
* feat: remove user replication
* refactor: simplified spec usages
* chore: comments
* chore: branches and favs
* chore: more tests
* chore: more tests
* fix linting
* fix tests
* feat: dropping replication
* refactor: moved project delete to service
* fix: comment
* feat: updateStreamFactory and updateProjectFacotry
* deleteProjectFactory + replicateFactory
* deleteWorkspaceFactory
* fix: selector
* fix: tests
* fix tests, finished createStreamFactory
* feat: simplify changes
* fix: remove comment
* fix: minor strucutres
* fix: moveProjectToRegion
* fix: moved branch creation outside of multiregion scope
* fix: branch creation
* fix: tests
* fix: ci tests
* fix: removed log form test
* fix: on specs, no random regionKeys
* review fixes
* fix: mr comments
* feat: removed test
---------
Co-authored-by: Charles Driesler <chuck@speckle.systems >
2025-09-04 13:07:19 +02:00
Chuck Driesler
8a9b4829d9
feat(multiregion): replace user replication ( #5253 )
2025-08-28 10:02:53 +02:00
Daniel Gak Anagrov
8fbe1322e1
chore(multiregion): drop db defaults for project ( #5305 )
...
* feat: added migration
* chore: move defaults and other functions outside of repository fn
2025-08-26 16:40:22 +02:00
Daniel Gak Anagrov
ba8a62dd2a
feat: added schedule for deleting stale prepared transactions ( #5169 )
2025-08-12 15:23:27 +01:00
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
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
Iain Sproat
556c2791b3
feat(file imports): large file uploads now work on docker compose ( #5037 )
2025-07-07 11:00:55 +01:00
Chuck Driesler
08410ffb7d
fix(regions): fix for flaky move region test ( #4989 )
2025-06-26 11:14:50 +02:00
Chuck Driesler
2f36e518a0
fix(multiregion): make move region job safe for replication ( #4907 )
...
* chore(multiregion): failing test for move project region
* fix(multiregion): unblock replication after regional move
* fix(regions): try-catch replication
* fix(regions): cache roles within job
* fix(regions): toggle region key in target db
2025-06-25 15:47:34 +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
eabfab2555
chore(feature flags): defaults all to false, and additional commentary on expected permanence, dependencies, & licensing ( #4124 )
2025-05-20 11:45:25 +01:00
Chuck Driesler
6d9f3645c4
fix(multiregion): zero !== undefined ( #4683 )
2025-05-07 16:47:49 +01:00
Chuck Driesler
318420aa95
fix(multiregion): repair counting for project region moves ( #4682 )
2025-05-07 15:00:03 +01:00
Chuck Driesler
7be2e39913
chore(tests): dramatically reduce scope/time of multi-region tests ( #4282 )
...
* chore(tests): limit multiregion ci to multiregion tests
* fix(multiregion): unsure if this works
* fix(multiregion): ope we got deleted
2025-03-28 00:28:38 +00: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
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
Gergő Jedlicska
ec27e394d9
feat(workspaces): add workspace creation state ( #3578 )
2024-11-28 20:50:53 +01:00
Kristaps Fabians Geikins
f961a6da81
chore(server): various useful multiregion changes from comments pr ( #3499 )
...
* chore(server): various useful multiregion changes from comments pr
* hopefully fixing CI?
* test fix
* more test fixes??
* more test fixes..
* plz work ;((((
* revert multiregion on by default
2024-11-15 15:49:34 +02:00
Kristaps Fabians Geikins
37824bb845
Merge branch 'main' into fabians/multiregion-testing3
2024-11-12 09:59:58 +02: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
Kristaps Fabians Geikins
653ba5dc53
reenable server admin region tests
2024-11-11 17:05:53 +02:00
Kristaps Fabians Geikins
9abf5b0a77
more adjustments & fixes
2024-11-11 15:38:05 +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
Kristaps Fabians Geikins
1c0482b48a
feat: update server region metadata ( #3433 )
2024-11-05 13:29:51 +01:00
Kristaps Fabians Geikins
5df716bf1c
feat: add & list server regions ( #3423 )
...
* WIP create modal
* babababa
* create dialog looks ok
* FE largely there
* workss
* cleanup
* fixed up test plumbing to avoid deadlocks and simplify GQL calls
* test fix
* added all tests
* CI fix
2024-10-31 16:08:50 +01:00