119 Commits

Author SHA1 Message Date
aaf3b34125
fix flaky tests (#8638) 2025-06-04 23:40:48 +02:00
Moriz Wahl
e4ae0dfe50
feat(backend): emails for notifications (#8435)
* email templates with pug for all possible notification emails

* more information in emails

* Individual email subjects to all notification emails

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
Co-authored-by: mahula <lenzmath@posteo.de>
2025-05-03 21:11:44 +02:00
c69cef47a1
refactor(backend): refactor context (#8434)
* type for neo4j and neode

* fix build

* remove flakyness

* wait for neode to install schema

* remove flakyness

* explain why we wait for a non-promise

* refactor context

missing change

missing change

* adjust test setup

proper cleanup after test

* lint fixes

* fix failing test to use new context
2025-05-03 09:43:08 +00:00
839ffb29ee
refactor(backend): move resolvers into graphql folder (#8470)
* move resolvers into graphql folder

* lint fixes
2025-05-02 07:47:39 +00:00
0873fc748c
feat(backend): lint - detect unused typescript disables (#8425)
* detect unused typescript disables

* fix lint errors

uuid-types

remove debug

fix config

* lint fixes
2025-04-25 14:31:49 +00:00
507179738a
refactor(backend): types for neo4j & neode (#8409)
* type for neo4j and neode

* fix build

* remove flakyness

* wait for neode to install schema

* remove flakyness

* explain why we wait for a non-promise
2025-04-25 08:04:58 +00:00
649491f7cb
fix(backend): fix notification emails with different name (#8419)
* fix diffent name notifications

We had emails sent with incorrect names.
This PR combines the query for the email with the user the notification
is sent to since the notification in database was correct.
The underlying problem is the unstable order in which the database can
return values. The results of the two queries were matched by id since
it was assumed that they always return the same order of elements.

lint fixes

fix typo

fix factory

fix tests

* fix tests accoridng to review

also test for the right amount of emails in every test
2025-04-24 00:58:53 +02:00
6f4d347f69
refactor(backend): separate queries (#8358)
* separate all queries into one file each

* fix merge error

* fix lint

---------

Co-authored-by: mahula <lenzmath@posteo.de>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-04-21 11:47:12 +00:00
5131752710
refactor(backend): lint @typescript-eslint/strict (#8408)
* lint @typescript-eslint/recommended

* lint @typescript-eslint/recommended-requiring-type-checking

fix type not detected locally due to wierd uuid typings

missing save

error not reported locally

* lint @typescript-eslint/strict

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-04-21 11:09:47 +00:00
b464a380ca
refactor(backend): lint @typescript-eslint/recommended-requiring-type-checking (#8407)
* lint @typescript-eslint/recommended

* lint @typescript-eslint/recommended-requiring-type-checking

fix type not detected locally due to wierd uuid typings

missing save

error not reported locally

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-04-21 10:32:44 +00:00
Moriz Wahl
89b0fa7a51
feat(backend): do not notify blocked or muted users (#8403)
* no more notifications of blocked or muted users in groups

* do not receive notifications on mentions or observed posts from muted users
2025-04-17 18:22:20 +00:00
Moriz Wahl
de4325cb50
feat(backend): only one email is sent although more notifications are triggered (#8400)
Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-04-17 19:55:53 +02:00
Moriz Wahl
aee46552d6
fix(backend): flaky notifications on mention in group unit test (#8404) 2025-04-17 16:43:53 +00:00
Moriz Wahl
727713ac1d
mentiioned users in posts and comments of groups (#8392) 2025-04-16 16:04:31 +00:00
Moriz Wahl
9440ad5cc3
feat(backend): no notification mails to users online (#8397) 2025-04-16 15:34:29 +00:00
2d8fe8a941
fix(backend): block/mute chat (#8364)
* no notification when blocked

* no notifications for muted users

* move tests from emssage to notification middleware

* fix test

* also dont update unreadRoomCount when user is muted

---------

Co-authored-by: mahula <lenzmath@posteo.de>
2025-04-15 10:38:48 +02:00
Max
caeff070b7
feat(webapp): add mute/unumute group to menu (#8335)
* basics to notify a user when a followed user posted

* do not notify following user on posts in groups

* followig user wrote post notification

* notify regular group members when a new post is posted in the group

* mute and unmute groups

* clean database at end

* locale for post in group notification

* post in group notification triggers correctly

* email settings for post in group

* Add mute/unumute group to menu (WIP)

* Add mute group functionality (WIP)

* Add locales; use mute/unmute mutations, cleanup tests

* Overhaul group content menu test

* Rename isMuted to isMutedByMe and add it to group query

* Add German and English locales

* Add spanish translations

* Add missing translation keys (with null values)

* Remove console statement

* Add snapshot

* Replace mount by render

* Mock Math.random(), add tests for mute/unmute

* Use container instead of baseElement for snapshots

* fix group slug tests

* undo wrong variable naming

* rename parameter to groupId of mute/unmute group mutation

* rename parameter to groupId of mute/unmute group mutation

* only non pending members have access to the comtext menu

---------

Co-authored-by: Moriz Wahl <moriz.wahl@gmx.de>
Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-04-11 23:10:42 +00:00
Moriz Wahl
7a44e1aa4e
test that there is no email sent when no notification (#8362) 2025-04-11 23:49:31 +02:00
Moriz Wahl
aedf8d93c7
feat(backend): notify posts in groups (#8346)
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-04-11 20:50:59 +00:00
Moriz Wahl
3734e2ef56
feat(backend): notify users when a followed user posted (#8313) 2025-04-11 17:56:11 +02:00
ab6fe37c3e
refactor(backend): new chat message notification email (#8357)
* new chat message notification email

- new mail features name in subject and text

* fix english version

* typo

* fix typos

* adjust tests
2025-04-10 16:38:51 +00:00
Max
1b07b06ca7
feat(webapp): notification settings frontend (#8320)
Implements detailed settings for email notifications.

Issues
relates 🚀 [Feature] Drei neue Interaktions-Benachrichtigungen #8280
2025-04-09 13:21:38 +00:00
f782032563
refactor(backend): lint - import/order (#8350)
* lint - import/no-relative-parent-imports

fix build error

* fix md

* lint import/order

enabled rule import/order and fixed impot order in each file
2025-04-09 09:44:48 +02:00
a4f391930c
lint - import/no-relative-parent-imports (#8349)
enable import/no-relative-parent-imports
2025-04-08 23:18:07 +02:00
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
mahula
368a05d867 adapt cheerio import to package update 2024-09-08 08:43:06 +02:00
f5c2fe7770
Merge branch 'master' into eslint-backend 2023-07-06 12:06:15 +02:00
373e915a14
make content optional parameter 2023-06-21 16:47:08 +02:00
ef7bc9283e
js -> ts rename 2023-06-21 16:43:29 +02:00
aaa033c6a3
lint fixes 2023-06-21 16:43:18 +02:00
Moriz Wahl
badaac8527 activate clean database again 2023-06-21 14:33:41 +02:00
Moriz Wahl
07d10c8e4c fix(backend): notifications 2023-06-21 14:29:56 +02:00
df139c9937
use list comprehension instead of filter(not supported anymore in 4.4) 2023-06-16 15:34:27 +02:00
23c2be3093
Merge branch 'master' into update-database 2023-06-16 15:02:58 +02:00
73d0cc4a1c
fix several tests to fit typescript requirements 2023-06-13 14:07:59 +02:00
ebddfa7df4
all files as .ts 2023-06-12 13:25:21 +02:00
Moriz Wahl
1d903798cd ensure that __typename of Post is a known value. labels(resource)[0] may return Article or Event in the case of Post 2023-06-08 16:01:27 +02:00
0c4b789da1
remove write rights where its not needed 2023-05-22 16:58:19 +02:00
Moriz Wahl
5f38c74d82 fix flaky test 2023-03-16 16:08:33 +01:00
Moriz Wahl
6adfac1c7b notify user when removed from group 2023-03-16 16:01:46 +01:00
Moriz Wahl
35f3da9984 notify user when role in group changed 2023-03-16 15:31:09 +01:00
Moriz Wahl
a25e6eb326 notify leave group 2023-03-16 15:09:19 +01:00
Moriz Wahl
997dff4dec add related user to notified model 2023-03-15 17:34:16 +01:00
Moriz Wahl
28952567b0 feat(backend): notifications for groups 2023-03-15 15:27:22 +01:00
elweyn
10a22487ef Withdrew helper/jest.js and replace it with graphql-tag 2023-02-23 09:06:41 +01:00
Moriz Wahl
7b3d530023 close neo4j driver at the end of each test suite 2023-02-13 15:31:58 +01:00
Wolfgang Huß
5cd1b95907 Fix templates 'variables' argument 2022-06-23 15:51:36 +02:00
Wolfgang Huß
ce5161f937 Test e-mail templates, remain files, first step 2021-11-18 08:53:31 +01:00