Commit Graph

598 Commits

Author SHA1 Message Date
Andreas Nedbal 9460bcfdd7 Add translations for answer ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 80172d0852 Add translations for question ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 2237ff8f04 Add translations for moderation ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal e6e7780142 Add translations for list ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 1c31ff41db Add translations for inbox ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 15946740eb Add translations for comment ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 7381a685ac Add translations for smile ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 34de119bb1 Add translations for block/relationship ajax controllers 2022-07-06 21:54:34 +02:00
Karina Kwiatek e7112f0244 Use `dependent: :destroy_async` instead of `DeletionWorker` 2022-07-06 20:58:53 +02:00
Karina Kwiatek cc4a8d6297 Add appendables to RailsAdmin 2022-07-05 23:23:37 +02:00
Karina Kwiatek a2f7ea2895 Configure RailsAdmin to use webpacker 2022-07-05 21:22:58 +02:00
Andreas Nedbal 7221762478 Adjust data action locale namespaces 2022-07-05 20:40:19 +02:00
Andreas Nedbal 565f7e4536 Move data action into `Settings::DataController` 2022-07-05 20:40:19 +02:00
Andreas Nedbal 4fcff867ae Adjust locale namespace of block action locales 2022-07-05 20:40:19 +02:00
Andreas Nedbal 72d37032e6 Move block action into `Settings::BlocksController` 2022-07-05 20:40:19 +02:00
Andreas Nedbal 51413bf55b Adjust locale namespace of mute view locales 2022-07-05 20:40:19 +02:00
Andreas Nedbal a4bc137aca Move mute action into `Settings::MutesController` 2022-07-05 20:40:19 +02:00
Georg Gadinger 917e32b4fc routes.rb: use 'authenticate' block from devise instead of defining the constraint ourselves 2022-07-05 18:20:30 +02:00
Karina Kwiatek 4e59b0a3d6 Remove uglifier
We don't use this since moving to webpacker, neither does it support ES6
2022-07-03 19:32:42 +02:00
Karina Kwiatek 8c140bc0a9 Enable Harmony support in Uglifier for production 2022-07-03 19:07:14 +02:00
Andreas Nedbal 645f6d87be Fix recovery key locales not being set 2022-07-03 18:32:36 +02:00
Andreas Nedbal 5c4c272d53 Update locale namespaces for totp actions 2022-07-03 18:32:36 +02:00
Andreas Nedbal fcd1da40a1 Move 2FA settings actions into `OtpAuthenticationController` 2022-07-03 18:32:36 +02:00
Karina Kwiatek 32865b528d Highlight current ban 2022-07-02 17:08:44 +02:00
Karina Kwiatek 990c67baea Move unban into own view 2022-07-02 17:08:44 +02:00
Karina Kwiatek a0877b102a Create tabs for ban modal 2022-07-02 17:08:44 +02:00
Karina Kwiatek bb23f6b3f0 Add translations for ban modal 2022-07-02 17:08:44 +02:00
Andreas Nedbal 126204d759 Update locale namespaces for export settings 2022-07-02 16:36:14 +02:00
Andreas Nedbal 2ee3aab14d Move export actions into `Settings::ExportController` 2022-07-02 16:36:14 +02:00
Andreas Nedbal b8f639b16b Update locale namespaces for privacy settings 2022-06-28 23:20:11 +02:00
Andreas Nedbal 8cf6be8067 Move privacy actions from user controller to `Settings::PrivacyController` 2022-06-28 23:20:11 +02:00
Karina Kwiatek 5a07c7a8ce Add well known route for changing password 2022-06-28 02:01:53 +02:00
Andreas Nedbal 8a56dccf18 Move locales to new namespaces 2022-06-26 22:45:52 +02:00
Andreas Nedbal 8141db2ca7 Move profile picture actions to `Settings::ProfilePictureController` 2022-06-26 22:45:52 +02:00
Andreas Nedbal efa0048c87 WIP: Move profile actions to `Settings::ProfileController` 2022-06-26 22:45:52 +02:00
Karina Kwiatek 1b09d51443 Add toggle for moderation view 2022-06-26 21:07:28 +02:00
Andreas Nedbal f9bb2a2271 Adjust action name for theme resource
following the general convention of using `destroy` now instead of `delete`
2022-06-26 17:52:44 +02:00
Andreas Nedbal a00910bef4 Apply review suggestion from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-06-26 17:52:44 +02:00
Andreas Nedbal 60b189959a Update route definitions for theme actions 2022-06-26 17:52:44 +02:00
Andreas Nedbal 4e363bb794 Update locale keys for theme settings 2022-06-26 17:52:44 +02:00
Andreas Nedbal d8b1bb3882 Update config/locales/views.en.yml
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-06-25 15:39:30 +02:00
Andreas Nedbal 1e8f2c59a5 Update config/locales/views.en.yml
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-06-25 15:39:30 +02:00
Andreas Nedbal 1724bb91b5 Update config/locales/views.en.yml
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-06-25 15:39:30 +02:00
Andreas Nedbal 3788e492dd Add text if no user is (anonymously) blocked 2022-06-25 15:39:30 +02:00
Andreas Nedbal d4c782c1ee Apply suggestions from @raccube
Co-authored-by: Karina Kwiatek <6197148+raccube@users.noreply.github.com>
2022-06-25 15:39:30 +02:00
Andreas Nedbal bc986c6624 Add translations for block settings page 2022-06-25 15:39:30 +02:00
Andreas Nedbal 936b49eef0 WIP: Add UI to manage (anonymous) blocks 2022-06-25 15:39:30 +02:00
Karina Kwiatek 10ead35209 Add translations for inbox moderation 2022-06-23 22:17:14 +02:00
Karina Kwiatek be8ba63b95 Add a way for moderators to view user inboxes 2022-06-23 22:17:14 +02:00
Karina Kwiatek cd581fd2b1 Move anon icon tooltip text into translatable string 2022-06-23 21:29:27 +02:00
Karina Kwiatek 1142b68d68 Add strings for anon display name field 2022-06-23 21:29:27 +02:00
Karina Kwiatek a37b6135ec Display anonymous blocks and split relationship types in Rails Admin 2022-06-15 15:42:13 +02:00
Karina Kwiatek 7e98f427c6 Add endpoint for removing anon blocks 2022-06-15 14:26:48 +02:00
Karina Kwiatek f379845615 Add frontend for blocking anonymous users 2022-06-15 14:26:48 +02:00
Andreas Nedbal e4603ff852 Add block identifiers to questionbox 2022-06-13 22:59:41 +02:00
Andreas Nedbal c13cb9bb1b Remove legacy questionbox locales 2022-06-13 22:59:41 +02:00
Andreas Nedbal cf74d6f4c8 Add translations for questionbox 2022-06-13 22:59:41 +02:00
Karina Kwiatek 25ed1e4605 Add tests for commenting on answers while blocked 2022-06-13 11:56:34 +02:00
Karina Kwiatek 9b5fefc661 Update relationship controller tests for blocking-related actions 2022-06-13 11:56:34 +02:00
Karina Kwiatek d6e4ad35ad Add error messages for answering while blocked/blocking 2022-06-13 11:56:34 +02:00
Karina Kwiatek 14dfef6a52 Add status messages for blocking/unblocking users 2022-06-13 11:56:34 +02:00
Karina Kwiatek c173c4a17d Add the ability to block/unblock users from profile pages 2022-06-13 11:56:34 +02:00
Andreas Nedbal e19b028a4d Apply review suggestion from @raccube
Co-authored-by: Karina Kwiatek <6197148+raccube@users.noreply.github.com>
2022-04-25 19:40:23 +02:00
Andreas Nedbal 0b38ae45b5 Remove legacy inbox locales 2022-04-25 19:40:23 +02:00
Andreas Nedbal a0741a9a68 Add translations for inbox entry 2022-04-25 19:40:23 +02:00
Andreas Nedbal 14d0074cb8 Add translations for inbox sidebar 2022-04-25 19:40:23 +02:00
Andreas Nedbal 5829dc51ec Add translations for inbox show view 2022-04-25 19:40:23 +02:00
Andreas Nedbal bf0ac3c4e3 Add translations for inbox controller 2022-04-25 19:40:23 +02:00
Andreas Nedbal 6b1be53827 Add translations for linkfilter 2022-04-19 21:25:56 +02:00
Andreas Nedbal 7d8ab80c31 Remove legacy footer locales 2022-04-18 20:15:34 +02:00
Andreas Nedbal 5518014024 Add translations for footer 2022-04-18 20:15:34 +02:00
Andreas Nedbal c1cf9bab3f Remove legacy about page locales 2022-04-17 22:58:42 +02:00
Andreas Nedbal 68f6d11648 Add translations for about page 2022-04-17 22:58:42 +02:00
Andreas Nedbal ef5b367d70 Add about page text config option 2022-04-17 22:58:42 +02:00
Andreas Nedbal f43d4b8621 Remove FAQ page 2022-04-17 22:58:42 +02:00
Andreas Nedbal aa48a53cb7 Track release version in Sentry 2022-04-16 12:56:18 +02:00
Andreas Nedbal 7d7bef81ca Add version class and load it in Rails 2022-04-16 12:56:18 +02:00
Andreas Nedbal 583a3ba519 Remove `user#lists` action, view and route 2022-04-15 21:32:14 +02:00
Andreas Nedbal 833c0cb671 Configure better_errors to work in Docker environments 2022-04-14 23:23:37 +02:00
Andreas Nedbal 344a344a40 Remove legacy frontpage translations 2022-04-10 22:01:27 +02:00
Andreas Nedbal de3af3638e Add translations for frontpage 2022-04-10 22:01:27 +02:00
Andreas Nedbal 56af98294a
Merge branch 'main' into refactor/settings-tabs-locales 2022-02-20 21:36:31 +01:00
Andreas Nedbal 60b40a444c Remove legacy privacy settings locales 2022-02-20 21:20:57 +01:00
Andreas Nedbal 6541442098 Add translations for privacy settings flashes 2022-02-20 21:20:57 +01:00
Andreas Nedbal 2fc4b8f4a4 Add translations for privacy setting attributes 2022-02-20 21:20:57 +01:00
Andreas Nedbal e424d5ed38 Add translations for privacy settings title 2022-02-20 21:20:57 +01:00
Andreas Nedbal edf3d3db15 Add translation for "time ago" wording 2022-02-20 21:20:14 +01:00
Andreas Nedbal ebaa7bfa87 Add translation for none-placeholder 2022-02-20 21:20:14 +01:00
Andreas Nedbal b965cf54c4 Translate more user attributes 2022-02-20 21:20:14 +01:00
Andreas Nedbal 2d63a80761 Add translations for the data view 2022-02-20 21:20:14 +01:00
Andreas Nedbal 1778cb713a Remove legacy settings tabs locales 2022-02-19 18:09:03 +01:00
Andreas Nedbal 66d8180483 Add translations for settings tabs 2022-02-19 18:08:44 +01:00
Andreas Nedbal 0e2a657f87 Add missing newline 2022-02-18 12:50:27 +01:00
Andreas Nedbal e3b20a21e6 Apply review suggestion from @raccube
Co-authored-by: Karina Kwiatek <6197148+raccube@users.noreply.github.com>
2022-02-18 12:50:27 +01:00
Andreas Nedbal 79dbf7d1c8 Add translations for mute rule controller actions 2022-02-18 12:50:27 +01:00
Andreas Nedbal cc50219d05 Add translations for mute rules view 2022-02-18 12:50:27 +01:00
Andreas Nedbal 9899f05560 Add info flash translation for used recovery key 2022-02-13 23:41:50 +01:00
Andreas Nedbal 04d650a85a Remove legacy 2FA locales 2022-02-13 23:41:50 +01:00
Andreas Nedbal 5067275993 Add translations for security views and errors 2022-02-13 23:41:50 +01:00
Andreas Nedbal 075614c5d7 Add translations for 2FA controllers and actions 2022-02-13 23:41:50 +01:00
Andreas Nedbal 3a718a7e88
Merge branch 'main' into refactor/export-locales 2022-02-13 16:55:19 +01:00
Andreas Nedbal 555636577e Translate theme update success/error flashes 2022-02-13 16:53:42 +01:00
Andreas Nedbal ec680d6722 Translate forms and raised theme model attributes 2022-02-13 16:53:42 +01:00
Andreas Nedbal c50df2f660 Translate forms and raised theme settings sections 2022-02-13 16:53:42 +01:00
Andreas Nedbal 8159d556ab Translate general and color theme model attributes 2022-02-13 16:53:42 +01:00
Andreas Nedbal 84a72ce8cc Translate general and colors theme settings sections 2022-02-13 16:53:42 +01:00
Andreas Nedbal 78357faed5 Translate lead section of theme settings 2022-02-13 16:53:42 +01:00
Andreas Nedbal 64f794256c Translate title of theme settings page 2022-02-13 16:53:42 +01:00
Andreas Nedbal 0119437170 Add translations for user export 2022-02-13 02:26:15 +01:00
Andreas Nedbal 2dbf525d2e Move error locales to `errors.en.yml` 2022-02-09 14:01:56 +01:00
Andreas Nedbal d3f90b48fa Move general vocabulary to `voc.en.yml` 2022-02-09 14:01:56 +01:00
Andreas Nedbal f746363103 Move controller-scoped locales to `controllers.en.yml` 2022-02-09 14:01:56 +01:00
Andreas Nedbal 771ed3ddf4 Move view-related locales into `views.en.yml` 2022-02-09 14:01:56 +01:00
Andreas Nedbal 03f9543595 Remove legacy session locale 2022-02-07 21:51:32 +01:00
Andreas Nedbal e3eb4bf676 Remove legacy account settings locales 2022-02-07 21:51:32 +01:00
Andreas Nedbal 9943e6c207 Add translations for sign in 2022-02-07 21:51:32 +01:00
Andreas Nedbal 540e5acaba Add translations for account settings 2022-02-07 21:51:32 +01:00
Andreas Nedbal 7971df9ac0 Add missing newline 2022-01-30 21:20:59 +01:00
Andreas Nedbal 27d60c05be Remove legacy profile locales 2022-01-30 21:20:59 +01:00
Andreas Nedbal 3ee847258a Add translations for profile settings 2022-01-30 21:20:59 +01:00
Andreas Nedbal 800958e88f Install and configure lograge 2022-01-29 22:34:55 +01:00
Andreas Nedbal 058b171915 Install and configure bullet 2022-01-29 22:22:39 +01:00
Karina Kwiatek f4066d55a1 Use translations for feedback page titles 2022-01-29 21:06:03 +01:00
Andreas Nedbal 8838663528 Remove legacy service locales 2022-01-29 20:08:41 +01:00
Andreas Nedbal 383ef62603 Translate `ServicesController` views 2022-01-29 20:08:41 +01:00
Andreas Nedbal 592de78a4f Add translations for `ServicesController` 2022-01-29 20:08:41 +01:00
Andreas Nedbal 6565805ef5 Add missing newline 2022-01-25 22:31:25 +01:00
Andreas Nedbal 3404b337eb Add ActiveModel-scoped locales for `Announcement` model 2022-01-25 22:31:25 +01:00
Andreas Nedbal ac83995dfc Add controller-scoped locales for `AnnouncementController` 2022-01-25 22:31:25 +01:00
Andreas Nedbal a8f184a001 Remove all non-english locales 2022-01-24 20:13:09 +01:00
Karina Kwiatek 731ee4bf69 Address review comments from @nilsding 2022-01-23 16:48:53 +01:00
Karina Kwiatek 3962671135 Implement relationship logic as use case 2022-01-23 16:48:53 +01:00
Karina Kwiatek ce951453a2 Make relationships polymorphic 2022-01-23 16:48:53 +01:00
Andreas Nedbal d56dfc02f9 Move consent POST-logic to separate action 2022-01-22 22:50:32 +01:00
Andreas Nedbal 77c6dc7120 Turn `feedback_features_path` into snake_case 2022-01-22 22:50:32 +01:00
Andreas Nedbal 322048a48a Add final newline to config 2022-01-22 22:50:32 +01:00
Andreas Nedbal 0b76ceb73d WIP: Canny integration 2022-01-22 22:50:32 +01:00
Andreas Nedbal 8247c8864f Generate i18n export as TypeScript and move locale logic there 2022-01-15 00:05:17 +01:00
Karina Kwiatek 5d7039a2d2 Add test for `Exporter#collect_user_info` 2022-01-14 23:29:49 +01:00
Karina Kwiatek 45854894dc Upgrade to Rails 6.0 2022-01-13 21:42:06 +01:00
Karina Kwiatek be811ccb32 Replace mention of CoffeeScript in about 2022-01-09 18:23:50 +01:00
Andreas Nedbal 25b627a349 Remove i18n.js and prevent further exporting of it 2022-01-08 14:48:15 +01:00
Karina Kwiatek 136e2fa016
Merge pull request #272 from Retrospring/feature/social-post-tagging
Add the ability to post to services with a tag
2022-01-07 19:40:52 +01:00
Karina Kwiatek 96e48a833b
Merge pull request #194 from Retrospring/refactor/user-bans
Implement ban history
2022-01-06 14:05:33 +01:00
Karina Kwiatek 683fffd734 Add the ability to post to services with a tag 2022-01-05 19:49:59 +01:00
Georg Gadinger 3c58257d21 remove tumblr
Resolves #274
2022-01-05 19:32:52 +01:00
Karina Kwiatek 374da66cd1 Add `UserBan` to Rails Admin 2022-01-02 19:50:45 +01:00
Georg Gadinger 506984ecfb rails_admin: include the new MuteRule model 2022-01-02 16:25:57 +01:00
Karina Kwiatek 6b626765a8 Create views for managing muted words 2022-01-02 01:55:52 +01:00
Karina Kwiatek 6c0e6b1d30 Create mute rules AJAX controller 2022-01-01 00:38:38 +01:00
Andreas Nedbal f871ab45e8 Allow `rel` in sanitized links 2021-12-31 22:40:38 +01:00
Andreas Nedbal 8bbc9c72c1 Rename const/config option to `allowed_hosts_in_markdown` 2021-12-31 22:40:38 +01:00
Andreas Nedbal 3d04f54a0f Allow target for links in sanitizer 2021-12-31 22:40:38 +01:00
Andreas Nedbal 02a5e7029e Add linkfilter logic to existing renderers 2021-12-31 22:40:38 +01:00
Andreas Nedbal 09172a56ef Add linkfilter action 2021-12-31 22:40:38 +01:00
Georg Gadinger a7c942e4b8 rails_admin: include the new Profile model 2021-12-31 19:25:17 +01:00
Karina Kwiatek 4a039937d6 Reduce Sentry sample rate to 25% 2021-12-31 11:59:07 +01:00
Andreas Nedbal 66638caedf Initialize Sentry regardless of `APP_CONFIG[:sentry_dsn]` being set or not 2021-12-29 22:35:29 +01:00
Karina Kwiatek 751ba0f446 Configure traces sample rate 2021-12-28 19:49:31 +01:00
Karina Kwiatek 065e56ccf1 Replace New Relic with Sentry 2021-12-28 18:32:03 +01:00
Karina Kwiatek 0f654a4d7d
Merge pull request #226 from Retrospring/refactor/user-typescript
Port User functionality to TypeScript
2021-12-25 22:44:26 +01:00
Karina Kwiatek 053ebafbc5
Merge pull request #213 from Retrospring/refactor/profile
Move profile fields to seperate table
2021-12-25 22:44:10 +01:00
Andreas Nedbal 89127aa313 Add aliases for common module locations 2021-12-25 00:02:52 +01:00
Karina Kwiatek a38c134280 Add description of `accepted_image_formats` in app config 2021-12-22 17:17:48 +01:00
Karina Kwiatek c995ead1e0 Add accept attribute to file inputs 2021-12-22 16:38:37 +01:00
Andreas Nedbal d5170f30ad Disable browser monitoring with New Relic 2021-12-22 00:48:48 +01:00
Karina Kwiatek 8fa4feb469 Add endpoint for updating profile 2021-12-22 00:03:19 +01:00
Andreas Nedbal b05572d9af remove unused section from config 2021-10-03 20:57:12 +02:00
Dominik M. Kwiatek 7a62f7d2c9
Set session duration to 90 days (#169) 2021-02-25 17:12:30 +01:00
Andreas Nedbal 24f197a064 Move legacy javascript folder out of packs/ 2020-12-26 21:59:53 +01:00
Andreas Nedbal 51678e5e34 Add Typescript support 2020-12-26 21:59:53 +01:00
Andreas Nedbal 61f60717fc Set up i18n-js to work with Webpacker 2020-12-25 18:22:03 +01:00
Andreas Nedbal df664d2772 Configure CoffeeScript compilation with Webpacker 2020-12-25 18:22:03 +01:00
Andreas Nedbal 07134f6f94 Remove policy declaration for local webpack-dev-server 2020-12-25 18:22:03 +01:00
Andreas Nedbal 059471e5cf Initial Webpacker setup 2020-12-25 18:22:03 +01:00
Dominik Kwiatek e16896fac1 Provide the user a way to generate new codes. 2020-11-01 18:52:42 +01:00
Dominik Kwiatek 61d82bdbec Display count of remaining recovery codes 2020-11-01 18:41:37 +01:00
Dominik Kwiatek d20f527d8c Add drift period 2020-10-24 00:24:04 +02:00
Dominik Kwiatek 75c782705a Add string for views.auth.2fa.errors.invalid_code 2020-10-23 21:02:13 +02:00
Dominik Kwiatek 702156258c Remove user/sessions#two_factor_entry 2020-10-23 21:00:06 +02:00
Dominik Kwiatek 66cccbb5d6 Use the same string for 2FA failures 2020-10-23 20:58:42 +02:00
Dominik Kwiatek ea99805da1 Fix remaining lint warnings 2020-10-19 15:55:00 +02:00
Dominik Kwiatek 141ff59f63 Implement Two Factor Authentication 2020-10-18 10:39:46 +02:00
Dominik M. Kwiatek d448d293de Remove test env skip 2020-05-27 22:33:54 +01:00
Dominik M. Kwiatek 4c7ec05198 Address @nilsding's review comments 2020-05-27 22:27:54 +01:00
Dominik M. Kwiatek 5650b2eb0b Add hCaptcha to example config 2020-05-27 21:12:25 +01:00
Dominik M. Kwiatek c4fb5d1db9 Add registration tests 2020-05-27 20:07:39 +01:00
Dominik M. Kwiatek a92dd54be3 Address @nilsding's review comments 2020-05-27 20:07:39 +01:00
Dominik M. Kwiatek 7cac93ad4e Add hCaptcha 2020-05-27 20:07:39 +01:00
Georg Gadinger ea0685136e Rename Groups to Lists
haha regexp go brrr

special thanks to @seatsea for helping me out with the French locales
2020-05-25 18:04:54 +02:00
Dominik M. Kwiatek 6d37ae9498 Comment out fog config 2020-05-21 21:44:07 +01:00
Dominik M. Kwiatek d185c54f03 Add CarrierWave Backgrounder 2020-05-17 20:38:40 +01:00
Karina Kwiatek 5c0871f33c Address @nilsding's review comments
- Fix types on legacy attachment migrations
- Restore Action Mailer setup for development env
- Use `Hash#dig` in CarrierWave initializer
2020-05-17 20:38:40 +01:00
Karina Kwiatek 76161029e8 Correct out of place comment 2020-05-17 20:38:40 +01:00
Karina Kwiatek 783e47fc2b Replace paperclip with CarrierWave 2020-05-17 20:38:40 +01:00
Georg Gadinger 1dfe0418c9 Remove unused theme initialiser 2020-05-09 03:42:15 +02:00
Andreas Nedbal 5966be5bd6 Make rails_admin use the default ApplicationController 2020-05-08 23:28:56 +02:00
Andreas Nedbal d5d5c5eb19 make sprockets cache definition development-only 2020-05-06 14:31:27 +02:00
Andreas Nedbal e7c5b1a4a3 Remove theme preview route and logic 2020-05-04 17:26:38 +02:00
Andreas Nedbal 45b11bddfd Merge branch 'master' into feature/bootstrap 2020-04-29 02:49:07 +02:00