Commit Graph

152 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
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 c047ac7be1 chore(server): move cursor utils to db helper (#4988)
* chore(server): move cursor utils to db helper

* move collection
2025-06-26 13:57:55 +03:00
Daniel Gak Anagrov 23b61769b7 feat(fileupload): added eventBus and mixpanel monitoring 2025-06-02 08:22:20 +02:00
Iain Sproat 1f8e1a522d fix(automate): better handle trigger definition errors (#4845) 2025-05-29 10:08:43 +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 cb7ff5247d Merge branch 'main' into iain/task-id-to-request-context 2025-05-19 14:26:26 +01:00
Chuck Driesler 18d8ccaae7 fix(automate): set default input values in function input form (#4728) 2025-05-14 14:09:06 +01:00
Chuck Driesler 6d33de50d1 fix(automate): return null if not a function (#4716) 2025-05-13 09:00:39 +01:00
Chuck Driesler e64e77cd6d fix(automate): filter out deleted automation runs (#4717) 2025-05-13 08:59:10 +01:00
Chuck Driesler 1557e82fc3 fix(automate): omit runs from deleted automations (#4674) 2025-05-06 17:18:05 +01:00
Chuck Driesler 848f04d861 feat(automate): create test automations without functions (#4657)
* feat(automate): test automations without functions (almost)

* fix(automate): drop function select from test automation creation

* fix(automate): partial test automation panel

* feat(automate): environment configuration in test automation

* fix(automate): closer fit rows

* fix(automate): create test automation runs without functions
2025-05-06 10:48:21 +01:00
Chuck Driesler 44a20b3af1 fix(automate): throw better if automation not found in gql (#4669) 2025-05-06 10:41:51 +01:00
Chuck Driesler b553c48358 fix(automate): do not return invalid type for revisions (#4658) 2025-05-02 18:28:36 +01:00
Iain Sproat a5d59a4f38 Fix broken references after merge 2025-04-28 15:02:04 +01:00
Iain Sproat c6e8d1ba77 Merge branch 'main' into iain/task-id-to-request-context 2025-04-26 08:30:20 +01:00
Iain Sproat fccd2a0ad9 fix(server/logging): use appropriate log level for automate errors 2025-04-24 16:28:02 +01:00
Chuck Driesler 7663321557 fix(authz): add canDelete policy for automations (#4554)
* fix(authz): add canDelete policy for automations

* fix(authz): use asOperation
2025-04-23 10:02:59 +01:00
Chuck Driesler 603e47bc92 fix(automate): do not trigger deleted automations (#4551) 2025-04-23 08:28:07 +01:00
Chuck Driesler 5c68f8a1da feat(automate): ability to delete automations (#4228)
* feat(automate): delete automation be

* feat(automate): delete automations fe

* fix(automate): delete modal, update cache

* chore(automate): minor formatting

* fix(automate): delete blobs w automations

* chore(automate): repair blob test

* fix(automate): make sure to return

* fix(automate): do soft delete

* fix(automate): include deleted filter in project automation queries
2025-04-22 20:22:44 +01:00
Chuck Driesler 3e0f609bb2 fix(automate): improve search for test automations (#4515) 2025-04-22 14:33:46 +01:00
Iain Sproat 2adf7a97ae Merge pull request #4499 from specklesystems/iain/likes-time_ms
chore(readable code): use TIME_MS for readable durations
2025-04-22 09:48:19 +01:00
Björn Steinhagen 727494f8d1 feat(automate): improve font rendering in function readme (#4514)
* mock start

* some evil markdown

* fix(automate): use prose styles

* fix: improve markdown rendering in GitHub README

- inline code styling with proper background, border, and padding
- improved list formatting for both ordered and unordered lists
- horizontal scrolling with custom scrollbar for code blocks

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-04-21 18:20:32 +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
Chuck Driesler d7aa0196fc feat(authz): automate policies (#4491) 2025-04-18 11:03:54 +02:00
Iain Sproat a50e053096 chore(server/logging): add operation logging to automate module
- tidy up some passing of loggers to automate
- do not use console.log, instead use @/observability/logging
2025-04-15 11:37:06 +01:00
Kristaps Fabians Geikins 820a1e2ebf feat(server): workspace roles taken into account in project queries (#4319)
* Workspace.projects fixed

* Query.project tested & fixed

* personalOnly flag added

* withProjectRoleOnly flag

* authorizeResolver implicit workspace roles

* minor cleanup

* reorg + support for throwing auth errors

* global error mapping

* undo special borkage

* CR fixes

* more CR fixes

* shared tests fix

* minor adjustment

* tests fix

* see if removing cached roles fixes it?

* more fixes

* clean up debugging garbage
2025-04-07 12:52:07 +03:00
Chuck Driesler fd93d69a19 chore(automate): improve error message (#4260)
* chore(automate): improve error message

* fix(automate): better writing
2025-04-01 12:25:16 +01: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
Iain Sproat 59100b7d08 Merge branch 'main' into iain/task-id-to-request-context 2025-03-11 09:40:59 +00: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 bce8f8fd5e Merge branch 'main' into iain/task-id-to-request-context 2025-03-04 16:25:49 +00:00
Chuck Driesler 0a77270da1 fix(automate): fix search param parsing (#4099) 2025-03-03 09:19:59 +00:00
Iain Sproat d0d9d22fe2 chore(server): tidy up maybeLoggerWithContext (#4095) 2025-03-03 09:17:55 +00:00
Iain Sproat 193e7d870e chore(server/logging): email logging should include request or task Id in log context
- allows us to better link events to triggering actions
2025-03-01 23:30:57 +00:00
Iain Sproat 7458a25928 chore(server): tidy up maybeLoggerWithContext 2025-03-01 21:53:23 +00:00
Iain Sproat 04f84c31f3 fix(server/automate): logger should have request context and request ID sent to execution engine (#4092)
* fix(server/automate): logger should have request context

* WIP - pass in request Id

* WIP

* fix(automate): better logging for automate processes

* chore(automate): slight log improvement

* fix(automate): just in case

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-02-28 18:22:00 +00:00
Chuck Driesler 3cc68bb0e2 feat(automate): use updated hybrid function search (#4085)
* fix(automate): use new function query for workspace functions

* fix(automate): include workspace resource claims in auth flow

* chore(automate): do not use btoa
2025-02-28 16:03:34 +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 1d2a594f0a chore: upgrade TS 5.2 -> 5.7.3 & ESLint to 9.20.1 (#4032)
* chore: upgrade TS 5.2 -> 5.7.3

* vite dts fix

* lint fix

* resolutions fix

* ui comp build fix

* precommit fix?

* latest eslint version

* autoloader fix

* undo unnecessary viewer change

* eslint fixes fe2 + trying disabled type linting

* lint fixes
2025-02-20 14:18:18 +02:00
Chuck Driesler 86c113b29b feat(regions): move project automations (#3925)
* 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

* feat(regions): move project automations

* chore(regions): add tests for moving automations

* chore(regions): more tests for moving automate data

* fix(regions): speed up inserts

* fix(regions): simplify postgres usage

* chore(regions): repair build

* fix(regions): improve queries

* chore(regions): again
2025-02-18 15:48:00 +00:00
Iain Sproat 1c0b6e228d chore(server/middleware): allow CORS to be configurable (#4018)
- renames corsMiddleware to corsMiddlewareFactory to follow naming convention
- optionally allow cors middleware to be configured
- amend direct calls of `cors` package to now use middleware factory
2025-02-18 13:50:34 +00:00
Chuck Driesler f2ce7d8f17 chore(automate): track usage of test automations (#3992)
* chore(automate): track usage of test automations

* fix(automate): consolidate mixpanel event
2025-02-18 11:37:56 +00:00
Kristaps Fabians Geikins 4b7740eb17 Merge branch 'main' into fabians/web-2415-6 2025-02-17 15:15:52 +02:00
Chuck Driesler 553ea7d3e7 chore(automate): mixpanel metrics by function id and type (#3960)
* chore(automate): mixpanel metrics for function id and type

* chore(automate): catch test env
2025-02-11 17:06:14 +01:00
Iain Sproat 2454af7237 chore(logging): log messages related to a request should include request ID - PART 2 (#3946)
* chore(logging): mixpanel should use logger with request context

* log with request when onUserCreated event is triggered
2025-02-06 17:51:10 +00:00
Chuck Driesler 272c136a17 WEB-2466 fix(automate): include workspace in function breadcrumb (#3926)
* fix(automate): repair workspace function breadcrumb

* fix(automate): use route helper correctly
2025-02-04 09:58:45 +00:00
Iain Sproat c59e6043bb fix(server/errors): derive errors from BaseError (#3918) 2025-01-30 18:15:56 +01:00