2234 Commits

Author SHA1 Message Date
1111ccfe94
more tests 2026-01-19 12:42:23 +01:00
cb9caae9f6
tests for pinGroupPost and unpinGroupPost 2026-01-19 12:42:23 +01:00
aa35ab42f2
permissions for pinGroupPost 2026-01-19 12:42:23 +01:00
51dbdfa113
started tests 2026-01-19 12:42:23 +01:00
a98968f204
fix tests 2026-01-19 12:42:22 +01:00
97ac55409c
removed groupPinned field resolver as it is inefficient when we require the value in database anyways. 2026-01-19 12:42:22 +01:00
5bc7d2c720
corrected database type 2026-01-19 12:42:22 +01:00
c37679a0af
fix sort order pins
fix group pins to be limited to the one group

remove console
2026-01-19 12:42:22 +01:00
57e39e1eba
remove stuff 2026-01-19 12:42:22 +01:00
bc7d7fc649
unpinpost 2026-01-19 12:42:22 +01:00
83762d8e0f
groupPinned field on post 2026-01-19 12:42:22 +01:00
1e45911170
working pinGroupPost mutation (permissions not included) 2026-01-19 12:42:22 +01:00
f0c675d778
define mutations in schema 2026-01-19 12:42:22 +01:00
ce04c79823
implement currenltyPinnedPostsCount on Group 2026-01-19 12:42:22 +01:00
759628e82c
fix query (no write access) 2026-01-19 12:42:22 +01:00
e66133ceee
backend pin&unpin prototype 2026-01-19 12:42:22 +01:00
0b16206d54
prototype frontend 2026-01-19 12:42:22 +01:00
b8a4845d89
fix myRole - no subquery when querying Group 2026-01-19 12:42:21 +01:00
a91c8d9984
fix group query with isMember = false 2026-01-19 12:42:21 +01:00
27599a3549
simplify group query 2026-01-19 12:42:21 +01:00
0523f701f6
fix myRole field query 2026-01-19 12:42:21 +01:00
b7604e9af5
fix(backend): fix active categories when inproperly configured (#9123)
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2026-01-19 11:29:26 +00:00
dependabot[bot]
fa71b0e189
build(deps-dev): bump the cypress group across 1 directory with 3 updates (#9058)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-18 12:29:03 +01:00
e4717e0d89
fix(backend): fix potential leak in updateOnlineStatus (#8923)
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-09-27 14:37:12 +02:00
de65a380ab
fix(backend): fix naming of PRIVATEKEY (#8905) 2025-09-20 11:47:29 +02:00
45d2283138
refactor(backend): externalize all remaining queries in spec files (#8902)
* refactor: externalize all remaining queries in spec files

* User with different queries due to permissions

* fix notification:groups

* fix hashtagsmiddleware

* fix blockedUsers

* fix softDeleteMiddleware

* fix shouts.spec

* fix userInteractions spec

* fix mutedUsers spec

* seocialMedia spec

* fix notificationMiddleware.spec

* fix user.spce & fix undefined activeCategories

* fix notifications.spec

* fix userInteractions.spec

* fix blockedUsers & mutedUsers spec

* remove unused comment

* fix locations spec

* fix orderByMiddleware & spec

* fix lint

* fix shout spec
2025-09-18 17:43:15 +02:00
4ef93e0aad
fix(backend): statistics for admin only (#8887)
* statistics for admin only

* adjust tests
2025-09-15 09:51:00 +00:00
Wolfgang Huß
d9a7c1adc5
feat(backend): improve e-mail deliverability with sender name (#8888)
* Avoid early html encoding for the remaining '='

* Make 'EMAIL_DEFAULT_SENDER' required env

* Implement sender and recipient name on send e-mails nodemailer conform

* Fix e-mail snapshots
2025-09-13 11:39:39 +00:00
ebb8ef4f0e
remove PRIVATE_KEY_PASSPHRASE from config and remove its requirement (#8889) 2025-09-13 10:04:45 +00:00
047070c5b3
fix s3 migration (#8890) 2025-09-13 11:48:20 +02:00
Wolfgang Huß
985a8c3720
fix(backend): fix e-mail character encoding (#8886)
* Improve e-mail base design

* Refine e-mail design

* Adjust e-mail snapshots

* Avoid early html encoding for all parameters in locals

* Avoid early html encoding for all '= t()'

* Avoid early html encoding for the remaining '='
2025-09-11 16:18:15 +02:00
Wolfgang Huß
d437c6d7f4
feat(backend): improve e-mail base design (#8884)
* Improve e-mail base design

* Refine e-mail design

* Adjust e-mail snapshots
2025-09-11 13:04:31 +02:00
66b5e61c15
refactor(backend): test block & unblock user (#8879)
* queries

* test block users & small refactor on the resolver

* require 92% coverage (+2%)

* update according to review

* use cypher instead of neode
2025-09-10 18:26:28 +02:00
380d3401c0
update snapshots (#8885) 2025-09-10 15:05:57 +00:00
1e64590099
renamed resolver specs to make it easier to find the resolver (#8880) 2025-09-10 09:32:55 +00:00
74f6c5b329
refactor(backend): externalize gql queries in backend specs (#8881)
* externalize gql queries in backend specs

* externalize all queries & mutations where easily possible

missing change

* rename old queries & remove unnecessary function call

* fix tests - notifications

* fix tests - moderation

* remove _CreatePostMutation file

* remove _filterPosts & _postQuery files
2025-09-08 10:17:01 +00:00
3e58a1016a
fix(backend): fix notification author url (#8837)
* fix notification author url

* updated snapshots
2025-08-22 03:31:56 +02:00
Robert Schäfer
00da9e8ecb
feat(backend): resize images with imagor (#8558)
* feat(backend): resize images with imagor

Open questions:
* Do we have external URLs for images? E.g. we have them for seeds. But
  in production?

* Do we want to apply image transformations on these as well? My current
implementation does not apply image transformations as of now. If we
want to do that, we will also expose internal URLs in the kubernetes
Cluster to the S3 endpoint to the client.

TODOs:
* The chat component is using a fixed size for all avatars at the moment.
Maybe we can pair-program on this how to implement responsive images in
this component library.

Commits:
* do not replace upload domain url in the database

* fix all webapp specs

* refactor: remove behaviour we won't need

We don't want to apply image transformations on files, right?

* refactor: replace the domain on read not on write

* wip: webapp fixes

* refactor(backend): add another url to config

I've given up. There seems to be no nice way to tell the minio to return
a location which differs from it's host name.

* refactor: add test for s3Service

* refactor(backend): proxy minio via backend in local development

Commits:
* provide tests for message attachments
* remove S3_PUBLIC_URL config value

* refactor: follow @ulfgebhardt's review

* add missing environment variable

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-08-19 10:11:12 +02:00
04dec08d04
fix(backend): delete follow relations for deleted users (#8805)
* delete follows

* migration-deleted-user-follows

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-08-07 10:20:32 +00:00
1612d03b52
fix(backend): replace slug package with slugify (#8807)
* replace slug with slugify

* replace slug with slugify in root package.json

* remove undocumented characters

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-08-07 09:44:19 +00:00
e0017bc4dd
fix(backend): update jest packages (#8806)
* update jest & related packages

* fix deprecation errors
2025-08-05 03:57:02 +00:00
Robert Schäfer
3b2b3f0014
refactor(backend): remove obsolete code (#8752)
We kept this code for backwards compatibility but since we already deployed S3 to our kubernetes cluster and we're using it locally, let's remove this code. It will also make it easier to implement the image resize service as it reduces the total amount of code to maintain.

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-07-14 07:28:07 +00:00
Robert Schäfer
e0719c405e
refactor(backend): use apollo test setup (#8750)
.. in two more specs.

Apparently this got overlooked. In #8558 these tests will fail.
2025-07-07 20:46:34 +07:00
Robert Schäfer
61813c4eb8
refactor(backend): put config into context (#8603)
This is a side quest of #8558. The motivation is to be able to do dependency injection in the tests without overwriting global data. I saw the first merge conflict from #8551 and voila: It seems @Mogge could have used this already.

refactor: follow @Mogge's review

See: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8603#pullrequestreview-2880714796

refactor: better test helper methods

wip: continue refactoring

wip: continue posts

continue

wip: continue groups

continue registration

registration

continue messages

continue observeposts

continue categories

continue posts in groups

continue invite codes

refactor: continue notificationsMiddleware

continue statistics spec

followed-users

online-status

mentions-in-groups

posts-in-groups

email spec

finish all tests

improve typescript

missed one test

remove one more reference of CONFIG

eliminate one more global import of CONFIG

fix language spec test

fix two more test suites

refactor: completely mock out 3rd part API request

refactor test

fixed user_management spec

fixed more locatoin specs

install types for jsonwebtoken

one more fetchmock

fixed one more suite

fix one more spec

yet another spec

fix spec

delete whitespaces

remove beforeAll that the same as the default

fix merge conflict

fix e2e test

refactor: use single callback function for `context` setup

refactor: display logs from backend during CI

Because why not?

fix seeds

fix login

refactor: one unnecessary naming

refactor: better editor support

refactor: fail early

Interestingly, I've had to destructure `context.user` in order to make
typescript happy. Weird.

refactor: undo changes to workflows - no effect

We're running in `--detached` mode on CI, so I guess we won't be able to
see the logs anyways.

refactor: remove fetch from context after review

See:

refactor: found an easier way for required props

Co-authored-by: Max <maxharz@gmail.com>
Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-07-03 11:58:03 +02:00
Moriz Wahl
8ae4e309c3
fix(backend): mask jwt token in log (#8737) 2025-07-01 14:41:45 +02:00
Robert Schäfer
c9b429878a
refactor(backend): fix tests for #8714 (#8716)
This fixes the tests for #8714.

The Images type now has the callbacks only for backwards compatibility with local uploads. Next step is to remove the obsolete code and make S3 configuration parameters required.
2025-06-30 10:18:21 +00:00
Max
32927ea96e
fix(backend): refactor S3 usage and always apply protocol fix (#8714)
- Cleanup s3 code, so we use the same code for uploading files in chat and images in posts.
- Protocol is added to the location, when missing
2025-06-30 11:59:57 +02:00
Moriz Wahl
f3788b84a5
feat(backend): all db node properties (#8635)
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-06-25 21:21:41 +02:00
Moriz Wahl
4eff0fb497
fix(webapp): catch possibe errors on request geolocation (#8640)
* catch possibe errors on request geolocation

* proper toast error

* remove deprecated request package, use node fetch instead, set timeout

---------

Co-authored-by: Max <maxharz@gmail.com>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-06-25 17:45:46 +00:00
Max
cc96698300
Put message creation in a transaction with file uploads to avoid empty messages (#8694)
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-06-20 18:32:00 +00:00