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

19840 Коммитов

Автор SHA1 Сообщение Дата
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
Scott Bishel
c7a87868cb MM-62170 - CPA User Settings Profile popup (#29717)
* implement custom profile attributes for user settings and profile popover

* update PropertyField to use UserPropertyField

* updates from initial review

* misc fixes for change to IDMappedObjects

* fix: unique id

* fix: merge conflict, method ordering

* a11y fix labelledby

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Caleb Roseland <caleb@calebroseland.com>
2025-01-14 16:35:55 +01:00
Pablo Vélez
c01f212f60 MM-62288 - add e2e to RHS focus functionality (#29655)
* MM-62288 - add e2e to RHS focus functionality

* remove describe only

* Use existence check before closing RHS

* modify close rhs function to not fail when rhs is not opened

* avoid body to not get found

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-14 08:04:08 -05:00
Pablo Vélez
94ae7905ad MM-61576 - add a11y to messages and files results tabs (#29740)
* MM-61576 - add a11y to messages and files results tabs

* add coverage for left-right arrow focus tab and fix broken test

* add the proper role and label to RHS - MM-61615

* fix linter

* fix e2e tests

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-14 08:03:42 -05:00
M-ZubairAhmed
25a6501e10 [MM-62384] Move ChannelHeaderPopover from BootstrapOverlay/Popper to Floating-UI (#29820) 2025-01-14 11:49:55 +00:00
Renato Alves
7cf040655f Add 'metrics' tag to /api/v4/client_perf endpoint (#29612)
* Add 'metrics' tag to client_perf endpoint

* Add metrics tag to introduction.yaml
2025-01-14 09:24:31 +00:00
Asaad Mahmood
c7d036c1d0 MM-62400 - Updating style for no style attachment (#29809)
* MM-62400 - Updating style for no style attachment

* updating css
2025-01-14 11:52:04 +05:00
Saturnino Abril
90e3d2833e E2E/Playwright: Instantiate page in pw (#29765)
* instantiate page in pw

* update spec

* fix storage key and require user when logging in via API

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-14 04:30:42 +00:00
Seiya Homma
20e9c6aa3e [MM-62147] Avoid SELECT * in channel_store.go (#29776)
* Resolve backward compatibility issues.

* Fix code
2025-01-14 09:41:44 +05:30
Pablo Vélez
19d0609b14 MM-62233 - update login flow images (#29805)
* MM-62233 - update login flow images

* fix snapshots

* update playwright snapshots

* fix other playwright snapshots

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-13 22:44:06 -05:00
kasyap dharanikota
d3c972897e migrate queries in scheme_store.go (#29687)
* migrate queries in scheme_store.go

* fix linting issues

---------

Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
2025-01-13 15:29:43 -04:00
Mario Vitale
153eafb1ae Manual weblate conflict resolution (#29833)
* Manual weblate conflict resolution
2025-01-13 20:26:40 +01:00
Ben Schumacher
8d4bf4bae0 [MM-54288] Support Packet V2 (#29403) 2025-01-13 20:23:09 +01:00
Saurabh Sharma
091d1bba8b [MA-28]: Add state information in message priority dialog (#29693) 2025-01-13 12:51:27 -05:00
Miguel de la Cruz
ca34c6a03f Custom profile attributes field endpoints (#29662)
* Adds the main Property System Architecture components

This change adds the necessary migrations for the Property Groups,
Fields and Values tables to be created, the store layer and a Property
Service that can be used from the app layer.

* Adds Custom Profile Attributes endpoints and app layer

* implement get and patch cpa values

* run i18n-extract

* Update property field type to use user instead of person

* Update PropertyFields to allow for unique nondeleted fields and remove redundant indexes

* Update PropertyValues to allow for unique nondeleted fields and remove redundant indexes

* Use StringMap instead of the map[string]any on property fields

* Add i18n strings

* Revert "Use StringMap instead of the map[string]any on property fields"

This reverts commit e2735ab0f8589d2524d636419ca0cb144575c4d6.

* Cast JSON binary data to string and add todo note for StringMap use

* Add mocks to the retrylayer tests

* Cast JSON binary data to string in property value store

* Check for binary parameter instead of casting to string for JSON data

* Fix bad merge

* Check property field type is one of the allowed ones

* Avoid reusing err variable to be explicit about the returned value

* Merge Property System Migrations into one file

* Adds NOT NULL to timestamps at the DB level

* Update stores to use tableSelectQuery instead of a slice var

* Update PropertyField model translations to be more explicit and avoid repetition

* Update PropertyValue model translations to be more explicit and avoid repetition

* Use ExecBuilder instead of ToSql&Exec

* Update property field errors to add context

* Ensure PerPage is greater than zero

* Update store errors to give more context

* Use ExecBuilder in the property stores where possible

* Add an on conflict suffix to the group register to avoid race conditions

* Remove user profile API documentation changes

* Update patchCPAValues endpoint and docs to return the updated information

* Merge two similar error conditions

* Use a route function for ListCPAValues

* Remove badly used translation string

* Remove unused get in register group method

* Adds input sanitization and validation to the CPA API endpoints

* Takes login outside of one test case to make it clear it affects multiple t.Runs

* Fix wrap error and return code when property field has been deleted

* Fix receiver name

* Adds comment to move the CPA group ID to the db cache

* Set the PerPage of CPA fields to the fields limit

* Update server/channels/app/custom_profile_attributes_test.go

Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>

* Standardize group ID access

* Avoid polluting the state between tests

* Use specific errors for the retrieval of CPA group

---------

Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Alejandro García Montoro <alejandro.garciamontoro@gmail.com>
2025-01-13 18:12:38 +01:00
Claudio Costa
c6984941f1 Prepackage Calls v1.5.0 (#29828) 2025-01-13 15:37:04 +01:00
Harshil Sharma
6e5a67caec Feature edit attachments (#29769)
* Updated patch/update post API to allow file modification (#29447)

* WIP

* WIP

* Atatched new files ton post

* WIP: deleting removed files

* Deleted removed files and invalidated file metadata cache

* removed file ignore logif from update post API

* Added TestFindExclusives

* Added tests for DeleteForPostByIds

* Added app layer tests

* Added tests

* Added API level tests

* test enhancements

* Fixed a test

* Edit history include file metadata (#29505)

* Send file metadata in edit history metadata

* Added app tests

* Added store tests

* Added tests for populateEditHistoryFileMetadata{

* Added cache to avoid repetitigve DB calls for edits with only message changes

* Added API tests

* i18m fix

* removed commented code

* Improved test helper

* Show attachments in edit history RHS (#29519)

* Send file metadata in edit history metadata

* Added app tests

* Added store tests

* Added tests for populateEditHistoryFileMetadata{

* Added cache to avoid repetitigve DB calls for edits with only message changes

* Added API tests

* i18m fix

* WIUP: displa files in edit

* removed commented code

* Displayed file in edit history

* Handled file icon

* Fixed closing history component on clicking on file

* Simplified selector

* Simplified selector

* Improved test helper

* Disabled action menu on edit history file

* Added tests

* Improved selector

* Updated snapshot

* review Fixes

* restructured componnets

* Updated test

* Updated test

* Restore post api (#29643)

* Restore post version API WIP

* Undelete files WIP

* Added store tests

* Created post restore API

* Updated updatepost safeUpdate signature

* review fixex and improvements

* Fixed an app test

* Added API laer tests

* Added API tests and OpenAPI specs

* Fixed a typo

* Allow editing files when editing posts (#29709)

* WIP - basic view files when editing post

* Cleanup

* bg color

* Added text editor tests for files

* WIP

* WIP

* removed debug log

* Allowed admin to add and remove files on someone else's post

* Handled drafts and scheduled posts

* linter fixes

* Updated snapshot

* server test fix

* CI

* Added doc

* Restore post api integration (#29719)

* WIP - basic view files when editing post

* Cleanup

* bg color

* Added text editor tests for files

* WIP

* WIP

* removed debug log

* Allowed admin to add and remove files on someone else's post

* Handled drafts and scheduled posts

* linter fixes

* Updated snapshot

* server test fix

* Used new API to restore post

* handled edut limit and undo

* lint fix

* added comments

* Fixed edit post item tests

* Fixed buttons

* Aded snapshots

* fix test

* Updated snapshot

* Minor fixes

* fixed snapshot

* Edit file dnd area (#29763)

* dnd wip

* DND continued

* Supported multiple unbind dragster funcs

* lint fixes

* Got center channel file drop working when editing a post

* file dnd working with center channel and rhs

* file dnd working with center channel and rhs

* removed unneeded stopPropogation calls

* cleanup

* DND overlay fix

* Lint fix

* Advanced text editor test updates for file upload overlay

* fixed use upload hook tests

* Updated some more snapshots

* minor cleanup

* Updated i18n

* removed need of array for dragster unbind events

* lint fixes

* edit history cursor

* Fixed bugu causing faliure to delete empty posts (#29778)

* Files in restore confirmation (#29781)

* Added files to restore post confirmation dialog

* Fixed post restore toast colors

* Fixed restore bug

* Fixed restore confirmation toast tests

* a11y improvement and modal width fix

* Edit attachment misc fixes (#29808)

* Removed single image actions in restore post confirmation dialog

* Fixed file drop overlay size and position

* Made edit indiator accessible

* Lint fix

* Added bunch of more tests

* ANother test migrated from enzyme to react testing library

* More test enhancements

* More test enhancements

* More test enhancements

* lint fixes

* Fixed  a test

* Added missing snapshots

* Test fixes
2025-01-13 18:16:56 +05:30
Miguel de la Cruz
ecdce71fc4 Adds the main Property System Architecture components (#29644)
* Adds the main Property System Architecture components

This change adds the necessary migrations for the Property Groups,
Fields and Values tables to be created, the store layer and a Property
Service that can be used from the app layer.

* Update property field type to use user instead of person

* Update PropertyFields to allow for unique nondeleted fields and remove redundant indexes

* Update PropertyValues to allow for unique nondeleted fields and remove redundant indexes

* Use StringMap instead of the map[string]any on property fields

* Add i18n strings

* Revert "Use StringMap instead of the map[string]any on property fields"

This reverts commit e2735ab0f8589d2524d636419ca0cb144575c4d6.

* Cast JSON binary data to string and add todo note for StringMap use

* Add mocks to the retrylayer tests

* Cast JSON binary data to string in property value store

* Check for binary parameter instead of casting to string for JSON data

* Check property field type is one of the allowed ones

* Avoid reusing err variable to be explicit about the returned value

* Merge Property System Migrations into one file

* Adds NOT NULL to timestamps at the DB level

* Update stores to use tableSelectQuery instead of a slice var

* Update PropertyField model translations to be more explicit and avoid repetition

* Update PropertyValue model translations to be more explicit and avoid repetition

* Use ExecBuilder instead of ToSql&Exec

* Update property field errors to add context

* Ensure PerPage is greater than zero

* Update store errors to give more context

* Use ExecBuilder in the property stores where possible

* Add an on conflict suffix to the group register to avoid race conditions

* Remove badly used translation string

* Remove unused get in register group method

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-13 11:41:44 +00:00
Arya Khochare
d2b334e605 Fixed errcheck issues in server/channels/app/server.go (#29425)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2025-01-13 12:06:40 +01:00
Harshil Sharma
f1da465454 Fix for draft and scheduled post section not scrolling (#29811)
* Fix for draft adn scheduled post section not scrolling

* Lint fix
2025-01-13 16:18:40 +05:30
Claudio Costa
086e6d9df6 [MM-62066] Allow using plugin settings defined in manifest as fallback when using custom sections and plugin is disabled (#29500)
* Allow using plugin settings defined in manifest as fallback when using custom sections and plugin is disabled

* Update server/public/model/manifest.go

Co-authored-by: Christopher Poile <cpoile@gmail.com>

* Add custom setting case

---------

Co-authored-by: Christopher Poile <cpoile@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2025-01-13 11:19:59 +01:00
Query&mut NinjaStyle, &Ryder
e1a582395f fixed issue where it automatically scroll to top when custom emoji are loaded (#29608) 2025-01-13 10:18:41 +01:00
Harrison Healey
cc33287dde Skip flaky tests (#29773) 2025-01-13 09:42:54 +01:00
Ben Schumacher
0375495c40 [MM-62398] Fix /api/v4/reports/users/export api docs (#29750) 2025-01-13 09:42:16 +01:00
Maria A Nunez
023a9fe5fe Update Images in System Console (#29804)
* Updated groups images in feature discovery

* Updated feature discovery svgs

* Updated upgrade image in Sysem Console

* Feedback. Updated license upload svgs

* Fixes for Alert svg

* Fixing svg sizes per feedback

* Linting

* fix snapshots

* Feedback

* Keep SetupSystemSvg for trials too

* Removed unused svg

---------

Co-authored-by: Pablo Andrés Vélez Vidal <pablovv2012@gmail.com>
2025-01-12 17:49:10 -05:00
enzowritescode
76eee25206 Fix IDE warninings about comment (#29818) 2025-01-10 17:33:12 -07:00