* seed more Yoga group members
* implement groupMembers pagination
* load limited amount of group members
* force show all members in group member list
* remove unused import
* - added virtual scrolling to ProfileList
* - fixed linter error
* load all when clicking the button
* seed 3000 users
* cleanup
* lint
* hide search when not all members are visible
* fix email factory
* - increased profileListVisibleCount to 6
---------
Co-authored-by: Sebastian Stein <sebastian@codepassion.de>
* feat(webapp): location on registration
* add location name to signup verification, allow location query
* location name can be prompted in regeistration
* default value null for locationName
* Prevent ds-select overflow
* Remove location name from label
* Add margin-bottom to location-select
* group location is not affected by REQUIRE_LOCATION, previous location is shown
* Update webapp/components/Registration/RegistrationSlideCreate.vue
Co-authored-by: Max <maxharz@gmail.com>
* Replace more '16px' by '$space-small' and remove class 'password-strength'
* Add class 'password-strength' again
* property for previous location
---------
Co-authored-by: Maximilian Harz <maxharz@gmail.com>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
* feat(backend): pin more than one post
* add postPinnedCount query, better names for env variable
* add store and mixin for pinned posts counts
* test pinned post store
* context menu for pin posts
* fix typos
* unpin posts is always possible
---------
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
* after authentification, query the categories if active and store them
* get categories from store
* use category store to get categories
* get categories from store
* mock store to have access to categories
* to get rid of the active categories config variable in the frontend, the Category query returns an empty array when categories are not active
* remove CATEGORIES_ACTIVE from .env
* should return string to avoid warnings in console
* replace all env calls for categories active by getter from store
* use categoriesActive getter
* ignore order of returned categories
* mixin to get the category infos from the store, to ensure, that the quey has been called
* fix misspelling
---------
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
* refactor(backend): types for global config
I saw merge conflicts in these files for #8463 so let's get some parts of this PR into `master` already.
I believe this fixes a small bug. They guard clause didn't ensure that all of REDIS_ configurations were set.
* remove old email mechanism
* refactor(backend: react to @ulfgebhardt's review
See: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8485#pullrequestreview-2813528327
* build(backend): optional commit
@ulfgebhardt this is how I tested the configurations. We don't need to include this commit but I wouldn't expect to send out real emails from a `docker-compose` setup.
---------
Co-authored-by: Moriz Wahl <moriz.wahl@gmx.de>
* 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>
* 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
* allow the rbanding to provide middlewares
lint fix
fix config
* whitelist instead o blacklist when to exclude middlewares
fix config whitelisting
* fix lint
* 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
* 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
Images now display properly and there is diffent images now
allow to provide url, urls msut be valid in seed
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
* 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>
* 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>
* 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>
* 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>
* backend: active SMTP pooling in Nodemailer configuration
* backend: add max SMTPconnections and messages to Nodemailer configuration
* move transport outside function to ensure pooling can work
---------
Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
* refactor user graphql
- remove isLoggedIn query
- currentUser query only for authenticated, currenUser always returns a
User
- currentUser query implementation uses neo4jgraphql with id parameter
- remove custom email field from user
- fix bug in frontend when there is no categories
* remove comment
* remove unused filter
* fix currentuser test
* fixedswitchUserRole mutation
* fix categories
* 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>
- Update plugin n to fix a deprecation warning
- Order n rules according to docu
- use n:recommended
- comment out all rules from recommened
- enable some rules
* 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