* fix: convert component to function component
* update test snapshot
* fix: removed the unused props for confirm component
* fix: removed the unused props for confirm component
moved submit and onKeyPress functions outside the component
* fix: removed unused variable and fixed lint
* fix: fix prop type for 'confirm' test file
* Convert save_button.tsx to function component
* single quote
* make saving optional
* fix header
* test suite command
* fix lint
* remove space
* Update snapshots
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* Utilize free runners for E2E tests, report back to PR on run completion
* Increase test stability on smaller instances
* Merge worker reports
* merge start+prepare steps
* upgrade keycloak
* increase test timeouts
* Add video recording to report artifacts
Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
---------
Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
* MM-59864 Add E2E test for keyboard navigation in the threads list
* chore(e2e): Add @prod tag to global_threads_spec.js
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
- We introduce 2 new APIs:
1. Scan: this allows incremental iteration
without blocking the Redis server and is the
recommended way to iterate over keys. With this,
we have entirely removed the need for Keys.
2. RemoveMulti: this allows deletion of multiple
keys in a single operation which optimizes
network round trips.
- While here, we make a small improvement to
GetStatusFromCache, where we remove the shallow
copy which wasn't necessary because we always
serialize the data from the cache.
- We do not use Redis for session cache because of
frequent requests to iterate the entire cache which leads
to a lot of `SCAN` calls.
- Avoid broadcasting status update messages for Redis case.
- Setting cache expiry for status cache
- Removing .Set method altogether to prevent
any chances of setting an item with no expiry.
https://mattermost.atlassian.net/browse/MM-59932
```release-note
NONE
```
* Custom user settings
* Implement error boundary, fix validation
* Extraction tests
* Tests
* Bring back refresh option for failed pluggable
* [MM-51514] Allow plugins to open user settings modal (#27742)
* Allow plugins to open user settings modal
* [MM-51514] Improvements to custom plugin user settings (#27754)
* Allow compass icon to be used
* Pass props to custom plugin settings
* Export react-select
* Revert "Export react-select"
This reverts commit 6b026c4eb789d298b721494a70e0e860a704d428.
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Fix: Add status in group member modal
* Fix: Optional values for members info and fix css for user button
* Fix: remove useless props and classname in status icon
* Fix: types eslint
* Fix: snap
---------
Co-authored-by: Boris Trombert <boris.trombert@infomaniak.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* Improve logic for rendering start call button in user profile popover
* Fix typo
* Fix potential error when plugin is not enabled
* Improve selector logic
* refactor: convert setting_item from class to functional component
* fix: removed type casting 'FC'
* fix: fixed failing tests
* fix: made 'max' prop nullable
* fix: revert snapshot file to master
* fix: Update the `useEffect` dependency list to trigger only on `active` prop changes
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Adds default team to the remote cluster entity
A new DefaultTeamId field is added to the RemoteCluster entity and its
endpoints, and used when receiving channel invites to choose in which
team to create a new channel.
This will be later extended with the ability for the system admin to
manually accept invites, choosing which team to create the channel on
each. This use case will be triggered when the DefaultTeamId field is
empty, which now simply chooses the first team it finds in the
database as a fallback.
* Fix migrations list
* Fixes channelinvite test case
* Fix i18n
* Fix migration list
* Allows creating new remote clusters without providing a password
If the endpoint receives a request with no password, it will generate
one internally and return it in the response, so the frotend can show
it to the user.
* Use a random string instead of a UUID for the generated password
* Update function name to avoid CString reference and adds assertion
* Update server/channels/utils/textgeneration.go
Co-authored-by: Eva Sarafianou <eva.sarafianou@gmail.com>
* Extends the charset
---------
Co-authored-by: Eva Sarafianou <eva.sarafianou@gmail.com>