* 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>
## 🍰 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>
* 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>
* 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>
.. but enable it by default for `docker-compose.override.yml`. If the developer
uses `docker-compose` we can safely assume that a local smtp server for
development is running.