Commit Graph

190 Commits

Author SHA1 Message Date
Kristaps Fabians Geikins 1351b6b82a feat(server): fixing double summary emails per week (#1054)
* feat(server task scheduler): sketch out core task scheduler implementation

* feat(server weekly activity digests): add function lock duration to the weekly digest execution

* feat(server scheduled tasks): add scheduled tasks type definition, db schema and migration

* feat(server scheduled tasks): add scheduled tasks repository

* feat(server task scheduler): add task scheduler service implementation

* chore(server deps): add mocha type definitions

* refactor(server scheduled tasks): refactor scheduled tasks migration

* refactor(server scheduled tasks): refactor scheduled task db schema and type definitions

* feat(server scheduled tasks): implement db side lock acquire

* refactor(server scheduled tasks): refactor task scheduler with lock on query mechanism

* test(server scheduled tasks): add tests for scheduled tasks implementation

* refactor(server weekly activity digests): refactor to new task scheduler implementation

* feat(server weekly activity digest): switch to a 1000 seconds trigger period for testing purposes

* fix(server task scheduler): fix not catching lock acquire function errors

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2022-10-04 16:11:01 +02:00
Kristaps Fabians Geikins c7e4c9981c fix(server): streamUpdatePermission wont allow adding new users to streams (#1032)
* fix(server): fixing streamUpdatePermissions allowing to add new users to stream

* fix(server): fixing tests to better test streamUpdatePermission
2022-09-26 16:40:17 +02:00
Kristaps Fabians Geikins 61a2caaae9 feat: batch commit actions improvements (list view support, batch delete in 'your commits')
* feat(frontend): batch commit action support in list view

* feat(frontend): batch delete in 'your commits' page

* fix(server): authorizeResolver isPublic check always failed

* fix(server): fixing tests
2022-09-26 13:16:44 +03:00
Kristaps Fabians Geikins 84c6ea68a2 fix(server): hopefully fixing some flaky tests (#1021) 2022-09-22 17:16:34 +03:00
Kristaps Fabians Geikins 05f11a26da feat: batch commit delete/move (#1016)
* feat: batch delete/move commits

* fix: ts linter issue
2022-09-22 16:49:18 +03:00
Kristaps Fabians Geikins 3da39a7b11 refactor(server): User.streams only returns discoverable streams for non-owners (#1002) 2022-09-22 12:21:06 +03:00
Gergő Jedlicska d1d5984e30 gergo/summaryEmails (#979)
* refactor(server emails): email transports module refactor to TypeScript

* refactor(docker-compose deps): move local email server to common dev compose file

* chore(server launch.json): add ts-node script running example

* chore(server deps): add nodemailer types package

* refactor(server activitystream): add strongly typed activity definitions

* feat(server activitystream): add activity repository

* feat(server info): add canonical url on the service level

* feat(server): add static file serving route to server core

* feat(server): add dependencies for periodical email digests

* feat(server activity stream): call the initialization step from the activity stream module

* feat(server activity digest): add WIP weekly email digest implementation

* feat(server digest email): smul upgrades and fixes to the email template and its contents

* just for Fabs to test

* chore(root package.json): remove deleted docker-compose references

* feat(frontend profile): add notification preferences panel

* feat(server digest emails): set prod ready cron tab and timespan

* refactor(server email digest): move templates into the email module

* refactor(server activity digests): refactor to use notifications infrastructure

* test(server activities): add tests and some refactor to activities and notification preferences

* refactor(notification preferences): fix minor issues

* test(server notification preferences test): fix describe nesting

* fix(server activities): add missing action types

* fix(server activities): fix errors after merging main

* test(server activity notifications): add test coverage for activity notifications service

* refactor(server activities): fixing tests and some cleanup

* feat(server cli): add summary notification command to cli

* chore(dev env db versions): upgrade local dev env versions

* chore(server deps): upgrade local dev db to pg 14

* fix(docker-compose): bind maildev to localhost

* process-scoped notifications test queues

* test(activity tests): add  sleep to fix flaky CI

* feat(activity digests): add demo date for digest trigger

* feat(activity digest): add UK timezone trigger date

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
Co-authored-by: Fabians <fabis94@live.com>
2022-09-09 12:46:57 +02:00
Kristaps Fabians Geikins f991504932 feat: stream access requests (#976) 2022-09-06 11:10:38 +03:00
Kristaps Fabians Geikins ecb9f825bb refactor: email verification flow & email template (#967) 2022-08-31 17:11:19 +03:00
Gergő Jedlicska 3150763ddc fix(server): put emails behind elevated privileges (#971) 2022-08-27 11:28:38 +02:00
Kristaps Fabians Geikins 651dee0977 feat(server): stream discoverability flag & queries (#948) 2022-08-24 13:46:24 +03:00
Kristaps Fabians Geikins 774176246e feat: pretty password reset email + bugfixes (#939) 2022-08-24 11:59:30 +03:00
Kristaps Fabians Geikins af45fc2742 feat(server): notify on comment mention + notifications API (#933) 2022-08-19 10:27:48 +03:00
Kristaps Fabians Geikins 7aa21e88bd chore: cleaning up suuid usages (#943) 2022-08-18 15:29:05 +03:00
Gergő Jedlicska 43596e4509 refactor(server authz): refactor authz module to TypeScript (#907)
* refactor(server authz): refactor authz module to TypeScript

* improved roles types

* Update packages/server/modules/shared/errors/base.ts

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

* refactor(server authz): fix PR comments

Co-authored-by: Fabians <fabis94@live.com>
2022-08-16 14:45:13 +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
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 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
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
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 27d32bc9c2 fix(backend): closes #705 (adds be validation & tests) 2022-06-06 20:35:51 +01:00
Dimitrie Stefanescu d59a9c4028 fix(comments): moves migration into core module 2022-05-16 18:17:37 +01:00
Dimitrie Stefanescu 0c6759911d feat(comments): adds setting for pub comments 2022-05-13 15:27:05 +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
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 2d03d8a632 refactor(scopes constants): add users:invite to Scopes constant 2022-04-25 11:53:32 +02:00
Cristian Balas 8aa7ed3b47 allow more objects in download requests (#704) 2022-04-19 13:57:56 +03:00
Cristian Balas add1888b42 Server: disable parallel multipart part uploads (#699) 2022-04-14 19:13:10 +03:00
Matteo Cominetti 8b7f539427 feat: removes matomo & changes some CI/CD settings (#670) 2022-04-06 15:58:05 +03:00
Gergő Jedlicska 0bb5ae5a02 ci(pre-commit): add pre-commit ci badge (#664)
* ci(pre-commit): add pre-commit ci badge

* ci(pre-commit ci): add eslint extra dependencies

* test(server test): remove to short timeout from rest tests

* ci(pre-commit ci): add eslint as dependenency

* ci(circle ci): remove linting from circle ci since its moved to pre-commit ci
2022-04-05 17:18:17 +03:00
Gergő Jedlicska 89d0d9e0ed style: fix eslint warnings 2022-04-04 22:32:34 +02:00
Fabians 4699e6794c reformatting again for 88 width 2022-04-04 19:21:28 +03:00
Fabians 1c7436e7ff extra prefer-const & object-shorthand 2022-04-04 19:00:24 +03:00
Gergő Jedlicska 1355ddab6f style(all): some extra formatting fixes 2022-04-01 09:40:47 +02:00