Commit Graph

114 Commits

Author SHA1 Message Date
Kristaps Fabians Geikins a42ee35c09 fix(server): self-cleaning sub dataloaders + Comment.data type change 2023-05-22 21:00:27 +03:00
Kristaps Fabians Geikins bde4c36be3 adding profiling utils 2023-05-22 17:12:36 +03:00
Kristaps Fabians Geikins 2eb5f51af3 feat: dui3 package (#1585) 2023-05-19 16:57:28 +03:00
Kristaps Fabians Geikins 7d3be1d131 feat: tailwind theme & Vue base components extracted to own NPM packages (#1576) 2023-05-16 13:43:04 +03:00
Iain Sproat b1cbd05683 feat(circleci): adds a new step to ensure Helm Chart documentation is kept in line with Helm Chart (#1574)
* fix(helm): update documentation to match helm chart
* fix(helm): update documentation should not update README in helm repository
* fix(helm): should ensure output schema conforms to prettier requirements
* feat(pre-commit): update helm documentation as part of pre-commit
* feat(circleci): update Helm README when publishing new Helm chart
* fix(pre-commit): need to npm install before using readme generator
2023-05-12 13:26:28 +01:00
Kristaps Fabians Geikins b02a07e2b6 feat: Frontend 2.0 MVP 2023-05-08 10:47:01 +03:00
Iain Sproat 4eab7d9dcd chore(deps): bump node to 18.16.0 (#1564) 2023-05-05 12:43:39 +01:00
Iain Sproat 87e8d08e64 chore(deps): bump node to 18.15.0 (#1446) 2023-03-10 11:01:30 +00:00
Iain Sproat d8b7123ed0 chore(deps): bump node from 18.14.0 to 18.14.2 (#1426) 2023-03-01 12:16:55 +00:00
Iain Sproat a6fba9ebd3 chore(node): bump node version to 18.14.0 (#1365) 2023-02-10 11:44:44 +00:00
Iain Sproat ee50b32b59 chore(node): upgrades to node 18 (#1189)
* chore(node): upgrades to node 18

Node 16 was out of support (but not security upgrades), so bumping to next stable version.

https://github.com/specklesystems/speckle-server/issues/1187

* Update server liveness and readiness probes for node 18
* Bump web-ifc to 0.0.36
* Apply `--no-experimental-fetch` flag to fileimport-service to prevent issues in web-ifc (via emscripten) with node 18
2022-12-06 12:57:48 +00:00
Iain Sproat 4d01e13a84 feat(structured logging) (#1242)
* Revert "Revert structured logging 2 (#1240)"
This reverts commit 78ecaeffcb.
* Logging should not be bundled into core shared directory
* making sure observability stuff isnt bundled into frontend


Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2022-12-06 11:51:18 +00:00
Iain Sproat 78ecaeffcb Revert structured logging 2 (#1240)
* Revert "'@' shortcut must come after it is configured in bootstrap (#1239)"

This reverts commit 967329473f.

* Revert "Structured logging (attempt 2) (#1234)"

This reverts commit 444d2ca7dd.
2022-12-05 15:46:09 +00:00
Iain Sproat 444d2ca7dd Structured logging (attempt 2) (#1234)
* Revert "Revert "feat(structured logging): implements structured logging for backend (#1217)" (#1227)"

This reverts commit 63e6581162.

* Use pino-http instead of express pino logger
* Use correct reference to knex and do not instantiate HttpLogger prematurely
* Adds missing dependency for pino to webhook-service
* Do not instantiate middleware when passed to express
* Refactor to move logging into shared
* Copy shared packages into dockerfiles
* Build shared workspace in docker build-stage for fileimport & webhook
2022-12-05 14:49:52 +00:00
Iain Sproat 63e6581162 Revert "feat(structured logging): implements structured logging for backend (#1217)" (#1227)
This reverts commit 84cb74e8b3.
2022-11-25 16:57:28 +00:00
Iain Sproat 84cb74e8b3 feat(structured logging): implements structured logging for backend (#1217)
* each log line is a json object
* structured logging allows logs to be ingested by machines and the logs to be indexed and queried addresses #1105
* structured logging allows arbitrary properties to be appended to each log line, and ingestion of logs to remain robust
* Structured logging provided by `pino` library
* Add `express-pino-logger` dependency
* Remove `debug`, `morgan`, and `morgan-debug` and replace with structured logging
* `console.log` & `console.error` replaced with structured logging in backend
* Remove `DEBUG` environment variable and replace with `LOG_LEVEL`
- Note that there is a test which reads from a logged line on `stdout`. This is not robust, it would be better to use the childProcess.pid to look up the port number.
* Log errors at points we explicitly send error to Sentry
* Amend indentation of a couple of log messages to align indentation with others
2022-11-25 16:05:05 +00:00
Iain Sproat b2ca83efc5 fix(package.json): upgrades commitizen to ^4.2.5 (#1139)
Upgrades directly referenced commitizen to ^4.2.5, which includes version 1.2.6 of minimist

https://github.com/specklesystems/admin/issues/358
2022-10-25 11:33:15 +01:00
Kristaps Fabians Geikins 55c736118b feat(frontend): share buttons directly on commit cards + batch commit actions UX improvements (#1122)
* feat(frontend): help message for disabled checkboxes on commit cards

* refactor: share-stream-dialog cleanup

* refactor: further share-stream-dialog prep for more usages

* feat(server): sharing directly from commit grid cards

* feat(server): sharing directly from commit list cards

* refactor: removing unnecessary dev tests
2022-10-25 13:16:33 +03:00
Kristaps Fabians Geikins 5f48ae8086 feat(server): optimized command for importing commits from other servers (#1113) 2022-10-17 10:32:01 +03:00
Kristaps Fabians Geikins 0a58381174 feat: @speckle/shared & some comments fixes (#997) 2022-10-10 16:32:23 +03:00
Kristaps Fabians Geikins db6a3e9367 refactor(server): apollo server v2 -> v3 migration (#1071) 2022-10-06 11:12:16 +03:00
Kristaps Fabians Geikins 2fef8b7de3 refactor(frontend): vue cli v4 -> vite (#1000) 2022-10-05 15:59:11 +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
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 651dee0977 feat(server): stream discoverability flag & queries (#948) 2022-08-24 13:46:24 +03:00
Iain Sproat 49fdd818ce docs(helm chart): values.yaml is documented and json.schema provided (#932)
* docs(helm chart): values.yaml is documented and json.schema provided

Helm Chart values.yaml file is documented with inline comments.  These have been used to generate a
README (in the helm repo) and a values.json.schema file.

fixes https://github.com/specklesystems/speckle-server/issues/887
fixes https://github.com/specklesystems/speckle-server/issues/867
2022-08-16 14:41:34 +01:00
Gergő Jedlicska 5535197a48 gergo/pre commit (#906)
* Adds hadolint as pre-commit

* Addresses all hadolint comments

* Hadolint docker works when entrypoint explicitly provided

* Use noninteractive apt-get frontend and clean after install

* build(circleci): filters for pre-commit should be same as for test-server

* remove cache prefix as not currently necessary due to pre-commit-config.yaml changing

* build(circleci): enable remote docker for pre-commit

* build(circleci): use speckle pre-commit runner with built-in hadolint

* build(server): dockerfile RUN statements are consolidated

Each RUN statement in a Dockerfile creates a new layer.  Hadolint rule DL3059 suggests they should
be consolidated.

* build(server): dockerfile RUN statements are consolidated

Each RUN statement in a Dockerfile creates a new layer.  Hadolint rule DL3059 suggests they should
be consolidated.

* Improve husky bash script to catch errors

* Integrates pre-commit with husky

* pre-commit should now be run by husky on every commit
* pre-commit which requires additional installed dependencies is moved to separate file

* Update README for revised developer instructions

* Updates pre-commit yarn script

* refactor(pre-commit): make everyone happy with loosly integrating husky and pre-commit scripts

* chore(clean up pre-commit configs): clean some more pre-commit mess

* chore(pre-commit): run pre-commit in ci too

* fix(husky pre-commit): fix ci build husky invocation, the script is not commited to git

* fix(circleci config): install yarn packages for linting in pre-commit

* fix(pre-commit): fix shellcheck disable comment placement

* fix(pre-commit): add shellcheck ignore

* fix(pre-commit husyk): fix shellcheck ignore version

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2022-08-11 13:49:47 +02:00
Iain Sproat 1c5964fc41 Add Hadolint to pre-commit (#848)
* Adds hadolint as pre-commit step
* Addresses all hadolint comments
  * Use noninteractive apt-get frontend and clean after install
  * dockerfile RUN statements are consolidated to prevent additional layers
  * installed packages have pinned versions
* build(circleci): use speckle pre-commit runner with built-in hadolint
* Integrate pre-commit with husky bash script for git pre-commit hooks
  * catches errors in bash
  * if pre-commit is installed, it is run
  * if optional additional binaries are installed, further pre-commit steps are run
* Update README with revised developer instructions
* Adds a pre-commit yarn script
2022-08-09 13:47:02 +01:00
Iain Sproat 9c2959cf19 build(circleci): Run pre-commit within CircleCI (#890)
* Add CircleCI job to run pre-commit on every commit
  * Install pre-commit on cimg/python:node image
  * caches installed packages and pre-commit hooks
* build(circleci): validate circleci configurations via yarn
2022-08-05 10:51:31 +01: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
Kristaps Fabians Geikins b67adf87e7 feat(frontend): upgrade to vue 2.7 + demo of the composition API (#825) 2022-07-13 13:45:20 +03:00
Kristaps Fabians Geikins ae02bbe3a3 fix: fixing lint-staged/precommit-ci eslint configuration issues (#812) 2022-06-21 13:30:54 +03:00
Kristaps Fabians Geikins 827500c32b fix(frontend): embed viewer bugfixes & speed improvements (#804)
Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
2022-06-16 12:37:04 +03:00
Kristaps Fabians Geikins ff0836275c chore(frontend): fixing three.js imports & getting rid of some duplicate packages (#759) 2022-05-23 11:46:05 +02:00
Gergő Jedlicska 638969cd01 gergo/yarn (#753)
* 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

* chore(root workspace): update dev scripts and package lock

* ci(circleci): enable package publish step with yarn

Co-authored-by: Fabians <fabis94@live.com>
2022-05-19 19:53:07 +02:00
Kristaps Fabians Geikins 5fdd17b63b feat: husky for linting only staged code (#698) 2022-04-14 10:35:34 +03:00
Kristaps Fabians Geikins e8869e210c feat(frontend): build speed & chunk structure optimization (#690)
* feat(frontend): build speed & chunk structure optimization

* fix: attempting to work around precommit inconsistent eslint config

* chore(pre-commit config): ignore mocharc for eslint

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2022-04-13 10:21:24 +03:00
Fabians 084cf1585e chore: adding node version checks + migrating server lock back to new format 2022-04-07 13:05:25 +03:00
Fabians 4699e6794c reformatting again for 88 width 2022-04-04 19:21:28 +03:00
Fabians 5a008e12f2 added script for fixing all formatting issues 2022-03-29 16:55:08 +03:00
Fabians 04100d1b60 feat: added prettierignore file and fixed some issues prettier found in some files 2022-03-29 16:53:49 +03:00
Kristaps Fabians Geikins aeeb88340d feat: favoriting streams #620 (#633) 2022-03-29 16:30:49 +03:00
Kristaps Fabians Geikins b157a98901 feat(server): simplified test running & IDE integrations 2022-03-16 17:31:53 +02:00
Kristaps Fabians Geikins 8010bf3c4c feat: Standardized & cleaned up formatting & linting across repo #617 (#618)
* feat: Standardized & cleaned up formatting & linting across repo

Co-authored-by: Kristaps Fabians Geikins <fabians@speckle.systems>
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2022-03-16 10:10:30 +02:00
Gergő Jedlicska 3e5910dcb8 chore(lock files): fix lockfile versioning and some minor chores 2021-11-02 10:48:35 +01:00
Gergő Jedlicska 7d31a5c847 chore(commitizen config): git cz droped me to a text editor without starting cz session
explicitly configuring commitizen with cz changelog fixes the issue, also its not strictly necessary
to install cz globally this way
2021-09-07 17:02:35 +02:00
NGimbal 03466e056d dragging mostly works now 2021-02-03 13:04:04 -05:00
Dimitrie Stefanescu cd95c28939 refactor(global): restructures repo with lerna 2021-01-03 13:35:53 +02:00
Dimitrie Stefanescu dab12e52d3 chore(server): updated dependencies 2020-12-22 22:22:29 +02:00