* added store
* make generated
* add missing license headers
* fix receiver name
* i18n
* i18n sorting
* update migrations from master
* make migrations-extract
* update retrylayer tests
* replaced sql query with id pagination
* fixed flaky tests
* missing columns
* missing columns on save/update
* typo
* improved tests
* remove enum from mysql colum
* add password credentials to store
* license changes
* OAuthOutgoingConnectionInterface
* Oauth -> OAuth
* make generated
* copied over installed_oauth_apps component and renamed things to installed_outgoing_oauth_connections
* merge migrations
* renamed migrations
* model change suggestions
* refactor test functionsn
* migration typo
* refactor store table names
* updated sanitize test
* cleanup merge
* refactor symbol
* "installed outgoing oauth connections" page works
* move things into a nested folder
* add and edit page stubs work
* list endpoint
* oauthoutgoingconnection -> outgoingoauthconnection
* signature change
* i18n update
* granttype typo
* naming
* api list
* uppercase typo
* i18n
* missing license header
* fixed path in comments
* updated openapi definitions
* changes to support selecting command request url
* sanitize connections
* make generated
* test license and no feature flag
* removed t.fatal
* updated testhelper calls
* yaml schema fixes
* switched interface name
* suggested translation
* missing i18n translation
* management permission
* moved permission initalization to proper place
* endpoints
* put tests
* error check typo
* fixed specific enttity urls
* tests
* read permission check
* updated openapi definitions
* i18n
* GetConnectionByAudience method
* notes
* replaced GetConnectionsByAudience with a filter
* added custom oauth token object
* updated interface and usage
* properly set enterprise interface
* move retrieval logic to impl
* webhook tests
* translations
* i18n: updates
* address comments
* endpoint and tests
* i18n
* api docs
* fixed endpoint path
* sq.like
* use filter object instead of parameters
* set url values if not empty
* typos
* converted some components to function components, and move around files
* correctly check token url
* restore flag to previous value
* added command oauth handler
* update enterprise imports
* migrate last component to function component
* Added enterprise import
* refactor permissions and add necessary webapp code
* Check correct flag in permission tree
* allow partial updates
* sort i18n webapp
* missing test modification
* fixed webapp i18n sorting
* allow validating stored connections
* added missing translation
* fix finished adding connection link and text on result page
* added missing permission to smoke tests
* missing role in smoke test
* updated translations
* updated translations
* support editing client secret on existing connection
* fix some i18n strings
* updated translations
* better error messages
* progress on using react select for command request url while maintaining typed in value
* remove writeheader, test
* HasValidGrantType
* end early to avoid nil pointer errors
* move slash command request url input box into its own component
* wrap components related to oauth connections in config check
* fix tests
* i18n-extract
* change some i18n strings to say "Outgoing OAuth 2.0 Connections"
* remove debug code
* fixed i18n
* updated i18n file
* feature configuration backend
* typo
* add system console setting
* Revert "typo"
This reverts commit 669da23e8ee47525ccaa6f59cbbd20bf8a121191.
* Revert "updated i18n file"
This reverts commit d0882c0dd7587533f0d0f7a7b7b190684186158a.
* Revert "fixed i18n"
This reverts commit 3108866bc19139182dfd094921c56cdefc4695ea.
* fixed i18n
* updated i18n file
* typo
* updated i18n
* updated i18n
* updated i18n
* updated version to 9.6
* replace feature flag with system console configuration
* i18n
* updated tests
* pr feedback
* fix styling of disabled text box
* fix styling of action links in integration console
* server changes for validation feature
* webapp changes for validation feature
* pencil icon styling
* styling fixes for oauth audience correct configuration message
* fix sanitize test
* remove max lengths from outgoing oauth connection form
* use config var in webapp instead of feature flag
* change asterisks to bullets
* update api docs for validate endpoint
* feedback from ux review
* fix lint, types, tests
* fix stylelint
* implement validation button under the token url input
* support wildcard for matching audience urls
* updates for styling
* update snapshots
* add doc links for the outgoing oauth connections feature
* change doc links to use permalink
* add docs link to system console
* fix: use limitedreader in json decoding
* fix: form error in validation
* management permission can read now
* updated api documentation
* doc typo
* require one permission to read only
* fix api connection list audience filter
* fix audience matching and add loading indicator
* fix team permissions on outgoing oauth connection api calls
* fix api doc and test, for adding team id to query params
* handle read permissions by adding a team in the payload
* missing teamid query parameter in test
* change validate button logic to not require audience urls to be filled out
* fix redux type
---------
Co-authored-by: Felipe Martin <me@fmartingr.com>
* add support for get/set/delete user preferences
* make mmctl-docs
* make --category required
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-52993_expose enable user statuses to client and prevent statuses fetch when disabled
* modify the logic, add selector, add unit tests
* implement PR feedback
* fix unit tests
* remove client console warnings
* remove another unnecessary call if the flag is disabled
* fix merge conflicts
* trial commit
* [MM-56172] Integrate fetching and sorting of user reporting into the table component (#25749)
* inint
* lint
* Update system_users.test.tsx.snap
* cypress test fix
* added pkg
* revoke sessio into new compo
* Update system_users.test.tsx.snap
* trans
* more disable
* rename
* Update system_users_dropdown.test.tsx
* snap
* Delete system_users_list.test.tsx.snap
* Create system_users_list.test.tsx.snap
* Delete system_users_list.test.tsx.snap
* name2
* start removing the filter from the list
* more clean
* snaps
* Update package-lock.json
* des
* Update index.scss
* Update system_users_list.tsx
* Update system_users_list.tsx
* Update system_users.tsx
* Update system_users_list.tsx
* Update index.scss
* menu
* action menu
* split
* Update system_users_list.tsx
* Update system_users_list_new.tsx
* fix
* Update en.json
* temp remove
* Update system_users.test.tsx.snap
* Delete system_users_list.test.tsx.snap
* Update en.json
* ch
* move
* a
* Update en.json
* fix
* Update system_users.test.tsx.snap
* Update menu.tsx
* Update admin_header.tsx
* changes in the file system
* fixes
* integration begin
* lint
* Update rhs.ts
* upper pagination
* Update list_table.scss
* pinned
* more a11y
* Update list_table.scss
* i18n mor
* design changes
* descriptions
* lint
* loading states
* fix
* actions update
* index fix
* single action
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-56467] Clear up unused code of old systems users (#25855)
* ccc
* Update en.json
* [MM-56478] Improve the user loading in user details page after changes in users list page in admin console (#25861)
* init
* tem
* more fix
* handlers clear up, team's fixes
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Merge'd
* [MM-56279] Add paging to user list (#25863)
* Update system_users.tsx
* Update system_users.tsx
* [MM-56270] Hook up user actions menu, refactor modals to work with new menuing style (#25897)
* Hookup menu items and modals
* Add error handling, test fixes
* Ensure modals animate properly
* Add a bunch of TODOs around keeping the user data up to date
* Fix i18n and snaps
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-56263] Enable selective column hiding for users table (#25898)
* [MM-56539] Revisiting the design of the total users count on the left and in pagination in users table (#25947)
* default sort order
* default sort order (#25956)
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-56267] Add search term filtering (#25952)
* Include search term with request
* Update user count with filtering
* Oops
* Add 500ms debounce to avoid spamming server with requests
* PR feedback
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-56398] Add date range filter to user reporting table (#25974)
* WIP
* Some small adjustments
* Two fixes
* PR feedback
* Remove menuitem
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Merge'd
* [MM-56615] Add messaging for MySQL instances around the post stats (#26036)
* [MM-56261] Add export modals and hook up button to user management screen (#26015)
* [MM-56576] Update users when actions occur and show errors when actions fail (#25951)
* [MM-56576] Update users when actions occur and show errors when actions fail
* Forgot the else
* PR feedback
* [MM-56617] Move action modals to ConfirmModalRedux
* Add filters popover to the users admin table (#26042)
* int
* 0 zeros
* dd
* re
* file move
* Update system_users_filter_popover.scss
* a
* Update system_users_filter_popover.scss
* role and status
* fix
* Update index.test.ts
* overlay
* Update dropdown_input.tsx
* i
* Update en.json
* done
* Update en.json
* dd
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Make column toggler column menu items consistent with table column names
* Couple typo fixes
* Fix i18n
* some e2e related changes
* Fixed issue where you couldn't queue multiple batch export jobs
* Fix id tag
* table header mis allignment issue solved
* [MM-56727] Fix a TODO, fix Demote to guest should only appear when enabled
* rev comments
* Stop sending down all profile data
* chore(e2e): Fix tests cases for new user Management ui (#26089)
* chore(e2e): Fix lint issues in cypress tests
* chore(e2e): Fix e2e tests
- user_management_spec
- authentication_method_spec
* [MM-56710] Revert to in-memory compilation of CSV report
* Update system_users.tsx
* Merge'd
* Fix test
---------
Co-authored-by: M-ZubairAhmed <m-zubairahmed@protonmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
* MM-56536 Do not update team members scheme roles if user is guest
* feedback review
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* added rctx to reuired files
* added more file changes after issues on startup
* added context to draft_store
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* limit size and number of preferences in updatePreferences
* update unit tests
* fix another location and add tests
* update utility function to return an error
* update unit tests
* fix review comments
* revert package-lock.json
* more review mods
* update number of preferences allowed
* update unit tests for new limit
* update name of config setting
* Update server/public/model/utils.go
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
* add check for error id
* use existing utility function, remove model.ObjectFromJSON()
* Update preference.go - remove blank line
---------
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-56616] Changes for the DM for batch reporting
* Use requesting user's locale
* Fix lint
* Remove unnecessary test
* Move back to file attachment
* Add default API case
* Fix i18n
* Hardcode the CSV string
The failure seemed to be due to incorect detection from gotestsum
itself rather than any failure in the test.
I note that from that time onwards, gotestsum has had a new release
and we are using that.
I also ran the test several times with gotestsum and could not
repro this. Let's hope that the new version of gotestsum has fixed
the issue. Otherwise, there isn't much we can do.
https://mattermost.atlassian.net/browse/MM-54264
```release-note
NONE
```
During server start, runLicenseExpirationCheckJob was being called
from a goroutine which would eventually call SetLicense and iterate
through the ps.licenseListeners.
But at the same time doElasticsearchFixChannelIndex would also
call AddLicenseListener and try to edit the ps.licenseListeners map,
leading to a race condition.
To fix this, we simply move the runLicenseExpirationCheckJob
to be synchronous. This fixes the race, and also improves
the correctness because after 1f431bf722
there was no license check being done synchronously during server boot.
So theoretically, the server might go on doing some stuff
until the Go runtime decides to run the license check goroutine.
https://mattermost.atlassian.net/browse/MM-56611
```release-note
NONE
```
We take a second stab at fixing the issue. Last time,
we were a bit too aggressive in trying to fix a lot of stuff.
I believe changing the cluster event handler had an edge case
somewhere which caused things to fail. Taking a very conservative
approach this time to only fix what is obviously wrong.
Also tested locally in a HA setup.
https://mattermost.atlassian.net/browse/MM-53879
```release-note
NONE
```
Co-authored-by: Mattermost Build <build@mattermost.com>
We were incorrectly excluding deactivated users
while getting channel members for a DM channel, whereas
we were actually exporting all users in the users array.
We fix this and also correctly honor the includeArchivedChannels
flag as well.
https://mattermost.atlassian.net/browse/MM-55524
```release-note
Include deactivated members in a favorited DM channel export.
```
---------
Co-authored-by: Mattermost Build <build@mattermost.com>