Commit Graph

58 Commits

Author SHA1 Message Date
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
Kristaps Fabians Geikins c57262aa44 chore: log listen/notify connection strings (#5006)
* chore: log listen/notify connection strings

* re-adding multiRegionConfig alias

* CR comments

* type fix
2025-06-30 11:59:28 +03: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
Kristaps Fabians Geikins b406d0e32d chore(server): node16 & export maps support for server (#4698)
* chore(server): node16 & export maps support for server

* moar cleanup

* lint fixc
2025-05-12 14:27:34 +03:00
Gergő Jedlicska 2fdcf1bd1d refactor(shared): unified queue handling (#4691)
* feat(shared): unified queue initialization in shared

* feat(queues): use the new queue creation everywhere

* chore(shared): move to redis module

* chore(shared): fix export maps

* chore(fileimport): add deps properly

* fix(shared): import fix

* fix(everything): moear imports

* fix(server): cjs imports
2025-05-08 16:58:43 +02:00
Chuck Driesler a26a5a90a1 chore(multiregion): job success logs (#4687) 2025-05-08 14:51:35 +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 1cdc27fb65 chore(multiregion): a bit more logging (#4659) 2025-05-06 08:56:48 +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
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
Iain Sproat a1673c7294 Merge pull request #4421 from specklesystems/iain/web-2732-observability-for-improved-reliability-multiregion
chore(server/logging): add operations logging to multiregion module
2025-04-16 14:53:29 +01:00
Kristaps Fabians Geikins 82a37fba5c fix(shared): fix sso session expiration date too low in tests (#4432)
* fix(shared): canBroadcast policy test fix

* more tests fixed

* switch to using time constant

* tests fix
2025-04-15 16:24:12 +03:00
Iain Sproat decd933fce chore(server/logging): add operations logging to multiregion module 2025-04-15 07:52:52 +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 f76a2c34d3 chore: add no floating promises lint rule (#4249)
* chore: add no floating promises lint rule

* minor cleanup

* fix test by only running if node 22 or greater

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2025-03-25 13:36:49 +02:00
Chuck Driesler 9f83d1f74e feat(regions): trigger project move with job (#4010) 2025-03-07 09:18:12 +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
Chuck Driesler 0cafe77013 feat(regions): change project region once move is complete (#3995)
* chore(regions): failing test for moving blobs

* fix(blobs): use blob storage table

* chore(regions): include file_uploads table for thoroughness

* fix(regions): extract repeated string to utils

* chore(regions): move validation as own service

* feat(regions): update project region key after move

* chore(regions): update tests to make gql requests
2025-02-28 09:35:44 +00:00
Iain Sproat ce08e5e02d refactor(server): logging directory renamed to observability (#4077) 2025-02-28 08:43:54 +00:00
Iain Sproat 26114eae3e fix(logging): sanitize log message to avoid printing db connection string (#3652) 2025-02-18 14:09:55 +00: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
Gergő Jedlicska 04c577529b fix(multiRegion): do not look for a multi region config, if there should be none (#3825) 2025-01-15 11:26:36 +01:00
Gergő Jedlicska db8de114d3 feat(server): new projects are placed in a configurable region (#3801)
* feat(server): log subscription started messages with info

* feat(server): create projects in a default region

* feat(server): allow project default region config

* feat(server): load project region from multi region config
2025-01-13 18:38:44 +01:00
Iain Sproat 571338c604 feat(feature flags): consolidate multi region & multi region blob storage (#3709) 2024-12-18 15:28:19 +00:00
Iain Sproat 6d3ba0de22 chore(server): errors for database append additional context (#3698)
* chore(server): errors for database append additional context

* Refactor
2024-12-16 10:13:20 +00:00
Iain Sproat 0a2bebd075 fix(server): check for multi-region when retrieving all registered db clients (#3675) 2024-12-11 14:20:24 +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
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
Gergő Jedlicska 5b5aa7a877 feat(multiRegion): do not recreate the pub subs in production (#3624) 2024-12-04 07:39:09 +01:00
Iain Sproat 384640de1d fix(error): improve error message when subscriptions & publications fail (#3613) 2024-12-03 21:26:43 +00:00
Iain Sproat bde5431022 feat(logging): improve error handling around db migrations (#3599) 2024-12-02 17:23:47 +00:00
Iain Sproat 0024b2f8f7 fix(server/multi-region/sql): use parameter binding to prevent secret leak (#3581)
- SQL statements are logged, but parameters are not
- this parameterises the subscription creation SQL statements to prevent secret leak
2024-11-29 12:08:11 +00:00
Gergő Jedlicska ec27e394d9 feat(workspaces): add workspace creation state (#3578) 2024-11-28 20:50:53 +01:00
Kristaps Fabians Geikins a9a313ee63 feat(server): cli and cross-server-sync multiregion support (#3527)
* feat(server): cross-server-sync multiregion ready

* fixed various db commands

* db cli works

* final changes
2024-11-22 19:52:58 +01:00
Iain Sproat 2a7c51f3df Revert "feat(multi-region): metrics for knex for all regional databases (#3508)" (#3534)
This reverts commit f51eb91861.
2024-11-21 11:14:04 +00:00
Iain Sproat f51eb91861 feat(multi-region): metrics for knex for all regional databases (#3508)
* feat(multi-region): metrics for knex for all regional databases

* improve typing in knex monitoring

* error logging around migrations
2024-11-21 12:11:56 +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
Kristaps Fabians Geikins 2643d32d0a Merge branch 'main' into fabians/multiregion-testing3 2024-11-11 14:53:53 +02:00
Gergő Jedlicska b77d70585e fix(redis): make redis client singleton from a module (#3469)
* fix(redis): make redis client singleton from a module

* fix(projectDownload): pass region key properly
2024-11-08 17:18:28 +01:00