2096 Commits

Author SHA1 Message Date
d6cb9b51c3
feat(backend): lint rules (#8339)
* eslint import

* eslint comments

* eslint security

* eslint import - rules

* eslint n

* eslint promise

* eslint no-catch-all

* eslint jest

* missing ignore

* disable import/unambiguous as conflicting
2025-04-07 10:53:44 +00:00
2eaaa7af39
feat(backend): chat notify via email (#8314)
* client

* backend

* tests

* also save awaySince timestamp

* remove console.log

* chat notification logic

* send notification mails for chat messages

* externalize online check, resolver resover first

* prevent email notifications for blocked users

comment

* respect user email notification settings

* properly handle null case for email destructuring

* tests

* corrected mail style

---------

Co-authored-by: mahula <lenzmath@posteo.de>
2025-04-07 12:23:36 +02:00
Moriz Wahl
0835057cc7
refactor(backend): comment on observed post notification (#8311)
* all users that observe a post are notified when the post is commented, except of the author of the comment, or users that blocked the commenter

* test to illustrate the behavior of notifications for observed posts
2025-04-04 19:16:50 +02:00
5462a5b4c1
fix(backend): typo in groups resolver (#8318)
* fix typo

* fixed all related typos in unittests and found another in groups

---------

Co-authored-by: mahula <lenzmath@posteo.de>
2025-04-03 22:01:10 +00:00
Moriz Wahl
72f469d823
migration adds OBSERVES relation between author and post (#8307) 2025-04-03 16:46:02 +00:00
Moriz Wahl
130da7509b
fix(backend): users observing post count (#8295)
* do not count users that are deleted or disbled
2025-04-03 16:03:53 +00:00
01027e42cc
feat(webapp): track online status (#8312)
* client

* backend

* tests

* also save awaySince timestamp

* remove console.log
2025-04-03 17:19:53 +02:00
Moriz Wahl
316c12bd35
provide information of the observing status of the post after creating a comment (#8310) 2025-03-31 20:41:39 +02:00
Moriz Wahl
538f409086
feat(backend): observe posts (#8292)
* After creating the post, the author of it automatically observes it to get notifications when there are interactions

* a user that comments a post, automatically observes that post to get notifications when there are more interactions on that post

* mutation that switches the state of the observation of a post on and off
2025-03-26 22:16:06 +01:00
Robert Schäfer
628b57aa29
feat(other): major improvement of deployment (#7925)
* feat(other): major improvement of deployment

Motivation
----------

Kubernetes:
* backend becomes a statefulset (exclusive volume mount)
  See: https://spacelift.io/blog/statefulset-vs-deployment
* implement neo4j backup with job

Docker:
* consistent targets across all dockerfiles
* remove redundant labels
* remove unnecessary build args
* remove obsolete networks
* remove development dependencies for production

Rebranding:
* add image tags for local tagging and pulling
* use Github's docker build workflows
* use Github container registry
* ONBUILD to simplify caller Dockerfiles
* docker compose for branding

Tooling:
* same node --version as in dockerfile

Docs:
* missing step in README.md

* refactor: remove submodules

It's better to keep them all in a separate repository

* improve kubernetes chart

* better image tag defaults
* split neo4j into its own chart (for re-use)
* use application defaults where possible

* optional resources for all pods

* remove obsolete key/value pair from secrets

* remove obsolete build argsand

and add labels for neo4j enterprise

* env vars for webapp

* allow to define redirect domains

Define a list of Domains that redirect to the domain of the project. The
idea is to provide the ability to redirect eg. www.domain.tld to
domain.tld

* remove maintenance part regarding database

* move backup job outside template folder

* name the ingress

* updated ingress

* handle empty case of middlewares

* try to default the ingress

* use quote

* restore todo-next-update

* fix docu check

* fix naming

* try using prod:migrate

* try using override config

* copy src folder

* try using base as image instead of build

* fix test build

* force build

* comment for the problem

* fix webapp tests (potentially)

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-02-28 18:22:23 +01:00
mahula
42e039f338 fix geodata in mapbox-related resolver test 2024-10-20 13:52:31 +02:00
mahula
368a05d867 adapt cheerio import to package update 2024-09-08 08:43:06 +02:00
Wolfgang Huß
0691b8eb79 Fix backend test which uses 'newlyCreatedNodesWithLocales' in file 'backend/src/schema/resolvers/users/location.spec.ts' 2024-08-29 13:48:21 +02:00
Wolfgang Huß
27777eedaa Fix backend tests 'valid event input with location name' 2024-08-29 13:42:40 +02:00
mahula
6cecd3662f adapt backend image faking due to deprecation warning 2024-04-29 17:48:41 +02:00
mahula
7b3ed63bc9 adapt backend image faking due to deprecation warning 2024-04-29 15:29:46 +02:00
mahula
01c8c2a57b adapt backend avatar faking due to deprecation warning 2024-04-29 14:50:20 +02:00
mahula
e2654de55d adapt name and random faking to updates faker api 2024-04-29 08:36:34 +02:00
mahula
7ef2c474b2 add package linkify-html to backend 2024-04-18 20:04:21 +02:00
mahula
b735824967
use dedicated linkifyjs packages according to package update 2024-04-18 19:01:05 +02:00
mahula
936ccf9877 due to changes in 9.0.0 use named import 2024-03-02 13:24:00 +01:00
Wolfgang Huß
6a87ed5cb4 Fix backend tests to new default group description length without HTML 2024-01-04 14:49:55 +01:00
Wolfgang Huß
9c1d6d7f1f Change group 'DESCRIPTION_WITHOUT_HTML_LENGTH_MIN = 3', was '50' 2024-01-04 11:48:21 +01:00
Moriz Wahl
ecf351988f fix(backend): expired jwt in unit test 2023-11-27 22:22:41 +01:00
Moriz Wahl
ed5149c41e raise backend unit test coverage, no promise all in notification spec 2023-11-02 19:16:41 +01:00
Moriz Wahl
437642a6e1 Merge branch 'master' into fix-event-date-format 2023-11-02 10:01:39 +01:00
Wolfgang Huß
64f276e56c Fix divers links etc. in diverse readmes 2023-10-26 19:04:51 +02:00
Moriz Wahl
fdf38af4e9 unit tests for ISO format of event dates 2023-10-26 16:49:15 +02:00
Moriz Wahl
44d6f31574 timezone offset in migration 1 hour, check event date string for ISO format 2023-10-26 16:40:41 +02:00
Moriz Wahl
fe3e5dc483 fix cypher statement 2023-10-17 15:35:38 +02:00
Moriz Wahl
fe416200fb migration to fix wrong event date times 2023-10-17 15:15:28 +02:00
Moriz Wahl
eedc93f7c5 fix cypher statement in unit test 2023-10-02 17:01:42 +02:00
Moriz Wahl
b1b26862a6 fix(backend): postType as array in searchPosts 2023-09-26 15:02:47 +02:00
Wolfgang Huß
b5ae101931 Fix post language detection
- In case no language is detected set default.
2023-09-11 12:43:02 +02:00
mahula
60d971233b add back language detector scraper to scraper file 2023-09-07 20:46:47 +02:00
1ab4009536
fix metascraper crash, remove metascraper-lang-detector 2023-09-05 23:10:25 +02:00
Wolfgang Huß
c6b1d663c1 Shorten code of DKIM config for Nodemailer to the solution used otherwise in code 2023-08-22 14:55:47 +02:00
Wolfgang Huß
cd206c238a Cleanup 2023-08-21 13:44:29 +02:00
Wolfgang Huß
28665bd175 Refine DKIM config for Nodemailer 2023-08-21 12:33:39 +02:00
Wolfgang Huß
be4d34228d Implement DKIM config for Nodemailer 2023-08-17 17:26:59 +02:00
fbd2b08737
Merge branch 'master' into fix-security-subscriptions 2023-07-20 17:11:20 +02:00
604e1d8465
subscription roomCountUpdated security fix 2023-07-20 13:44:23 +02:00
f7c381efd8
subscription chatMessageAdded security fix 2023-07-20 13:44:04 +02:00
1b8b356432
notification subscription 2023-07-20 13:41:59 +02:00
e2c23ad4a2
more lint fixes 2023-07-20 13:10:32 +02:00
Hannes Heine
ff9db84cba
Merge branch 'master' into chat-trim-message 2023-07-19 15:02:29 +02:00
0234244c09
Merge branch 'master' into 6590-chat-send-url 2023-07-19 14:21:49 +02:00
bc1015da8c
corrected field names to exclude, remove comment 2023-07-19 14:22:04 +02:00
4448ecd6fe
fix walk recursive & field definitions 2023-07-19 14:12:45 +02:00
256bcc2af7
do not filter chat message content with xss-middleware 2023-07-19 12:13:49 +02:00