Commit Graph

397 Commits

Author SHA1 Message Date
Peter Grainger 72d27b9a7c Allow save object to S3 in different region (#910)
* Allow save object to S3 in different region

* feat(helm & docker-compose): adds S3_REGION to helm chart & docker-compose

Explicitly adding the environment variable to deployment configuration files provides system operators with documentation of its existence.

Set to empty by default, which will result in the default value being used.

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2022-08-15 14:24:30 +02:00
Kristaps Fabians Geikins 0427f5cfd1 feat(server): new base email template + implementation for invites emails (#903)
Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
2022-08-11 11:00:01 +03:00
Kristaps Fabians Geikins b966f20fdb refactor(server): typescript support (#874)
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2022-08-04 14:21:39 +02:00
Kristaps Fabians Geikins fec9b5345c fix(frontend): timeline items duplicating after going to stream page and back (#842) 2022-07-29 14:08:44 +03:00
Iain Sproat 90847e422d Feat: configurable file limits (#835)
* Feat: configurable file limits

* ci(circleci): container build speed imporvements

* feat(frontend nginx): add file size limit configurability to frontend nginx

* feat(server blobstorage): use the new file size limit customization value

* feat(helm chart): implement the file size configuration in the helm chart

* fix(frontend docker): fix entrypoint script

* fix(server blobstorage): fix env var parsing NaN

* feat(fileimport-service): add customizable import timeout

* feat(helm chart): add fileimport service timeout value to helm chart

* feat(blobstorage): add server side blob storage size limits

* feat(docker-compose): add blob size limit env var to  docker-compose files

* refactor(frontend file uploads): refactor file uploads to use `useQuery`

* refactor(server env helper): move env helper to shared module

* refactor(blobstorage): use env helper for file size limit

* refactor(frontend file uploads): use generated query document

* fix(server blob sotrage): fix file size limit function call

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2022-07-29 12:00:29 +02:00
Kristaps Fabians Geikins b55f12d6bc feat: apollo client v3 + vue apollo v4 (#831) 2022-07-25 12:24:59 +03:00
Kristaps Fabians Geikins 3ff772e342 fix: various server invites related improvements & fixes (#837)
* moving to invite token field, fixing comments & activity bugs I found, adding role prop to stream invite creation
* more fixes
* more tests
2022-07-25 11:02:22 +03:00
Kristaps Fabians Geikins 86c63c29db feat: adding extra apollo studio env vars to helm chart (#830)
* feat: adding extra apollo studio env vars to helm chart

* made apollo read version from SPECKLE_SERVER_VERSION

* moved from graph_ref to graph_id

* changing up some values
2022-07-19 16:36:16 +02:00
Kristaps Fabians Geikins da9224a069 feat: server & stream invites rework
feat: server & stream invites rework

Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-07-19 13:01:19 +03:00
Dimitrie Stefanescu 581c9b8cd9 Merge pull request #819 from specklesystems/801-comment-attachments
Minor fixes
2022-07-06 18:18:07 +01:00
Dimitrie Stefanescu b28d0d1465 feat(frontend): attachment previews for public streams for public people 2022-07-05 09:44:30 +01:00
Gergő Jedlicska c894f40f83 minor updates (#817)
* feat(server): add server authz pipeline rework first sketch

* feat(server authz): add new server authz middleware poc implementation

* test(server authz): add unittests for the new server authz workflow

* feat(wip rework of fileuploads vs blob storage): add basim impl of separate blob storage service

* feat(fileimport service): refactored file import service to utilize the new asssetstorage service

* refactor(server errors): refactor server errors to use the shared module definitions

Now all the errors inherit from BaseError

* refactor(fileimport service): cleanup after refactor

* feat(frontend fileimports): use the new blob storage for downloading the original file

* refactor(server fileimports): clean up the remnants of S3 storage from file imports

* refactor(server authz): centralize generic authz pipeline configs

* refactor(server blob storage): refactor / rename everything to use the `blob-storage` name

* ci(circleci): add s3 objectstorage environment variables

* ci(circleci): fix missing env variables

* ci(circleci): add minio test container

* ci(circleci): fix minio app startup

* ci(circleci): enable circleci remote docker

* ci(circleci): fix minio startup

* ci(cirleci): detach and wait properly for minio to start

* ci(circleci): revert to additional minio img config, it only fails when the container is stopped ?!

* ci(circleci): disable file uploads

* fix(fileimports): update with blob storage refactor leftovers

* feat(server blob storage): add blob storage graphql api

* refactor(server errors): merge new errors to shared module

* fix(server comments rte): fix import for RTE error

* chore(fileimports): remove node-fetch from dependency

* chore(server): remove body parser dependency

* fix(server blob storage): fix gql api

* fix(frontend): fix fileupload item not loading the new upload status, cause of premature event fire

* feat(server blob storage): fix file size limit and allow for public streams

* Update packages/server/modules/blobstorage/graph/schemas/blobstorage.graphql

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>

* chore(blobstorage): fix PR review issues

* fix(server): fix import bugs

* test(server): blob storage first test

* test(server blob services): add tests for blob storage services

* test(server blob storage): add service and rest api tests

* test(server blob storage): add server blob storage graphql api tests

* feat(server blob storage): store and make available blob fileHash attribute

* feat(server authz): add fatal failure option to server authz pipeline

* test(server authz): add optional stream context checks with tests

* feat(monitor deployment): add shutdown signal handling to monitor deployment container

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2022-07-04 19:29:45 +02:00
Fabians 5aaff8d3a2 fixing broken attachments resolver 2022-06-28 15:30:29 +03:00
Fabians a10c49e731 feat: stream comment attachments 2022-06-28 15:26:38 +03:00
Gergő Jedlicska a54fa8c28f Test blob storage (#814)
* feat(server): add server authz pipeline rework first sketch

* feat(server authz): add new server authz middleware poc implementation

* test(server authz): add unittests for the new server authz workflow

* feat(wip rework of fileuploads vs blob storage): add basim impl of separate blob storage service

* feat(fileimport service): refactored file import service to utilize the new asssetstorage service

* refactor(server errors): refactor server errors to use the shared module definitions

Now all the errors inherit from BaseError

* refactor(fileimport service): cleanup after refactor

* feat(frontend fileimports): use the new blob storage for downloading the original file

* refactor(server fileimports): clean up the remnants of S3 storage from file imports

* refactor(server authz): centralize generic authz pipeline configs

* refactor(server blob storage): refactor / rename everything to use the `blob-storage` name

* ci(circleci): add s3 objectstorage environment variables

* ci(circleci): fix missing env variables

* ci(circleci): add minio test container

* ci(circleci): fix minio app startup

* ci(circleci): enable circleci remote docker

* ci(circleci): fix minio startup

* ci(cirleci): detach and wait properly for minio to start

* ci(circleci): revert to additional minio img config, it only fails when the container is stopped ?!

* ci(circleci): disable file uploads

* fix(fileimports): update with blob storage refactor leftovers

* feat(server blob storage): add blob storage graphql api

* refactor(server errors): merge new errors to shared module

* fix(server comments rte): fix import for RTE error

* chore(fileimports): remove node-fetch from dependency

* chore(server): remove body parser dependency

* fix(server blob storage): fix gql api

* fix(frontend): fix fileupload item not loading the new upload status, cause of premature event fire

* feat(server blob storage): fix file size limit and allow for public streams

* Update packages/server/modules/blobstorage/graph/schemas/blobstorage.graphql

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>

* chore(blobstorage): fix PR review issues

* fix(server): fix import bugs

* test(server): blob storage first test

* test(server blob services): add tests for blob storage services

* test(server blob storage): add service and rest api tests

* test(server blob storage): add server blob storage graphql api tests

* feat(server blob storage): store and make available blob fileHash attribute

* feat(server authz): add fatal failure option to server authz pipeline

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2022-06-23 16:35:42 +02:00
Dimitrie Stefanescu 75b922fadb fix(tests): updates commit update test 2022-06-20 11:15:39 +01:00
Dimitrie Stefanescu f2a8c78219 fix(frontend): ensures commit edit shows up for stream owners too 2022-06-20 10:46:40 +01:00
Dimitrie Stefanescu f6cb75e1d8 fix(frontend): various papercuts
- properly refreshes branches when new one is created
- no longer edits the prop on commit edit
- increases toast timeout to 10s
- allows for stream owner commit editing
2022-06-20 10:32:13 +01:00
Gergő Jedlicska ed458fb619 Add blob storage backend (#802)
* feat(server): add server authz pipeline rework first sketch

* feat(server authz): add new server authz middleware poc implementation

* test(server authz): add unittests for the new server authz workflow

* feat(wip rework of fileuploads vs blob storage): add basim impl of separate blob storage service

* feat(fileimport service): refactored file import service to utilize the new asssetstorage service

* refactor(server errors): refactor server errors to use the shared module definitions

Now all the errors inherit from BaseError

* refactor(fileimport service): cleanup after refactor

* feat(frontend fileimports): use the new blob storage for downloading the original file

* refactor(server fileimports): clean up the remnants of S3 storage from file imports

* refactor(server authz): centralize generic authz pipeline configs

* refactor(server blob storage): refactor / rename everything to use the `blob-storage` name

* ci(circleci): add s3 objectstorage environment variables

* ci(circleci): fix missing env variables

* ci(circleci): add minio test container

* ci(circleci): fix minio app startup

* ci(circleci): enable circleci remote docker

* ci(circleci): fix minio startup

* ci(cirleci): detach and wait properly for minio to start

* ci(circleci): revert to additional minio img config, it only fails when the container is stopped ?!

* ci(circleci): disable file uploads

* fix(fileimports): update with blob storage refactor leftovers

* feat(server blob storage): add blob storage graphql api

* refactor(server errors): merge new errors to shared module

* fix(server comments rte): fix import for RTE error

* chore(fileimports): remove node-fetch from dependency

* chore(server): remove body parser dependency

* fix(server blob storage): fix gql api

* fix(frontend): fix fileupload item not loading the new upload status, cause of premature event fire

* feat(server blob storage): fix file size limit and allow for public streams

* Update packages/server/modules/blobstorage/graph/schemas/blobstorage.graphql

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>

* chore(blobstorage): fix PR review issues

* fix(server): fix import bugs

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2022-06-16 11:31:03 +02:00
Kristaps Fabians Geikins 8d7f97b2cd feat(frontend): typescript support in frontend (#803) 2022-06-14 17:30:51 +03:00
Fabians 1b963ee44d feat: smart text editor & integration into stream comments 2022-06-10 16:46:57 +03:00
Dimitrie Stefanescu 5bdb4c46da feat(backend): allows moving commits to another branch 2022-06-07 19:55:17 +01:00
Dimitrie Stefanescu b7db929357 fix(backend): branch tests 2022-06-07 11:47:35 +01:00
Dimitrie Stefanescu b733bf5114 fix(frontend): closes #686
recursively fetches branches until "done" in stream side bar
2022-06-07 00:36:51 +01:00
Dimitrie Stefanescu 19749e0679 fix(frontend/backend): closes #740
adds triggers to webhook creation form in frontend, unifies naming in backend
2022-06-06 21:20:17 +01:00
Dimitrie Stefanescu 27d32bc9c2 fix(backend): closes #705 (adds be validation & tests) 2022-06-06 20:35:51 +01:00
Gergő Jedlicska 67cb97a262 gergo/testCommentsGQL (#775)
* yarn first go

* fix frontend build cache loader

* yarn workspaces built server Docker

* build(yarn): add workspaces plugin config

* chore(package defs): clean package*.json -s

* chore(gitignore): ignore yarn error log

* build(yarn): update yarn lock

* build(preview-service webpack): add extra resolved path to preview service webpack config

because of yarn package hoisting, there are no package level node_modules folder anymore.

* build(docker): update dockerignore with yarn specific configs

* build(docker): update Dockerfiles for yarn workspaces utilization

* ci(circleci): update server test job to yarn

* ci(circle): disable cache restore

* ci(circleci): trying the node orb yarn-run

* ci(circleci): yarn-run again

* ci(circleci): disable node orb

* ci(circleci): change base node image for tests

* ci(circleci): add yarn cache

* ci(circleci): remove node install step

* ci(circleci): add server specific cache archives

* ci(circleci): test build and publish

* ci(circleci): change npm auth method to suit yarn

* ci(circleci): trying new builder image

* ci(circleci): another base image, maybe this works

* ci(circleci): force a specific docker engine version

* ci(circleci): add yarn version plugin and its changes

* ci(circleci): cleanup and remove temp branch config

* chore(package defs): moving from npm run to yarn

* explicitly specifying webpack4 as a frontend dep

* chore(package defs): replace npm with yarn everywhere

* docs(root readme): update with some yarn specific docs

* test(server comments gql): add wip server comments gql tests

* test(server comments graphql): add missing test operations and generate a bunch of testcases

* test(server comments graphql api): fix all authz test cases for comments

* test(server comments service): fix comments service failing test

* fix(tests): do not look inside

Co-authored-by: Fabians <fabis94@live.com>
Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
2022-06-02 11:15:27 +02:00
Dimitrie Stefanescu 5b5084b87f Merge pull request #772 from specklesystems/dim/angle-previews
Angle previews improvements
2022-05-25 15:47:08 +01:00
Dimitrie Stefanescu 404eea12e9 fix(server): removes console.logs 2022-05-25 15:17:25 +01:00
Dimitrie Stefanescu 6a695eab56 Merge pull request #760 from specklesystems/dim/angle-previews
feat(frontend): animated preview images
2022-05-25 14:59:07 +01:00
Kristaps Fabians Geikins e5880e73f2 feat(backend): comment reply text xss fix (#761)
* feat(backend): comment reply text xss fix

* fix(root): pre-commit npx to yarn

* chore(server): added test
2022-05-23 17:44:28 +03:00
Dimitrie Stefanescu 174ce64004 feat(frontend): animated preview images
changes:
- preview service generates full 360 images now
- preview image component loads on hover
- preview image component backwards compat with non-360 image angles
- adds optional angle arguments in all preview routes & removes superflous route
2022-05-22 11:50:07 +01:00
Gergő Jedlicska 90b16b54b1 Merge pull request #756 from specklesystems/dim/public-comments
Adds Public Comments & Other Fixes
2022-05-17 15:52:52 +02:00
Dimitrie Stefanescu a124df7d8b feat(comments): adds activity
Co-authored-by: Jonathon Broughton <jonathon@stardotbmp.com>
2022-05-16 18:23:42 +01:00
Dimitrie Stefanescu d59a9c4028 fix(comments): moves migration into core module 2022-05-16 18:17:37 +01:00
Dimitrie Stefanescu eb941c3af2 feat(comments): reactions in mobile view + perms fix 2022-05-15 15:01:36 +01:00
Dimitrie Stefanescu 58f9f9d0e9 feat(comments): adds individual reply deletion 2022-05-14 00:01:12 +01:00
Dimitrie Stefanescu e2085d61b6 feat(comments): reworks perms on re allowing public comments 2022-05-13 22:18:06 +01:00
Dimitrie Stefanescu 0c6759911d feat(comments): adds setting for pub comments 2022-05-13 15:27:05 +01:00
Matteo Cominetti 0563296f6f feat(server): extends invite scope 2022-05-13 10:15:56 +01:00
Dimitrie Stefanescu 267df9cd51 Merge branch 'main' into dim/public-comments 2022-05-11 17:49:42 +01:00
Gergő Jedlicska d2166c3f38 Merge branch 'main' of github.com:specklesystems/speckle-server into defaultAppScopeHandling 2022-05-11 11:43:13 +02:00
Dimitrie Stefanescu 88be9dad60 fix(apps): selects all relevant fields in get all apps query (inc. trustByDefault) 2022-05-11 10:39:44 +01:00
Dimitrie Stefanescu 4bf130efe7 chore(app scope handling): adds logging 2022-05-11 10:30:38 +01:00
Gergő Jedlicska bd543ed38e refactor(server): completely remove app-root-path package 2022-05-03 15:36:18 +02:00
Gergő Jedlicska 43aa9965b1 test(server): fix gql subs test imports 2022-05-03 14:03:22 +02:00
Gergő Jedlicska 0ac118e05c (refactor) server for less app-root-path 2022-05-03 13:10:00 +02:00
Dimitrie Stefanescu 639ef2b5d1 feat(comments): scaffolding public comments 2022-05-03 11:18:42 +01:00
Gergő Jedlicska 6e62d97ed0 test(server default apps): test default app update borkage doesn't screw up the app data 2022-04-28 15:40:04 +02:00
Gergő Jedlicska a92028d47f refactor(server default apps): i dont like mutating input objects inside functions 2022-04-28 15:38:56 +02:00