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
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
Gergő Jedlicska
8b386ff078
gergo/weeklyDigestProdConfig ( #1072 )
...
* 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
* feat(server weekly digest): switch weekly digest cron trigger to the prod ready value
2022-10-04 16:55:08 +02:00
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
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
ecb9f825bb
refactor: email verification flow & email template ( #967 )
2022-08-31 17:11:19 +03:00