60 Коммитов

Автор SHA1 Сообщение Дата
Harshil Sharma
35e776d805 Removed Elasticsearch and Opensearch channel index schedma check (#30102) 2025-02-06 11:50:37 +05:30
Jesús Espino
d316df6d28 Replacing interface{} with any everywhere (except generated mocks) (#29446) 2024-12-15 21:11:36 +01:00
Ivy Gesare
9b15c50418 [MM-61509] Fix errcheck issues in server/channels/app/user.go (#29154)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2024-11-15 11:13:15 +01:00
Ben Schumacher
053d0b5f0a [MM-61140] Allow plugins to add Support Packet data without UI elements (#28833)
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
2024-11-13 11:20:39 +01:00
Harshil Sharma
c79a8a8b4a MM-61484 - Deleting scheduled posts when permanently deleting a user (#29152)
* Deleting scheduled posts when permanently deleting a user

* Updated tests

* CI

* Testing CI

* Restored a test change

* Skipping flaky test
2024-11-13 12:41:31 +05:30
Agniva De Sarker
847f42fd4c MM-61700: Fix race conditions from web_hub initialization (#29214)
The Store variable was written to _after_ the server
started which was causing the race.

We simply move it to before we start the server.

While we are here, we fix yet another race condition
which was unrelated, but doing it in one sweep. This
was related to the user props access. When a user is updated,
there was 3 ws events that get sent out, 2 were deep-copied
whereas 1 was not. This led to race condition in postgres
binary-param mode where we were trying to set the user props.



https://mattermost.atlassian.net/browse/MM-61700
2024-11-12 08:46:18 +05:30
Matthew Straughn
bc934007dc Update message when password does not match requirement (#28178)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Caleb Roseland <caleb@calebroseland.com>
2024-10-15 10:31:01 +02:00
Ibrahim Serdar Acikgoz
9d5993d89d [MM-58834] Review user preferences export and import (#28286) 2024-10-11 12:28:37 +02:00
Ben Cooke
b3c7ef0b97 [MM-56073] MMCTL delete post command (#27539)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2024-10-08 16:45:31 +02:00
Ben Schumacher
f3eee28f56 [MM-60253] Avoid unnecessary cache clearing during LDAP sync (#28300) 2024-10-03 16:26:53 +02:00
Devin Binnie
d58b048965 [MM-60603] Don't follow threads when marking them as read on focus (#28263)
* [MM-60603] Don't follow threads when marking them as read on focus

* Fix tests

* Fix lint

* Fix the original bug in the API call
2024-09-26 09:02:11 -04:00
Nick Misasi
5bfb32c504 [CLD-8131] Convert Subscription History Reporting to a Job (#27800)
* Remove CloudFreeDeprecated feature flag

* Fixes for CI pipelines

* Remove CloudReverseTrial feature flag and accompanying code (#27676)

Co-authored-by: Mattermost Build <build@mattermost.com>

* Stashing

* Convert subscription history reporting into a daily job

* Update comments

* Fix pipeline, redundant varaible declaration removed

* Add debug logs for start/finish

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-07-31 08:31:55 -04:00
Harshil Sharma
87d983cc7f Sysadmin manage user settings (#27583)
* Opened modal from system console

* WIP

* WIP

* WIP

* Handled saving user

* Successfully updated user based settings

* WIP

* WIP

* All settings are updating well

* Fixed modal style

* Added admin mode indicators in modal

* Added confirmation dialog

* Lint fixes

* Added license check

* Added permission check

* Fixed i18n file order

* type fix

* Updated snapshots

* Handled performance debugging setting

* Some styling tweaks

* Fixed text alighnment

* Updated license required from professional to enterprise

* Handled long user names

* review fixes

* Added manage setting option in user list page context menu

* Added loader

* Minor reordering

* Removed confirm modal

* Updated snapshots for removed modal

* Added some tests

* Lint fix

* Used new selector in user detail page

* Used new selector in user list page

* Updated tests

* Fixed an incorrect default test
2024-07-12 10:22:04 +05:30
Christopher Poile
cc5e87ae24 [MM-57942] Fix a panic on password is too long (#27449)
* return error from bcrypt, handle gracefully; remove dead code

* linting

* linting

* i18n

* fix test

* fill out translations
2024-07-03 17:58:26 -04:00
Daniel Schalla
1bbc3b4e83 [MM-58560] Configurable session revocation during password resets (#27286)
* [MM-58560] Allow for configurable session revocation during password reset

* Missing i18n additions

* Update Settings Wording

* Update Settings Wording #2

* Update default_config.ts for Session Termination

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-06-18 21:13:29 +02:00
Devin Binnie
f3e760008c [MM-58355] Send invalidate cache message across the cluster so that websocket connections on other instances are invalidated correctly (#27204)
* [MM-58355] Send invalidate cache message across the cluster so that websocket connections on other instances are invalidated correctly

* Add suggestion to clear the session cache on the local node as well

* Force read from master DB when gettting channel members for websocket to avoid any DB sync issues

* PR feedback

* Missed generated files
2024-06-07 09:38:53 -04:00
Scott Bishel
206ff6e697 add translation for errors checking group name (#27196)
Co-authored-by: Mattermost Build <build@mattermost.com>
2024-06-04 07:57:55 -06:00
Doug Lauder
d40cc68b1c MM-58349 Don't allow remote user to create sessions or reset password (#27215)
Automatic Merge
2024-06-03 17:11:30 +03:00
Scott Bishel
b788760e17 MM-52638- Last admin cannot be demoted (#24087)
* don't allow last sysadmin to change roles

* cleanup, add comment

* only allow admin downgrade if more than one admin

* remove unused variable

* i18n-extract, unit test fixes

* Update user.go

* remove blank line

* update tests check all return values

* revert channel_store.go

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-05-31 14:13:46 +02:00
Agniva De Sarker
6f3327ce0f MM-58038: Use context to call master for DeletePost (#27098)
Calling app.DeletePost immediately after creating a post
is susceptible to replica lag because we were calling the
replica to check for the post.

We fix this by passing a context to always query master.

https://mattermost.atlassian.net/browse/MM-58038

```release-note
NONE
```
2024-05-24 19:35:48 +05:30
Ben Schumacher
5746bb8df3 Updated permanentDelete to receive user context as the first argument (#26884)
Co-authored-by: Ezekiel <ezekielchow94@gmail.com>
2024-04-29 10:44:55 +02:00
Ben Schumacher
30d450c4d8 Cleanup usage of global logger (#26835) 2024-04-24 11:52:33 +02:00
Harshil Sharma
b4a1b33d39 Added post limit warning (#26793)
* Renamed user limit API to app limit API

* Added post warning limit

* Added tests

* Fixed types

* Renamed AppLimits to ServerLimits

* Fixed tests and review fixes

* Updated generated code

* Updated server i18n

* Fixed TestCreateUserOrGuest test

* Exclude deleted posts from post count for liims

* Reduced limits for ease of testing

* Restored original limts
2024-04-18 11:50:30 +05:30
Harshil Sharma
b02d634916 User limit enforcement (#26511)
* Added hard limits when creating user

* Added check to user activation

* Added missing check for licensed servers

* Fix i18n

* Fixed style order

* Added a separate hard limit along with existing 10k user soft limit

* For CI

* Fixing flaky test, hopefully

* Added tests
2024-03-21 19:41:53 +05:30
Harshil Sharma
774df37464 Rebuild channel index (#26080)
* WIP

* Added rebuild channels index functionality

* Added rough logic to send message to all sysadmins

* WIP

* WIP

* WIP

* Cleanup

* i18n fix

* reading through all pages of system admins

* Fixed webapp style

* i18n fix

* Added help text

* i18n fix

* i18n update

* Updated system console button action

* Updated snapshots

* some cleanup

* Updated snapshot

* Update server/channels/app/server.go

Co-authored-by: Daniel Espino García <larkox@gmail.com>

* fixed typo

* Refactoring to improve readibility

* moved index check to API later during config update

* Added some docs

* Updated get system bot

---------

Co-authored-by: Daniel Espino García <larkox@gmail.com>
2024-03-13 10:26:06 +05:30
Agniva De Sarker
bca5ab9a1f MM-57084: Use cache for GetAllProfiles (#26391)
UserStore.GetAllProfiles is a very frequent call. We cache it
when there are no options passed which is the default case.

https://mattermost.atlassian.net/browse/MM-57084

```release-note
NONE
```
2024-03-11 10:34:20 +05:30
Trang
f130615011 [MM-55737] Add Request Context to UserStore.Save (#26109) 2024-02-16 17:12:49 +01:00
Maria A Nunez
9b09652133 Update user limits error code (#26059)
* Updated user limits error code

* Webapp changes
2024-01-29 09:56:49 -05:00
Julien Tant
6f1bbcd8ec [MM-54770] Add ability to export profile pictures and fix importing them (#25042)
* add ability to export pp and fix import

* remove unused nopSeeker

* remove debug log

* fix shadow vars

* generate a warning instead of an error when unable to export profile picture

* fix merge conflicts

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2024-01-15 14:29:45 -07:00
Harshil Sharma
3047700c0b Added count exceeded warning (#25817)
* Added count exceeded warning

* lint fix

* Updated message

* Update server/channels/app/user.go

Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com>

* added check for activating user

* Updated copy

---------

Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com>
2024-01-12 06:48:52 +05:30
Ben Schumacher
edc305716f [MM-56284] Remove non-generic StoreResult (#25750) 2024-01-04 12:30:21 +01:00
Harshil Sharma
97a23d791e New report router and user reporting refactoring (#25713)
* Added materialized view migration

* Renamed mat view

* Added channel membership mat view and indexes

* Added channel membership mat view and indexes

* Added new index

* WIP

* Simplifying user reporting code

* Created app and API layer for cahnnel reporting, reporting refactoring in general

* New router

* Remobved channel reporting meanwhile

* Upodated autogenerated stuff

* Lint fix

* Fixed typo

* api vet

* i18n fix

* Fixed API vetting and removed channel reporting constants

* yaml

* removed app pagination tests
2023-12-14 10:49:19 -05:00
Devin Binnie
109f4643c6 [MM-55017] Add API method to get users for Admin Reporting (#25499)
* Add store method to get reporting data

* Some store changes

* Added app layer

* Added API call, some miscellaneous fixes

* Fix lint

* Fix serialized check

* Add API docs

* Fix user store tests leaking users

* Fix test

* PR feedback

* Add filtering for role/team/activated user, filter out bot users

* Fix mock

* Fix test

* Oops

* Switch to using struct filter

* More PR feedback

* Fix gen

* Fix test

* Fix API docs

* Fix test

* Fix possible SQL injection, some query optimization

* Fix migrations

* Oops

* Add role to API

* Fix check

* Add Client4 API call for load testing

* Fix test

* Update server/channels/store/storetest/user_store.go

Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>

* PR feedback

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
2023-12-08 10:30:08 -05:00
Ben Schumacher
b2ec1ff8ae [MM-55595] Use annotated logger in search layer (#25468) 2023-12-04 18:34:57 +01:00
Aydın Davutoğlu
bc58437e63 [MM-55302]Migrate server/channels/app/user.go to make use of GenericStoreResult (#25409) 2023-11-14 15:13:40 +01:00
Jesse Hallam
48bf4e9bd8 Fix issue 25390 (#25403) 2023-11-10 21:55:33 -04:00
Scott Bishel
818a48190e MM-54774 - update session roles when promote/demote guests (#25156)
* update session roles from user roles.

* update so user is not retrieved again

* return error, rather than log warning

* Update session.go

Fix bad merge

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-11-08 07:27:42 -07:00
KIMBOH LOVETTE
a6ba7163c8 [GH-21566] Add request context and logger to all public methods in server/channels/app/authentication.go (#25270) 2023-11-08 14:39:09 +01:00
Ben Schumacher
c7461751f2 Use request.CTX instead of *request.Context (#24877)
* Use request.CTX instead of *request.Context

* Fix tests
2023-10-30 16:33:37 +01:00
Ben Schumacher
13c05a571f Migrate store methods to use request.Context instead of context.Context (#24836) 2023-10-11 13:08:55 +02:00
Ben Schumacher
0d5a8b8841 Add whitespace linter (#24855) 2023-10-11 10:13:36 +02:00
Ben Schumacher
aad25be4e1 [MM-54434] Use job.Logger to capture ldap logs (#24493) 2023-10-06 22:43:21 +02:00
Daniel Espino García
88d043a971 Make GM behave as DM (#24289)
* Make GM behave as DM

* Fix lint

* Add desktop notification special behavior

* Change notification preferences menu

* Make changes to the GM channel intro

* Fix tests

* Fix i18n and style lint

* Add system notice and update style

* Fix style and fix tests

* Fix tests

* Handle push notifications as desktop notifications

* Fix tests

* Add test and default GMs to none when user level config is none

* Fix test

* Update only for mentions text

* Add tests

* Fix lint

* Fix lint
2023-09-19 15:29:57 +02:00
Ben Cooke
791ee40568 [MM-53291] Data retention improvements (#24253)
* adding new migration for RetentionIdsForDeletion, changing logic for deleting orphaned reactions. Updating delete user and channel endpoints to remove respective reactions
2023-09-06 08:25:27 -04:00
Felipe Martin
9f7521d003 Move request package into public/shared folder (#24420)
* move request package to public/shared

* updated app-layers

* update app layer

* remove original package location
2023-09-05 09:47:30 +02:00
Matthew Dorner
5de1e306de Add UserHasBeenDeactivated plugin hook (#20894)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
2023-08-30 08:55:20 +02:00
Elias Nahum
f787fd6336 Sanitize user in update user response (#24362) 2023-08-25 19:31:48 -04:00
Jesús Espino
5f7482e541 Remove remote users from the license counting and explicitly dissallow them to log in (#22582)
* Making all the counts aware of Remote users

* Disable login for remote users

* Adding tests for login remote_users error

* Adding tests for the store

* Adding frontend part of not counting remote users in the license

* Addressing PR review comment

* Adding the new ExternaUserId field to users

* Running make migrations-extract

* Running make app-layers and make gen-serialized

* Revert "Adding the new ExternaUserId field to users"

This reverts commit 12e5fd518962a16cdbdb8964179b6cd8e915f230.

* Adding GetUserByRemoteID methods

* Adding needed migration for users

* i18n-extract

* Fixing postgres increase remote user id field size migration up and down

* run make gen-serialized

* Removing migration code

* Not count remote users as part of the cloud pricing

* Add the cloud subscription when a user gets promote from remote to not-remote

* Fixing merge problems

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-08-14 17:54:10 +02:00
Ben Schumacher
7ecf6c0b5c [MM-53943] Remove deprecated UserAuth.Password field (#24213) 2023-08-09 10:35:53 +02:00
Harshil Sharma
26617fcbdc Remove insights (#23952)
* removed server side

* Updated store layer

* unused import

* Updated autogenerated code template

* Updated tests

* lint fix

* unused translations

* webapp side

* Updated i18n

* lint fix:

* type fix

* Updated snapshots

* Removed insights from API specs

* updated e2e

* Updated e2e tests

* Updated e2e tests

* Removed insights tests

* Removed Insights as possible channel to load in sidebar from test

* Removed more insights tests

* More e2e fixed

* More cleanup

* Lint

* More cleanup in client4 and boards api

* More cleanup

* Fixes

* lint fix

---------

Co-authored-by: maria.nunez <maria.nunez@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-07-25 12:34:38 +05:30