16331 Commits

Author SHA1 Message Date
34c0e5166f
fix(backend): fix statistics and introduce new values (#8550)
* fix statistics and introduce new values

* fix locales
b3.6.0-1168
2025-05-12 17:51:15 +00:00
Max
4489ae1a89
Fix typo in german translation (#8548) b3.6.0-1167 2025-05-12 11:52:12 +00:00
995afaaab5
feat(webapp): default language configurable (#8546)
* make the default and fallback language configurable

* fixes

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
b3.6.0-1166
2025-05-12 11:22:31 +00:00
Moriz Wahl
470ea3f23e
fix(webapp): query categories on login to get the count (#8542)
* fix(webapp): queru categories to get the count

* padd the weapper to fill in
b3.6.0-1165
2025-05-12 12:53:22 +02:00
92edde02d8
v3.6.0 (#8541) b3.6.0-1164 3.6.0 2025-05-10 11:05:38 +00:00
Max
be0a5c555e
Show invititation dropdown until user clicks somewhere else (#8539) b3.5.3-1163 2025-05-10 10:38:33 +00:00
Moriz Wahl
d4a9694657
feat(webapp): redirect to group after registration with invite to group (#8540) b3.5.3-1162 2025-05-10 10:10:55 +00:00
Max
4e4eff8dc9
fix(webapp): fix layout break and hidden group name appearance (#8538)
Fixes long comment overflow.
There is some underlying problem with flex box and overflows. A better solution could be to use a grid, but this was the fastest I would come up with.

Fixes hidden group name appearance
b3.5.3-1161
2025-05-10 09:22:51 +00:00
Max
ce1844e521
feat(webapp): several group and personal invitation links (#8504)
* invite codes refactor

typo

* lint fixes

* remove duplicate initeCodes on User

* fix typo

* clean permissionMiddleware

* dummy permissions

* separate validateInviteCode call

* permissions group & user

* test validateInviteCode + adjustments

* more validateInviteCode fixes

* missing test

* generatePersonalInviteCode

* generateGroupInviteCode

* old tests

* lint fixes

* more lint fixes

* fix validateInviteCode

* fix redeemInviteCode, fix signup

* fix all tests

* fix lint

* uniform types in config

* test & fix invalidateInviteCode

* cleanup test

* fix & test redeemInviteCode

* permissions

* fix Group->inviteCodes

* more cleanup

* improve tests

* fix code generation

* cleanup

* order inviteCodes result on User and Group

* lint

* test max invite codes + fix

* better description of collision

* tests: properly define group ids

* reused old group query

* reuse old Groupmembers query

* remove duplicate skip

* update comment

* fix uniqueInviteCode

* fix test

* fix lint

* Get invite codes

* Show invitation data in registration

* Add invitation list to menu (WIP)

* Add mutations, add CreateInvitation, some fixes

* Improve style, fix long comments

* Lock scrolling when popover is open, but prevent layout change

* small fixes

* instant updates

* Introduce config for link limit; add texts, layout changes

* Validate comment length

* Improve layout

* Add message to copied link

* Add invite link section to group settings

* Handle hidden groups

* Add menu entry for group invite links

* Fix locale

* hotfix invite codes

* Add copy messages

* More styling (WIP)

* Design update

* Don't forget user state

* Localize placeholder

* Add locale

* Instant updates for group invites

* fix registration with invite code

* Fix text overflow

* Fix instant updates

* Overhaul styles, add locales, add heading

* Add test and snapshot for CreateInvitation

* Improve accessability; add invitation test

* Add tests for InvitationList

* Fix locales

* Round plus button

* Fix tests

* Fix tests

* fix locales

* fix linting

* Don't show name of hidden group in invite message

* Add more tests

* Update webapp/locales/de.json

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>

* Update webapp/locales/de.json

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
b3.5.3-1160
2025-05-10 08:25:03 +00:00
Moriz Wahl
fcd1776f21
fix(backend): category seed (#8536)
* seed categories with given id
b3.5.3-1159
2025-05-10 09:59:50 +02:00
Moriz Wahl
ba9da00a7f
correct copy path in dockerfile (#8519) b3.5.3-1158 2025-05-10 07:08:39 +02:00
Moriz Wahl
da8af6ff42
feat(webapp): group invite after login (#8518) b3.5.3-1157 2025-05-09 19:19:07 +00:00
Moriz Wahl
9300fbd5fc
feat(webapp): redirect on registration for invite links (#8517)
* feat(webapp): redirect on registration for invite links
b3.5.3-1156
2025-05-09 17:57:27 +00:00
sebastian2357
ff366a4075
fix(webapp): mobile optimization (#8516)
* - optimized header
- added possibility of extra mobile logo

* - changed behavior of NotificationMenu link get directly open for mobile

* - moved notification links to the top of the menu

* - optimized chat view for mobile

* - added logo branding structure

* - added logo branding structure

* - fixed chat height

* - fixed paddings for internal pages

* Fix linting

* Fix linting

---------

Co-authored-by: Sebastian Stein <sebastian@codepassion.de>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
b3.5.3-1155
2025-05-09 17:04:06 +00:00
Moriz Wahl
ca5b1fa0b5
feat(docu): update email snapshots (#8514) b3.5.3-1154 2025-05-09 12:21:18 +00:00
Wolfgang Huß
b471a8f92b
fix(backend): fix user profile and group links in e-mails (#8512)
* Add e-mail .env settings

* Fix user profile and group links

* fix snapshots

---------

Co-authored-by: Moriz Wahl <moriz.wahl@gmx.de>
b3.5.3-1153
2025-05-09 11:51:21 +00:00
2278a9e311
fix(backend): fix registration with invite code (#8513)
* fix registration with invite code

* save one db call

* fix
b3.5.3-1152
2025-05-09 11:20:56 +00:00
ac79452ce6
fix locales errors (german) (#8510) b3.5.3-1151 2025-05-09 12:19:00 +02:00
989d5ff781
fix(backend): invite codes - hotfix 1 (#8508)
* hotfix invite codes

* fix tests & ensure correct behaviour
b3.5.3-1150
2025-05-08 22:57:55 +00:00
Moriz Wahl
fbec8288b2
refactor(backend): category seed (#8505)
* define ids and slugs in categories, check for existing ids, only seed the new ids

* seed categories respecting existing categories

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
b3.5.3-1149
2025-05-08 20:27:41 +00:00
3f4d648562
feat(backend): group invite codes (#8499)
* invite codes refactor

typo

* lint fixes

* remove duplicate initeCodes on User

* fix typo

* clean permissionMiddleware

* dummy permissions

* separate validateInviteCode call

* permissions group & user

* test validateInviteCode + adjustments

* more validateInviteCode fixes

* missing test

* generatePersonalInviteCode

* generateGroupInviteCode

* old tests

* lint fixes

* more lint fixes

* fix validateInviteCode

* fix redeemInviteCode, fix signup

* fix all tests

* fix lint

* uniform types in config

* test & fix invalidateInviteCode

* cleanup test

* fix & test redeemInviteCode

* permissions

* fix Group->inviteCodes

* more cleanup

* improve tests

* fix code generation

* cleanup

* order inviteCodes result on User and Group

* lint

* test max invite codes + fix

* better description of collision

* tests: properly define group ids

* reused old group query

* reuse old Groupmembers query

* remove duplicate skip

* update comment

* fix uniqueInviteCode

* fix test
b3.5.3-1148
2025-05-08 19:18:40 +00:00
Wolfgang Huß
e3864b1f9d
feat(webapp): change german to du and dich (#8507)
* Change 'Du' -> 'du'

* Change 'Dich' -> 'dich'

* Change backend e-mails 'Dich' -> 'dich'

* Change backend e-mails 'Du' -> 'du'

* Fix e-mail snapshots

* Revert "Auxiliary commit to revert individual files from eea84f60ba9c17d48a735632709a66452f0494e9"

This reverts commit d80994c3b8bff311422cb44aab1275c31286595a.

* Change backend e-mails 'Du' -> 'du', 'Dich' -> 'dich'

* Change webapp 'Dein<x>' -> 'dein<x>'

* Change backend 'Dein<x>' -> 'dein<x>'
b3.5.3-1147
2025-05-08 18:48:26 +02:00
Moriz Wahl
20d14f3a2f
chore(release): v3.5.3 (#8503)
* Release v3.5.3
b3.5.3-1146 3.5.3
2025-05-07 18:44:44 +00:00
Moriz Wahl
50bc62428e
fix(backend): correct email from (#8501) b3.5.2-1145 2025-05-07 19:42:39 +02:00
Robert Schäfer
290a176407
refactor(backend): types for global config (#8485)
* 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>
b3.5.2-1144
2025-05-07 15:57:35 +02:00
32026dacfc
fix warning in workflow for lower case as (#8494) b3.5.2-1143 2025-05-06 22:46:51 +00:00
5d348c2eaf
v3.5.2 (#8498) b3.5.2-1142 3.5.2 2025-05-06 11:44:58 +00:00
2b63df1930
fix emails2 (#8497) b3.5.1-1141 2025-05-06 11:18:34 +00:00
4960f2800b
v3.5.1 (#8496) b3.5.1-1140 3.5.1 2025-05-06 10:30:40 +00:00
5c5550092e
fix emails in production (#8493) b3.5.0-1139 2025-05-06 09:52:24 +00:00
b280b1f3f0
v3.5.0 (#8492) b3.5.0-1138 3.5.0 2025-05-06 05:28:51 +02:00
Max
33274e5b9a
feat(webapp): user teaser popover (#8450)
* calculate distance between current user and queried user

* fix query for unset location

* use database to calculate distance

* rename distance to distance to me, 100% calculation done in DB

* distanceToMe tests

* lint fixes

* remove comments

* Show user teaser popover with badges, Desktop

* Refactor UserTeaser and add mobile popover support

* Avoid click propagation (WIP)

* Prevent event propagation

* Adjust alignment and font sizes

* More spacing for statistics

* Add distance, simplify user link

* Refactor location info into own component

* Add tests for UserTeaserPopup

* Refactor and test LocationInfo

* Query distanceToMe, rename distance to distanceToMe

* Update test

* Improve tests for UserTeaser, WIP

* Fix tests

* DistanceToMe on User instead of Location

* Revert "DistanceToMe on User instead of Location"

This reverts commit 96c9db00a44cd120e47bfe9534d3e066a194744c.

* Fix notifications

* Refactor UserTeaser and fix location info

* Fix group member crash

* Show 0 distance

* Fit in popover on small screens

* Allow access to profile on desktop

* Revert backend changes

* Load user teaser popover data only when needed

* Fix type mismatch

* Refactor for clarity and accessibility

* Litte refactorings and improvements

* Fix popover test

* Adapt and fix tests

* Fix tests and bugs

* Add placeholder

* cypress: adapt user teaser locator to changes

* Remove delays and scrolling

* Disable popovers in notification list and fix layout

* Remove flickering

* Make overlay catch all pointer events on touch devices

* Re-add attribute for E2E test

* Fix test, return to mouseover

* fix snapshot

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
Co-authored-by: mahula <lenzmath@posteo.de>
b3.4.0-1137
2025-05-05 23:54:13 +00:00
Moriz Wahl
65f764f6d9
feat(backend): signup email localized (#8459)
* localized registration email

* localized email verification email

* localized reset password email
b3.4.0-1136
2025-05-05 20:44:14 +02:00
63dd215297
lint json (#8472)
revert providers path
b3.4.0-1135
2025-05-05 14:35:13 +02:00
mahula
30080a44c2
refactor(other): cypress: simplify cucumber preprocessor imports and some linting (#8489)
* cypress: a little linting

* cypress: import badeball preprocessor globally

* cypress: reintroduce accidentally removed semicolons

* cypress: set new e2e support file in config

* Revert "cypress: import badeball preprocessor globally"

This reverts commit 55fde3de2f9c355fe25bf9b49485b6bf64ca01cf.

* Revert "cypress: set new e2e support file in config"

This reverts commit 525cb5cf3766e402dadfd17f48e5b0f6c6ba1f9b.

* cypress: change preprocessor import to correct method in step definition file

* cypress: change preprocessor import to correct method in step definition files
b3.4.0-1134
2025-05-04 22:00:36 +02:00
b54e9773f4
fix backend node23 (#8488) b3.4.0-1133 2025-05-04 14:46:29 +02:00
mahula
5d5a5b17b8
refactor(workflow): parallelize e2e preparation (#8481)
* e2e preparation: separate image buildings

* e2e preparation: fix job naming

* e2e preparation: set required jobs in cleanup job

* e2e preparation: set restore keys

* e2e preparation: reduce cleanup job dependencies

* e2e preparation: remove primary cache key pattern

* Revert "e2e preparation: remove primary cache key pattern"

This reverts commit 9df95de90083cc296f38ae87b127f76ac4e59295.

* e2e preparation: split cache restore steps

* e2e preparation: set concrete archive paths

* e2e preparation: remove redundant step id

* e2e preparation: fix typo

* e2e preparation: fix typo

* e2e preparation: move env copying to cypress preaparation job

* e2e preparation: update cache cleaning job

* e2e preparation: refactor job and step naming

* e2e preparation: add repo checkout step to cache cleanup job

* e2e preparation: correct docker compose step

* e2e preparation: correct backend env copying

* e2e preparation: correct cypress cache restore key
b3.4.0-1132
2025-05-04 12:53:34 +02:00
Robert Schäfer
fac818a3e4
refactor(backend): types for context + slug (#8486)
Also these changes saw merge conflicts in #8463 so let's get them merged already.

Co-authored-by: mahula <lenzmath@posteo.de>
b3.4.0-1131
2025-05-04 07:44:31 +08: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>
b3.4.0-1130
2025-05-03 21:11:44 +02:00
4f05b852af
remove some dependabot groups & no alpine version to allow update (#8475)
Co-authored-by: mahula <lenzmath@posteo.de>
b3.4.0-1129
2025-05-03 11:51:22 +00:00
dependabot[bot]
43f4fd130e
build(deps-dev): bump the babel group with 3 updates (#8478)
Bumps the babel group with 3 updates: [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core), [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) and [@babel/register](https://github.com/babel/babel/tree/HEAD/packages/babel-register).


Updates `@babel/core` from 7.26.10 to 7.27.1
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.1/packages/babel-core)

Updates `@babel/preset-env` from 7.26.9 to 7.27.1
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.1/packages/babel-preset-env)

Updates `@babel/register` from 7.25.9 to 7.27.1
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.1/packages/babel-register)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-version: 7.27.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: babel
- dependency-name: "@babel/preset-env"
  dependency-version: 7.27.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: babel
- dependency-name: "@babel/register"
  dependency-version: 7.27.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: babel
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b3.4.0-1128
2025-05-03 11:08:28 +00:00
dependabot[bot]
83b7e09bb6
build(deps-dev): bump @types/node from 22.15.2 to 22.15.3 in /backend (#8479)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.15.2 to 22.15.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 22.15.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b3.4.0-1127
2025-05-03 10:19:46 +00: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
b3.4.0-1126
2025-05-03 09:43:08 +00:00
dependabot[bot]
913cc2f06d
build(deps): bump amannn/action-semantic-pull-request (#8480)
Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 04501d43b574e4c1d23c629ffe4dcec27acfdeff to 335288255954904a41ddda8947c8f2c844b8bfeb.
- [Release notes](https://github.com/amannn/action-semantic-pull-request/releases)
- [Changelog](https://github.com/amannn/action-semantic-pull-request/blob/main/CHANGELOG.md)
- [Commits](04501d43b5...3352882559)

---
updated-dependencies:
- dependency-name: amannn/action-semantic-pull-request
  dependency-version: 335288255954904a41ddda8947c8f2c844b8bfeb
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b3.4.0-1125
2025-05-03 09:44:29 +02:00
dependabot[bot]
fb09076f0f
build(deps-dev): bump eslint-plugin-prettier in /webapp (#8332)
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.2.3 to 5.2.6.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.2.3...v5.2.6)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.2.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b3.4.0-1124
2025-05-03 03:00:59 +02:00
68edc47f65
remove all helpers on src/helpers (#8469)
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
b3.4.0-1123
2025-05-02 13:57:37 +00:00
edce234745
move models into database folder (#8471)
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
b3.4.0-1122
2025-05-02 11:34:43 +00:00
a38d24a803
also lint cjs files (#8467)
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
b3.4.0-1121
2025-05-02 10:39:10 +00:00
1536a32b3a
refactor(backend): refactor badges (#8465)
* new badge descriptions

* new user verification color

* new svgs for elevated roles

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
b3.4.0-1120
2025-05-02 09:59:18 +00:00
839ffb29ee
refactor(backend): move resolvers into graphql folder (#8470)
* move resolvers into graphql folder

* lint fixes
b3.4.0-1119
2025-05-02 07:47:39 +00:00