* 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>
* 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>
* 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>
- New badge UI, including editor.
- Adds config to enable/disable badges.
---------
Co-authored-by: Sebastian Stein <sebastian@codepassion.de>
Co-authored-by: Maximilian Harz <maxharz@gmail.com>
* After creating the post, the author of it automatically observes it to get notifications when there are interactions
* a user that comments a post, automatically observes that post to get notifications when there are more interactions on that post
* mutation that switches the state of the observation of a post on and off
* refactor(graphql): Introduce image type
* Undo changes to .travis.yml
* chore: Upgrade travis to node LTS
- URL is available since v10
* chore: use lts
Co-authored-by: mattwr18 <mattwr18@gmail.com>
* Implement cypress tests
- Start implementation of cypress tests for pinned posts
* Test that Admin can pin a post
- Tests the process of an admin pinning a post
* Resolve failing tests
- Fix ordering of posts immediately after pinning posts by reloading page
- Check that tests are pinned posts are displayed first for role user
* Refactor to seperate the initialization
- Of the post data created in the database during setup
* Fix toaster test
* test(cypress): Add missing parts for pin feature
* docs(cucumber): Link to admin 🥒 folder
* Follow @mattwr18's suggestions
* test(backend): Order pinned posts like frontend
@mattwr18 I think this was a false negative.
Co-authored-by: Robert Schäfer <git@roschaefer.de>
This is refactoring all our fragments and fixing the warning about an
existing name `user`. Apparently, fragments should have a unique name
globally.
I decided to call `userFragment`, `postFragment` the fragments for one
object and use different names to query for related objects.
I would be glad to learn a better way to handle this.
- Add pin/unpin post to content menu
- Update apollo cache to reactively unpin
- Update apollo cache in root path to re-order Posts
- Order with pinned post first
- Start setting up filters, so that the pinned post is always the first
post visible