5712 Commits

Author SHA1 Message Date
Moriz Wahl
8c30098ac3
fix(webapp): group categories (#8634) 2025-06-04 13:35:37 +02:00
dependabot[bot]
343c38cfbf
build(deps): bump validator from 13.15.0 to 13.15.15 in /webapp (#8622)
Bumps [validator](https://github.com/validatorjs/validator.js) from 13.15.0 to 13.15.15.
- [Release notes](https://github.com/validatorjs/validator.js/releases)
- [Changelog](https://github.com/validatorjs/validator.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/validatorjs/validator.js/compare/13.15.0...13.15.15)

---
updated-dependencies:
- dependency-name: validator
  dependency-version: 13.15.15
  dependency-type: direct:production
  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>
2025-06-03 17:54:45 +00:00
e87a33eb3f
feat(backend): push posts (#8609)
* push posts

push posts

* unpush posts

* fix comment query

* locales

* fix locales

* fix tests

* Update webapp/locales/de.json

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>

* Update webapp/locales/de.json

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>

* Update webapp/locales/de.json

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>

* fix unpushedSuccessfully english message

* remove paremeters from unpushPost

* rename pushPostToTop -> pushPost, tests

* update locales & tests webapp

* fix lint

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-06-03 17:57:21 +02:00
1f0b57db88
v3.8.1 (#8633) 2025-06-02 09:17:28 +00:00
2a7a9b6ff4
v3.8.0 (#8631) 2025-06-01 15:52:37 +00:00
16803e45e6
fix broken observe on post (#8610)
Due to missing tests & problematic refactoring, posts could no longer be
observed and the new observe state beeing indicated without reloading
the page.

This reverts parts of
https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8598 to
fix the problem
2025-05-31 10:44:29 +02:00
4b3a26d517
feat(webapp): shout comments (#8600)
* shout comments

* fix notifications

* Remove whitespace for empty category sections

* Overhaul post actions

* Adjust spacing

* Allow fine-grained size control for icons and circle buttons via css variables; adjust comments layout

* Adjust spacing

* Add test for ActionButton (WIP)

* Rename import

* Remove text and add count bubble

* Use filled icons to indicate active states

* Adjust sizes and orientation

* Remove unused properties, add test

* Fix ObserveButton test

* Fix ShoutButton test

* fix tests

* Adapt styles

* Adjust style for larger numbers

* Remove unused icon

* Fix test structure

* Remove unused class names

---------

Co-authored-by: Maximilian Harz <maxharz@gmail.com>
2025-05-31 00:13:15 +02:00
mahula
51564e5d9b
refactor(webapp): make group form's location select available as a separate component (#6245)
* WIP make location select a separate component

* trying ...

* fix update of geolocale from component

* clean up location select code

* refactor code

* refactor code

* clean up

* linting

* add first unit tests for location select

* reuse location setting component in user settings

* get it working

* fix unit test

* Update webapp/components/Select/LocationSelect.vue

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>

* Update webapp/components/Select/LocationSelect.spec.js

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>

* Update webapp/components/Select/LocationSelect.spec.js

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>

---------

Co-authored-by: Moriz Wahl <moriz.wahl@gmx.de>
Co-authored-by: ogerly <fridolin@tutanota.com>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-05-29 16:58:36 +00:00
Moriz Wahl
ba2e086b4b
feat(webapp): ask for real name (#8605)
* feat(webapp): ask for real name

* fix locales

* function to create name from given and surname

* mock env

* use x2004 to create name from given and surname
2025-05-28 18:41:10 +00:00
Moriz Wahl
fb2ef852a1
feat(backend): pin public group posts (#8606)
* 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

* feat(backend): pin public group posts

* allow posts in public groups to be pinned by admins

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-05-28 19:52:30 +02:00
Moriz Wahl
b736a2a2e3
feat(backend): pin more than one post (#8598)
* 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>
2025-05-28 19:12:27 +02:00
Moriz Wahl
903ce7071f
refactor(webapp): remove warnings in unit tests (#8556)
* refactor(webapp): remove warnings in unit tests
2025-05-27 22:10:58 +00:00
Moriz Wahl
a3178a91b4
refactor(webapp): store for categories (#8551)
* 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>
2025-05-27 15:03:26 +02:00
5bec51ad5d
v3.7.0 (#8597) 2025-05-25 18:24:21 +00:00
sebastian2357
eef2eb9c56
fix(webapp): logo and top-menu optimization (#8590)
* - added case for tablet

* - optimized HeaderMenu for desktop and mobile
- fixed Logo

* - refixed Logo (missing changes)

---------

Co-authored-by: Sebastian Stein <sebastian@codepassion.de>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-05-25 17:43:01 +00:00
e5b692e753
fix(webapp): hotfix dropdown menu placement (#8594)
* hotfix dropdown menu placement

* update snapshots

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-05-25 17:10:18 +00:00
sebastian2357
a69006873d
fix(webapp): notifications - UI Improvements (#8559)
* Notifications view:
- restructured broken layout
- joined several columns for mobile view
- moved button from footer to header
- set alternating colors for the table rows

UserTeaser
- added injectedText
- added injectedDate
- fixed padding

* fixed race-condition with default behavior of browser

* - fixed: jumping menu / menu should get closed by click on notification
- fixed: NotificationList replaced by NotificationTable

* - fixed: menu gets closed when cursor leaves content area, but it is still within popup

* - fixed: menu top buttons should be next to each other

* - fixed: popup background overlay remains after NotificationMenu disappeared after viewport change to mobile

* - fixed lint errors

* - fixed tests + snapshots

* - fixed e2e test

* fix lint error

Co-authored-by: Sebastian Stein <sebastian@codepassion.de>

* Fix locale identifier to have single quotes 'notifications.reason.on_date'

---------

Co-authored-by: Sebastian Stein <sebastian@codepassion.de>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-05-25 16:44:33 +00:00
18ae2a04ab
update user, write all values, query verification Badge (#8593) 2025-05-25 14:48:24 +00:00
ad4b6e0d79
refactor(webapp): remove email normalization (#8580)
* remove email normalization from webapp

* missing change

* fix error when email is not defined

* fix lint

* remove obsolete test

* remove obsolete tests

* fix password reset

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-05-25 15:58:41 +02:00
df50e7fe2b
fix websocket - downgrade graphql (#8592)
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-05-25 14:03:06 +02:00
dependabot[bot]
2232884a6b
build(deps-dev): bump @faker-js/faker from 9.7.0 to 9.8.0 in /webapp (#8567)
Bumps [@faker-js/faker](https://github.com/faker-js/faker) from 9.7.0 to 9.8.0.
- [Release notes](https://github.com/faker-js/faker/releases)
- [Changelog](https://github.com/faker-js/faker/blob/next/CHANGELOG.md)
- [Commits](https://github.com/faker-js/faker/compare/v9.7.0...v9.8.0)

---
updated-dependencies:
- dependency-name: "@faker-js/faker"
  dependency-version: 9.8.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-25 11:27:59 +00:00
dependabot[bot]
014dba5b88
build(deps-dev): bump eslint-plugin-prettier in /webapp (#8520)
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.2.6 to 5.4.0.
- [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.6...v5.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-23 08:36:01 +00:00
8f72c4282a
improve login & invite mechanics (#8574)
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-05-22 18:24:02 +00:00
Max
7ea8107ed0
fix(webapp): fix popover flickering (#8555)
Add boundary to v-popover to avoid random flickering when hovering a user teaser
Preload user data to avoid resizing (and sometimes repositioning) of popover after data has been loaded
2025-05-20 07:21:22 +00:00
933e3ae9b0
v3.6.1 (#8553) 2025-05-12 20:30:43 +00:00
Max
206ff76b79
fix(webapp): fix flickering? (#8549)
* Fix flickering?

* Move scrollbar-gutter: stable to html, fixing flickering
2025-05-12 20:03:58 +00:00
34c0e5166f
fix(backend): fix statistics and introduce new values (#8550)
* fix statistics and introduce new values

* fix locales
2025-05-12 17:51:15 +00:00
Max
4489ae1a89
Fix typo in german translation (#8548) 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>
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
2025-05-12 12:53:22 +02:00
92edde02d8
v3.6.0 (#8541) 2025-05-10 11:05:38 +00:00
Max
be0a5c555e
Show invititation dropdown until user clicks somewhere else (#8539) 2025-05-10 10:38:33 +00:00
Moriz Wahl
d4a9694657
feat(webapp): redirect to group after registration with invite to group (#8540) 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
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>
2025-05-10 08:25:03 +00:00
Moriz Wahl
fcd1776f21
fix(backend): category seed (#8536)
* seed categories with given id
2025-05-10 09:59:50 +02:00
Moriz Wahl
ba9da00a7f
correct copy path in dockerfile (#8519) 2025-05-10 07:08:39 +02:00
Moriz Wahl
da8af6ff42
feat(webapp): group invite after login (#8518) 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
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>
2025-05-09 17:04:06 +00:00
ac79452ce6
fix locales errors (german) (#8510) 2025-05-09 12:19:00 +02: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>'
2025-05-08 18:48:26 +02:00
Moriz Wahl
20d14f3a2f
chore(release): v3.5.3 (#8503)
* Release v3.5.3
2025-05-07 18:44:44 +00:00
32026dacfc
fix warning in workflow for lower case as (#8494) 2025-05-06 22:46:51 +00:00
5d348c2eaf
v3.5.2 (#8498) 2025-05-06 11:44:58 +00:00
4960f2800b
v3.5.1 (#8496) 2025-05-06 10:30:40 +00:00
b280b1f3f0
v3.5.0 (#8492) 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>
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
2025-05-05 20:44:14 +02:00
4f05b852af
remove some dependabot groups & no alpine version to allow update (#8475)
Co-authored-by: mahula <lenzmath@posteo.de>
2025-05-03 11:51:22 +00:00