-
Notifications
You must be signed in to change notification settings - Fork 7.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes #17142
Conversation
…dshakes Our proxy configuration was historically incorrect, due to which a lot of customers have that in their setups. As a result, strictly following the websocket RFC results in a breaking change. For now, we transparently upgrade the version header to 1.1, if we detect 1.0. If a client was sending 1.0, it wouldn't have worked anyways because persistent connections were introduced from 1.1 onwards. https://mattermost.atlassian.net/browse/MM-33836 ```release-note WebSocket handshakes done with HTTP version lower than 1.1 will result in a warning, and the server will transparently upgrade the version to 1.1 to comply with the websocket RFC. This is done to work around incorrect nginx (and other proxy) configs that do not set the proxy_http_version directive to 1.1. This facility will be removed in a future Mattermost version and it is strongly recommended to fix the proxy configuration to correctly use the websocket protocol. ```
Tested locally with nginx and verified that it works correctly as expected. |
@agnivade Does this also mean that the breaking change doesn't have to be announced in the blog post / forum (e.g. this will now just be an upgrade note)? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome 👍
@amyblais - You are fast :) I was trying to find the PR that changed the release notes. Yes, we will need to take down the announcement made in the forum, and edit the release notes to remove the bit about the breaking change and change it to what is mentioned in this PR. Thank you for your patience, and sorry for the double work. |
/update-branch |
Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour. |
Cherry pick is scheduled. |
…dshakes (mattermost#17142) Our proxy configuration was historically incorrect, due to which a lot of customers have that in their setups. As a result, strictly following the websocket RFC results in a breaking change. For now, we transparently upgrade the version header to 1.1, if we detect 1.0. If a client was sending 1.0, it wouldn't have worked anyways because persistent connections were introduced from 1.1 onwards. https://mattermost.atlassian.net/browse/MM-33836 ```release-note WebSocket handshakes done with HTTP version lower than 1.1 will result in a warning, and the server will transparently upgrade the version to 1.1 to comply with the websocket RFC. This is done to work around incorrect nginx (and other proxy) configs that do not set the proxy_http_version directive to 1.1. This facility will be removed in a future Mattermost version and it is strongly recommended to fix the proxy configuration to correctly use the websocket protocol. ``` Co-authored-by: Mattermod <mattermod@users.noreply.github.com> (cherry picked from commit 4c5ea07)
/cherry-pick cloud |
Cherry pick is scheduled. |
…dshakes (mattermost#17142) Our proxy configuration was historically incorrect, due to which a lot of customers have that in their setups. As a result, strictly following the websocket RFC results in a breaking change. For now, we transparently upgrade the version header to 1.1, if we detect 1.0. If a client was sending 1.0, it wouldn't have worked anyways because persistent connections were introduced from 1.1 onwards. https://mattermost.atlassian.net/browse/MM-33836 ```release-note WebSocket handshakes done with HTTP version lower than 1.1 will result in a warning, and the server will transparently upgrade the version to 1.1 to comply with the websocket RFC. This is done to work around incorrect nginx (and other proxy) configs that do not set the proxy_http_version directive to 1.1. This facility will be removed in a future Mattermost version and it is strongly recommended to fix the proxy configuration to correctly use the websocket protocol. ``` Co-authored-by: Mattermod <mattermod@users.noreply.github.com> (cherry picked from commit 4c5ea07)
…server-mattermost#17142-upstream-release-5.33
…server-mattermost#17142-upstream-release-5.33
@agnivade @streamer45 I've updated the changelog and pushed an update to the upgrade notes in the v5.33-documentation branch. I've removed the forum post and the original breaking change note from the blog post. I'll post an update in the PM:GTM channel tomorrow. |
… fx-api * 'master' of github.com:mattermost/mattermost-server: (24 commits) MM-34124: Enable race tests on master branch (mattermost#17192) store/post: fix searching for phrases in postgres (mattermost#17042) MM-34080: Removing sqlite entirely (mattermost#17188) MM-34000: Use non-epoll mode for TLS connections (mattermost#17172) Disable unparam (mattermost#17167) Address outstanding merging issues with cloud branch (mattermost#17160) Making the posts tests a bit more robust (mattermost#17151) Mm 29605 read permission s3 bucket (mattermost#16977) [MM-33603] Fix nil dereference panic in (*App).CreatePost() (mattermost#17124) [MM-33498] - Correct Admin Console Reference (mattermost#17076) Improve file search results with postgres (mattermost#17112) Moving markdown to corelibs (mattermost#16916) MM-31396: Fix a possible deadlock with SidebarCategories (mattermost#17109) Bump Incident Collaboration plugin to v1.6.0 (mattermost#17143) unparam lint (mattermost#16927) MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes (mattermost#17142) update translation string id to be more descriptive (mattermost#17002) api4/user: add promte/demote uset to local router (mattermost#17036) MM-33789: Revert fallback to master for GetAllProfilesInChannel (mattermost#17119) MM-31054 demote user (mattermost#16990) ...
* Revert "MM-34000: Use non-epoll mode for TLS connections (#17172)" This reverts commit 2743089. * Revert "MM-33233: Fix double close of webconn pump (#17026)" This reverts commit 0f98620. * Revert "MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes (#17142)" This reverts commit 4c5ea07. * revert i18n * Revert "MM-21012: Revamp websocket implementation (#16620)" This reverts commit a246104. * fix go.mod * Trigger CI
* Revert "MM-34000: Use non-epoll mode for TLS connections (#17172)" This reverts commit 2743089. * Revert "MM-33233: Fix double close of webconn pump (#17026)" This reverts commit 0f98620. * Revert "MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes (#17142)" This reverts commit 4c5ea07. * revert i18n * Revert "MM-21012: Revamp websocket implementation (#16620)" This reverts commit a246104. * fix go.mod * Trigger CI
* revertws (#17216) * Revert "MM-34000: Use non-epoll mode for TLS connections (#17172)" This reverts commit 2743089. * Revert "MM-33233: Fix double close of webconn pump (#17026)" This reverts commit 0f98620. * Revert "MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes (#17142)" This reverts commit 4c5ea07. * revert i18n * Revert "MM-21012: Revamp websocket implementation (#16620)" This reverts commit a246104. * fix go.mod * Trigger CI * fixes
* Revert "MM-34000: Use non-epoll mode for TLS connections (mattermost#17172)" This reverts commit 2743089. * Revert "MM-33233: Fix double close of webconn pump (mattermost#17026)" This reverts commit 0f98620. * Revert "MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes (mattermost#17142)" This reverts commit 4c5ea07. * revert i18n * Revert "MM-21012: Revamp websocket implementation (mattermost#16620)" This reverts commit a246104. * fix go.mod * Trigger CI (cherry picked from commit aba6471)
* Revert "MM-34000: Use non-epoll mode for TLS connections (#17172)" This reverts commit 2743089. * Revert "MM-33233: Fix double close of webconn pump (#17026)" This reverts commit 0f98620. * Revert "MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes (#17142)" This reverts commit 4c5ea07. * revert i18n * Revert "MM-21012: Revamp websocket implementation (#16620)" This reverts commit a246104. * fix go.mod * Trigger CI
* revertws (#17216) * Revert "MM-34000: Use non-epoll mode for TLS connections (#17172)" This reverts commit 2743089. * Revert "MM-33233: Fix double close of webconn pump (#17026)" This reverts commit 0f98620. * Revert "MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes (#17142)" This reverts commit 4c5ea07. * revert i18n * Revert "MM-21012: Revamp websocket implementation (#16620)" This reverts commit a246104. * fix go.mod * Trigger CI * Trigger CI
* Translations update from Weblate (#17133) * Translated using Weblate (Swedish) Currently translated at 98.9% (2162 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 100.0% (2165 of 2165 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ * Translated using Weblate (Bulgarian) Currently translated at 100.0% (2165 of 2165 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2167 of 2167 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2167 of 2167 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Romanian) Currently translated at 98.5% (2154 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ro/ * Translated using Weblate (Korean) Currently translated at 83.8% (1832 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ko/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 97.7% (2137 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Turkish) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Bulgarian) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> Co-authored-by: Nikolai Zahariev <nikolaiz@yahoo.com> Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: Viorel-Cosmin Miron <cosmin@uhlhost.net> Co-authored-by: Ji-Hyeon Gim <potatogim@potatogim.net> Co-authored-by: aeomin <lin@aeomin.net> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> * Extracting mail service into shared libs (#17030) * Extracting mail service into shared libs * Fixing golangci-lint * MM-31054 demote user (#16990) * changing SchemeAdmin to false on demotion * Added test Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * MM-33789: Revert fallback to master for GetAllProfilesInChannel (#17119) * MM-33789: Revert fallback to master for GetAllProfilesInChannel This fixes a regression introduced in #16911. It was causing problems with too many invalidations and overloading the writer instance for big installations. Reverting this does not affect correctness at all because it was done out of abundance of caution and the idea at that point was it was to be done for all caches. https://mattermost.atlassian.net/browse/MM-33789 ```release-note NONE ``` * fix gofmt issues * api4/user: add promte/demote uset to local router (#17036) * update translation string id to be more descriptive (#17002) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes (#17142) Our proxy configuration was historically incorrect, due to which a lot of customers have that in their setups. As a result, strictly following the websocket RFC results in a breaking change. For now, we transparently upgrade the version header to 1.1, if we detect 1.0. If a client was sending 1.0, it wouldn't have worked anyways because persistent connections were introduced from 1.1 onwards. https://mattermost.atlassian.net/browse/MM-33836 ```release-note WebSocket handshakes done with HTTP version lower than 1.1 will result in a warning, and the server will transparently upgrade the version to 1.1 to comply with the websocket RFC. This is done to work around incorrect nginx (and other proxy) configs that do not set the proxy_http_version directive to 1.1. This facility will be removed in a future Mattermost version and it is strongly recommended to fix the proxy configuration to correctly use the websocket protocol. ``` Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * unparam lint (#16927) * fix "always receives ..." lint err * add unparam lint check * fix failed test * rm details param * ignore unparam lint * magic string replaced with model.NewRandomString * rm unused enableComplianceFeatures param * generate random message inside createPost Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Bump Incident Collaboration plugin to v1.6.0 (#17143) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * MM-31396: Fix a possible deadlock with SidebarCategories (#17109) This is a deadlock due to reversed locking order of the SidebarChannels and SidebarCategories table. I could not find the exact culprit query from the deadlock output because it only shows the last query a transaction is running. And from looking at the code, the only query that runs "UPDATE SidebarCategories SET DisplayName = ?, Sorting = ? WHERE Id = ?" is UpdateSidebarCategories. But for the deadlock to happen, it has to lock SidebarChannels _first_, and then _then_ lock SidebarCategories. Looking a bit more throughly, I found that DeleteSidebarCategory does indeed lock the tables in an inverse way and if DeleteSidebarCategory runs concurrently with UpdateSidebarCategories, they will deadlock. Here's how it will happen. ``` tx1 DELETE FROM SidebarChannels WHERE CategoryId = 'xx'; tx2 UPDATE SidebarCategories SET DisplayName='dn' WHERE Id='xx'; tx2 DELETE FROM SidebarChannels WHERE (ChannelId IN ('yy') AND CategoryId = 'xx'); tx1 DELETE FROM SidebarCategories WHERE Id = 'xx'; ``` And then we see: ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction To fix this, we simply reorder the Delete query to lock the SidebarCategories first, and then SidebarChannels. In fact, any transaction updating/deleting rows from those two tables should always operate on that order if possible. https://mattermost.atlassian.net/browse/MM-31396 ```release-note Fixed a database deadlock that can happen if a sidebar category is updated and deleted at the same time. ``` * Moving markdown to corelibs (#16916) * Moving markdown to corelibs * Fix golangci-lint problem * Renaming corelibs to pkg * Fixing golangci-lint * Renaming from pkg to shared * Fixing gofmt Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Improve file search results with postgres (#17112) * Improve file search results with postgres * Adding channel id to search results * Fixing file info saves * [MM-33498] - Correct Admin Console Reference (#17076) * [MM-33498] - Correct Admin Console Reference * Fix translations * Fix translations Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * [MM-33603] Fix nil dereference panic in (*App).CreatePost() (#17124) * Fix possible nil dereference * fixed nil dereference for unfollowed thread Co-authored-by: Eli Yukelzon <reflog@gmail.com> Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Mm 29605 read permission s3 bucket (#16977) Automatic Merge * Making the posts tests a bit more robust (#17151) * Address outstanding merging issues with cloud branch (#17160) * Disable unparam (#17167) Automatic Merge * MM-34000: Use non-epoll mode for TLS connections (#17172) * MM-34000: Use non-epoll mode for TLS connections A *crypto/tls.Conn does not expose the underlying TCP connection or even a File method to get the underlying file descriptor like the way a *net/TCPConn does. Therefore the netpoll code would fail to get the file descriptor. Relevant issue here: mailru/easygo#3 It is indeed possible to use reflect black magic to get the unexported member, but I have found unexpected errors during writing to the websocket by getting the file descriptor this way. I do not want to spend time investigating this especially since this is already released. Once this is out, we can decide on the right way to fix this, most probably by proposing to expose the File method or some other way. https://mattermost.atlassian.net/browse/MM-34000 ```release-note Fix an issue where websockets wouldn't work with TLS connections. In that case, we just fall back to the way it works for Windows machines, which is to use a separate goroutine for reader connection. ``` * Ignore logging errors on non-epoll On non-epoll systems, we needed to return an error to break from the loop. But in that case, there is no need to log the error * MM-34080: Removing sqlite entirely (#17188) * MM-34080: Removing sqlite entirely The initial commit missed removing this blank import. So the library still remained in our vendor directory. Removing it for good now. Bye bye sqlite. https://mattermost.atlassian.net/browse/MM-34080 * fix go.mod * store/post: fix searching for phrases in postgres (#17042) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * MM-34124: Enable race tests on master branch (#17192) Automatic Merge * Bump version (#17195) Co-authored-by: Mmbot <mmbot@mattermost> * Makefile: Refactor test-server-race (#17196) test-server-race wasn't using the same set of steps that the test-server step did. Therefore one test was failing. Refactored it such that scripts/test.sh can be used to run normal and race tests as well ```release-note NONE ``` * MM-28090 User settings api when ldap sync (#16822) Automatic Merge * MM-29607 allow user to deactivate MFA even when disabled (#16994) Automatic Merge * Fix initialism errors (PR-3) (#17062) * Fix initialism errors * Revert some changes and regenerate file * Update client4.go * Update group_test.go Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * [MM-34129] - Cloud 'Congratulations!' email format broken (#17198) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Revert "Fix initialism errors (PR-3) (#17062)" (#17202) This reverts commit ea61458. This was causing panic in the plugins because the client and the plugin API changed with this PR * MM-33544 is_following prop in getPosts API methods (#17093) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Translations update from Weblate (#17191) * Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Turkish) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Japanese) Currently translated at 98.5% (2155 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/ * Translated using Weblate (French) Currently translated at 83.8% (1833 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fr/ * Translated using Weblate (French) Currently translated at 83.9% (1836 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fr/ * Translated using Weblate (Spanish) Currently translated at 93.5% (2044 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/es/ * Translated using Weblate (Russian) Currently translated at 95.1% (2080 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ * Translated using Weblate (Swedish) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ * Translated using Weblate (French) Currently translated at 84.0% (1837 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fr/ * Translated using Weblate (Russian) Currently translated at 95.1% (2080 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> Co-authored-by: kaakaa <stooner.hoe@gmail.com> Co-authored-by: Pierre JENICOT <pierre.jenicot@ac-lille.fr> Co-authored-by: Cyril LD <c.laguilhon.debat@petitclou.de> Co-authored-by: jesus.espino <jesus@mattermost.com> Co-authored-by: Edward Smirnov <ed@microolap.com> Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> Co-authored-by: Elisabeth Kulzer <elisabeth.kulzer@mattermost.com> Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Split CWS url in two: public and API (#17100) Signed-off-by: Mario de Frutos <mario@defrutos.org> Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Stop trying to build mattermost-redux in CI (#17206) * [MM-33794] Improve password generation during bulk import (#17147) Automatic Merge * revertws (#17216) * Revert "MM-34000: Use non-epoll mode for TLS connections (#17172)" This reverts commit 2743089. * Revert "MM-33233: Fix double close of webconn pump (#17026)" This reverts commit 0f98620. * Revert "MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes (#17142)" This reverts commit 4c5ea07. * revert i18n * Revert "MM-21012: Revamp websocket implementation (#16620)" This reverts commit a246104. * fix go.mod * Trigger CI * [MM-34166] Fix Flaky Test TestGenerateSupportPacket (#17207) * fix flaky tests * Revert "fix flaky tests" This reverts commit 255ce27. * Fix flaky test * Fix equal * MM-33893: Disable TCP_NO_DELAY for websocket connections (#17129) * MM-33893: Disable TCP_NO_DELAY for websocket connections In very large installations, websocket messages cause too much traffic congestion by sending too small packets and thereby cause a drop in throughput. To counter this, we disable the TCP_NO_DELAY flag for websocket connections. This has shown to give noticeable improvements in load tests. We wrap this in a feature flag for now to let it soak in Community first. ```release-note NONE ``` https://mattermost.atlassian.net/browse/MM-33893 * fix gorilla specific conn * MM-34171: Fix racy test TestSentry (#17215) * MM-34171: Fix racy test TestSentry The NewServer call sets the global mlog Info variable. But before that, if we call UpdateConfig with the functional options, then the store.Set method will call mlog.Info before it could be set. To fix that, we prepare the updated config and pass that directly to NewServer to avoid having to call UpdateConfig. https://mattermost.atlassian.net/browse/MM-34171 ```release-note NONE ``` * disable watcher * Trying yet again Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * app/slashcommands/command_loadtest: fix decoding error (#17199) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * MM-33945: Update dependencies (#17201) * MM-33945: Update dependencies Ran `make update-dependencies` https://mattermost.atlassian.net/browse/MM-33945 ```release-notes NONE ``` * fix test * Update to correct mailing address in outgoing server and portal email (#17223) * Update cloud_welcome_email.html * Update en.json * Prevent User.Timezone field to overflow DB column capacity (#17220) * MM-34086: Skippping TestStartServerTLSOverwriteCipher (#17225) https://mattermost.atlassian.net/browse/MM-34086 ```release-note NONE ``` * MM-34271: Skip test TestLoggingAfterInitialized (#17226) https://mattermost.atlassian.net/browse/MM-34271 ```release-note NONE ``` Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Upgrade db and version (#17230) * [MM-34164] Fix flaky TestS3FileBackend (#17229) * Fix flaky test * Disable dumping data on error * [MM-33640] storetest/team_store: use NewTestId for fields like names etc. (#17204) * storetest/team_store: use NewTestId for fields like names etc. * reflect review comments * fix tests * we love good old C * remove rand * [MM-32822] Improve JobServer state handling (#16959) Automatic Merge * Remove server from WebsocketRouter (#17238) App contains server. Server contains WebsocketRouter. There is no need for WebsocketRouter to contain server too. As is evident because the code never used it. ```release-note NONE ``` * pre-package Incident Collaboration v1.7.0 (#17234) * MM-33402: Invalidated the LRU cache for channel members after moderat… (#17171) * MM-33402: Invalidated the LRU cache for channel members after moderation changes. * MM-33402: Handles cache invalidation error. * Revert "MM-33402: Handles cache invalidation error." This reverts commit 2d30d24. * MM-33402: Un-exports method. * MM-33402: Removes log warning from previous code use. * MM-33402: Handles possible (store.ChannelStore).GetMembers error. Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * MM-27380 Move collapsed categories to server (#17194) * Translations update from Weblate (#17298) * Added translation using Weblate (English (Australia)) * Translated using Weblate (English (Australia)) Currently translated at 100.0% (2189 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/en_AU/ * Translated using Weblate (Russian) Currently translated at 99.8% (2187 of 2190 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Translated using Weblate (Russian) Currently translated at 100.0% (2189 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Translated using Weblate (Russian) Currently translated at 98.4% (2156 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2190 of 2190 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2189 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 99.3% (2175 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (English (Australia)) Currently translated at 100.0% (2190 of 2190 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/en_AU/ Translated using Weblate (English (Australia)) Currently translated at 100.0% (2189 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/en_AU/ * Translated using Weblate (Turkish) Currently translated at 100.0% (2190 of 2190 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ Translated using Weblate (Turkish) Currently translated at 100.0% (2189 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Korean) Currently translated at 84.6% (1854 of 2190 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ko/ * Deleted translation using Weblate (English (Australia)) * Translated using Weblate (Swedish) Currently translated at 100.0% (2191 of 2191 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Co-authored-by: Matthew Williams <en_AU@controlaltdieliet.be> Co-authored-by: Edward Smirnov <ed@microolap.com> Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: aeomin <lin@aeomin.net> Co-authored-by: Matthew Williams <Matthew.Williams@outlook.com.au> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> Co-authored-by: teamzamong <heekang@korea.ac.kr> Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> * fix race in unit test re logging (#17235) * Add feature flag for apps (#16851) * Add feature flag for apps * Update default to false * Add plugin version Feature Flag * Fix typo * Only force shutdown, and leave the enable status dependant on the user (defaulting to enable) * Remove unneeded tracking of status * Handle plugin init on startup for locally installed plugin * MM-33818: Add replica lag metric (#17148) * MM-33818: Add replica lag metric We add two new metrics for monitoring replica lag: - Monitor absolute lag based on binlog distance/transaction queue length. - Monitor time taken for the replica to catch up. To achieve this, we add a config setting to run a user defined SQL query on the database. We need to specify a separate datasource field as part of the config because in some databases, querying the replica lag value requires elevated credentials which are not needed for usual running of the application, and can even be a security risk. Arguably, a peculiar part of the design is the requirement of the query output to be in a (node, value) format. But since from the application, the SQL query is a black box and the user can set any query they want, we cannot, in any way templatize this. And as an extra note, freno also does it in a similar way. The last bit is because we need to have a separate datasources, now we consume one extra connection rather than sharing it with the pool. This is an unfortunate result of the design, and while one extra connection doesn't make much of a difference in a single-tenant scenario. It does make so, in a multi-tenant scenario. But in a multi-tenant scenario, the expectation would already be to use a connection pool. So this is not a big concern. https://mattermost.atlassian.net/browse/MM-33818 ```release-note Two new gauge metrics were added: mattermost_db_replica_lag_abs and mattermost_db_replica_lag_time, both containing a label of "node", signifying which db host is the metric from. These metrics signify the replica lag in absolute terms and in the time dimension capturing the whole picture of replica lag. To use these metrics, a separate config section ReplicaLagSettings was added under SqlSettings. This is an array of maps which contain three keys: DataSource, QueryAbsoluteLag, and QueryTimeLag. Each map entry is for a single replica instance. DataSource contains the DB credentials to connect to the replica instance. QueryAbsoluteLag is a plain SQL query that must return a single row of which the first column must be the node value of the Prometheus metric, and the second column must be the value of the lag. QueryTimeLag is the same as above, but used to measure the time lag. As an example, for AWS Aurora instances, the QueryAbsoluteLag can be: select server_id, highest_lsn_rcvd-durable_lsn as bindiff from aurora_global_db_instance_status() where server_id=<> and QueryTimeLag can be: select server_id, visibility_lag_in_msec from aurora_global_db_instance_status() where server_id=<> For MySQL Group Replication, the absolute lag can be measured from the number of pending transactions in the applier queue: select member_id, count_transaction_remote_in_applier_queue FROM performance_schema.replication_group_member_stats where member_id=<> Overall, what query to choose is left to the administrator, and depending on the database and need, an appropriate query can be chosen. ``` * Trigger CI * Fix tests * address review comments * Remove t.Parallel It was spawning too many connections, and overloading the docker container. Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Update PULL_REQUEST_TEMPLATE.md (#17208) Automatic Merge * MM-32882: Add an unread badge/marker to the Main Menu icon and the ‘Plugin Marketplace’ Menu Item (#16992) * Fix lint issue * Fix typo Co-authored-by: Weblate (bot) <hosted@weblate.org> Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> Co-authored-by: Nikolai Zahariev <nikolaiz@yahoo.com> Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: Viorel-Cosmin Miron <cosmin@uhlhost.net> Co-authored-by: Ji-Hyeon Gim <potatogim@potatogim.net> Co-authored-by: aeomin <lin@aeomin.net> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> Co-authored-by: Jesús Espino <jespinog@gmail.com> Co-authored-by: Anurag Shivarathri <anurag6713@gmail.com> Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in> Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com> Co-authored-by: Mahmudul Haque <mahmudulhaque@protonmail.com> Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com> Co-authored-by: Allan Guwatudde <guwats10@gmail.com> Co-authored-by: Claudio Costa <cstcld91@gmail.com> Co-authored-by: Eli Yukelzon <reflog@gmail.com> Co-authored-by: Max Erenberg <max.erenberg@mattermost.com> Co-authored-by: Mattermost Build <build@mattermost.com> Co-authored-by: Mmbot <mmbot@mattermost> Co-authored-by: Haardik Dharma <dharmahaardik08@gmail.com> Co-authored-by: Mario de Frutos Dieguez <mario@defrutos.org> Co-authored-by: kaakaa <stooner.hoe@gmail.com> Co-authored-by: Pierre JENICOT <pierre.jenicot@ac-lille.fr> Co-authored-by: Cyril LD <c.laguilhon.debat@petitclou.de> Co-authored-by: jesus.espino <jesus@mattermost.com> Co-authored-by: Edward Smirnov <ed@microolap.com> Co-authored-by: Elisabeth Kulzer <elisabeth.kulzer@mattermost.com> Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com> Co-authored-by: Hossein <hahmadia@users.noreply.github.com> Co-authored-by: Jason Blais <13119842+jasonblais@users.noreply.github.com> Co-authored-by: Elisabeth Kulzer <elikul@elikul.de> Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com> Co-authored-by: Martin Kraft <martinkraft@gmail.com> Co-authored-by: Matthew Williams <en_AU@controlaltdieliet.be> Co-authored-by: Matthew Williams <Matthew.Williams@outlook.com.au> Co-authored-by: teamzamong <heekang@korea.ac.kr> Co-authored-by: Doug Lauder <wiggin77@warpmail.net> Co-authored-by: Daniel Espino García <larkox@gmail.com> Co-authored-by: Amy Blais <amy_blais@hotmail.com> Co-authored-by: catalintomai <56169943+catalintomai@users.noreply.github.com>
* Revert "MM-24530-Add support for search terms with underscore using postgresql engine (#16618)" (#16950) (#16956) This reverts commit ba3b788e46f98e2c2d7976d8d264a364676c9b2b. (cherry picked from commit 9992a27a907ba5472ff738b54131013689605c6c) Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in> * update incident-collaboration to 1.4.0 (#16920) (#16955) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> (cherry picked from commit 58b3e8d92d2387b12a0c05c5476aab20d9bd9fd3) Co-authored-by: Christopher Poile <cpoile@gmail.com> * Custom status feature (#16835) (#16976) * Create the system console setting and send to webapp * MI-1145: Add custom status APIs * MI-1145 Add slash commands to set and clear status * Add validation for custom status API * Trim custom status message * Code refactoring - Run gofmt - Rename constants * Remove sendUserUpdated webhook event * Fix recent custom status length * Update error conditions * Disable /status slash command when config setting is off * MI-1155: Create the feature flag for custom status APIs and slash commands * Move recent custom statuses to user preferences (#7) * Move recent custom statuses to user preferences * Code refactoring and feedback changes * Update slash command text and emoji regex * Make the custom status feature flag off by default * Update SetCustomStatus, handle recents not set better * Update status codes * Update slash command handling * Add telementry settings * Fix i18n order * Revert "Fix i18n order" This reverts commit 499f7eaca8180336f5bcca360cc0133365899e08. * Update i18n strings (cherry picked from commit 7585e16d844d197f12079ff46bcbd0f78d7a698a) Co-authored-by: Chetanya Kandhari <chetanya.kandhari@brightscout.com> * Translations update from Weblate (#16996) * Translated using Weblate (Dutch) Currently translated at 100.0% (2138 of 2138 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2138 of 2138 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2132 of 2132 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (German) Currently translated at 82.5% (1770 of 2144 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/de/ Translated using Weblate (Romanian) Currently translated at 100.0% (2132 of 2132 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ro/ * Translated using Weblate (Bulgarian) Currently translated at 100.0% (2144 of 2144 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ Translated using Weblate (Bulgarian) Currently translated at 100.0% (2138 of 2138 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ * Translated using Weblate (Turkish) Currently translated at 100.0% (2138 of 2138 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Swedish) Currently translated at 100.0% (2144 of 2144 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 99.9% (2142 of 2144 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 99.4% (2133 of 2144 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2147 of 2147 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 97.8% (2101 of 2147 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/pt_BR/ Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: Viorel-Cosmin Miron <cosmin@uhlhost.net> Co-authored-by: Nikolai Zahariev <nikolaiz@yahoo.com> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> Co-authored-by: majo <martinjohnson@bahnhof.se> Co-authored-by: rodrigocorsi <rodrigocorsi@gmail.com> * Translations update from Weblate (#17033) * Translated using Weblate (Japanese) Currently translated at 100.0% (2147 of 2147 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2163 of 2163 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2149 of 2149 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2148 of 2148 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2147 of 2147 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Turkish) Currently translated at 99.4% (2152 of 2163 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ Translated using Weblate (Turkish) Currently translated at 100.0% (2147 of 2147 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (2147 of 2147 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/ * Translated using Weblate (Swedish) Currently translated at 100.0% (2163 of 2163 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 99.2% (2147 of 2163 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 99.0% (2143 of 2163 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 100.0% (2149 of 2149 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 100.0% (2147 of 2147 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ * Translated using Weblate (Bulgarian) Currently translated at 100.0% (2149 of 2149 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ Translated using Weblate (Bulgarian) Currently translated at 100.0% (2147 of 2147 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Romanian) Currently translated at 100.0% (2149 of 2149 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ro/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2163 of 2163 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (German) Currently translated at 81.5% (1764 of 2163 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/de/ Co-authored-by: kaakaa <stooner.hoe@gmail.com> Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> Co-authored-by: aeomin <lin@aeomin.net> Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> Co-authored-by: Nikolai Zahariev <nikolaiz@yahoo.com> Co-authored-by: Viorel-Cosmin Miron <cosmin@uhlhost.net> Co-authored-by: Friederike J <friederike.jolk@cambio-carsharing.com> * Solve conflicts Signed-off-by: Mario de Frutos <mario@defrutos.org> * Solve conflicts Signed-off-by: Mario de Frutos <mario@defrutos.org> * Fix blank invite email (#17065) (#17094) * Fix blank invite email * Some small improvements * Another small fix Co-authored-by: Mattermod <mattermod@users.noreply.github.com> (cherry picked from commit 31f3edf1d9e19c77915ff6d3431964c1cef549cf) Co-authored-by: Jesús Espino <jespinog@gmail.com> * Translations update from Weblate (#17081) * Translated using Weblate (Romanian) Currently translated at 100.0% (2163 of 2163 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ro/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (2163 of 2163 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/pt_BR/ * Translated using Weblate (Bulgarian) Currently translated at 99.3% (2148 of 2163 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ Translated using Weblate (Bulgarian) Currently translated at 99.2% (2147 of 2163 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Bulgarian) Currently translated at 100.0% (2164 of 2164 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Japanese) Currently translated at 100.0% (2164 of 2164 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2164 of 2164 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Swedish) Currently translated at 100.0% (2164 of 2164 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Co-authored-by: Viorel-Cosmin Miron <cosmin@uhlhost.net> Co-authored-by: rodrigocorsi <rodrigocorsi@gmail.com> Co-authored-by: Nikolai Zahariev <nikolaiz@yahoo.com> Co-authored-by: kaakaa <stooner.hoe@gmail.com> Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> * Fix migrations code Signed-off-by: Mario de Frutos <mario@defrutos.org> * Add missiong db migration for version 5.29.1 Signed-off-by: Mario de Frutos <mario@defrutos.org> * [GH-15906][MM-22844] Redesign reset password and invite emails (#17029) (#17132) Automatic Merge (cherry picked from commit 41ab05ca6637a2eb799ec13ef177b6954098fece) Co-authored-by: Jyoti Patel <36148363+jp0707@users.noreply.github.com> * Fix db upgrade conflict Signed-off-by: Mario de Frutos <mario@defrutos.org> * Fix app email conflict Signed-off-by: Mario de Frutos <mario@defrutos.org> * Revert DB migration removal applied to installations Signed-off-by: Mario de Frutos <mario@defrutos.org> * Translations update from Weblate (#17133) * Translated using Weblate (Swedish) Currently translated at 98.9% (2162 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 100.0% (2165 of 2165 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ * Translated using Weblate (Bulgarian) Currently translated at 100.0% (2165 of 2165 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2167 of 2167 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2167 of 2167 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Romanian) Currently translated at 98.5% (2154 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ro/ * Translated using Weblate (Korean) Currently translated at 83.8% (1832 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ko/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 97.7% (2137 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Turkish) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Bulgarian) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> Co-authored-by: Nikolai Zahariev <nikolaiz@yahoo.com> Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: Viorel-Cosmin Miron <cosmin@uhlhost.net> Co-authored-by: Ji-Hyeon Gim <potatogim@potatogim.net> Co-authored-by: aeomin <lin@aeomin.net> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> * Fix bug with DB upgrade Signed-off-by: Mario de Frutos <mario@defrutos.org> * Fix bug with DB upgrade Signed-off-by: Mario de Frutos <mario@defrutos.org> * Translations update from Weblate (#17133) (#17135) * Translated using Weblate (Swedish) Currently translated at 98.9% (2162 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 100.0% (2165 of 2165 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ * Translated using Weblate (Bulgarian) Currently translated at 100.0% (2165 of 2165 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2167 of 2167 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2167 of 2167 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Romanian) Currently translated at 98.5% (2154 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ro/ * Translated using Weblate (Korean) Currently translated at 83.8% (1832 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ko/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 97.7% (2137 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Turkish) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Bulgarian) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> Co-authored-by: Nikolai Zahariev <nikolaiz@yahoo.com> Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: Viorel-Cosmin Miron <cosmin@uhlhost.net> Co-authored-by: Ji-Hyeon Gim <potatogim@potatogim.net> Co-authored-by: aeomin <lin@aeomin.net> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> (cherry picked from commit 027413aebdbdf8b3e4e1d827107a4d4282955b69) Co-authored-by: Weblate (bot) <hosted@weblate.org> * MM-33789: Revert fallback to master for GetAllProfilesInChannel (#17119) (#17139) Automatic Merge * MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes (#17142) (#17146) Automatic Merge * MM-34000: Use non-epoll mode for TLS connections (#17172) (#17180) Automatic Merge * Automated cherry pick of #17198 (#17200) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Allan Guwatudde <guwats10@gmail.com> * Translations update from Weblate (#17191) * Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Turkish) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Japanese) Currently translated at 98.5% (2155 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/ * Translated using Weblate (French) Currently translated at 83.8% (1833 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fr/ * Translated using Weblate (French) Currently translated at 83.9% (1836 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fr/ * Translated using Weblate (Spanish) Currently translated at 93.5% (2044 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/es/ * Translated using Weblate (Russian) Currently translated at 95.1% (2080 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ * Translated using Weblate (Swedish) Currently translated at 100.0% (2186 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ * Translated using Weblate (French) Currently translated at 84.0% (1837 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fr/ * Translated using Weblate (Russian) Currently translated at 95.1% (2080 of 2186 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> Co-authored-by: kaakaa <stooner.hoe@gmail.com> Co-authored-by: Pierre JENICOT <pierre.jenicot@ac-lille.fr> Co-authored-by: Cyril LD <c.laguilhon.debat@petitclou.de> Co-authored-by: jesus.espino <jesus@mattermost.com> Co-authored-by: Edward Smirnov <ed@microolap.com> Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> Co-authored-by: Elisabeth Kulzer <elisabeth.kulzer@mattermost.com> Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Translations update from Weblate (#17298) * Added translation using Weblate (English (Australia)) * Translated using Weblate (English (Australia)) Currently translated at 100.0% (2189 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/en_AU/ * Translated using Weblate (Russian) Currently translated at 99.8% (2187 of 2190 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Translated using Weblate (Russian) Currently translated at 100.0% (2189 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Translated using Weblate (Russian) Currently translated at 98.4% (2156 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2190 of 2190 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2189 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 99.3% (2175 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (English (Australia)) Currently translated at 100.0% (2190 of 2190 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/en_AU/ Translated using Weblate (English (Australia)) Currently translated at 100.0% (2189 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/en_AU/ * Translated using Weblate (Turkish) Currently translated at 100.0% (2190 of 2190 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ Translated using Weblate (Turkish) Currently translated at 100.0% (2189 of 2189 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Korean) Currently translated at 84.6% (1854 of 2190 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ko/ * Deleted translation using Weblate (English (Australia)) * Translated using Weblate (Swedish) Currently translated at 100.0% (2191 of 2191 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Co-authored-by: Matthew Williams <en_AU@controlaltdieliet.be> Co-authored-by: Edward Smirnov <ed@microolap.com> Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: aeomin <lin@aeomin.net> Co-authored-by: Matthew Williams <Matthew.Williams@outlook.com.au> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> Co-authored-by: teamzamong <heekang@korea.ac.kr> Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> * Fix lint issue * Fix typo * Automated cherry pick of #17113 (#17314) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> (cherry picked from commit 489eaa4605d19929dfe46600e1be1465eb872b46) Co-authored-by: Allan Guwatudde <guwats10@gmail.com> * Translations update from Weblate (#17334) * Translated using Weblate (Russian) Currently translated at 100.0% (2299 of 2299 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Translated using Weblate (Russian) Currently translated at 97.8% (2249 of 2299 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Translated using Weblate (Russian) Currently translated at 100.0% (2194 of 2194 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Translated using Weblate (Russian) Currently translated at 100.0% (2192 of 2192 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ * Translated using Weblate (Turkish) Currently translated at 100.0% (2194 of 2194 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 99.7% (2188 of 2194 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/zh_Hans/ * Translated using Weblate (French) Currently translated at 85.1% (1869 of 2194 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fr/ * Translated using Weblate (Russian) Currently translated at 100.0% (2194 of 2194 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ * Translated using Weblate (Dutch) Currently translated at 95.6% (2198 of 2299 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2194 of 2194 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Russian) Currently translated at 100.0% (2299 of 2299 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Co-authored-by: Edward Smirnov <ed@microolap.com> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> Co-authored-by: aeomin <lin@aeomin.net> Co-authored-by: Pierre JENICOT <pierre.jenicot@ac-lille.fr> Co-authored-by: jesus.espino <jesus@mattermost.com> Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: Elisabeth Kulzer <elisabeth.kulzer@mattermost.com> * Automated cherry pick of #17338 (#17344) (cherry picked from commit ec5f099313624dc346f3f16a9791feca04ebf3fa) Co-authored-by: Allan Guwatudde <guwats10@gmail.com> * Automated cherry pick of #17306 (#17324) * [MM-34179] app: move cluster registeration to server creation (#17306) * app: move cluster registeration to server creation * initserver via fakeapp * reflect review comments (cherry picked from commit e13d85d8c7fa98e1f25052e6d3de8d94c16853b7) * Update config.yml * Update config.yml Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com> Co-authored-by: Elisabeth Kulzer <elikul@elikul.de> * Automated cherry pick of #17321 (#17326) * [MM-34557] commands/server_test: add skip (#17321) * commands/server_test: disable plugins for test (was causing a data race) * add skip app init * skip tests * add skip linter (cherry picked from commit 9897d4651af329a1d0268b767570256bc78b8dfd) * Update config.yml * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com> Co-authored-by: Elisabeth Kulzer <elikul@elikul.de> * Upgrade for cloud branch Signed-off-by: Mario de Frutos <mario@defrutos.org> * Upgrade for cloud branch Signed-off-by: Mario de Frutos <mario@defrutos.org> * Start using 5.35.0 database schema Signed-off-by: Mario de Frutos <mario@defrutos.org> * Fix upgrade tests Signed-off-by: Mario de Frutos <mario@defrutos.org> * Comment skipped test logic to avoid golint failure Signed-off-by: Mario de Frutos <mario@defrutos.org> * Improve msgroot query Signed-off-by: Mario de Frutos <mario@defrutos.org> * MM-32133 shared channel username collisions (#17347) (#17399) Support for handling username collisions between remote clusters. Users belonging to remote clusters have their username changed to include the remote name e.g. wiggin becomes wiggin:mattermost. @mentions are also modified so the munged username is replaced with the original username when the post is sync'd with the remote the user belongs to. When adding remote users: - append the remote name to the username with colon separator - append the remote name to the email address with colon separator - store the original username and email address in user props - when resolving @mentions replace with the stored original username (cherry picked from commit f69cb38249afab1dda66e5ec79a0c32001b57b0a) Co-authored-by: Doug Lauder <wiggin77@warpmail.net> * Translations update from Weblate (#17381) (#17383) * Translated using Weblate (Dutch) Currently translated at 99.2% (2284 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 99.3% (2285 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Update translation files Updated by "Remove blank strings" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 99.3% (2287 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/pt_BR/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 96.0% (2211 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/pt_BR/ * Translated using Weblate (Swedish) Currently translated at 100.0% (2303 of 2303 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 99.9% (2301 of 2303 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 98.0% (2255 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 96.7% (2226 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ * Translated using Weblate (Romanian) Currently translated at 100.0% (2301 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ro/ Translated using Weblate (Romanian) Currently translated at 94.7% (2181 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ro/ * Translated using Weblate (Spanish) Currently translated at 88.8% (2045 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/es/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2303 of 2303 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2301 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 99.3% (2287 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Russian) Currently translated at 100.0% (2303 of 2303 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Translated using Weblate (Russian) Currently translated at 100.0% (2301 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ * Translated using Weblate (Turkish) Currently translated at 95.6% (2201 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Japanese) Currently translated at 100.0% (2303 of 2303 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/ Translated using Weblate (Japanese) Currently translated at 100.0% (2301 of 2301 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ja/ * Translated using Weblate (French) Currently translated at 82.1% (1892 of 2303 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/fr/ * Translated using Weblate (Turkish) Currently translated at 97.9% (2255 of 2303 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Bulgarian) Currently translated at 94.9% (2186 of 2303 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/bg/ Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: rodrigocorsi <rodrigocorsi@gmail.com> Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> Co-authored-by: Viorel-Cosmin Miron <cosmin@uhlhost.net> Co-authored-by: Elias Nahum <elias@mattermost.com> Co-authored-by: Edward Smirnov <ed@microolap.com> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> Co-authored-by: kaakaa <stooner.hoe@gmail.com> Co-authored-by: William Farelly <wfarelly@orange.fr> Co-authored-by: Nikolai Zahariev <nikolaiz@yahoo.com> Co-authored-by: Weblate (bot) <hosted@weblate.org> Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: rodrigocorsi <rodrigocorsi@gmail.com> Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> Co-authored-by: Viorel-Cosmin Miron <cosmin@uhlhost.net> Co-authored-by: Elias Nahum <elias@mattermost.com> Co-authored-by: Edward Smirnov <ed@microolap.com> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> Co-authored-by: kaakaa <stooner.hoe@gmail.com> Co-authored-by: William Farelly <wfarelly@orange.fr> Co-authored-by: Nikolai Zahariev <nikolaiz@yahoo.com> * [MM-31899] Use a custom user-agent when previewing links (#17186) (#17394) * Use a custom user-agent when previewing links Many websites block requests made with Go's default user-agent. We had previous special-cased Twitter links to use a nonstandard user-agent. This makes that behavior apply everywhere and also customizes the user-agent to belong specifically to Mattermost. * Correctly use custom transport for link previews This allows us to use the custom user-agent defined in services/httpservice/client.go. * Stop leaking server version in custom user-agent Since the custom user-agent is now used when previewing links, exposing the server version could provide a vector for a malicious actor to gather information about private deployments. To avoid this, we switch to a generic string. * Remove extraneous Transport creation MakeClient already creates a transport for us, so this is unnecessary. Co-authored-by: Mattermod <mattermod@users.noreply.github.com> (cherry picked from commit 17a7d5ce296cd4c63fa3e51630f13277573fbd7a) Co-authored-by: Eli Young <elyscape@gmail.com> * Automated cherry pick of #17397 (#17402) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Nick Misasi <nick.misasi@mattermost.com> Co-authored-by: Allan Guwatudde <guwats10@gmail.com> Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com> * [MM-34240] - Cloud: "Congratulations" welcome email missing images (#17350) (#17411) Automatic Merge * Fix problem with nulls in file infos content field (#17404) (#17423) * Hotfix add multistatements param on mysql url (#17429) Co-authored-by: John Tzikas <john.tzikas@mattermost.com> * Fix 5.32 migration (#17414) * [MM-34919] Use Mattermost-Plugin-ID header to pass ID in inter-plugin requests (#17418) (#17443) (cherry picked from commit 730dc6b98569c072aaee9324e58e790973690d2d) Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com> * MM-34983: Remove check for number of data sources (#17431) (#17446) Automatic Merge * Add doc extraction dependencies (#17403) (#17449) Automatic Merge (cherry picked from commit d2ed053b6b2162cb8721df970d24ac2578a9bc65) Co-authored-by: Jesús Espino <jespinog@gmail.com> * Remove the Remove System Permissions (#17401) (#17451) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> (cherry picked from commit 93c8c6e9d85cd87e0113294ae2272a518c5fc2e5) Co-authored-by: Hossein <hahmadia@users.noreply.github.com> * #MM-34893 Completely disabled Admin Advisor (#17422) (#17454) Automatic Merge * [MM-13799] Avoid queries timing out during upgrade (#17444) (#17453) * Avoid timing out during upgrade * Update gorp dep Co-authored-by: Mattermod <mattermod@users.noreply.github.com> (cherry picked from commit 39843810117d8a5fb3c93a0bce50076995ecade5) * Fixing problem with read-replica on indexing files (#17460) (#17461) (cherry picked from commit 368b6421050b3973a6c3eaf90fd300b1748690eb) Co-authored-by: Jesús Espino <jespinog@gmail.com> * Mm 30807 granular data retention scaffold (#17464) * MM-31717: Remove HTTP clustering (#17409) * MM-31717: Remove HTTP clustering https://mattermost.atlassian.net/browse/MM-31717 ```release-note Gossip clustering mode is now GA and is no longer available as a choice now. All cluster traffic will always use the gossip protocol. The config setting UseExperimentalGossip has no effect and has only been kept for compatibility purposes. The setting to use gossip has been removed from admin console. Upgrade note: If an existing system is not using gossip, then one cannot upgrade one node in a cluster and keep the other one to the older version, if an HA upgrade is intended. All nodes in the cluster must use a single protocol. Either the customer must use gossip if they want to do an HA upgrade. Or, shut down all nodes and bring up all of them after doing an upgrade. ``` * Trigger CI * update translations * MM-34871 CRT: Participants of thread include non-replying followers (and past followers) (#17447) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * MM-34872 CRT: thread last_viewed_at updated when channel is viewed (#17448) * Fix performance problem on document extraction (#17470) * Custom status fixes (#17122) * Changed the request type to POST for the remove recent custom status API Fixed the custom status clear slash command * Added Delete method in the remove recent custom status endpoint * Added one new endpoint to remove recent custom status with POST method * Added comments for the recent custom status API Co-authored-by: Manoj <manoj@brightscout.com> Co-authored-by: Chetanya Kandhari <availchet@gmail.com> Co-authored-by: Manoj <77336594+manojosh@users.noreply.github.com> * Fix performance problem on document extraction (#17470) (#17473) (cherry picked from commit bf542ec12f1c7ca2f275f90d0b8d0a120a07a461) Co-authored-by: Jesús Espino <jespinog@gmail.com> * [MM-32281] SqlRoleStore/GetByName: add context to allow read from master (#17176) * role_store/GetByName: add context * propagate context in the app layer * propagate context in the app layer * add missing import Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * [MM-34838] Remove Ancillary Permissions That Are Purposefully Being Removed (#17466) * remove ancillary permissions * Start writing tests * Move Ancillary Permissions to FrontEnd * remove function * remove test * clean up * fix comment * Update api4/permission.go Co-authored-by: Martin Kraft <martinkraft@gmail.com> * Update api4/permission.go * Update api4/permission.go * license info * Add Tests Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Martin Kraft <martinkraft@gmail.com> * [MM-34798] Respect MM_SERVER_PATH when looking for templates (#17410) * MM-31339: Send only one direct message reply within one calendar day. (#17181) * don't send auto response if already responded today * update query to get posts from channel for given user and Updatetime requires value in milli seconds * regenerate mocks and layers * update function to return true/false on existence of auto responded post in channel and add tests * add store tests * bubble up error and propagate upstream * fix error handling logic * use require instead of assert Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com> * rename variable for better redability and logging fixes * update comment explaining function * use new function to generate test ids * add comments to clarify NewTestId copies * add translations for error id * fix translation Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com> Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com> * [MM-34216] app/import: do not break import process if a dm channel is invalid (#17391) * app/import: do not break import process if a dm channel is invalid * update test headers Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * [MM-33662] - Mock out CWS in enterprise code (#17305) * [MM-33662] - Mock out CWS in enterprise code * Feedback impl Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * MM-34895 CRT: Replying to a root post with an at-mention triggers an unread mention (#17474) * don't count your own replies as unread * corrected totalUnreadThreads query * Improving doc extraction command (#17482) Automatic Merge * sync profile images (#17375) support for synchronizing user's profile image for shared channels. * [MM-33853] remove CSV row limit in compliance monitoring (#17185) * upgrade DB for 5.35 (#17488) * [MM-35039] - Send trial ended email (#17478) * [MM-35039] - Send trial ended email * Generations * Use First name with fallback to username * Use First name with fallback to username for trial ending email * Translations update from Weblate (#17509) * Translated using Weblate (Swedish) Currently translated at 100.0% (2310 of 2310 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Dutch) Currently translated at 99.4% (2296 of 2309 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Dutch) Currently translated at 99.4% (2296 of 2309 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Dutch) Currently translated at 100.0% (2313 of 2313 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2308 of 2308 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 100.0% (2307 of 2307 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ Translated using Weblate (Dutch) Currently translated at 99.5% (2299 of 2309 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/nl/ * Translated using Weblate (Romanian) Currently translated at 100.0% (2309 of 2309 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ro/ * Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ * Translated using Weblate (Turkish) Currently translated at 100.0% (2308 of 2308 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ Translated using Weblate (Turkish) Currently translated at 100.0% (2308 of 2308 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/tr/ * Translated using Weblate (Swedish) Currently translated at 100.0% (2313 of 2313 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 100.0% (2308 of 2308 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ Translated using Weblate (Swedish) Currently translated at 99.9% (2307 of 2308 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/sv/ * Translated using Weblate (Russian) Currently translated at 99.8% (2305 of 2308 strings) Translation: mattermost-languages-shipped/mattermost-server Translate-URL: https://translate.mattermost.com/projects/mattermost/mattermost-server_master/ru/ Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se> Co-authored-by: Tom De Moor <tom@controlaltdieliet.be> Co-authored-by: Viorel-Cosmin Miron <cosmin@uhlhost.net> Co-authored-by: Kaya Zeren <kayazeren@gmail.com> Co-authored-by: Edward Smirnov <ed@microolap.com> * [MM-35039] - Send trial ended email (#17478) (#17510) * [MM-35039] - Send trial ended email * Generations * Use First name with fallback to username * Use First name with fallback to username for trial ending email (cherry picked from commit fd546cdff250315e14c3170e1fdbf2ba828b90c9) Co-authored-by: Allan Guwatudde <guwats10@gmail.com> * Fix conflict in remote_cluster_store test Signed-off-by: Mario de Frutos <mario@defrutos.org> * Fix upgrade conflicts Signed-off-by: Mario de Frutos <mario@defrutos.org> * Fix upgrade conflicts Signed-off-by: Mario de Frutos <mario@defrutos.org> * Upgrade for cloud branch Signed-off-by: Mario de Frutos <mario@defrutos.org> * MM-34549 shared channels; add users to channel that were already sync'd (#17361) Fixes a bug and adds a feature for shared channels: - The Bug: when creating new shared channels, users that had already been sync'd via another channel were not added to the new channel's member list, since the users were not sync'd again. This PR sync's users per channel. - The Feature: support custom statuses * sync profile images (#17375) (#17512) support for synchronizing user's profile image for shared channels. (cherry picked from commit ff657bfdef2467ab38641c39c5df171000c77eb6) Co-authored-by: Doug Lauder <wiggin77@warpmail.net> * Improving doc extraction command (#17482) (#17513) Automatic Merge (cherry picked from commit 7c7c4716e6cc73878734f4b52a34800096bd39e7) Co-authored-by: Jesús Espino <jespinog@gmail.com> * Fix sv.json conflict Signed-off-by: Mario de Frutos <mario@defrutos.org> * Updates on CI (#17484) * moving mattermost-ver and golangci out from the build step * adjusting resource class and update image for check-mocks job * MM-32950: Reliable WebSockets: Basic single server (#17406) * MM-32950: Reliable WebSockets: Basic single server This PR adds reliable websocket support for a single server. Below is a brief overview of the three states of a connection: Normal: - All messages are routed via web hub. - Each web conn has a send queue to which it gets pushed. - A message gets pulled from the queue, and before it gets written to the wire, it is added to the dead queue. Disconnect: - Hub Unregister gets called, where the connection is just marked as inactive. And new messages keep getting pushed to the send queue. If it gets full, the channel is closed and the conn gets removed from conn index. Reconnect: - We query the hub for the connection ID, and get back the queues. - We construct a WebConn reusing the old queues, or a fresh one depending on whether the connection ID was found or not. - Now there is a tricky bit here which needs to be carefully processed. On register, we would always send the hello message in the send queue. But we cannot do that now because the send queue might already have messages. Therefore, we don't send the hello message from web hub, if we reuse a connection. Instead, we move that logic to the web conn write pump. We check if the sequence number is in dead queue, and if it is, then we drain the dead queue, and start consuming from the active queue. No hello message is sent here. But if the message does not exist in the dead queue, and the sequence number is actually something that should have existed, then we set a new connction id and clear the dead queue, and send a hello message. The client, on receiving a new connection id will automatically set its sequence number to 0, and make the sync API calls to manage any lost data. https://mattermost.atlassian.net/browse/MM-32590 ```release-note NONE ``` * gofmt * Add EnableReliableWebSockets to the client config * Refactoring isInDeadQueue * Passing index to drainDeadQueue * refactoring webconn * fix pointer * review comments * simplify hasMsgLoss * safety comment * fix test * Trigger CI * Trigger CI Co-authored-by: Devin Binnie <devin.binnie@mattermost.com> Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * MM-35125 CRT: Mention badge on threads doesn't appear until refresh (#17504) * update pr template (#17480) * MM-35127 CRT: Marking thread as unread doesn't set the timestamp correctly (#17507) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * MM-35128 CRT: Global Threads item should not be affected by 'mark as unread' in channel (#17505) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Fix file info index batch (#17525) * MM-35239: Skip TestHubSessionRevokeRace (#17524) https://mattermost.atlassian.net/browse/MM-35239 ```release-note NONE ``` * MM-35103 Replies in a thread with an initial mention triggers notification each time (#17503) * only process parent post mentions for threads in order to autofollow * don't use merge since it modifies the original Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * MM-34674 Adding config telemetry for feature flags. (#17456) * Adding config telemetry for feature flags. * Review fixes. * MM-24455: Fix role responses. (#17385) Automatic Merge * [MM-34918] Update prepackaged version of autolink and GitHub (#17465) * MM-18818 Prompt admins to set the Support Email (#17296) * MM-18818 Set default support to empty and handled the same in email templates * #MM-18818 Admin advisor now warns for inconfigured support email address * Updated text * #MM-18818 gofmt'ed files * #MM-18818 updated text and removed unused i18n strings: * #MM-18818 updated i18n string ordering * #MM-18818 Added test for support email advisory * MM-18818 gofmt'd the file * MM-18818 separated contextual notifications from configuration notifications in Admin Advisor * #MM-18818 prevented support email with whitepsaces from being detected as filled Co-authored-by: Mattermod <mattermod@users.noreply.github.com> * Automated cherry pick of #17503 (#17529) Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Eli Yukelzon <reflog@gmail.c…
Our proxy configuration was historically incorrect, due to which
a lot of customers have that in their setups. As a result, strictly
following the websocket RFC results in a breaking change.
For now, we transparently upgrade the version header to 1.1, if we detect 1.0.
If a client was sending 1.0, it wouldn't have worked anyways because persistent
connections were introduced from 1.1 onwards.
https://mattermost.atlassian.net/browse/MM-33836