Commit Graph

4499 Commits

Author SHA1 Message Date
Gergő Jedlicska 5818a44e62 Gatekeeper (#2572)
* feat(gatekeeper): initial license validation

* test(gatekeeper): add license token to tests

* chore(gatekeeper): cleanup

* chore(gatekeeper): hide from circleci

* feat(helm): load license token from secrets

* chore(circleci): remove unused env var
2024-08-13 11:04:40 +02:00
Iain Sproat 298d8d6e52 fix(server/authcode): guard against null challenges (#2643)
- the database expects challenge to be not null, so we should guard against this early before consuming database resources
2024-08-13 09:12:06 +01:00
Iain Sproat a0a1363e01 fix(logging): redact detail in database error message (#2642)
- may contain secrets which should not be logged
2024-08-12 17:38:21 +01:00
Alessandro Magionami 595f76f183 fix(useremails): avoid creating same email twice (#2640)
* fix(useremails): avoid creating same email twice

* fix(useremails): avoid any email to be created if already existing
2024-08-12 16:08:59 +02:00
Alessandro Magionami caca536e96 fix(useremails): throw error if trying to set unverified email as primary (#2630) 2024-08-12 15:03:53 +02:00
Mike 5b55d9e97e Feat: Add feature flag for multiple emails (#2639)
* Feat: Add feature flag for multiple emails

* Fix typo
2024-08-12 15:02:10 +02:00
Kristaps Fabians Geikins 23b60bfcca fix(fe2): ensuring fatal SSR errors get logged to datadog properly (#2638)
* fix(fe2): ensuring fatal SSR errors get logged to datadog properly

* added status code check to avoid potential spam
2024-08-12 15:36:50 +03:00
Iain Sproat 7b1c46ba9a chore(server): addn'l observability around db connections (#2628)
* chore(server): addn'l observability around db connections
* improvement to logging and metrics
* Instrument the knex connection pool
2024-08-12 13:17:53 +01:00
Kristaps Fabians Geikins 51ec2f7dcd fix(objectloader): prevent cache read/write (#2637) 2024-08-12 13:22:03 +03:00
Iain Sproat f2c5677b4a fix(server): revert 55cad9662a (#2633)
* Revert "refactor(server/upload): convert js to ts (#2618)"

This reverts commit e9f7286f67.

* Revert "feat(logging): pass request logger to core/services/objects (#2599)"

This reverts commit ee3e9af78d.

* Revert "feat(server): configurable maximum objects POST size and improved logging (#2594)"

This reverts commit 55cad9662a.
2024-08-12 10:26:53 +01:00
Kristaps Fabians Geikins fc079b2b71 fix(fe2): fixes for too early viewer state init (#2634) 2024-08-12 12:05:35 +03:00
Kristaps Fabians Geikins 4dae1569cd feat(fe2): invite + list workspace invites (#2629)
* list invites table

* invites list works

* update last reminded date on resend

* fix FE

* WIP invitedialog + updated debounced utility

* invite create works

* exclude users correctly

* more adjustments

* minor cleanup

* using workspace invite server role

* test fix

* fixed multiple root eslint issues

* minor adjustments
2024-08-12 11:30:01 +03:00
Mike 03db1cca94 Fix: Remove multiple email sidebar link (#2627) 2024-08-09 16:16:36 +02:00
Mike 3ac6741965 Feat: Allow users to manage emails (#2613) 2024-08-09 12:49:07 +02:00
Iain Sproat e9f7286f67 refactor(server/upload): convert js to ts (#2618) 2024-08-09 10:00:46 +01:00
andrewwallacespeckle 5d8ed49d16 fix(fe2): Use NuxtLink in model cards to allow cmd click (#2615)
* Update ProjectDashboardCard.vue

* Revert "Update ProjectDashboardCard.vue"

This reverts commit 41744265d33b840291255676078a8607f249175e.

* Hacky way to add NuxtLinks
2024-08-09 09:56:02 +01:00
Iain Sproat ee3e9af78d feat(logging): pass request logger to core/services/objects (#2599)
* chore(logging): include additional detail on object upload logs

* allow max file size to be configurable

* feat(logging): add logger to core/services/objects

* fix log line

* fix tests

* typo

* fix variable name

* convert values to megabytes

* calculating memory was causing the system to freeze

* calculating memory was causing the system to freeze

* DRY the logging metadata

* all required variables should be passed to calculateLogMetadata

* fix many things with the logging
2024-08-09 10:15:37 +02:00
Iain Sproat 55cad9662a feat(server): configurable maximum objects POST size and improved logging (#2594) 2024-08-08 16:19:25 +01:00
Kristaps Fabians Geikins fc5c764c06 unblocking main 2024-08-08 12:31:45 +03:00
Kristaps Fabians Geikins b6ef90eb4f fix(fe2): dont build sourcemaps unnecessarily (#2597) 2024-08-08 11:56:36 +03:00
Chuck Driesler 7bb40134eb fix(workspaces): add filtering to workspace team query (#2586)
* chore(workspaces): add some tests for new filters

* fix(workspaces): args style
2024-08-08 07:15:55 +02:00
Gergő Jedlicska 72017c3f2f feat(emailVerification): add email verification mutation for all emails (#2606) 2024-08-08 07:07:26 +02:00
Kristaps Fabians Geikins 0085bab1db fix(server): fixed various email lookups/updates being case sensitive (#2595)
* fix(server): case insensitivity in userEmails repo

* minor fix

* more test improvements + user repo tests

* more tests

* test fixes
2024-08-07 17:48:01 +03:00
Iain Sproat b03e79ae44 chore(logging): improve logging around passportjs strategies (#2593)
- ensures the request logger, containing request details, is used
2024-08-07 13:34:49 +01:00
Iain Sproat 47bd4cd4bc feat(health probes): use kubernetes native get instead of exec node fetch (#2445) 2024-08-07 12:22:31 +01:00
Iain Sproat d9f9da77f4 chore(readiness): server pods are not ready if no free db connections (#2552)
- adds high frequency metrics for knex connections
2024-08-07 11:07:34 +01:00
Mike 87d986e8e1 Feat: Add coming soon settings pages (#2590) 2024-08-07 12:06:23 +02:00
Kristaps Fabians Geikins 99edb378ed feat: auth issue troubleshooting related improvements (#2591)
* fix(server): TS passportService + fixed user input error reporting

* feat(fe2): add server req id to error reference
2024-08-07 12:52:26 +03:00
Kristaps Fabians Geikins 50b5bdbbdd chore(server): typescriptified auth strategies (#2589)
* rebuilt strategies.js

* local.js -> local.ts

* oidc.js -> oidc.ts

* google.js -> google.ts

* github.js -> github.ts

* azure-ad.js -> azureAd.ts

* minor fixes

* FE2 regen

* improved error reference page

* minor adjustment

* more error page improvements

* migrated helper

* testfix
2024-08-07 11:38:44 +03:00
Chuck Driesler b27640194a feat(workspaces): support workspace deletion (#2569)
* feat(workspaces): delete workspace repo function

* feat(workspaces): services for the resolver, crack order of operations, migration

* fix(workspaces): add tests for delete

* fix(workspaces): better service boundary

* fix(workspaces): linttttt
2024-08-07 10:36:52 +02:00
Gergő Jedlicska 625fec4294 feat(workspaces): leave workspace (#2585) 2024-08-06 16:55:40 +02:00
Iain Sproat 72bc7357c5 fix(helm): remove whitespace instruction for ghost api key env var (#2588) 2024-08-06 13:10:39 +01:00
Mike ad1f97216f Feat: Add new dashboard page (#2580) 2024-08-06 13:39:58 +02:00
andrewwallacespeckle cd73a7aad8 Update page title to include model name (#2587) 2024-08-06 12:30:57 +01:00
Kristaps Fabians Geikins 455b21cba3 fix(server): manual workspace role assignment on project invite create + more bugfixes (#2581)
* prep for new projectinvite create mutation

* fix for serverRole not being taken into account in stream invite

* new workspace invite create mutation
2024-08-06 13:42:10 +03:00
Alessandro Magionami c365c0566e Alessandro/web 1169 create app validation to enforce only one primary email per (#2576)
* feat(useremails): userEmails graphql query

* feat(useremails): create user email mutation

* feat(useremails): set primary and delete user email mutations

* chore(useremails): fix update user email type

* chore(useremails): add validation for unique primary email

* chore(useremails): create typed tests for graphql and emails field resolver in user type

* chore(userEmails): group user email mutations in a specific mutation object

* linting fixes

* more lint fixes

* tests fix

* more test fixes

* chore(userEmails): cleanup

* chore(useremails): rely on knex trx for transaction handling

* chore(useremails): rely on knex trx for transaction handling

* chore(useremails): fix checkemail not present

* chore(useremails): add tests

* chore(useremails): create check function

* chore(useremails): use repository function to find primary email

* chore(useremails): fix prettier

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-08-06 12:34:48 +02:00
Chuck Driesler 97b44bad94 fix(workspaces): backend validation on workspace settings fields (#2584)
* fix(workspaces): backend validation on workspace settings fields

* chore(workspaces): move authz to resolver level
2024-08-06 11:25:19 +01:00
Dimitrie Stefanescu fbfaa281dc Merge pull request #2573 from specklesystems/dimitrie/cnx-115-viewer-handle-gracefully-instances-with-elements-that-failed
feat(viewer): handles missing instance components gracefully
2024-08-06 11:38:57 +02:00
Dimitrie Stefanescu 79fc523d9c chore(viewer): adds logger for the case, as per king alex's request 2024-08-06 10:26:53 +01:00
Mike 3c15fa8809 Feat: Add member settings page (#2574) 2024-08-06 10:03:22 +02:00
Alessandro Magionami 12685af29a Alessandro/web 1388 mutation create new email (#2561)
* feat(useremails): userEmails graphql query

* feat(useremails): create user email mutation

* feat(useremails): set primary and delete user email mutations

* chore(useremails): fix update user email type

* chore(useremails): create typed tests for graphql and emails field resolver in user type

* chore(userEmails): group user email mutations in a specific mutation object

* linting fixes

* more lint fixes

* tests fix

* more test fixes

* chore(userEmails): cleanup

* chore(useremails): rely on knex trx for transaction handling

* chore(useremails): fix checkemail not present

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-08-05 18:39:52 +02:00
Chuck Driesler 65a0666c9c fix(workspaces): expect correct format for workspace image strings (#2568) 2024-08-05 17:27:13 +02:00
Kristaps Fabians Geikins 7383779375 feat(server): registration (w/ and w/o invites) tests (#2567)
* WIP tests

* a couple of tests done

* most server registration tests done

* finalized tests

* lint fix

* added login tests too
2024-08-05 16:21:56 +03:00
Dimitrie Stefanescu ded5e12279 feat(viewer): handles missing instance components gracefully 2024-08-05 13:48:13 +01:00
Chuck Driesler 0212f865fa fix(workspaces): better logic in workspace project pagination test (#2570) 2024-08-03 09:50:04 +02:00
Gergő Jedlicska 4f6bfb24f6 feat(helm): expose workspace module feature flag (#2566) 2024-08-02 13:04:30 +02:00
Chuck Driesler c97ccb48a1 fix(workspaces): support workspace logos as base64 strings (#2556)
* fix(workspaces): support workspace logos as base64 strings

* fix(workspaces): fix those testsss

* fix(workspaces): migration! and more test fixes
2024-08-02 13:04:20 +02:00
Alessandro Magionami f5b262f4ea Merge pull request #2562 from specklesystems/alessandro/web-1533-fix-unique-values-in-seed
chore(seed): fix seed using library to generate unique values
2024-08-02 11:35:49 +02:00
Kristaps Fabians Geikins 2fb1ced647 feat(fe2): show reqId in error pages (#2565)
* feat(fe2): show reqId in error pages

* better text size class
2024-08-02 12:05:11 +03:00
Iain Sproat b8cc6928cd ci(feature flags): test workspaces (#2559)
* ci(feature flags): test workspaces

* It was an overwrite not a merge ;(

* adjustments

* ignoring FF related tests, if FFs are off

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-08-02 10:31:50 +03:00