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

19865 Коммитов

Автор SHA1 Сообщение Дата
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
Saurabh Sharma
3a8d3fa38f [MA-29]: Add appropriate name information (#29694)
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-14 17:41:40 -05:00
M-ZubairAhmed
4b6216f5a4 [MM-55274] User account menu doesn't follow standard accessible keyboard behavior (#29173) 2025-01-15 00:55:38 +05:30
Saurabh Sharma
3f9aa4a212 [MM-61604]: Provide proper name, role, and state information to skin tone accordion (#29742)
* [MA-30]: Provide state information

* [MA-30]: Update aria attributes

* [MA-30]: Remove unnecessary id

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-14 18:18:20 +00:00
Caleb Roseland
0085826203 MM-62172: CPA/User Properties - System Console (#29672)
* system properties - user properties

* update

* fix processing

* refinements, fix cancel changes, fix type inclusion when saving/creating, i18n

* fix:
- property name value trimmed
- name unique validation
- name required validation
- name max-length
- user properties section titlecase
- new property default incremented name
- new property auto-focus/select
- max fields count
- table design/styling

* add useUserPropertyFields test
2025-01-14 17:42:46 +00:00
Miguel de la Cruz
e400e67732 Remove the CPA query parameter for the user profile endpoint (#29852) 2025-01-14 16:35:00 +00:00