Граф коммитов

1132 Коммитов

Автор SHA1 Сообщение Дата
Harrison Healey
2bcaa42dc0 MM-58275 Ensure image proxy site URL is updated when that changes (#27214)
* MM-58275 Ensure image proxy site URL is updated when that changes

* Check if proxy settings changed using reflection
2024-06-04 14:06:37 -04:00
Scott Bishel
206ff6e697 add translation for errors checking group name (#27196)
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-06-04 07:57:55 -06:00
Doug Lauder
5114c3b7cd when sync'ing users make sure the user's remoteid matches the remote issuing the update (#27203) 2024-06-04 11:30:18 +02:00
Doug Lauder
d40cc68b1c MM-58349 Don't allow remote user to create sessions or reset password (#27215)
Automatic Merge
2024-06-03 17:11:30 +03:00
Devin Binnie
4ec50a7ddd [MM-58500] Turn off PostedAck when the connection is no longer registered (#27212)
* [MM-58500] Turn off PostedAck when the connection is no longer registered

* Expose active and just check for active instead
2024-06-03 19:14:53 +05:30
Weblate (bot)
4163db4e5e Translations update from Mattermost Weblate (#27251)
* Translated using Weblate (Dutch)

Currently translated at 99.9% (5767 of 5770 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nl/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/sv/

* Translated using Weblate (French)

Currently translated at 83.0% (4792 of 5770 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Translated using Weblate (Swedish)

Currently translated at 99.4% (5741 of 5770 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/sv/

* Translated using Weblate (German)

Currently translated at 100.0% (5770 of 5770 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/de/

* Translated using Weblate (French)

Currently translated at 83.2% (4805 of 5770 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Translated using Weblate (Russian)

Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ru/

* Translated using Weblate (Russian)

Currently translated at 98.2% (5671 of 5770 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ru/

---------

Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Co-authored-by: Benjamin Danon <b@bndn.fr>
Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: Konstantin <eleferen@gmail.com>
2024-06-03 10:39:18 -03:00
unified-ci-app[bot]
6593773959 Update latest minor version to 9.10.0 (#27224)
Automatic Merge
2024-05-31 23:41:31 +03:00
Pavel Mokeev
66a3eba2cf Add ctx usage in Client4 methods (#26973)
* Add ctx usage in Client4 methods

* Add ctx usage to more Client4 methods

* fix missing ctx usage

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-05-31 13:24:00 -04:00
Scott Bishel
b788760e17 MM-52638- Last admin cannot be demoted (#24087)
* don't allow last sysadmin to change roles

* cleanup, add comment

* only allow admin downgrade if more than one admin

* remove unused variable

* i18n-extract, unit test fixes

* Update user.go

* remove blank line

* update tests check all return values

* revert channel_store.go

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-05-31 14:13:46 +02:00
Antonis Stamatiou
d64ce93393 feat: Introduce build env image pipeline (#27189) 2024-05-29 11:39:17 +03:00
Doug Lauder
923f6a5943 MM-57867 Don't delete existing channel on invitation error (#27143)
* Do not delete existing channels
* don't allow resharung
2024-05-29 00:46:18 -04:00
Weblate (bot)
54019e4013 Translations update from Mattermost Weblate (#27166)
* Translated using Weblate (German)

Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/de/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ja/

* Translated using Weblate (German)

Currently translated at 100.0% (5768 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/de/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (5768 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ja/

* Translated using Weblate (Dutch)

Currently translated at 99.9% (5765 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (5768 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/zh_Hans/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (5768 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/zh_Hans/

* Translated using Weblate (Hebrew)

Currently translated at 1.0% (60 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/he/

* Translated using Weblate (French)

Currently translated at 78.7% (4545 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Translated using Weblate (French)

Currently translated at 78.7% (4545 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Translated using Weblate (French)

Currently translated at 88.2% (2210 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/fr/

* Translated using Weblate (French)

Currently translated at 79.4% (4583 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Translated using Weblate (French)

Currently translated at 79.4% (4583 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Translated using Weblate (French)

Currently translated at 79.4% (4583 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Translated using Weblate (French)

Currently translated at 79.4% (4584 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Translated using Weblate (French)

Currently translated at 79.4% (4584 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Translated using Weblate (French)

Currently translated at 82.4% (4754 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Translated using Weblate (English (Australia))

Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/en_AU/

* Translated using Weblate (English (Australia))

Currently translated at 100.0% (5768 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/en_AU/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nl/

* Translated using Weblate (French)

Currently translated at 82.6% (4770 of 5768 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/fr/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/

---------

Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: kaakaa <stooner.hoe@gmail.com>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: master7 <marcin.karkosz@rajska.info>
Co-authored-by: ThrRip <coding@thrrip.space>
Co-authored-by: Ori maimon <orimaimon2000@gmail.com>
Co-authored-by: Benjamin Danon <b@bndn.fr>
Co-authored-by: Joakim Rivera <joakim.rivera@outlook.fr>
Co-authored-by: Pierre JENICOT <pierre.jenicot@ac-lille.fr>
Co-authored-by: Matthew Williams <Matthew.Williams@outlook.com.au>
2024-05-28 05:41:06 -03:00
Harrison Healey
beb8d5e8e0 MM-58367 Increase maximum bucket size for LCP metrics (#27147)
* MM-58367 Increase maximum bucket size for LCP metrics

* Don't potentially mutate DefBuckets

* Increase maximum bucket for FCP metrics too
2024-05-27 16:46:24 -04:00
Harrison Healey
1bd7b6f4c2 MM-58359 Add page_load to Prometheus metrics (#27159)
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-05-27 14:06:18 -04:00
M-ZubairAhmed
273a999167 [MM-57384] Investigate app performance on repeated calls to users/status/ids and users/ids calls on posted event (#26644)
https://mattermost.atlassian.net/browse/MM-57384
https://mattermost.atlassian.net/browse/MM-58109
https://mattermost.atlassian.net/browse/MM-58110
2024-05-27 12:34:38 +00:00
Miguel de la Cruz
b00b68920d Fix test that is not using context (#27164) 2024-05-27 11:38:07 +02:00
Agniva De Sarker
6f3327ce0f MM-58038: Use context to call master for DeletePost (#27098)
Calling app.DeletePost immediately after creating a post
is susceptible to replica lag because we were calling the
replica to check for the post.

We fix this by passing a context to always query master.

https://mattermost.atlassian.net/browse/MM-58038

```release-note
NONE
```
2024-05-24 19:35:48 +05:30
Michael Kochell
e9c5ac2ea8 Bump prepackage GitLab plugin version to 1.9.1 (#27044) 2024-05-23 14:34:52 -04:00
Miguel de la Cruz
cd81b199b7 Cleans RemoteId when sanitizing post input from the API (#27049)
* Cleans RemoteId when sanitizing post input from the API

* Fix require check

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-05-23 14:29:19 +02:00
Devin Binnie
8f95656c8f [MM-55485] Ensure user added to channel receives websocket event regardless of channel membership info retrieved in HA (#27013)
* [MM-55485] Ensure user added to channel receives websocket event regardless of channel membership info retrieved in HA

* Testing to see if group messages are also affected

* Use context from master approach

* Hardcode to master to test

* Revert "Hardcode to master to test"

This reverts commit 50ef2baed1559861367d9c3b4cea74c21b4b9fd1.

* Revert "Use context from master approach"

This reverts commit 65d3584f83559554213cd9c726258d80775bc8bd.

* Remove group message changes, add comment

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-05-22 14:45:10 -04:00
Miguel de la Cruz
a4afae5b3b Adds RemoteId to the fields to clean when coming from the API (#27047)
* Cleans the RemoteId when creating a user through the API

* Replace bad usage of the API with an App call in tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-05-22 11:20:02 +02:00
Harrison Healey
441f5657c8 MM-57882 Add metric for the time it takes to open the Threads list (#26983)
* MM-57882 Add metric for the time it takes to open the Threads list

* Clean up mark because the starting mark may be missing

* Pass global threads load duration to Prometheus

* Update mocks
2024-05-21 18:04:12 -04:00
Doug Lauder
45e3b54b60 remove message payload from RemoteClusterFrame audit (#27048) 2024-05-21 15:51:10 -04:00
Doug Lauder
2fd5725c9f when receiving file attachments for shared channels, ensure attachments are enabled and file size does not exceed maximum configured for receiving server. (#27018) 2024-05-21 15:46:48 -04:00
Harrison Healey
b29c211ee2 MM-58303 Report client metrics to Prometheus in seconds (#27033) 2024-05-21 13:47:44 -04:00
Maria A Nunez
72fcedd23a Lower user limit soft warning to 5K (#27034)
Automatic Merge
2024-05-21 20:41:31 +03:00
Hosted Weblate
0bc66a88d1 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/
2024-05-20 18:11:30 +03:00
Tom De Moor
892f218ce6 Translated using Weblate (Dutch)
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nl/
2024-05-20 18:11:30 +03:00
Tom De Moor
35e392b1bb Translated using Weblate (Dutch)
Currently translated at 99.8% (2499 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nl/
2024-05-20 18:11:30 +03:00
jprusch
9b8a0b08b5 Translated using Weblate (German)
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/de/
2024-05-20 18:11:30 +03:00
Harshil Sharma
13d9a9b6cc Removed post limit warning banner (#27036)
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-05-20 09:13:16 +05:30
Harrison Healey
b9f7d38cb1 MM-58281 Change performance timestamps to be floats (#27046)
* MM-58281 Change performance timestamps to be floats

* Commit missed line
2024-05-17 13:52:03 -04:00
Christopher Poile
ada9c64658 prepackage calls v0.27.0 (#27031)
Automatic Merge
2024-05-17 17:41:30 +03:00
Devin Binnie
dad2cd6c27 Remove flaky test (#27041) 2024-05-17 13:48:36 +00:00
Harrison Healey
6cf93ea480 MM-58281 Allow client metrics to be floats and round timestamps (#27027)
* MM-58281 Allow client metrics to be floats and round timestamps

* MM-58281 Fix report version

* Ensure reports can contain a single timestamp

* Round timestamps in unit tests
2024-05-16 18:01:21 +00:00
Jesse Hallam
617053e206 configure Loki for local development (#26997)
* configure Loki for local development

Extend our docker compose setup to include Loki (along with promtail), scraping `logs/*.log` to ingest development logs as well as all logs from running containers.

While we're in here, teach Prometheus to scrape metrics from Docker containers too.

* tweak promtail labels

* document extra services in config.mk

* update home.json
2024-05-16 12:16:08 -03:00
Doug Lauder
65325a767c Use ConstantTimeCompare when comparing token. (#27007) 2024-05-16 08:26:04 -04:00
Doug Lauder
5a79565244 Check user belongs to remote when updating profile image (#27008) 2024-05-16 08:21:12 -04:00
Devin Binnie
7e797cea3b [MM-54757] Stop broadcasting channel_deleted/channel_restored messages from private channels to non-members (#27001)
* [MM-54757] Stop broadcasting channel_deleted/channel_restored messages from private channels to non-members

* Remove unnecessary return

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-05-15 17:18:05 -04:00
Harrison Healey
8f9d1b802c MM-58263 Remove CSRF check from /api/v4/client_perf (#27011)
We use navigator.sendBeacon to send the new metrics since it's recommended for that, but it doesn't let us set custom headers which means that we can't set the CSRF token header that we'd need to pass that check
2024-05-15 14:53:05 -04:00
Jesse Hallam
cd51dec6e5 Centralize the GetPackagePath (#27004) 2024-05-15 12:05:13 -03:00
Julien Tant
e96db725ea PluginAPI: add ability to retrieve users by ids (#26936)
* pluginapi: ability to retrieve users by ids

* fix test
2024-05-15 07:06:40 -07:00
MeHow25
298fd6e839 [MM-57877] Fix issue #26841 (#26956)
* Add new error message

* make i18n-extract

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
2024-05-13 19:55:12 +00:00
Devin Binnie
3fdf4fc63c Use GetMasterX() to ensure writeability for the RefreshPostStats job (#26986) 2024-05-13 08:55:21 -04:00
Weblate (bot)
838d5cd27d Translations update from Mattermost Weblate (#26995)
* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ja/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (5766 of 5766 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ja/

* Translated using Weblate (Polish)

Currently translated at 100.0% (2503 of 2503 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/

---------

Co-authored-by: kaakaa <stooner.hoe@gmail.com>
Co-authored-by: master7 <marcin.karkosz@rajska.info>
2024-05-13 12:47:24 +00:00
Jesse Hallam
630bd40141 Eliminate MM_SERVER_PATH (#24968) 2024-05-10 18:13:05 -03:00
Weblate (bot)
daf84488cc Translations update from Mattermost Weblate (#26960)
* Translated using Weblate (Russian)

Currently translated at 100.0% (2520 of 2520 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ru/

* Translated using Weblate (Russian)

Currently translated at 98.3% (5726 of 5825 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ru/

* Translated using Weblate (English (Australia))

Currently translated at 100.0% (2520 of 2520 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/en_AU/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (2520 of 2520 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/sv/

* Translated using Weblate (English (Australia))

Currently translated at 100.0% (5825 of 5825 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/en_AU/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (2520 of 2520 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/nl/

* Translated using Weblate (Dutch)

Currently translated at 99.9% (5822 of 5825 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/nl/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (2520 of 2520 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/ja/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (5825 of 5825 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/ja/

* Translated using Weblate (German)

Currently translated at 100.0% (2520 of 2520 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/de/

* Translated using Weblate (Polish)

Currently translated at 100.0% (2520 of 2520 strings)

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/pl/

* Translated using Weblate (German)

Currently translated at 100.0% (5825 of 5825 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/de/

* Translated using Weblate (Polish)

Currently translated at 100.0% (5825 of 5825 strings)

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/pl/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Mattermost/server
Translate-URL: https://translate.mattermost.com/projects/mattermost/server/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Mattermost/webapp
Translate-URL: https://translate.mattermost.com/projects/mattermost/webapp/

---------

Co-authored-by: Konstantin <eleferen@gmail.com>
Co-authored-by: Matthew Williams <Matthew.Williams@outlook.com.au>
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: kaakaa <stooner.hoe@gmail.com>
Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: master7 <marcin.karkosz@rajska.info>
2024-05-10 09:53:25 -03:00
Ibrahim Serdar Acikgoz
f0121d4f23 Change client metrics api path to client_perf (#26985) 2024-05-09 22:19:08 +02:00
Ibrahim Serdar Acikgoz
5590e1604a Add new Metrics API (#26919) 2024-05-09 20:49:02 +02:00
Harrison Healey
de3c7ad544 MM-57878 Add PerformanceReporter for clientside performance metrics (#26800)
* Define rough code for PerformanceReporter

* Create a component to manage the PerformanceReporter

* Start adding tests for PerformanceReporter

* Add test for web vitals reporting

* Update schema to more closely match the API spec

* Collect marks as counters and further update structure of API payload

* Add some outstanding TODOs about the API structure

* Add counter for long tasks

* Add EnableClientMetrics without any System Console UI

* Have PerformanceReporter use EnableClientMetrics

* Have the PerformanceReporter only report results when logged in

* Add test for having PerformanceReporter fall back to fetch

* Stop logging errors for measurements failing

* Remove buffered from observer

* Remove the Mystery Ampersand

* Still record marks with telemetry actions even if telemetry is disabled

* Add timestamps to performance reports

* Reuse the new telemetry code for the old telemetry

* The second half of the last commit

* Use Node performance libraries in all tests

* Set version of PerformanceReport

* Switch to the proper version of EnableClientMetrics

* Remove TODO for unneeded field

* Add user agent and platform detection

* Updated metrics API route
2024-05-09 12:50:52 -04:00