* 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>
* Fix console warning by adding 'common.filter' to locales
* Make 'common.filter' ident in component 'ProfileList.vue' responsive and remove default value
* invalidate cache by attaching the ocelot version in the js chuck filenames
* petter adjust js chunk name to the nuxt default, also attach version to css files
Problem:
When audio is directly recorded to chat, it has the correct file extension in its name ("audio.mp3"). The file object we get doesn't have an extension property though, so the file name after our modification would be "audio.mp3.undefined". Safari doesn't accept this as audio source, and I hate to say it, but I agree.
So if there is no extension, keep the existing one. Problem solved.
* seed more Yoga group members
* implement groupMembers pagination
* load limited amount of group members
* force show all members in group member list
* remove unused import
* - added virtual scrolling to ProfileList
* - fixed linter error
* load all when clicking the button
* seed 3000 users
* cleanup
* lint
* hide search when not all members are visible
* fix email factory
* - increased profileListVisibleCount to 6
---------
Co-authored-by: Sebastian Stein <sebastian@codepassion.de>
* feat(webapp): location on registration
* add location name to signup verification, allow location query
* location name can be prompted in regeistration
* default value null for locationName
* Prevent ds-select overflow
* Remove location name from label
* Add margin-bottom to location-select
* group location is not affected by REQUIRE_LOCATION, previous location is shown
* Update webapp/components/Registration/RegistrationSlideCreate.vue
Co-authored-by: Max <maxharz@gmail.com>
* Replace more '16px' by '$space-small' and remove class 'password-strength'
* Add class 'password-strength' again
* property for previous location
---------
Co-authored-by: Maximilian Harz <maxharz@gmail.com>
Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
* 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>
* 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>
* 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
* 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>
* 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>