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

19870 Коммитов

Автор SHA1 Сообщение Дата
Sarthak0714
106cd66d69 migrate select * in thread_store.go (#29755)
* migrate select * in thread_store.go

* fix trailing whitespace

* reverted to single query

* maintained err handling pattern

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-23 10:10:17 -04:00
Mario Vitale
d3bd91843f Support E2E stress tests in run_tests.js (#29682)
* [skip ci] Adapt run_tests.js for stress testing
* [skip ci] Make channel_read_after_permalink_spec.js retry-able
* [skip ci] Fix ui_commands.ts fix
* [skip ci] Improve postMessageAndWait
* [skip ci] Fix unread_on_public_channel_spec.js
* [skip ci] Demote unread_on_public_channel_spec.js
* Update e2e-tests/README.md

Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>

* [skip ci] Fix mesage_reply_bot_post_spec.js

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
2025-01-23 14:07:38 +01:00
Miguel de la Cruz
7fb6901ad1 Adds Custom Profile Attributes API endpoints license check (#29906)
* Adds Custom Profile Attributes feature license and API endpoints check

* Fix linter

* Remove the specific license feature and fallback to checking for license presence

* Add translation

* Update the checks and tests to enable endpoints only for Enterprise licenses

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-23 09:50:43 +01:00
enzowritescode
077d0872e3 Fix LogAuditRecWithLevel doc comment and fix typo (#29980) 2025-01-22 21:39:31 -07:00
Weblate (bot)
4f62e7b3da Translations update from Mattermost Weblate (#29926)
* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

* Translated using Weblate (German)

Currently translated at 98.9% (2564 of 2592 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (2592 of 2592 strings)

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

* Translated using Weblate (Polish)

Currently translated at 99.0% (2568 of 2592 strings)

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

* Translated using Weblate (Russian)

Currently translated at 96.5% (2503 of 2592 strings)

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

* Translated using Weblate (German)

Currently translated at 100.0% (6020 of 6020 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (6020 of 6020 strings)

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

* Translated using Weblate (Russian)

Currently translated at 94.9% (5717 of 6020 strings)

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

* Translated using Weblate (Estonian)

Currently translated at 0.5% (33 of 6020 strings)

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

* Translated using Weblate (Polish)

Currently translated at 100.0% (2592 of 2592 strings)

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

* Translated using Weblate (Czech)

Currently translated at 99.7% (2586 of 2592 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (6020 of 6020 strings)

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

* Translated using Weblate (Swedish)

Currently translated at 100.0% (6020 of 6020 strings)

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

* Translated using Weblate (Czech)

Currently translated at 100.0% (2592 of 2592 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 95.0% (5723 of 6020 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 98.9% (2564 of 2592 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 95.0% (5723 of 6020 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 98.9% (2565 of 2592 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.7% (2585 of 2592 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.9% (6019 of 6020 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 100.0% (2592 of 2592 strings)

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

* Translated using Weblate (Japanese)

Currently translated at 100.0% (6020 of 6020 strings)

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

* Translated using Weblate (Dutch)

Currently translated at 99.7% (2586 of 2592 strings)

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

* Translated using Weblate (Ukrainian)

Currently translated at 95.1% (5727 of 6020 strings)

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

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

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

---------

Co-authored-by: jprusch <rs@schaeferbarthold.de>
Co-authored-by: master7 <marcin.karkosz@rajska.info>
Co-authored-by: Konstantin <eleferen@gmail.com>
Co-authored-by: Tormi <tormipeterson@gmail.com>
Co-authored-by: Martin Mičuda <micuda@rematiptop.cz>
Co-authored-by: MArtin Johnson <martinjohnson@bahnhof.se>
Co-authored-by: Serhii Khomiuk <sergiy.khomiuk@gmail.com>
Co-authored-by: Tom De Moor <tom@controlaltdieliet.be>
Co-authored-by: kaakaa <stooner.hoe@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-23 01:46:07 +00:00
Scott Bishel
8ad375365e MM-62545 Pin bottom actions and top line (#29860)
* pin bottom actions and top line.

* lint fixes

* lint fixes

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-22 20:58:11 +00:00
Christopher Poile
e8eb279874 [MM-60888] Fix: Retention can cause unrelated files to be deleted (#29897)
* fix for deleting non-bulk export files and directories

* add job worker setup and running to helper_test.go

* add infrastructure for e2e testing of workers; test ExportDelete

* linting

* use retention days in test instead of magic number
2025-01-22 15:15:33 -05:00
Rajat Dabade
4ed702ccff Updated board prepackaged version to v9.0.5 (#29962) 2025-01-22 11:50:10 -05:00
Arya Khochare
84a83a1e0f [MM-62142] Avoid SELECT * in status_store.go (#29610)
* SELECT * to query builder

* execBuilder, manual column name and one more select * remaining instance

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-22 11:59:41 -04:00
Claudio Costa
0666c0a7ca Prepackage Calls v1.5.1 (#29950) 2025-01-22 08:08:11 -06:00
M-ZubairAhmed
1373c05931 [MM-61966] "Browse or Create channel" menu on the right of team drop-down should use a11y supported menu (#29739) 2025-01-22 10:40:43 +05:30
Christopher Poile
c205398040 [MM-60687] Log DoActionRequest requests to INFO (#29952)
* log DoActionRequest requests to INFO

* make generated
2025-01-21 20:02:39 -05:00
ayush-chauhan233
a08341d398 [MA-21]: Added role='alert' to the error message element (#29723) 2025-01-21 18:06:32 -05:00
ayush-chauhan233
faeb6f52ac [MM-55284]: Fixed adding aria-label logic in team sidebar (#29562)
* [MA-6]: Fixed adding aria-label logic in team sidebar

* [MA-6]: Updated en.json, added create team button id

* [MA-6]: Fix: Added logic to add aria-label to users type

* [MA-6]: Fix typo

* [MA-6]: Added translation function to team button

* [MA-6]: Added translation function to team button

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-21 18:00:33 -05:00
Saurabh Sharma
12fea07714 [MM-61633]: Add aria-label in the on-boarding button (#29812)
* MM-61633: Add aria-label in the onboarding button

* MM-61633: Update formatting

* MM-61633: Add strings for localization

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-21 15:48:20 -05:00
ayush-chauhan233
4225b9bac1 [MM-61619]: Added aria-live property for message sent status (#29720)
* [MA-22]: Added aria-live property for message sent status

* Review Fixes: Updated the logic to programmatically change status element's content.

* [MA-22]: Rebased with master
2025-01-21 10:55:26 -05:00
Daniel Espino García
03b678e860 Fix error when navigating away of threads view (#29543)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-21 16:33:32 +01:00
Antonis Stamatiou
c3fc894111 feat: Remove windows builds from releases (#29932) 2025-01-21 10:48:56 +02:00
Agniva De Sarker
05cdb36886 MM-49353: Setup intermediate signal handlers for plugin shutdown (#28653)
There are several steps that a server runs through inside (*Server).Start
after ch.initPlugins() till the signal handler is reached which handles
the server shutdown procedure.

The issue arises when the server is shutdown after ch.initPlugins() completes
but before (*Server).Start finishes. In that case, the plugins are all started
but they won't be shut down cleanly.

To fix this edge-case, we set up an intermediate signal handler, which
attaches itself as soon as ch.initPlugins is finished, allowing us to run
the cleanup code in case the shutdown happens before (*Server).Start finishes.

And when we do reach the main signal handler, we don't need this intermediate
handler any more. So we just reset the handlers and use the main signal handler
which takes care of shutting down the whole server.

Note: This is still not 100% bug-proof because ch.initPlugins() will initialize
_all_ plugins, and the shutdown can happen just after one plugin is initialized.
To handle that case will require the need to set up signal handlers after every
plugin init which feels like overkill to me.

A sample flow diagram to visualize better:

Edge-case
server.Start()
|
ch.initPlugins()
|
<ctrl-c>
|
execute signal handler, os.Exit(1)

Happy-path
server.Start()
|
ch.initPlugins()
|
server.Start() finished
|
reset old signal handler
|
setup main signal handler
|
server runs on as usual until shutdown

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

```release-note
NONE
```
2025-01-21 11:15:19 +05:30
Uday Rana
7e912573da [GH-29548] Avoid SELECT * in tokens_store.go (#29558)
* migrate Token Store GetByToken query to SQLBuilder

* explicitly enumerate columns, factor out query into constructor

* fix syntax error

* fix error handling

* spread args... instead of passing the array as a single param

* fix MySQL by casing columns correctly

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
2025-01-21 00:20:04 -04:00
Saurabh Sharma
543ff0e756 [MA-35]: Update aria-label (#29810)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-20 16:36:46 -05:00
ayush-chauhan233
5fbd6e1139 [MM-61588]: Fixed the keyboard interactivity of tablist and added appropriate ARIA properties (#29592)
* [MA-9]: Fixed the keyboard interactivity of tablist and added appropriate ARIA properties

* [MA-9]: Review Fixes: Added aria-level attribute to plugin preferences heading

* [MA-9]: Fixed failing e2e test case

* [MA-9]: Fixed styling in mobile view and fixed failing e2e test cases

* [MA-9]: Minor Refactoring

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-20 16:25:11 -05:00
Saurabh Sharma
ea3be1a9f2 [MM-61578]: Ensure the Add button is accessible with keyboard (#29653)
* [MA-16]: Ensure the Add button is accessible with keyboard

* [MA-16]: Add translations for label

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-20 16:22:51 -05:00
ayush-chauhan233
821448b94c [MA-46]: Handled intended hidden onboarding tasklist from assestive technology (#29840) 2025-01-20 16:13:59 -05:00
ayush-chauhan233
d28f84f525 [MM-61684]: Updated the heading element tag(#29841) 2025-01-20 15:56:40 +00:00
Claudio Costa
16381bf7a4 Fix flaky TestImportValidatePostImportData (#29891) 2025-01-20 09:34:10 -06:00
Harrison Healey
c7eb908e38 MM-61734 Add withErrorBoundary HOC and use for PostComponent (#29801)
* MM-61734 Add withErrorBoundary HOC and use for PostComponent

I originally planned to add error boundaries to some individual parts of the
post, but it seems sufficient to add them to just the outer PostComponent.

* Update button label
2025-01-20 10:02:11 -05:00
Harshil Sharma
ce29be0f38 Fixed minor misalignments with image component (#29861)
* Fixed minor misalignments with image component

* lint fix
2025-01-20 19:51:04 +05:30
dependabot[bot]
0eaba976c8 Bump the github-actions-updates group with 3 updates (#29617) 2025-01-20 12:31:15 +08:00
M-ZubairAhmed
f3d1bc0731 [MM-62570] PluginLinkTooltip throws warning that class is invalid dom property (#29858) 2025-01-18 14:21:56 +00:00
Asaad Mahmood
7322fa1a3f MM-62498 - Adding control-label ellipsis (#29830)
* MM-61205 - Adding control-label ellipsis

* updating css

* updating form-group
2025-01-18 12:29:05 +05:00
Pablo Vélez
d5763eac06 MM-62613 - remove scheduled messages on ws reconnect (#29875)
* remove scheduled messages on reconnect

* loop over values

* prune partial state and reload in team change

* specifically define when to prune the data
2025-01-17 10:25:10 -05:00
Devin Binnie
0beac5c930 [MM-62587] Hide thread_footer when root post is deleted (#29874)
* [MM-62587] Hide thread_footer when root post is deleted

* Also remove the replies line from the RHS

* Fix logic to make sure post.delete_at exists

* Fix playwright test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-17 09:55:09 -05:00
Agniva De Sarker
53d6f59ff5 shared/filestore: Add detailed error context for S3.TestConnection (#29838)
We were just returning a string without embedding the
actual error returned. This was making things difficult
to debug.

```release-note
NONE
```

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-17 20:11:22 +05:30
Daniel Espino García
4a59d4c08e Fix pluggables types (#28986)
* Fix pluggables types

* Address feedback

* Fix lint
2025-01-17 09:47:12 +01:00
Agniva De Sarker
cb75a20c54 MM-61904: Make reliable websockets work in HA (#29489)
We do a cluster request to get the active and dead queues
from other nodes in the cluster to sync any missing
information.

We check the dead queue in the other nodes to see
if there's been any message loss or not. Accordingly,
we send just the active queue or both active and dead queues.

There's still an edge case that is left out where
a client could have potentially connected and reconnected
to multiple nodes leaving multiple active queues
in multiple nodes. We don't handle this scenario
because then potentially we need to create
a slice of sendQueueSize * number_of_nodes. And then
this can happen again, leading to an infinite increase
in sendQueueSize.

We leave this edge-case to Redis, acknowledging
a limitation in our architecture.

In this PR, when there's no message loss, we just
take the active queue from the last node it connected
to.

And if there's message loss where the client's
seqNum is within the last node's dead queue, we also
handle that.

But if there's severe message loss where the client's
seqNum falls within the dead queue of another node, then
we just send the data from that node to reconstruct the
data as much as possible. It could be possible to set
a new connection ID in this case, but this involves
more data transfer always from all nodes and recomputing
the state in the requestor node.

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

```release-note
NONE
```

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-17 11:11:32 +05:30
Saurabh Sharma
921604cf39 [MM-61629]: Remove tabIndex (#29744) 2025-01-17 04:46:26 +00:00
Saurabh Sharma
ec6bc7a5f4 [MM-61677]: Update heading level (#29784)
* [MA-51]: Update heading level

* [MA-51]: Fixed E2E tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-16 16:06:17 -05:00
Saurabh Sharma
2d61d13940 [MM-61637]: Add accessible name to the expand RHS button in RHS header (#29783)
* [MA-48]: Add aria-label

* [MA-48]: Update snapshots

* [MA-48]: Fix E2E tests
2025-01-16 16:03:34 -05:00
ayush-chauhan233
bf541446cf [MM-61658]: Added aria-label to close button (#29725)
* [MA-44]: Added aria-label to close button

* [MA-44]: Added translation function to close button

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-16 20:07:20 +00:00
Saurabh Sharma
8b765868de [MA-34]: Add state information (#29695)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-16 14:52:46 -05:00
Saurabh Sharma
132c27fb34 [MM-55285]: Screen reader speaking wrong item in list in Find Channels modal (#29552)
* [MA-11]: Fix Screen reader speaking wrong item in list in Find Channels modal

* [MA-11]: Update types across files

* [MA-11]: Minor refactoring

* [MA-11]: Fix e2e test

* [MA-11]: Fix E2E tests

* [MA-11]: Update role and id

* [MA-11]: Fix playwright tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-16 14:35:13 -05:00
Rahim Rahman
540408545a feat(MM-61865): Add mobile client content load network metrics (#29601)
* MM-61865: Add mobile client content load network metrics

* added new common label

* renaming from MobileClientContentLoad to MobileClientNetworkRequests
* content_load_group => network_request_group

* refactor more NetworkRequest-* changes

* replace contentLoadGroup to networkRequestGroup

* new metrics elapsedTime

* Refactor urlCount to totalRequests

* add averageSpeed metric
* replace contentLoadGroup with networkRequestGroup
* use h.Labels vs commonLabels for network_request_group

* add agent

* add effective latency metrics

* add total parallel requests & total sequential

* mocks generated by mockery

* did a bit of cleanup and sorting

* formatting

* updated the AcceptedNetworkRequestGroups

* cleanup and sorting
2025-01-16 11:03:41 -07:00
Harshil Sharma
a665b62434 Deleted file from post ID to file ID and file info part of store (#29871) 2025-01-16 07:24:31 +05:30
ayush-chauhan233
34890a7a56 [MA-23]: Updated the aria-label property of sidebar expand button (#29660)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-15 17:44:22 -05:00
ayush-chauhan233
5c08e0de0b [MM-61587]: Added appropriate ARIA attributes in the channel header (#29563)
* [MA-8]: Added appropriate ARIA attributes in the channel header

* [MA-8]: Review Fixes: Updated the aria-expanded ternary condition

* [MA-8]: Rebased with master and fixed e2e failing test

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-15 17:24:24 -05:00
Jesse Hallam
c3ff2c5129 s/u./Users./ (#29817)
Within the Users and Groups store, converge on just naming the `Users`
table instead of sometimes aliasing it and sometimes not. This makes an
informal, but unambiguous interface when sharing logic between stores,
and simplifies the next step of refactoring away from `Users.*` queries.

Relates-to: MM-62158
2025-01-15 06:32:17 -08:00
Saurabh Sharma
326804ba44 [MM-61597]: Provide proper name, role, and state information in Channel menu's submenu (#29658)
* [MA-25]: Provide proper name, role, and state information in move to option

* [MA-25]: Concatenate Id

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-15 10:12:29 +05:30
M-ZubairAhmed
e923879c52 [MM-62568] Clicking on the channel header popover content throw js error (#29857) 2025-01-15 06:57:46 +05:30
Harshil Sharma
4fc179137d Edit post restore fix (#29851)
* Fix draft restore and cleanup

* lint fix

* Fixed a test
2025-01-15 06:06:48 +05:30