* 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
* 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>
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>
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>
## 🍰 Pullrequest
This will migrate our assets to an objectstorage via S3.
Before this PR is rolled out, the S3 credentials need to be configured in the respective infrastructure repository. The migration is implemented in a backend migration, i.e. I expect the `initContainer` to take a little longer but I hope then it's going to be fine. If any errors occcur, the migration should be repeatable, since the disk volume is still there.
### Issues
The backend having direct access on disk.
### Todo
- [ ] Configure backend environment variables in every infrastructure repo
- [ ] Remove kubernetes uploads volume in a future PR
Commits:
* refactor: follow @ulfgebhardt
Here: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8545#pullrequestreview-2846163417
I don't know why the PR didn't include these changes already, I believe I made a mistake during rebase and lost the relevant commits.
* refactor: use typescript assertions
I found it a better way to react to this comment: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8545/files#r2092766596
* add S3 credentials
* refactor: easier to remember credentials
It's for local development only
* give init container necessary file access
* fix: wrong upload location on production
* refactor: follow @ulfgebhardt's review
See: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8545#pullrequestreview-2881626504
* 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>
* - 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>
* feat(backend): add support line to emails
* - fixed snapshots
---------
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
Co-authored-by: Sebastian Stein <sebastian@codepassion.de>
* - 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>
* 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>
* allow the rbanding to provide middlewares
lint fix
fix config
* whitelist instead o blacklist when to exclude middlewares
fix config whitelisting
* fix lint
* 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>
* 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>