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

1668 Коммитов

Автор SHA1 Сообщение Дата
Nathaniel Allred
a8fa3f29e9 Self-hosted in-product purchase (#21804)
* Self-hosted admins can purchase licenses in-app when `ServiceSettings,SelfHostedPurchase` is true (the default)
* Content Security Policy enables loading assets from `js.stripe.com/v3` when `ServiceSettings.SelfHostedPurchase` is true (the default).
* Add `hosted_customer` API subpath
* Add status of SelfHostedPurchase to telemetry config report.
* Support showing admins self-hosted invoices when `ServiceSettings.SelfHostedPurchase` is true (the default)

Co-authored-by: Conor Macpherson <116016004+ConorMacpherson@users.noreply.github.com>
2022-12-13 13:36:18 -06:00
Claudio Costa
6fd174a95f [MM-48946] Fix read after write issue when uploading data (#21868)
* Fix read after write issue when uploading data

* Prefer request.CTX interface
2022-12-13 11:47:05 -06:00
emmyni
4cd205027c [MM-48091]: Remove is_paid_tier (#21850) 2022-12-13 08:57:46 -05:00
Shivashis Padhi
0193bfd7de [MM-47378] Respond with bad requests for wrong query parameters 'roles' in getUsers (#21569)
* Respond with bad requests for wrong query parameters in roles

* Revert "Respond with bad requests for wrong query parameters in roles"

This reverts commit d8374d94e0b1f61ad445127010f9780475c48d1a.

* Add GetUser client function to query with channel_id and roles

* Return bad parameters error on invalid roles

* Make client function generic, lint fixes

* i18n strings addition

* Validate 'role', add stricter check for comma separated roles
2022-12-09 11:43:13 +05:30
Mylon Suren
8c206c1fd4 [MM-48921] Don't return error when deleting Draft if Draft DNE (#21818)
* set global drafts feature flag to true

* Don't return error on deleteDraft when draft doesn't exist in server

* undo accidental feature flag change

* address comments

* change log level to debug

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-12-08 09:40:14 -05:00
Ibrahim Serdar Acikgoz
d8e2859b0b Minimize app dependency on platform service (#21548) 2022-12-07 20:31:03 +03:00
Conor Macpherson
cdc8476032 Merge branch 'master' of github.com:mattermost/mattermost-server into MM-48125-downgrade-to-starter-email-says-upgrade-with-billing-start-date 2022-12-07 10:21:55 -05:00
Nick Misasi
3872f24b0c [MM-47566] Add upcominginvoice field to Subscription type (#21717)
* Add upcominginvoice field to Subscription type

* Add support for fetching upcoming invoices

* Put back upcominginvoice

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-12-07 10:05:48 -05:00
Konstantinos Pittas
6e9dbbd237 [MM-46463] Return last_picture_update for new team members (#21758)
* return last picture update

* add API test

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-12-07 11:16:56 +02:00
Conor Macpherson
82d9f25807 Replase product skus with their full names. 2022-12-06 13:03:00 -05:00
Conor Macpherson
47b8125659 Fix check for starter sku. 2022-12-05 15:28:36 -05:00
Conor Macpherson
6c43daa218 Merge in master. 2022-12-05 15:07:03 -05:00
Conor Macpherson
352eedf7c1 Fix app error id. 2022-12-05 14:53:38 -05:00
Conor Macpherson
fc8268990e Add check for subscription change to product with sku cloud-starter. 2022-12-05 14:34:51 -05:00
Ibrahim Serdar Acikgoz
43e26ccda2 MPA: move product hooks out of plugins environment (#21772)
* product: add new hooks manager for porducts

* move product hooks out of plugins environment

* add hooks for plugin
2022-12-05 20:16:35 +01:00
emmyni
9e79ca7160 [MM-48472]: Update the Upgrade Confirmation Email for yearly subscriptions (#21766) 2022-12-05 12:10:00 -05:00
Konstantinos Pittas
3059abdd88 [MM-44765] Add API method for getting post's information from permalink (#21518)
* add api for getting post's information

* add information about current user state

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-12-05 16:04:44 +02:00
Shivashis Padhi
b0804f26ef Adhere to convention while writing insights response (#21602) 2022-12-04 21:20:51 +05:30
Muhammad S
a71adb08e0 [MM-48409] lint and vet fix 2022-11-30 19:43:12 +02:00
Muhammad S
4092107262 [MM-48409] url mapping to configured path for cws 2022-11-30 19:43:12 +02:00
Allan Guwatudde
966456567d MM-47420 - Add endpoint to fetch selfhosted products (#21678)
* created selfhosted endpoint

* make autogenerated mocks

* add test

* add user id

* remove user id requirement

* add tests

* send user id with request

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-30 14:26:30 +03:00
Shivashis Padhi
ed3f3fec46 [MM-43850] Separate leave_team events for associated user and team (#21231)
* Separate leave_team events for associated user and team

* Remove unnecessary change of sending mode

* Remove redundant get, set of message.broadcast

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-30 11:53:16 +05:30
Julien Tant
3e928f57fb [MM-48031] Work template read API (#21661) 2022-11-29 14:53:03 -07:00
Kyriakos Z
a240cd53eb MM-48614: saves priority for drafts (#21752)
* MM-48614: saves priority for drafts

Adds a new column in the drafts table, "priority".
This way we can save post's priority in the draft.

Fixes OmitConnectionId, which when you published a ws event for a user
was getting bypassed.

Fixes Get for drafts returns deleted ones as well, which is needed for
upsert.

* Adds test case for the OmitConnectionId

* Addresses review comments, removes DeleteAt

* Vets

* Adds missing translation

* Re-instates DeleteAt column

* Adds separate case to get draft including deleted

* Fixes Update Draft

* Empty
2022-11-29 23:36:47 +02:00
Nathaniel Allred
4f3f6e6496 Mm 47422 signup token (#21662)
* When service setting flag is on, self hosted workspaces can initiate process for self-serve sign up
* Add hosted_customer api.
2022-11-29 13:32:08 -06:00
Martin Kraft
62d9218011 MM-47936: Removes CustomGroups feature flag. (#21739)
* MM-47936: Removes CustomGroups feature flag.

* MM-47936: Updates godoc.
2022-11-28 13:49:51 -05:00
Martin Kraft
b0001f7cad MM-41294: Allow team scheme APIs to be accessed with a professional l… (#21660)
* MM-41294: Allow team scheme APIs to be accessed with a professional license.

* MM-41294: Adds tests.
2022-11-28 11:19:58 -05:00
Ossi Väänänen
860989e2ca [MM-47982] [MM-47983] Honor the ShowEmailAddress setting (#21707)
* Honor the ShowEmailAddress setting for the `/api/v4/teams/[teamid]/regenerate_invite_id` and `/api/v4/users/me/teams` API paths. Fixes MM-47982 and MM-47983

* Fix linter error in test code

* MM-48186: Add a new API endpoint to add a user to their default GroupChannels and GroupTeams. (#21591)

* MM-48186: Add a new API endpoint to add a user to their default GroupChannels and GroupTeams.

* MM-48186: Removed unrelated lint fixes.

* MM-48186: Removed variable from previous iteration.

* MM-48186: Adds translation.

* MM-48186: Not upgrading golang.org/x/text in this pr.

* MM-48186: Validate user ID and auth service.

* MM-48186: Use user id from struct.

* MM-48186: Added basic client test.

* MM-48186: Adds empty translation.

* MM-48186: Added translations.

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* [MM-47384] Make OpenID Connect free for all (#21556)

* wip: make OpenID Connect free-for-all

* Deprecation note: GoogleOAuth, Office365OAuth

* Improve deprecation comments

Co-authored-by: Martin Kraft <martin@upspin.org>

* Lint fix

* Add model/oauthproviders, move google, openid, office365 from enterprise

* Vet fixes

* Remove redundant log

Co-authored-by: Martin Kraft <martin@upspin.org>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

Co-authored-by: Martin Kraft <martin@upspin.org>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Shivashis Padhi <shivashispadhi@gmail.com>
2022-11-28 11:12:41 -05:00
Ibrahim Serdar Acikgoz
372653a921 Revert "app/pluginservice: move plugin out from the Channels product (#21697)" (#21725)
This reverts commit 6c55c4d356.
2022-11-24 19:22:36 +05:30
Ibrahim Serdar Acikgoz
6c55c4d356 app/pluginservice: move plugin out from the Channels product (#21697) 2022-11-24 11:13:29 +03:00
Kyriakos Z
5e5769c4ee MM-45317: global drafts endpoints and ws events (#20614)
* MM-23881: global drafts endpoints and ws events

Adds endpoints:
- create/update drafts
- delete draft
- get drafts

Adds WS events:
- draft_updated
- draft_created
- draft_deleted

* Ordering and WS event name fixes

* Adds PostID to the drafts table

In the future the drafts will include edited posts, this commit adds the
post id in the combined pkey of the table.

* Fixes route for deleting a thread draft

* Fixes failed checks

* Fixes migrations

* Fixes migration

* Extract translation strings

* Removes PostID since we won't sync editing posts

* Fixes tests

* Fixes i18n

* Update migrations for global drafts

* update branch with latest master changes

* Add feature flag for global drafts

* Set global drafts feature flag default to true

* Added support for files in drafts

* Fix failing i18n check

* Added support for deleting files in drafts

* Revert "Added support for deleting files in drafts"

This reverts commit 45dfd04a760359de2e8814d652c9ef46daf994f6.

* Triggering new test server

* Add config setting 'AllowSyncedDrafts' for syncing drafts with server

* Triggering new test server

* Triggering new test server

* Add guard for config setting and add initial tests

* Fix i18n and lint errors

* Triggering new test server

* Add tests for drafts

* fix lint issues

* Add tests for model/draft

* Triggering new test server

* Triggering new test server

* Trigger new test server

* Address PR comments

* Change left join to regular join in GetDraftsForUser

* Fix broken test

Maybe consider adding an inclDeleted field if we want to get deleted drafts in the future

* fix translations

* Add store tests for drafts

* fix test naming

* remove comment

* update migrations

* set feature flag default to false

* update migrations

Co-authored-by: Mylon Suren <mylonsuren@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-23 22:21:40 -05:00
Kyriakos Z
27db854089 MM-47750: Adds PostAcknowledgements table and apis (#21689)
* MM-46410: adds urgency on mention counts

We have introduced priority for posts in
https://github.com/mattermost/mattermost-webapp/pull/10951.
We do need to color the mention badges in the webapp with a prominent
color when a mention is posted in an urgent message.
A thread has urgent mentions if the root post is marked as urgent, and
the replies contain mentions to the user viewing the thread.

This PR adds two columns, urgentmentioncount, and isurgent, in
channelmembers, and threads tables respectively.
Furthermore when asking for team/thread mention counts, we also return
urgent mention counts for the user.

* Fixes method in tests

* empty commit

* Fixes method call

* Fixes single thread response is_urgent

* Fixes errors

* Fixes mysql migration and adds graphql schema

* Fixes tests

* Refactors IsUrgent and Adds PostsPriority table

Changes:
- removes is_urgent from the threads table
- adds a new table to hold posts priorities
- refactors priority out of the props and into the new table

* Fixes

* Adds translation strings

* Fixes migrations and tests

* Fixes tests

* empty

* Adds Priority to Copy

* empty

* Fixes priority not saved when boards is enabled

We are nilifying Metadata when post.ForPlugin(), which didn't save Priority
for a post when Boards was enabled.
This commit copies metadata again to the post, so metadata are
reinstated.

* Fixes tests

* Adding store tests and fixes syntax error

* Uses threads.ThreadTeamId

* Fixes error

* Adds UrgentMentionCount in graphql api test

* Fetches post priority in batches

* Addresses review comments

* Restore only priority on create post

* Fixes tests

* Nits

* Some refactoring

* Fixes get thread options when post priority enabled

* Adds missing translation

* Use the constant instead of "urgent" string

* Renames urgent constant

* MM-47750: Adds PostAcknowledgements table and apis

- Adds post acknowledgement api/app/store methods to be able to save and
delete post acknowledgements by users.
- Adds wesbsocket events for acknowledgement created/deleted
- Returns post acknowledgements in the post's metadata

* Empty

* Fixes incorrect urgent count when marking a post as unread

* Adds license

* Fixes ACK api, and adds tests

* Fixes vet

* Fixes tests

* Addresses review comments

* Remove unnecessary lines

* Adds config option and changes return of delete ack

* Empty

* Empty

* Enable config by default

* Fixes intl

* Fixes test after setting config default true

* Changes endpoints to PostForUser

* Avoids replica lag

* Fixes error in merge

* Fixes RetryLayer tests due to merge

* Empty

* Empty

* Empty

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-23 19:41:23 -05:00
Kyriakos Z
c44d37629a MM-46410: adds urgency on mention counts (#20999)
* MM-46410: adds urgency on mention counts

We have introduced priority for posts in
https://github.com/mattermost/mattermost-webapp/pull/10951.
We do need to color the mention badges in the webapp with a prominent
color when a mention is posted in an urgent message.
A thread has urgent mentions if the root post is marked as urgent, and
the replies contain mentions to the user viewing the thread.

This PR adds a column, urgentmentioncount, in channelmembers.
Furthermore when asking for team/thread mention counts, we also return
urgent mention counts for the user.

Adds a new table to hold posts priorities
Refactors priority out of the props and into the new table

We are nilifying Metadata when post.ForPlugin(), which didn't save Priority
for a post when Boards was enabled.
This commit copies metadata again to the post, so metadata are
reinstated.

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Vishal Choudhary <vish9812@gmail.com>
2022-11-23 21:08:21 +02:00
Javier Aguirre
7f419ea091 [MM-48542] Removing integration limits (#21282)
* Removing integration limits

* Remove freemium limit test

* Remove test assertion regarding cloud limits

* Remove GetIntegrationsUsage

* Removing integrations usage notifications

* This shouldn't be removed

* Removing client call and websocket event

* Remove old translations

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-23 10:42:23 +01:00
Claudio Costa
0509e78744 [MM-48523] Expose resumable uploads API to plugins (#21700)
* Expose resumable uploads API to plugins

* Update translations
2022-11-22 15:26:22 -06:00
Nick Misasi
a1e16f7b02 Call Cloud HandleLicenseChange when license is changed in Cloud (#21583)
* Call Cloud HandleLicenseChange when license is changed in a cloud context

* Remove UpdateSubscriptionFromHook as its no longer necessary

* Update mocks

* Remove another reference

* Remove translation

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-22 13:22:45 -05:00
Ben Cooke
76f7872a50 [MM-46692] Channel group member count (#21270)
* tools updates

* Revert "tools updates"

This reverts commit 6293297b55803c5a263e200ebd80192899666ae9.

* adding channel member count to groups request

* fixing models

* adding a new test

* removing unused var

Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MacBook-Pro.local>
Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MBP.ht.home>
Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MBP.fritz.box>
Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MacBook-Pro.fritz.box>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-22 11:31:04 -05:00
Shivashis Padhi
ee40eb956c [MM-47384] Make OpenID Connect free for all (#21556)
* wip: make OpenID Connect free-for-all

* Deprecation note: GoogleOAuth, Office365OAuth

* Improve deprecation comments

Co-authored-by: Martin Kraft <martin@upspin.org>

* Lint fix

* Add model/oauthproviders, move google, openid, office365 from enterprise

* Vet fixes

* Remove redundant log

Co-authored-by: Martin Kraft <martin@upspin.org>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-22 11:09:04 +05:30
Martin Kraft
fcd45de73b MM-48186: Add a new API endpoint to add a user to their default GroupChannels and GroupTeams. (#21591)
* MM-48186: Add a new API endpoint to add a user to their default GroupChannels and GroupTeams.

* MM-48186: Removed unrelated lint fixes.

* MM-48186: Removed variable from previous iteration.

* MM-48186: Adds translation.

* MM-48186: Not upgrading golang.org/x/text in this pr.

* MM-48186: Validate user ID and auth service.

* MM-48186: Use user id from struct.

* MM-48186: Added basic client test.

* MM-48186: Adds empty translation.

* MM-48186: Added translations.

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-21 13:36:41 -05:00
Ben Cooke
25bb1d0ebd [MM-47145] My Insights license change (#21443)
* tools updates

* Revert "tools updates"

This reverts commit 6293297b55803c5a263e200ebd80192899666ae9.

* remove license checks for my insights endpoints

* removing new config

* remove license checks from insights test

* adding some license tests for team endpoints

* fixing tests

Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MacBook-Pro.local>
Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MBP.ht.home>
Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MBP.fritz.box>
Co-authored-by: Benjamin Cooke <benjamincooke@Benjamins-MacBook-Pro.fritz.box>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-18 11:29:06 -05:00
Agniva De Sarker
06ad69a406 MM-47465: Fix flaky TestDeleteChannel (#21686)
Creating the post in a separate goroutine would create a race condition
because that method also calls GetChannel. This can cause a bug
if the cache was wiped before the the other goroutine would get
a chance to update the cache. And if that happens, then
it would populate the cache with the old value.

Pseudo-code

```
func deleteChannel() {
    go func() {
        getFromCache()
    }()
    updateDB()
    wipeCache() // a
}

func getFromCache() {
    err := checkCache()
    if err == ErrNotFound {
        getFromDB() // x
        updateCache() // y
    }
}

func Test() {
    deleteChannel()
    getFromCache()
}
```

If the sequence of events happen like
- x
- a
- y

Then the getFromCache() call later will get the wrong
value from cache.

The fix is to make the call synchronous.

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

Special thanks to @noxer for finding the root cause.

```release-note
NONE
```
2022-11-17 20:44:18 +05:30
Shivashis Padhi
5be8557247 [MM-44168] Add feature to restore archived user groups (#20369)
* Add undelete feature, add mocks, tests

* Rename undelete->restore

* make store-layers

* make app-layers

* Store -> Store()

* Lint fixes

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-17 14:53:54 +05:30
Alejandro García Montoro
10bdea85a5 Skip flaky test in TestRequestTrialLicense (#21665)
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-11-15 10:52:54 +01:00
Shota Gvinepadze
b9d00a1f28 Simplify thread_store/GetThreadForUser (#21588) 2022-11-09 12:16:20 +04:00
Ben Cooke
d855916c6e [MM-48049] Including users who were removed from group in not_in_group response (#21559)
Automatic Merge
2022-11-04 19:10:26 +02:00
Tim Scheuermann
8844ed1c1c [MM-48060] Added context for emoji (#21561)
Co-authored-by: Tim Scheuermann <tim.scheuermann@mattermost.com>
2022-11-03 08:54:59 +01:00
Nick Misasi
a541cda9d0 Invalidate cloud caches when a new license is loaded (#21579)
Automatic Merge
2022-11-02 22:40:26 +02:00
Zubair Ahmed
79e4959d02 Return empty list of channels when requesting more channels at the end of cursor (#21557) 2022-11-02 15:10:51 +05:30
Agniva De Sarker
0b7dd5b965 MM-46450: Enable skipped test (#21526)
After looking at this for some time, I don't see
any way for this test to fail other than model.NewId
returning the same value for BasicUser and BasicUser2.

I think edge cases like this can exist from time to time.
Nothing much we can do about it.

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

```release-note
NONE
```
2022-10-27 13:57:46 +05:30
Harrison Healey
b316e1384e Change status code to 400 when attempting to enable Boards plugin with product enabled (#21521) 2022-10-26 18:15:19 -04:00