Commit Graph

262 Commits

Author SHA1 Message Date
Chuck Driesler dc3cfb4263 chore(tokens): small cleanup of error message (#5068) 2025-07-14 12:15:32 +01: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
Gergő Jedlicska 520e931211 Gergo/web 3685 create new standalone python app for speckleifc based parser (#5051)
* feat(backgroundjobs): add new background jobs module for file imports
queueing

* fix(fileuploads): a merge gone wrong

* feat(backgroundjobs): rename rhino queue env var

* test(backgroundjob): use deep equal claude

* fix(fileuploads): sync PR review

* feat(ifc_importer): initial importer app implementation with a sleeping
worker

* chore(pre-commit): remove black as a formatter, its now handled by ruff

* fix(ifc-importer): better handling of max job attempt

* feat(eslint): ignore package from eslint
2025-07-11 20:12:43 +02: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
Chuck Driesler aa29a09ebc feat(tokens): create embed-specific tokens (#5013)
* feat(tokens): create embed-specific tokens

* fix(tokens): repo functions and policy sketch

* chore(authz): embed token policies and tests

* chore(authz): fine

* chore(gql): lint descriptions

* fix(embedTokens): better api surface, repo structure

* chore(embedTokens): test fixes

* fix(embeds): check resource access

* fix(embeds): use resource access util
2025-07-07 12:02:38 +01:00
Iain Sproat a749a96791 fix(server/auth/google): handle error parameter in request query (#5003)
- callback queries with query parameter key of `error` and value of `access_denied` were not being handled and resulting in passportService case for no user, no error, and a failureType of null.
- tokenerror seems not to result in google verify callback being called, so moving the logic to handle it to the passport authentication callback
2025-07-01 07:38:07 +01:00
Iain Sproat 33e480185e fix(passport): google strategy handle invalid grant errors (#4742) 2025-05-28 09:41:26 +01:00
Iain Sproat 15274d13cf chore(/auth/token): make thrown error more specific about message (#4830) 2025-05-27 17:47:28 +01:00
Chuck Driesler b4d2c61374 chore(apps): add workspace scopes to BI and Excel (#4823) 2025-05-27 10:25:37 +02:00
andrewwallacespeckle 6a1d277b16 fix(server): Add user to mailchimp onboarding audience if they are not in it
fix(server): Add user to mailchimp onboarding audience if they are not in it
2025-05-20 14:30:10 +02: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
Kristaps Fabians Geikins d2f2d95bb5 chore(server): migrate remaining tests to TS (#4772)
* auth tests migrated

* core tests

* pwdreset

* authz tests
2025-05-20 14:24:48 +03:00
andrewwallacespeckle 506176bf8e fix(server): Add user to onboarding audience if they are not in it 2025-05-20 12:23:48 +02:00
Iain Sproat cda139f53f chore(server/auth): improve error messages (#4207)
* chore(server/auth): improve error messages

* fix tests
2025-05-20 09:45:00 +02:00
Iain Sproat 43b0190720 Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-05-19 13:37:26 +01:00
andrewwallacespeckle 2f17b3f8b8 fix(server): Remove mailchimp step and journey ids (#4750)
* fix(server): Remove mailchimp step and journey ids

* Fix pre-commit - add end

* feat(server): use both onboardin and newsletter list audiences

* Fix type

* Remove unused triggerMailchimpCustomerJourney function

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2025-05-15 12:24:50 +02:00
Iain Sproat 1d932290d6 Merge pull request #4727 from specklesystems/iain/auth-service-tidy-error-handling
fix(server/auth): handle InviteNotFoundError and simplify handling
2025-05-14 14:02:36 +01:00
Mike c75081a21a Fix: Update PowerBI description (#4741) 2025-05-14 14:30:20 +02:00
Iain Sproat 91e9e9fcc9 Add tests, fix tests, and revert behaviour 2025-05-13 15:53:03 +01:00
Iain Sproat f913460aea Merge branch 'main' into iain/auth-service-tidy-error-handling 2025-05-13 14:47:58 +01:00
Iain Sproat 7751fee8a1 fix to match test expectations 2025-05-13 14:16:29 +01:00
Iain Sproat b23f21d8ee fix 2025-05-13 12:25:24 +01:00
Iain Sproat adbb53e206 fix(server/auth): handle InviteNotFoundError and simplify handling 2025-05-13 11:58:21 +01:00
Iain Sproat 86ebd8fbf9 more error handling and logging fixes 2025-05-13 10:51:11 +01:00
Iain Sproat 380667cea2 fix(server): mailchimp problems throw a sanitised error 2025-05-12 17:21:40 +01: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 413937c0fa Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-04-28 08:16:19 +01:00
Kristaps Fabians Geikins f1ae0916c6 feat(server): improved user/server profile mp tracking (#4540)
* user tracking

* server profile tracking

* style
2025-04-23 15:19:24 +03: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
Iain Sproat 149cc1871e chore(logging): observability of operations related to auth 2025-04-14 13:36:03 +01:00
Gergő Jedlicska d5f81cc174 feat(auth): add worksapce read scope to desktop apps (#4365)
* feat(auth): add worksapce read scope to desktop apps

* fix(scopes): only add workspace scopes if workspaces enabled

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-04-10 11:58:23 +01:00
Kristaps Fabians Geikins 140fde3871 fix(server): fix registration test email provider (#4195) 2025-03-14 15:33:27 +02:00
Kristaps Fabians Geikins 50fd05afe8 feat(fe2): more viewer debugging improvements (#4193) 2025-03-14 12:47:58 +02: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 ec0253c895 Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-03-04 16:36:43 +00:00
Iain Sproat d0d9d22fe2 chore(server): tidy up maybeLoggerWithContext (#4095) 2025-03-03 09:17:55 +00:00
Iain Sproat 63bb82736c Fix broken merge from main 2025-02-28 09:43:15 +00:00
Iain Sproat fb95dd3bdd Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-28 09:23:48 +00:00
Iain Sproat ce08e5e02d refactor(server): logging directory renamed to observability (#4077) 2025-02-28 08:43:54 +00:00
Iain Sproat 1eb7412fba Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-27 11:34:04 +00:00
andrewwallacespeckle 8c69f22e27 feat: Update user tags in Mailchimp when user completes onboarding questions (#4000)
* Add new updateMailchimpMemberTags function and use it in FE

* Pass tag data from FE

* Plan > Use case

* move onboarding types to shared package

* Check newsletter consent

* Changes from PR

* GQL
2025-02-27 11:29:00 +00:00
Iain Sproat 878650e9da Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-27 10:31:31 +00:00
Iain Sproat 735a14279e fix(server/auth): callback should not finalize auth if HTTP response already sent (#4044) 2025-02-27 08:37:43 +00:00
Iain Sproat 9e6a386925 Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-26 14:35:09 +00:00
Mike 2ecb98146a Feat: prevent non work emails (#3993) 2025-02-26 10:55:02 +01:00
Iain Sproat 8d1aceb7fc incorporate PR review comment - set rate limit enabled once 2025-02-25 11:37:51 +00:00
Iain Sproat c593990b22 Move ratelimiter from services to utils 2025-02-25 09:27:24 +00:00
Iain Sproat 62b65bb566 wrap the logic into a callable function and add tests 2025-02-24 12:26:34 +00:00
Iain Sproat f42a3f1eef Use the same logic as the default error handler 2025-02-23 13:43:24 +00:00