* [MM-58567] Added `window.isActive` check for marking threads as active when they're open, mark the threads as read when the window becomes active again
* PR feedback
* Rename Office 365 to Entra ID
* Another text update
* More lingering texts
* More text updates
* Updated link
* Linting
* Override office365 service name in admin user details view
* linting
* Updated help text
* Fix bad merge
* Linting
* Removed one leftover occurance of Office 365
* Typo and log in link fix
* Typo fix
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
We were invalidating the userProfileByIds cache unnecessarily
when it wasn't really needed. It's just that the InvalidateCacheForUser
method wiped off all user related caches, when we just needed to wipe
user-channel related caches.
To fix this, we split the user cache invalidation method into two
and just call the InvalidateChannelCacheForUser method from app/channel.go.
https://mattermost.atlassian.net/browse/MM-59827
```release-note
NONE
```
* fix: convert component to function component
* add test for 'emoji_page'
* fix: moved lists outside the component and updated dependencies in useEffect
* fix: fix lint for 'emoji_page' test file
* 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>