Commit Graph

641 Commits

Author SHA1 Message Date
Iain Sproat 5b95ddbefc feat(rate limiter): add custom rule for GET /auth/local and reduce allowance for all GET /auth/* rate limit rules (#2035) 2024-02-12 11:15:05 +00:00
Gergő Jedlicska 3a526cdf9a feat: make automate token scope public (#2025) 2024-02-09 11:04:20 +01:00
Gergő Jedlicska 001992a8f4 fix: allow object result case message to be null (#2024) 2024-02-08 14:56:42 +01:00
Kristaps Fabians Geikins 9caa2a37c8 feat(fe): auto accept stream/project invite on email link click [WBX-73] (#2017)
* feat(fe2): project invite auto accept

* fix(fe2): improved CSR error logging

* feat(fe1): auto accept stream invite on email link click

* minor type fix

* tests fix
2024-02-07 14:26:59 +02:00
Gergő Jedlicska 9628a8a516 Gergo/configurable email digest (#2006)
* feat: add weekly digest feature flag

* feat: add weekly digest feature flag to helm chart
2024-02-02 15:25:12 +01:00
Kristaps Fabians Geikins ed1029e20d fix(fe2): optimized 'select all objects by type' (#2005)
* fix(fe2): optimized 'select all objects by type'

* some more utils
2024-02-01 16:29:18 +02:00
Kristaps Fabians Geikins 9aebb3f286 fix(server): db listener redis retry fix 2024-01-25 17:07:37 +02:00
Kristaps Fabians Geikins ff5c965df9 fix(fe2): redis connection leakage 2024-01-25 10:50:04 +02:00
Iain Sproat a3cb8b180b fix(server): explicit db listener redis cleanup (#1989)
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-01-24 22:01:58 +00:00
Kristaps Fabians Geikins c3f13d4e66 fix: multiple FE2 and server speed improvements, mainly focusing on the project page (#1975)
* introduced app cache & optimized /downloads

* added redis cache storage

* optimizing latest thread retrieval

* more dataloaders

* undid debug stuff

* deployment changes

* minor change to reqTouched

* connectorTag parallel resolution

* added redis key prefix

* gqlgen cleanup

* Amend network policy to allow egress to Redis

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2024-01-22 11:08:53 +02:00
Kristaps Fabians Geikins 37d51072fb feat(server): resource limits on app tokens (#1959)
* WIP new mutation arg

* limited resource token creation done

* token resource rule creation validation

* updated authorizeResolver implementation

* introduced resource access rule checks in authorizeResolver everywhere

* more checks added

* updated projects resolvers

* updated stream resolvers

* more checks added

* error page theme resolution fix

* WIP testss

* more tests

* implemented checks in REST auth pipeline

* REST API coverage & tests

* some tests fixed

* test fixess

* added tests

* feat(server): new automation result reporting scope (#1976)

* feat(server): new automation result reporting scope

* tests fix
2024-01-19 18:14:49 +01:00
Gergő Jedlicska c2085d6b13 Hotfix/2.17 (#1955)
* gergo/apolloQueryDuration (#1949)

* add apollo query duration

* feat: add more details to apollo query logging

* fix: pr review

* feat: format log messages as clef (#1950)

* fix(logging): pinoClef log levels must be a string

* chore(fe2): reducing log level for some spammy req logs

* minor adjustment

* more robust path resolution

* better req log text

* feat(fe2): improved and more thorough logging to help with observability (#1948)

* better req log text

* minor improvements to server logging

* WIP FE2 req logging

* FE2 apollo operation logging

* undid apolloPlugin changes due to Gergos PR

* seq message templates introduced

* fix: request logs (#1964)

* fix: request logs

* chore: remove comments

* feat: add graphql subscription metrics (#1970)

* optimized preview msg resultListener

* fix(server): locking to avoid postgres notification listeners processing the same message multiple times (#1972)

* fix(server): locking to avoid postgres notification listeners processing the same message multiple times

* optimized locking

* minor cleanup

* msg update

* log level adjustments

* reduce failsafe expiry

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
Co-authored-by: Kristaps Fabians Geikins <fabians@speckle.systems>
2024-01-17 16:39:33 +01:00
Kristaps Fabians Geikins 5cd573355d feat(server): ability for apps to create new app tokens (#1942)
* /graphql endpoint fix

* app token creation seems to be done

* added tests

* more tests

* cleaned up TS annotations

* CR cleanup

* TS type fixes

* test fixes
2024-01-09 11:58:38 +02:00
Kristaps Fabians Geikins a563fa27c7 a couple of random FE2 fixes reported on Discord (#1943)
* fix(fe2): clearer error msg on failed upload

* fix(fe2): missing project.commentThreads access w/ admin override
2024-01-08 11:34:31 +02:00
Iain Sproat 819df9bc65 Prefer docker compose over docker-compose (#1895) 2023-12-21 18:45:20 +00:00
Iain Sproat 4071c1cc5f test(file upload): add integration tests (#1917)
* print all graphql errors on failure of tests
2023-12-18 14:21:12 +00:00
andrewwallacespeckle 77d760c07f FE2 UI minor improvements (#1905)
* FE2 Fixes. WIP Description

* Reorder Options. Fix cookie expiry

* added ability to edit model description in backend

* Add Description to "Add Model" WIP

* Update Radio component so icons are part of label

* Fix to disable measure mode when user navigates to another control

* Add Description WIP

* Fix description returning null

* Add Header to versions page

* Checks for PR

* Fix build error

* Changes from CR

* Use ProjectPageProjectHeaderFragment

* Remove description from handleSubmit

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2023-12-15 13:23:15 +00:00
Kristaps Fabians Geikins e4540ba5b3 fix(server): onboarding stream clone url parsing issue (#1923) 2023-12-15 14:06:39 +02:00
Kristaps Fabians Geikins c67f6d9c92 feat: clearer email verification flow & related error messages (#1904)
* fix: fe2 auth error page + various minor UI bugs

* clean up & reporting failing email to fe

* new mutation to resend verification as guest

* email text updates

* fixing issues brought up by agi

* more text fixes

* swapping out space-XXX for gap-XXX
2023-12-15 13:09:26 +02:00
Kristaps Fabians Geikins c5ff7688ac feat: click on invite link autofills email in register form (#1919) 2023-12-15 11:51:43 +02:00
Gergő Jedlicska c10c2cbcc1 feat: add support for creating commit by branch id (#1915) 2023-12-13 13:49:25 +01:00
Kristaps Fabians Geikins ef37030287 fix(server): optimized commit download (#1913)
* fix(server): optimized commit download

* added test
2023-12-13 14:31:09 +02:00
Iain Sproat e3bedf9863 fix(logging): typo which expected logger in res, should be req (#1916) 2023-12-13 11:53:11 +00:00
Iain Sproat 45f6999004 refactor(envHelper): introduce common method for converting to boolean (#1914) 2023-12-13 10:58:47 +00:00
Kristaps Fabians Geikins 3689e1cd58 fix: preventing PATs from creating PATs 2023-12-11 11:23:03 +02:00
Kristaps Fabians Geikins a329f91a44 fix(server): protecting against scope elevation in PAT creation (#1901)
* test DX improvements + tests for token:write scope

* protecting against scope elevation
2023-12-08 14:50:23 +02:00
andrewwallacespeckle c8bdf01cdd FE2 Viewer - Add Measure Mode (#1889)
* RadioGroup & Initial UI for Measure

* Add option to Panel to allow actions to move to bottom

* Typo

* Add count to precision

* Add enable, snap and type api integrations

* Update Units WIP

* Add precision update

* Update v-tippy name

* Updates

* New design

* Better darkmode radio. Keystrokes.

* Styling fixes. Fix select mount-menu-on-body

* Fix ts bug

* Show label in Select for units

* Update shortcut to D

* Small design changes

* Small tidy ups

* WIP New Measurements Helper State

* Fix build erros

* Remove viewer import from shared

* Delete WIP

* Fix delete

* Fix close button on measure mode

* Measurement nullable

* Updates from PR

* Seperate measurements into measurementsEnabled & measurementOptions

* Update state.ts

* Update ts bugs

* Updates to RadioGroup

* Use ctx.updateArgs

* Replace RadioGroup with Radio - More consistent with existing inputs

* Update FE2 to use new Radio

* Fix circleci fail

* Fix build

* Fix wrong initial state for vertexSnap

* Adjust type to measurement

* Use Lodash isEqual

* Fix bug where units don't update

* Remove double input

* Fix server error in data.ts

* Revert change around useEqual
2023-12-06 09:56:22 +00:00
Kristaps Fabians Geikins 366f5a8350 fix(server): only allow lowercase model names 2023-12-04 16:54:50 +02:00
Kristaps Fabians Geikins f5b757de79 fix(fe1): emitting 'converting' file upload status through subscriptions 2023-12-04 16:35:45 +02:00
Kristaps Fabians Geikins 6c9973995b fix(fe1): super spammy stream file uploads page requests (#1893) 2023-12-04 10:55:40 +02:00
Iain Sproat ff4bd48b58 tests(auth): refactor to prevent test pollution (#1885) 2023-11-24 13:34:48 +00:00
Gergő Jedlicska e32f666964 bump fe1 branch query limit and disregard broken pagination logic (#1875) 2023-11-17 13:11:21 +01:00
Gergő Jedlicska bd86f631bb formatting 2023-11-14 19:54:29 +01:00
Gergő Jedlicska f74354df9c feat: debug log status updates (#1873) 2023-11-14 19:40:52 +01:00
Iain Sproat ced6eab7b0 feat(models): allow number of models retrieved per page to be configu… (#1868)
* feat(models): allow number of models retrieved per page to be configurable by environment variable
* Default to 100, as this was the existing value, but allow override via helm chart
2023-11-10 12:34:28 +00:00
Gergő Jedlicska 933458c95c feat: branch delete now deletes commits too (#1866)
* feat: branch delete now deletes commits too

* chore: prettier
2023-11-09 16:15:25 +01:00
Dimitrie Stefanescu 882391b5e1 Onboarding Speedup (#1855)
* feat(onboarding): ensures an onboarding project is always cloned when a user goes through onboarding; simplifies some of the logic & updates project naming

* feat(onboarding): improves onboarding stream cloning performance by optimising object duplication (local tests: from 25s to 270ms)

* feat(onboarding): minor changes logging + comments

* feat(onboarding): removes comments
2023-11-08 13:03:10 +00:00
andrewwallacespeckle 76cbcef4e6 Feature - FE2 - Developer Settings (#1822)
* WIP Developer Settings

* Access Tokens

* scopes load fix

* mapping to correct struct

* Updates to Application

* Update to apps.js to fix scopes error

* Application table done

* Token confirmation done.

* Application Success

* Fix ts

* Darkmode fixes

* Responsive fix

* Fixes for PR

* Pass size prop to Editable Avatar

* Updates from PR comments

* Section Header - TS Types

* Add Typeguard to Delete Dialog

* Add Description to scopes query

* minor type guard fix

* edit application cache update fix

* Fix Dialog Expansion

* Rename mutations to correct casing

* Remove unneeded import for defineProps

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2023-10-26 12:51:05 +01:00
Gergő Jedlicska 8aa261cc68 feat(fe2/server): add automation function run name and logo (#1834) 2023-10-25 15:11:51 +02:00
Dimitrie Stefanescu 0f562ce19e Dim/fe2: Automate Results Dialog Revamp (#1832)
* feat(ui): adds link to all models from project dashboard card

* feat(ui): refactoring layout to focus on function runs

* chore(server): a bunch of comments regarding some unclear automate api parts

* feat(fe2/automate): cleans up automate results dialog summary

* feat(fe2/automate): adds automation status to model list view

* feat(fe2/automate): adds automation status to version card

* feat(fe2/automate): adds automation status to version card properly

* feat(fe2/automate): linting & adds id back to func name for refs

* fix(fe2): linting errs/fe2 tests

* fix(fe2): types

* fix(fe2): types...
2023-10-24 14:26:20 +01:00
Kristaps Fabians Geikins 60a096d3db fix: making Edit Branch respond to errors correctly 2023-10-18 14:55:31 +03:00
Kristaps Fabians Geikins a0e1f6f14d fix: added support for backwards slashes in branch names 2023-10-18 14:46:22 +03:00
Kristaps Fabians Geikins d8640bbdc9 feat(ui-components): tags input component (#1810)
* FormSelectBase converted to generic Vue component

* WIP tags w/ custom input box

* a11y works

* proper tags wrapping

* errors/validation/icon styling

* styling fixes

* autocomplete item resolution

* feat: configurable tags input

* various fixes

* moved avatar components to ui-components

* replaced avatar in frontend-2 w/ new ui-components exports

* new icon loader

* added validation support for avatar editor

* updated fe-2 to use new avatar editor api

* disabled support for avatar editor

* more fixes and improvements

* attempted preview-service fix

* attempted preview-service fix

* added story

* linting fix

* more fixes

* server test fix
2023-10-16 14:10:41 +03:00
Gergő Jedlicska 42eb66c75c Rework automation results (#1816)
* WIP: rework results

* fix: preview service build dependency version
2023-10-10 21:56:58 +02:00
andrewwallacespeckle 6052be26df Allow files with uppercase file formats. Maintain casing from point of upload. (#1812) 2023-10-06 14:47:32 +02:00
Kristaps Fabians Geikins a3c4778a09 feat(server): disable mixpanel in test/dev envs 2023-09-27 10:57:31 +03:00
andrewwallacespeckle 0045c353c6 Feature: FE2 - Project Webhooks Page (#1792)
* Layout Pages

* Add Multi Select with Badges

* Add MultiBadge

* Add prevent close on click outside

* Fix import issue

* Import Table

* Add Classnames to buttons

* Add Switch Component

* Update for webhooks

* skip precommit hooks

* Remove Infinite Load. Update Types

* Create Webhook Dialog

* Tidy Ups

* Edit Webhook dialog

* WIP Breadcurmbs

* Changes from calls with Fabians

* Breadcrumbs

* Reorders

* Fix Create Dialog

* Rename MultiBadge to BadgeSelected

* Fix and update Story file for Table

* Adjust Padding for Buttons in Table

* Add extra story, adjust padding for no buttons

* Fix bug with Edit Select

* fixed Webhook sorting + added Webhook.hasSecret and Webhook.projectId

* fixed hydration mismatch

* Changes from PR feedback

* Validation Rule for Select

* Reset Dialogs on Cancel. Conditionally render headers in Table

* stricter webhook gql types

* stricter webhook gql types

* Fix initial dialogs

* Quick Fixes

* Add projectWebhooksRoute

* Remove TableItemType

* Fixes from PR

* Fix broken Query

* Fixes from PR

* Fix based on PR

* Fix from PR

* Changes to index

* Fix in index

* Updates to Validation and Table

* Add "by" prop to FormSelectBadges and renamed component

* Use defineModel for Switch

* Revert "Use defineModel for Switch"

This reverts commit 6bc9e07a767cdc64f06c03b028150915e013ed4f.

* Replace breadcrumbs with projectWebhooksRoute

* Rename FormValues to WebhookFormValues

* Add target blank and simplify trigger mapping

* Fix casing of webhookFormValues

* Change webhookModel to prevent props mutation

* Remove unnecessary typecast

* Webhook deletion now uses fieldNameWhitelist.

* Use convertThrowIntoFetchResult and getFirstErrorMessage in Create

* Use defineModel for handling open state of Dialogs

* Optimise Switch component with defineModel

* Merge Create and Edit Dialogs

* Fix issue with Status Icons

* Remove console log

* WIP Merge of Edit and Create

* Add optional placeholder to SelectBase. Update Events placeholder.

* Add secret to Create webhook dialog

* Update Watch

* Rename Dialogs. Fix active select items

* Fix Select active items

* Simplify triggers, add secret to create call

* Remove $webhooksId: String

* fix: stale form state across edit/create webhook dialog sessions

* Fix from PR

* Swap t.text for t.id

* Use enum for historyStatus

* Use consistent story formatting

* More consistent create/edit mutations

* fix be linting errors

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2023-09-26 15:41:29 +02:00
Kristaps Fabians Geikins 9423d2f827 fix(server): automate FKs disallowing project deletion (#1797) 2023-09-20 16:29:32 +03:00
Kristaps Fabians Geikins eb441d7f4f feat(fe2): automations status subscriptions (#1793)
* fe subscriptions working

* minor adjustment
2023-09-18 15:03:42 +03:00
Kristaps Fabians Geikins 79d293e178 fix: preparing automation backend for use in FE (#1790)
* fix: preparing automation backend for use in FE

* minor migration adjustment

* modelId only

* more CR fixes

* improved validation

* WIP model automation status (#1791)

* additional run status insert validations

* model card dialog

* show view automation btn

* story mock fixes

* version card dialog

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2023-09-18 11:49:11 +03:00