Commit graph

1542 commits

Author SHA1 Message Date
Jesse Hallam
d9614cbb12
Move API Reference (#23777)
* merge mattermost-api-reference unchanged

* api: update repostiory paths

* api: drop GitPod for api (for now)

* api: improved node_modules target

* api: relocate GitHub actions to root

* Update .github/workflows/api.yml

Co-authored-by: Antonis Stamatiou <stamatiou.antonis@gmail.com>

* fix cache-dependency-path

* adopt node-version-file

* pin versions for uses

* tidy steps/runs

* api/.gitpod.yml: tidy

* api: rm now unused .gitlab-ci.yml

---------

Co-authored-by: Antonis Stamatiou <stamatiou.antonis@gmail.com>
2023-06-27 11:10:13 -03:00
Joram Wilander
1f6c271b3b
MM-8708 Remove api package (#8784)
* Remove api package

* Remove api dependency from cmd package

* Remove EnableAPIv3 setting

* Update web tests

* Add more websocket tests

* Move some ws and oauth tests to api4 package

* Move command tests into api4 package

* Test fixes

* Fix msg command test

* Add some app file tests
2018-05-16 13:43:22 -04:00
Joram Wilander
6a9aa855d1
Move SAML endpoints out of api package (#8780) 2018-05-14 11:27:30 -04:00
Joram Wilander
47250c6629
Refactor context out of API packages (#8755)
* Refactor context out of API packages

* Update function names per feedback

* Move webhook handlers to web and fix web tests

* Move more webhook tests out of api package

* Fix static handler
2018-05-14 10:24:58 -04:00
Jesse Hallam
2b27e12445 MM-10188: expect io.Reader in FileBackend.WriteFile (#8765)
This is a reworked set of changes originally from @josephGuo to begin
reducing the duplicated memory required when uploading files.
2018-05-10 15:16:33 -07:00
Christopher Speller
d8dd271e43
MM-4998 Adding LoginIdAttribute to allow LDAP users to change their login ID without losing their account (#8756)
* Adding LoginIdAttribute

* Modifying LDAP to use loginIDAttribute.

* Adding IDAttribute migration and AD objectGUID support.

* Removing unused idea.

* Fix typo.
2018-05-10 09:46:09 -07:00
Christopher Speller
686c2fbab7
Structured logging (#8673)
* Implementing structured logging

* Changes to en.json to allow refactor to run.

* Fixing global logger

* Structured logger initalization.

* Add caller.

* Do some log redirection.

* Auto refactor

* Cleaning up l4g reference and removing dependancy.

* Removing junk.

* Copyright headers.

* Fixing tests

* Revert "Changes to en.json to allow refactor to run."

This reverts commit fd8249e99b.

* Fixing some auto refactor strangeness and typo.

* Making keys more human readable.
2018-04-27 12:49:45 -07:00
Jesús Espino
0910eae31d MM-9779: Incorporate a Token into the invitations system (#8604)
* Incorporate a Token into the invitations system

* Adding unit tests

* Fixing some api4 client tests

* Removing unnecesary hash validation

* Change the Hash concept on invitations with tokenId

* Not send invitation if it wasn't able to create the Token

* Fixing some naming problems

* Changing the hash query params received from the client side

* Removed unneded data param in the token usage
2018-04-18 13:46:10 -07:00
Joram Wilander
715a7f893d Remove problematic mute test (#8580) 2018-04-05 08:53:01 -04:00
Jesús Espino
014a3b6a60 Fixing misspell errors (#8544) 2018-03-29 10:04:54 -04:00
Christian Claus
257f748732 [PLT-4340] Channel Mute and "/mute" command #7617 (#7713)
* Add command and store changes to allow mute toggling

* Change channel muting to use ChannelMember notification structure

* Suppress email and push notifications for a muted channel

* Make i18n keys issue-compliant

* Add notification-cache handling for channel-muting

* Add channel handle for channel-muting slash-command

* Add unit test for mute command

* Merge branch 'master' into PLT-4340

# Conflicts:
#	app/notification.go

* Fix issue that command_mute responses will be overwritten

* Fix i18n key for channel muting

* Apply new Provider Interface to MuteCommand

* Migrate mute notification property to mark_unread

PLT-4340

* Make some i18n improvements for command_mute

PLT-4340

* Remove de.json translations

* Prevent push notifications when channel is muted

* Treat Group messages like Direct messages

* Fix unit test

* Send WS event when the channel member notify props changed
2018-03-28 07:02:04 +03:00
Martin Kraft
5fa1b35819 Merge branch 'master' into advanced-permissions-phase-1 2018-03-23 09:08:49 -04:00
Elias Nahum
c9e9484150
MM-9853 Fix Team invite does not carry through SAML login (#8495) 2018-03-22 19:46:30 +02:00
Jesse Hallam
9d701c7044 Fix various segfaults when running go test manually (#8448)
* failing to find i18n shouldn't segfault

The server was trying to handle the fact that it couldn't find the i18n
directory, by emitting a translated log message...

* fix utils.FindDir

The attempts to find the directory in the parent or grandparent directory
don't work if the current working directory was inside `enterprise`, with
`enterprise` itself being a symlink as per the usual developer setup.

Recurse to the root of the filesystem, cleaning the path along the way
to work around this limitation (and allow tests to be run from an
arbitrarily deep nesting level.)

Fix corresponding usages to employ filepath.Join.

* failing to find html templates shouldn't segfault

* fail fast if the test user cannot be created

* rework utils.FindDir to retain backwards compatibility
2018-03-21 18:27:14 +00:00
George Goldberg
fadcdd271a Merge branch 'master' into advanced-permissions-phase-1 2018-03-13 13:36:23 +00:00
Harrison Healey
4e26594fcb
Removed mssola/user_agent library (#8417)
* Removed mssola/user_agent library

* Changed user agent tests to use t.Run
2018-03-12 10:21:20 -04:00
Chris
e8943936c5
general cleanup (#8387) 2018-03-07 12:36:40 -06:00
Joram Wilander
4a1802c039
MM-9664 Add invalidation metrics for store caches (#8340)
* Add invalidation metrics for store caches

* Increment session invalidation metric

* Fix tests
2018-03-05 10:35:26 -05:00
Chris
4ebf974690 remove go Publish(...) idiom (#8373) 2018-03-02 16:49:18 +00:00
George Goldberg
901acc9703 Merge branch 'master' into advanced-permissions-phase-1 2018-03-02 15:55:03 +00:00
Joram Wilander
5fb4b1bc93 MM-8593 Default APIv3 to disabled for new installs (#8353)
* Default APIv3 to disabled for new installs

* Add EnableAPIv3 setting to client config

* Enable APIv3 for needed tests
2018-02-23 07:55:02 -08:00
Chris
d44ef7ea67
Remove global site url (#8343)
* remove global site url

* missed one

* revert mysterious change
2018-02-22 18:23:32 -06:00
Harrison Healey
babd795d79
MM-9556 Added ability to upload files without a multipart request (#8306)
* MM-9556 Added ability to upload files without a multipart request

* MM-9556 Handled some unusual test behaviour
2018-02-20 10:41:00 -05:00
Jesús Espino
21afaf4bed
MM-8825: Make consistent INVITE_USER and ADD_USER_TO_TEAM permissions checking (#8326) 2018-02-20 16:19:35 +01:00
Jesús Espino
8891fa2a5e MM-8827: Add ADD_REACTION, REMOVE_REACTION and REMOVE_OTHERS_REACTIONS permissions (#8300) 2018-02-19 11:13:29 +00:00
George Goldberg
0e718a632a
MM-9618: Don't change default role permissions for policy. (#8303) 2018-02-19 10:16:45 +00:00
Joram Wilander
a43928cca8 ABC-176 Prevent changing PluginSettings.EnableUploads through the API (#8249)
* Prevent changing PluginSettings.EnableUploads through the API

* Contain api4 test case in it's own test
2018-02-13 14:05:18 -05:00
Joram Wilander
5c560db810
ABC-176 Prevent changing PluginSettings.EnableUploads through the API (#8249)
* Prevent changing PluginSettings.EnableUploads through the API

* Contain api4 test case in it's own test
2018-02-13 11:08:49 -05:00
George Goldberg
5c101253c5 Merge branch 'master' into advanced-permissions-phase-1 2018-02-13 13:46:01 +00:00
Martin Kraft
9325430859 XYZ-73: Removes EnableOnlyAdminIntegrations uses. (#8245) 2018-02-12 18:49:29 +01:00
George Goldberg
1edcabbc9b Fix tests. (#8244) 2018-02-12 14:52:42 +01:00
Chris
a6309aaf48
Remove license globals entirely (#8229)
* remove license globals entirely

* fix infinite recursion

* test fix
2018-02-09 10:04:48 -06:00
Jesús Espino
0aa7ecd5e8 AllowEditPost and PostEditTimeLimit migration (#8208)
* AllowEditPost and PostEditTimeLimit migration

* Not set EDIT_POST permission to sysadmin_role if ALLOW_EDIT_POST is configured to NEVER

* Remove a bit of code duplication
2018-02-09 10:31:01 -05:00
Chris
0f703a3368
Eliminate utils.SetLicense calls (#8217)
* eliminate utils.SetLicense calls

* test fix

* another test fix

* more test fixes
2018-02-07 16:20:51 -06:00
Chris
eff65aa05c ABC-132: sign error page parameters (#8197)
* sign error page parameters

* add comments
2018-02-07 12:05:46 -05:00
Jesús Espino
a04b02081a Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-1 2018-02-07 18:05:23 +01:00
Pierre de La Morinerie
809a16458f Abort on critical error during server startup (#8204)
Only a handful of critical errors are present in the codebase.
They all occur during server startup (in `app.StartServer()`).

Currently, when one of these critical error occurs, it is simpled
mentionned in the logs – then the error is discarded, and the app
attempts to continue the execution (and probably fails pretty quickly in
a weird way).

Rather than continuing operations in an unknow state, these errors should
trigger a clean exit.

This commit rewrites critical startup errors to be correctly
propagated, logged, and then terminate the command execution.
Additionnaly, it makes the server return a proper error code to the
shell.
2018-02-07 02:11:15 -06:00
Chris
1ec295f88c
add App.License, remove utils.IsLicensed / utils.License calls (#8203) 2018-02-06 17:25:49 -06:00
George Goldberg
7941c30117 Merge branch 'master' into advanced-permissions-phase-1 2018-02-06 17:25:53 +00:00
George Goldberg
e1cd646135
XYZ-37: Advanced Permissions Phase 1 Backend. (#8159)
* XYZ-13: Update Permission and Role structs to new design.

* XYZ-10: Role store.

* XYZ-9/XYZ-44: Roles API endpoints and WebSocket message.

* XYZ-8: Switch server permissions checks to store backed roles.

* XYZ-58: Proper validation of roles where required.

* XYZ-11/XYZ-55: Migration to store backed roles from policy config.

* XYZ-37: Update unit tests to work with database roles.

* XYZ-56: Remove the "guest" role.

* Changes to SetDefaultRolesFromConfig.

* Short-circuit the store if nothing has changed.

* Address first round of review comments.

* Address second round of review comments.
2018-02-06 15:34:08 +00:00
Jesse Hallam
81e67f8759 ABC-179: check email verification last (#8172)
* ABC-179: check email verification last

This change changes the authentication checks to be:
* "preflight checks"
** mfa
** not disabled
** login attempts
* password
* "postflight checks"
** email verified

Checking whether the email is verified or not last avoids the weird edge
case where entering any bogus password for an account with an unverified
email shows a message about verifying the email and offering to resend.

* fix invalid unit test assertion

Client.CreateUser returns a user whose password has been sanitized.
Adopt the pattern in the previous assertions to use a new variable name
and test the password on the original model.User object. This didn't
expose any underlying broken behaviour, but the test wouldn't have
caught it if it had regressed.

Also fix a minor typo.
2018-02-05 10:54:13 -05:00
Christopher Speller
1262d25473
User based rate limiting (#8152) 2018-01-31 09:49:15 -08:00
Chris
599991ea73
PLT-3383: image proxy support (#7991)
* image proxy support

* go vet fix, remove mistakenly added coverage file

* fix test compile error

* add validation to config settings and documentation to model functions

* add message_source field to post
2018-01-22 15:32:50 -06:00
Joram Wilander
a844577535 Add sort query parameter to GET /emojis (#8121) 2018-01-19 09:37:59 -05:00
Chris
4e6cc846a6 Finally remove utils.Cfg (#8113)
* finally remove utils.Cfg

* fix compile error

* another test compilation fix
2018-01-17 13:38:37 -05:00
Chris Duarte
d35d9484f4 Allow deactivation of SSO users api3 (#8008) 2018-01-16 15:47:06 -06:00
Chris
1d9efd0e39 Remove global config watcher (#8080)
* remove global config watcher

* keep config watcher disabled for tests

* compile fix

* fix resource leak
2018-01-11 13:23:41 -08:00
Jesús Espino
dd9ad10d70 [PLT-6936] Translate AppError.Message automatically by default (#8063) 2018-01-08 13:13:24 -05:00
Chris
591ef9f352
Remove utils.ClientCfg and utils.ClientCfgHash (#8041)
* remove utils.ClientCfg and utils.ClientCfgHash

* remove unused import
2018-01-05 16:17:57 -06:00
Chris
91bfc72a99 Reduce logging data races, fix MySQL test race condition (#7994)
* fix races

* revert unintentional change

* fix test as intended
2017-12-22 12:09:33 +00:00
Chris
03f5c939de
fix PUT webhook permissions (#7970) 2017-12-12 17:44:01 -06:00
Chris
1ccf093803 origin checker refactor (#7889) 2017-11-22 13:58:03 -08:00
Chris
77a1dc1f2f HTTP client refactor (#7884)
* http client refactor

* simplification
2017-11-22 10:15:03 -05:00
Chris
816a30397d Role refactor (#7867)
* role refactor

* add missing file

* fix web test
2017-11-21 11:08:32 -08:00
Chris
5cf45d2155 refactor template code (#7860) 2017-11-20 12:57:45 -05:00
Chris
d1cee02247
Refactor password validation and config defaults (#7859)
* refactor password validation and config defaults

* reorder config lines for clarity
2017-11-20 11:04:04 -06:00
Tsilavina Razafinirina
ab6ef954b4 PLT-6217 Fixes system message posted to Town Square when a member leaves a team (#7752)
* Fixes system message posted to Town Square when adding/removing team member (#6483)

Fixes unit test method call to match RemoveUserFromTeam modification (#6483)

Fixes system message posted to Town Square when adding/removing team member (#6483)

Removes unnessary error message

* Updates system message when a user leaves a team (#6483)

* Changes system message when a user is removed from team (#6483)

* Adds a new string to be post to town-square when a member is added to a team (#6483)
2017-11-20 10:15:33 -05:00
Chris
eb1a00ef5f Reorganize file util functionality (#7848)
* reorganize file util functionality

* fix api test compilation

* fix rebase issue
2017-11-16 16:04:27 -05:00
Jesús Espino
6c211c3a12 PLT-7111 Add groupmsg command (#7419)
* Coping command_msg to use as command_groupmsg base

* Changing msg to groupmsg names in groumsg command

* Add groupmsg command
2017-11-14 17:27:14 -05:00
Chris
10c5a927cb
more global config ref cleanup (#7802) 2017-11-09 14:46:20 -06:00
Chris
d5dbdb2737 several one-line panic, race, and logic fixes (#7766) 2017-11-03 08:25:38 -07:00
Chris
9d32cd4208 prevent deactivation of sso users (#7759) 2017-11-02 17:24:11 -04:00
Joram Wilander
23e4b4a27d PLT-7810 Track if an APIv3 endpoint was used in the last day (#7744)
* Track if an APIv3 endpoint was used in the last day

* Make it atomic
2017-10-31 14:36:41 -07:00
Saturnino Abril
709ef99eca [PLT-7362] Add post' root ID to APIv4 addChannelMember to render added user (as system post) at RHS (#7730)
* add post' root ID to apiv4 addChannelMember to render added user (as system post) at RHS

* add check to post_root_id parameter

* add AddChannelMemberWithRootId function for backward compatibility
2017-10-31 15:48:58 -04:00
Joram Wilander
06ec648cf3 PLT-7978 Add websocket event for user role update (#7745)
* Add websocket event for user role update

* Fix tests

* More test fixes
2017-10-31 16:00:21 +00:00
Chris
ce2b2be5de Refactoring cfg refs and load / save functions (#7749)
* refactoring cfg refs and load / save functions

* improve error output
2017-10-31 10:39:31 -04:00
Chris
3cbacb6858
Remove unused variables / code (#7736)
* remove unused variables / code

* fix bug in testPostStoreGetOldest
2017-10-30 11:58:00 -05:00
Chris
c5e8cb25ca
simplify things (#7735) 2017-10-30 11:57:24 -05:00
Chris
7ed011745a Remove more global refs / state (#7723)
* remove more global refs / state

* fix job enterprise initialization

* fix api4 test compilation

* saml api endpoints fix
2017-10-26 15:21:22 -04:00
Christopher Speller
4491b5ecdf Performance improvements for 40M posts (#7708)
* Optimizing get root posts SQL query

* Setting session invalidation to be reliable

* Adding app reciever to SessionHasPermissionToUser

* Adding app reciever to SessionHasPermissionToTeam

* Adding app reciever to SessionHasPermissionTo

* Clear session cache if permission was denied

* Fixing rebase issues

* Revert "Optimizing get root posts SQL query"

This reverts commit f364757e7015cfb4ec673d0a4fc3d57cd25d8dd7.

* Fixing build
2017-10-25 11:48:15 -07:00
Carlos Tadeu Panato Junior
b4930fb8e5 [PLT-7726] adjustments for the mm-server jenkinsfile (#7688) 2017-10-25 09:41:16 -07:00
Chris
9c0575ce6e PLT-7599: webhook post splitting (#7707)
* webhook post splitting

* style fix

* update old webhook test
2017-10-24 19:36:31 -04:00
Chris
2a2af0e390 eliminate more utils.Cfg references (#7701) 2017-10-24 09:00:05 -07:00
Chris
78a9774147 add model.NewX funcs for builtin types (#7692)
* add model.NewX funcs for builtin types

* whoops, forgot to add the new file
2017-10-23 09:40:35 -07:00
Chris
08b7b1c414 Reduce cfg boilerplate (#7689)
* reduce cfg boilerplate

* fix compile error

* user test fix

* another test fix

* simplify diagnostics / testing
2017-10-23 02:39:51 -07:00
Saturnino Abril
18ee375860 [PLT-7362] Option to add user to channel if mentioned user is not currently in the channel (#7619)
* Option to add user to channel if mentioned user is not currently in the channel

* instead of link from server, just add component on client side to add channel member

* change implementation using post.props

* do clean up and add test

* sanitize post.props['add_channel_member'] on post creation

* move sanitize to app.CreatePost and also apply to app.UpdatePost
2017-10-21 01:38:26 +08:00
Chris
8e19ba029f Reduce utils.Cfg references (#7650)
* app.UpdateConfig method

* test fix

* another test fix

* the config override option as-was is just error prone, remove it for now

* derp
2017-10-18 15:36:43 -07:00
Chris
0a508133d5 fix email race condition (#7656) 2017-10-18 14:13:14 -07:00
Christopher Brown
39cc237269 Merge branch 'release-4.3' 2017-10-16 23:10:45 -05:00
Chris
34285d8cca parallel tests (#7629) 2017-10-16 11:09:43 -04:00
Chris
917e4789c2 Use tmpfs containers for api/api4 tests, move and speed up CLI tests (#7606)
* use tmpfs containers for api/api4, move and speed up cli tests

* minor optimizations

* add missing files, fix pre-existing race condition

* add . to TestMain check

* add requested log message
2017-10-12 12:24:54 -07:00
Chris
aa2b82727f fix race condition in tests (#7609) 2017-10-11 12:16:04 -07:00
Chris
bff2b5e735 Miscellaneous app cleanup (#7594)
* app cleanup

* whoops, forgot a file

* some minor cleanup

* longer container deadline

* defensive checks
2017-10-09 14:59:48 -07:00
Harrison Healey
e522a1c2e4 PLT-7811 Standardized team sanitization flow (#7586)
* post-4.3 commit (#7581)

* reduce store boiler plate (#7585)

* fix GetPostsByIds error (#7591)

* PLT-7811 Standardized team sanitization flow

* Fixed TestGetAllTeamListings

* Stopped sanitizing teams for team admins

* Removed debug logging

* Added TearDown to sanitization tests that needed it
2017-10-09 10:30:59 -07:00
Joram Wilander
9adaf53e11 PLT-7818 Updates to post type (#7579)
* Updates to post type

* Update tests
2017-10-09 10:30:48 -07:00
Chris
07777f5ff9 Fix races / finally remove global app for good (#7570)
* finally remove global app for good

* test compilation fixes

* fix races

* fix deadlock

* wake up write pump so it doesn't take forever to clean up
2017-10-04 13:09:41 -07:00
Joram Wilander
fadd9514f6 PLT-7718 Patch for files (#7564)
* Patch for files

* Fix merge

* Fix tests

* Fix another test
2017-10-04 11:42:38 -04:00
Joram Wilander
f94b807f39 PLT-7782 Fix for OAuth (#7566)
* Fix for oauth

* Fix test
2017-10-04 11:05:36 -04:00
Chris
5e69ce099f Goroutine wranglin (#7556)
* goroutine wranglin

* synchronize WebConn.WritePump
2017-10-03 10:53:53 -05:00
Chris
9bc7af0c57 Don't use global app for api / api4 tests (#7528)
* don't use global app for api / api4 tests

* put sleep back. we're gonna have to do some goroutine wrangling

* fix oauth test config assumptions

* jobs package, i'm comin' for you next

* app test fix

* try increasing sleep a little
2017-10-02 09:50:56 +01:00
Joram Wilander
8b9dbb8613 PLT-7404 Return viewed at times in view channel API response (#7428)
* Return viewed at times in view channel API response

* Updated transaction to read and write once

* Remove transaction and only update if new value greater than older
2017-09-29 08:45:59 -07:00
Joram Wilander
f263d2b951 PLT-7684 Add support to outgoing webhooks and slash commands to set post type and props (#7531)
* Add support to outgoing webhooks and slash commands to set post type and props

* Fix nil access
2017-09-28 09:08:16 -07:00
Chris
8c80cdde38 remove remaining Global() calls (outside of tests) (#7521) 2017-09-28 00:52:34 +08:00
George Goldberg
e8ca3d64f4 PLT-7470: Add metrics for searches. (#7507) 2017-09-25 13:44:44 -07:00
Chris
49fe5fbf3d Move sql store code into store/sqlstore package (#7502)
* move sql store code into store/sqlstore package

* move non-sql constants back up to store

* fix api test

* derp
2017-09-25 10:11:25 -04:00
Chris
dcf9e96a0b remove global refs from api/api4 (#7496) 2017-09-22 13:54:27 -04:00
Chris
266ff86702 remove more global refs (#7480) 2017-09-21 10:13:34 +01:00
Chris
ac74066f0e remove einterface gets (#7455) 2017-09-19 18:31:35 -05:00
Corey Hulen
99b7d65504 Fixing profile image tag (#7435)
* Fixing profile image tag

* Fixing unit test

* Fixing unit test
2017-09-19 16:34:39 -04:00
Saturnino Abril
0643bf5159 generate web error when opening an invalid public file link (#7475) 2017-09-19 08:58:20 -04:00
George Goldberg
fd878bd50c PLT-7539: Remove redundant license checks from CLI commands. (#7451) 2017-09-15 09:40:37 -07:00
Joram Wilander
ed1363e1bf Fix update SQL query to include refresh token (#7425) 2017-09-14 11:48:48 -04:00
Chris
4731b8f9b9 fix plugin test (#7436)
* fix plugin test

* ugh. global state

* Fix plugin test

* Fix TestDeleteChannel

* Remove plugin config listener when shutting down
2017-09-12 15:12:29 -04:00
Chris
b066b6df13 Remove global app references (#7433)
* remove global app references

* test fix

* fix api4 test compilation
2017-09-12 09:19:52 -05:00
Christopher Speller
c357949856
Disabling oauth test 2017-09-07 01:02:19 -07:00
Christopher Speller
f9664a1e8a
Adjustments to Jenkinsfile 2017-09-07 00:19:48 -07:00
Christopher Speller
29fca51821
Renaming repo 2017-09-06 23:11:59 -07:00
Christopher Speller
7bc8e9a08d
Adding jenkinsfile for new build server. 2017-09-06 23:11:58 -07:00
Christopher Speller
77709ccdda
Merge release-4.2 2017-09-06 20:43:18 -07:00
Chris
1adfd0e9be app type transition (#7167) 2017-09-06 17:12:54 -05:00
JoramWilander
d38328976e
Various patches 2017-09-06 16:24:34 -04:00
Saturnino Abril
f968c56890 Revert "[PLT-7475] Add S3 region to system console and add S3 validation (#7373)" (#7387)
This reverts commit 8d680cf64e.

Move to 4.3.
Will discuss more if validation is necessary.
2017-09-06 11:02:42 -05:00
Saturnino Abril
8d680cf64e [PLT-7475] Add S3 region to system console and add S3 validation (#7373)
* add S3 region to system console and add S3 validation

* update translation message

* add bool as return value to Validate* functions

* update Validate* functions to be pure
2017-09-06 03:42:18 +08:00
George Goldberg
75c63344de Api: NewLocAppError -> NewAppError (#7280) 2017-09-01 09:58:43 -04:00
David Meza
3c52801193 Config to make town square read only (#7140)
* Be able to make Town Square read-only (Disable typing messages for non admins).

* Do not emit UserTypingEvent when TownSquareIsReadOnly and is Town Square.

* Add unit tests for TownSquareIsReadOnly config value and logic.

* Add TownSquareIsReadOnly to System console>Policy. Added Telemetry.

* Add control for TownSquareIsReadOnly=true only for License Enterprise Edition E10 & E20.

* Update en.json

* Update en.json

* Update policy_settings.jsx

* Change config value from TownSquareIsReadOnly to ExperimentalTownSquareIsReadOnly.

* Refactored to simplify. Avoid code repeat and multiple db calls.
2017-09-01 09:53:55 -04:00
Saturnino Abril
f34cd567a6 [PLT-5170] Add join the channel system message for the person who created the channel (#7299)
* add join the channel system message for the person who created the channel

* update test
2017-08-30 16:29:32 -04:00
Saturnino Abril
651dd33b29 set to default value with config is missing (#7320) 2017-08-30 13:54:16 -04:00
Corey Hulen
1709b94227 PLT-5745 Cleaning up duplicate calls (#7298)
* PLT-5745 Cleaning up duplicate calls

* Fixing missing calls

* Fixing broken test
2017-08-28 10:08:37 -04:00
George Goldberg
50fc6e1e9e PLT-???? Prepare file upload infrastructure for Data Retention. (#7266)
* Prepare file upload infrastructure for Data Retention.

This commit prepares the file upload infrastructure for the data
retention feature that is under construction. Changes are:

* Move file management code to utils to allow access to it from jobs.

* From now on, store all file uploads in a top level folder which is the
  date of the day on which they were uploaded.

This commit is based on Harrison Healey's branch, but updated to work
with the latest master.

* Use NewAppError
2017-08-25 10:38:13 -04:00
Joram Wilander
e40fd0b3b5 Remove temporary cookie code (#7218) 2017-08-18 12:09:01 -07:00
Saturnino Abril
9097289c2c [PLT-3377] Open up a shortcuts dialog instead of printing help text (#7064)
* open up a shortcuts dialog instead of printing help text

* Updating UI for keyboard shortcuts modal

* update PR per PLT-7284

* fix typo error

* fix mixed up shortcut keys

* move to client side

* fix shortcuts list, remove unused function and revert server side code for autocompletion

* remove quick team switcher
2017-08-18 17:04:05 +08:00
Christopher Speller
fd1301779f
Merge branch 'release-4.1' 2017-08-17 09:35:36 -07:00
Corey Hulen
0ab490845a PLT-6226 Fixing races with licensing (#7213)
* PLT-6226 Fixing races with licensing

* Fixing build issue

* Fixing licensing issue

* removing commented code
2017-08-16 09:51:45 -07:00
Chris
b122381e87 PLT-1649: add response_url support for custom slash commands (#6739)
* add response_url support for custom slash commands

* pr suggestions

* pr update / suggestion

* test fix
2017-08-16 08:17:57 -04:00
Joram Wilander
0033e3e37b PLT-7408 Move webhook handling into api4 package to fix EnableAPIv3 config setting (#7219)
* Move webhook handling into api4 package to fix EnableAPIv3 config setting

* Fix unit test
2017-08-16 04:25:36 +08:00
George Goldberg
638c38cc0d PLT-7336: Fix team API endpoints. 2017-08-11 18:20:10 +01:00
Chris
ffbf8e51fe PLT-6358: Server HTTP client improvements (#6980)
* restrict untrusted, internal http connections by default

* command test fix

* more test fixes

* change setting from toggle to whitelist

* requested ui changes

* add isdefault diagnostic

* fix tests
2017-08-09 13:49:07 -07:00
Jonathan
fd6856b674 PLT-7206: Remove the "Delete Channel" option for private channels if you're the last channel member and policy setting restricts channel deletion (#7050)
* PLT-7206: UI changes. Removed last user in channel loophole, refactored code to clean it up, added differentiated support for public and private channels, added unit tests. Still need to implement server-side checks

* PLT-7206: All helper methods in channel_utils.jsx now accept the same three boolean variables in the same order and use the same boolean logic to check their values.

* PLT-7206: Added unit tests for showManagementOptions(...)

* PLT-7206: Fixed test case descriptions

* Added unit tests for showCreateOption(...)

* PLT-7206: Added unit tests for canManageMembers(...)

* PLT-7206: Removed last person in channel loophole from server-side code

* PLT-7206: Reverted config.json

* PLT-7206: Fixed double negatives in unit test names

* PLT-7206: PR feedback - Removed confusing comment and unused variable
2017-08-09 09:34:09 -04:00
JoramWilander
1885d2ec2a
Minor updates to team 2017-08-08 16:20:07 -04:00
Harrison Healey
885c7e277d PLT-7261 Fixed incorrect content type for preview and thumbnail images (#7119) 2017-08-04 09:05:16 -04:00
David Meza
b54d134299 PLT-6484 Add /leave command to leave a channel (#6402)
* PLT-6484 Add /leave command to leave a channel

* Text changes requeted on review.

* PLT-6484 Display the right error message when trying to /leave town-square

* PLT-6484 Be able to execute /leave command in direct and group message channels with the same effect as clicking x

* PLT-6484 Refactor to create new leave_private_channel_modal.jsx

* PLT-6484 Remove previous leave private channel logic to use new leave_private_channel_modal.jsx

* Remove dot in command description. Change localized error when leaving Town square.

* disable /leave command in reply threads on the right-hand sidebar, since it is not obvious which channel you should leave
2017-08-03 08:59:42 -04:00
enahum
fa3dd6a84b If login is using mobile respond with JSON object (#7030) 2017-08-03 02:39:14 +08:00
Saturnino Abril
88f398ffdd Revert " #4755 Combining consecutive user join/leave system messages to single message and few other changes." (#7072)
* Revert "PLT-6603: Don't return all posts on invalid query. (#7061)"

This reverts commit 25a2013890.

* Revert " #4755 Combining consecutive user join/leave system messages to single message and few other changes. (#5945)"

This reverts commit 8a91235fb3.
2017-08-01 08:16:45 -04:00
Debanshu Kundu
8a91235fb3 #4755 Combining consecutive user join/leave system messages to single message and few other changes. (#5945)
fix 7 and 8

remove @ at "{username} joined the channel"

refactor and update test
2017-08-01 02:17:21 +08:00
Joram Wilander
59992ae4a4 PLT-6763 Implement user access tokens and new roles (server-side) (#6972)
* Implement user access tokens and new roles

* Update config.json

* Add public post permission to apiv3

* Remove old comment

* Fix model unit test

* Updates to store per feedback

* Updates per feedback from CS
2017-07-31 12:59:32 -04:00
Harshavardhana
489602efe5 Allow regions to be set and honored for S3 driver. (#7010)
This is necessary for certain users where
GetBucketLocation API is disabled using IAM
policies. There is a field AmazonS3Region
which we need to re-purpose and use to support
this properly.

Fixes https://github.com/mattermost/platform/issues/6999
2017-07-31 12:22:52 -04:00
Joram Wilander
e83ba9a4a7 Add retries to TestEmailMention test (#6893) 2017-07-27 08:21:08 -04:00
Christopher Speller
97f34e483b
Merge branch 'release-4.0' 2017-07-18 15:45:23 -07:00
Saturnino Abril
21a3219b9b [PLT-6676] Make OutgoingWebhook to fire when post has no text content but only attachment (#6935)
* make OutgoingWebhook to fire when post has no text content but only attachment

* update per comment and modify payload & test
2017-07-18 15:43:31 -04:00
Harrison Healey
a20ddb4047 Fixed downloading of image files (#6934)
* Fixed downloading of image files

* Fixed captitalization

* Fixed missing import

* Rename image to media
2017-07-15 02:42:08 +08:00
Chris
a18479df09 Tweak WebSocket header-processing (#6929)
* fix

* consolidate code
2017-07-13 18:48:07 -07:00
Chris
5c3c909c85 Tweak WebSocket header-processing (#6929)
* fix

* consolidate code
2017-07-13 14:02:33 -07:00
Harrison Healey
4eed88e0c2 PLT-7092 Fixed creation of PostList with null Posts fields (#6924) 2017-07-13 08:12:11 -04:00
JoramWilander
15ad24d160
Minor fix 2017-07-06 17:28:38 -04:00
Chris
5bd60a4d1e add /search command (#6741) 2017-07-05 09:26:31 +08:00
Joram Wilander
8ec8948c84 PLT-6554 Add config setting to control enabling API version 3 (#6835)
* Add config setting to control enabling API version 3

* Update help text for APIv3 config setting (#6843)

* Update configuration_settings.jsx

* Update en.json
2017-07-04 16:12:02 -04:00
Joram Wilander
f54aee1ef5 Add paging to the GET /emojis endpoint (#6802) 2017-07-03 23:58:02 -07:00
Jaehyun, Park
50b662040c Add /help slash command (#6650)
* Add /help slash command

* Fix copyright year

* go fmt

* Add help command test at api4

* Fix jasonblais's issue

* Update test code

* Fix unit test issue - keep config unchanged
2017-06-29 10:38:56 -04:00
Christopher Speller
9659a6da06 Stage 1 of caching layer. Framework (#6693) 2017-06-27 08:02:08 -07:00
Chris
14467ee134 add /open command (#6717) 2017-06-26 09:36:47 -07:00
VeraLyu
33eb77b757 PLT-3711: Add websocket event for emoji addition (#6211)
* PLT-3711: Add websocket event for emoji addition

* (SA) updated as per review

This PR is edited directly to merge into master.

* (SA) updated as per review

This PR is edited directly to merge into master.
2017-06-23 19:09:17 -04:00
Chris
4df36a504c PLT-6714: add /settings command (#6716)
* add /settings command

* update receiver name
2017-06-23 15:47:24 -07:00
Jason Blais
647d5b1b45 Fix places where we still refer to "/loadtest" (#6732)
* Update README.md

* Update developer_settings.jsx

* Update command_loadtest_test.go
2017-06-23 13:36:13 -04:00
Corey Hulen
e2cc0df2e8 PLT-6761 fixing unit tests (#6671) 2017-06-19 09:08:52 -07:00
Corey Hulen
36f216cb7c PLT-6080 moving clustering to memberlist (#6499)
* PLT-6080 adding cluster discovery service

* Adding memberlist lib

* Adding memberlist lib

* WIP

* WIP

* WIP

* WIP

* Rolling back config changes

* Fixing make file

* Fixing config for cluster

* WIP

* Fixing system console for clustering

* Fixing default config

* Fixing config

* Fixing system console for clustering

* Tweaking hub setting

* Bumping up time

* merging vendor dir

* Updating vendor dir

* Fixing unit test

* Fixing bad merge

* Remove some testing code

* Moving comment

* PLT-6868 adding db ping retry

* Removing unused loc strings

* Adding defer to cancel
2017-06-19 08:44:04 -07:00
Harrison Healey
4d4f2cea86 PLT-6678 Change Cache-Control to private for files (#6660) 2017-06-16 09:35:15 -07:00
Joram Wilander
528f2dc6c3 Merge release-3.10 into master (#6654)
* PLT-6787 Fixed being able to send a post before files finished uploading (#6617)

* Fix quick switcher for channels/users not stored locally (#6610)

* Fix button text on confirm mention modal (#6609)

* fix post delete permission of channel admin (#6608)

* open comment thread for the most recent reply-able message (#6605)

* Use mutex flag with yarn to prevent concurrent builds interfering (#6619)

* Use mutex flag with yarn to prevent concurrent builds interfering

* Remove yarn mutex file with clean

* Minor bug fixes (#6615)

* PLT-6774 - Fixing color for offline icon

* PLT-6784 - Fixing status icon

* Fixing icon margin

* Updating caret position

* PLT-6070 Have ChannelMentionProvider stop searching after a term returns no results (#6620)

* Fixing JS error (#6623)

* Minor bug fixes (#6622)

* PLT-6808 - Updating channel switcher on mobile

* PLT-6743 - Updating scrollbar styling

* Login instead of failing if user exists in OAuth sign-up flow (#6627)

* PLT-6802 Disable team switcher (#6626)

* Disable team switcher

* Fix ESLint errors

* PLT-6807 Ensured select teams page can scroll on iOS (#6630)

* Do not redirect from account switch pages on 401 (#6631)

* Fixing loadtest command and renaming to /test (#6624)

* PLT-6820 Update mattermost-redux dependency (#6632)

* translations PR 20170612 (#6629)

* Bump HTTP client timeout to 30 seconds (#6633)

* For team unreads return empty array instead of null (#6636)

* PLT-6831 Fix status modal localization IDs (#6637)

* Fix status modal localization IDs

* Update test snapshot
2017-06-15 11:05:43 -04:00
Corey Hulen
6a54f3c489 PLT-6581 breakup webhooks greater than 4K into multiple posts (#6530) 2017-06-02 12:08:04 -04:00
Harshavardhana
f520aa1f4d Support AWS Signature V2 for Mattermost for S3 storage. (#6462)
Certain S3 compatible servers only use Legacy Signature (AWS
Signature V2), current code only supports signature v4.

This PR adds facility to click a button on the UI to enable
legacy signature with S3 compatible servers.
2017-05-30 16:12:24 -07:00
Christopher Speller
00f48a1908 Adding short unit tests by default (#6494) 2017-05-25 11:01:53 -04:00
Harrison Healey
5c1049054e PLT-6471 Properly panic when translations can't be loaded (#6414)
* PLT-6471 Properly panic when translations can't be loaded

* Print usage messages when errors occur during CLI initialization

* Reverted behaviour of FindDir and added second return value to it

* Fixed merge conflict
2017-05-23 11:06:25 -04:00
enahum
5f9a28ed6f Ability to use OAuth login from mobile (#6432) 2017-05-17 17:33:44 -04:00
Joram Wilander
0ae6886513 Detach session activity update from statuses (#6379) 2017-05-10 09:48:50 -04:00
Joram Wilander
8c8d9dbf8f Forward port 3.8.1 changes that missed master (#6362) 2017-05-09 16:01:06 -04:00
George Goldberg
85c2d5a478 PLT-6393: Fix Websocket CORS header check. (#6335) 2017-05-04 17:21:28 -04:00
Christopher Speller
010ec23af3 Removing password reset salt (#6334) 2017-05-04 16:36:51 -04:00
Joram Wilander
fe95276ba8 PLT-6492 Use new cookie to determine if user is logged in (#6317)
* Use new cookie to determine if user is logged in

* Add temporary code for 3.9 to prevent forced re-login
2017-05-04 16:36:31 -04:00
Joram Wilander
49481caf6d PLT-6262 Add config setting to disable file attachments (#6301)
* Add config setting to disable file attachments

* Add unit tests

* Updating UI for no attachments (#6312)

* Update UI text on file upload System Console setting (#6313)

* Update storage_settings.jsx

* Update en.json
2017-05-04 15:45:19 -04:00
Corey Hulen
a8cf08d6ef PLT-6322 log error messages in english (#6234) 2017-04-28 10:03:52 -04:00
Christopher Speller
9a87bb3af6 Creating common token store and moving email invites and verification to it (#6213) 2017-04-27 10:55:03 -04:00
Joram Wilander
8d1a132eda Fix OAuth SSO first account creation, add mobile support, and fix refresh tokens (#6181) 2017-04-25 09:38:33 -07:00
Saturnino Abril
ecb10ed62f APIv4 DELETE /users/{user_id}/posts/{post_id}/reactions/name (#6117)
* APIv4 DELETE /users/{user_id}/posts/{post_id}/reactions/name

* updated v3 deleteReaction endpoint

* update parameter of app.DeleteReactionForPost()

* update utils.IsValidAlphaNum, add utils.IsValidAlphaNumHyphenUnderscore, and add related tests
2017-04-22 08:52:03 -04:00
Carlos Tadeu Panato Junior
f758f9ff3a [APIV4] GET /emoji/{emoji_id}/image for apiV4 (#6141)
* implement GET /emoji/{emoji_id}/image for apiV4

* update per request
2017-04-20 11:14:15 -04:00
Joram Wilander
be9624e2ad Implement v4 endpoints for OAuth (#6040)
* Implement POST /oauth/apps endpoint for APIv4

* Implement GET /oauth/apps endpoint for APIv4

* Implement GET /oauth/apps/{app_id} and /oauth/apps/{app_id}/info endpoints for APIv4

* Refactor API version independent oauth endpoints

* Implement DELETE /oauth/apps/{app_id} endpoint for APIv4

* Implement /oauth/apps/{app_id}/regen_secret endpoint for APIv4

* Implement GET /user/{user_id}/oauth/apps/authorized endpoint for APIv4

* Implement POST /oauth/deauthorize endpoint
2017-04-20 09:55:02 -04:00
Harrison Healey
1a0f8d1b3c PLT-1384 Added websocket event when preferences are updated/deleted (#6107) 2017-04-20 13:57:31 +01:00
Christopher Speller
5398c82e1b
Revert "Usernames must start with a letter (#5581)"
This reverts commit 2e911b77c3.
2017-04-18 17:37:25 -04:00
Saturnino Abril
d2b86f1b8d APIv4 POST /reactions (#6092)
* APIv4 POST /reactions

* update corresponding V3 endpoint
2017-04-18 16:15:15 -04:00
Christopher Speller
92d8fa4aa8
Merge branch 'release-3.8' 2017-04-17 15:08:56 -04:00
Carlos Tadeu Panato Junior
80684ad69f implement DELETE /emoji/{emoji_id} fro apiV4 (#6021)
implement GET /emoji/{emoji_id} for apiv4
2017-04-17 10:07:28 -04:00
Joram Wilander
74ffb6f98f Implement GET /webrtc/token endpoint for APIv4 (#6046) 2017-04-16 21:14:31 -04:00
Joram Wilander
8b8aa2ca3c Refactor OAuth 2.0 code into app layer (#6037) 2017-04-12 16:29:42 -04:00
Harrison Healey
fb6f2a123c PLT-5860 Updated copyright date (#6058)
* PLT-5860 Updated copyright date in about modal

* PLT-5860 Updated copyright notice in JSX files

* PLT-5860 Updated copyright notice in go files

* Fixed misc copyright dates

* Fixed component snapshots
2017-04-12 08:27:57 -04:00
Carlos Tadeu Panato Junior
c6ef33ba01 get the latest message from the mailbox. It fixes the issue PLT-6176 (#6005) 2017-04-10 21:11:00 +01:00
JoramWilander
5c89fe1b8d
Fix configuration setting 2017-04-10 14:47:38 -04:00
Joram Wilander
dfc6db7374 Refactor switching login type code into app layer and add v4 endpoint (#6000)
* Refactor switching login type code into app layer and add v4 endpoint

* Fix unit test
2017-04-10 08:19:49 -04:00
Joram Wilander
331024d33c Use SiteURL for OAuth login (#6032) 2017-04-10 11:26:16 +01:00
Carlos Tadeu Panato Junior
f7b39caf31 get the latest message from the mailbox. It fixes the issue PLT-6176 (#6005) 2017-04-07 10:05:34 -07:00
Carlos Tadeu Panato Junior
1bd19f006d implement GET /emoji for apiV4 (#6007) 2017-04-07 10:05:14 -07:00
Carlos Tadeu Panato Junior
48d9099882 implement POST /emoji for apiV4 (#5868) 2017-04-06 11:15:57 -04:00
George Goldberg
87343176fc PLT-5977: Only reload clients when client config changes. (#5989) 2017-04-05 19:10:20 +01:00
Joram Wilander
97de1d0982 Fix blanking out of FileIds and backwards compatability issue with v3 (#5950) 2017-04-04 15:17:47 -04:00
Corey Hulen
6bf080393d Fixing race conditions in the code base (#5966)
* Adding initial race detector

* Remove setting of config twice

* Fixing config file watch and config reload on license save

* Fixing config file watch and config reload on license save

* Fixing build error

* Fixing locking issue

* Fixing makefile

* Fixing race in config

* Fixing race in status unit test

* Adding EE race tests

* Fixing race in cluster info

* Removing code that's isn't needed

* Fixing some more races

* Fixing govet issue
2017-04-04 14:42:07 -04:00
George Goldberg
32460bf63b PLT-6198: Use added to channel system message on default channels. (#5969)
Use a different sytem message when a user was added to a default channel
by someone else than when they joined themselves.
2017-04-04 18:19:42 +01:00
Harrison Healey
c7bdce8a66 PLT-5900 Removed automatic configuration of SiteURL (#5952)
* Revert "PLT-5765 Passed SiteURL to SendNotifications (#5705)"

This reverts commit a8e68bd890.

* Removed automatic configuration of SiteURL

* Reverted unintentional config changes

* Updated help text

* Added link to docs in Site URL warning

* Fixed merge conflict
2017-04-04 11:54:52 -04:00
Corey Hulen
f0e451a2d3 Fixing config file watch and config reload on license save (#5954)
* Fixing config file watch and config reload on license save

* Fixing config file watch and config reload on license save

* Fixing build error

* Fixing locking issue
2017-04-04 11:24:58 -04:00
enahum
1cbe6e7975 Add more OAuth unit tests (#5946) 2017-04-03 10:37:58 -07:00
George Goldberg
e49f5928c5 PLT-6139 (Server): Private Channel member managing (#5941)
Adds an EE policy feature to allow restricting system-wide which level of
Admins can manage the membership of private channels.
2017-04-03 13:13:28 -04:00
Carlos Tadeu Panato Junior
88b8df3146 implement GET /commands (#5865) 2017-04-03 08:12:50 -04:00
Joram Wilander
aba07e5cb9 PLT-5483 Fix bug where flagged posts endpoint returned posts on other teams (#5765)
* Fix bug where flagged posts endpoint returned posts on other teams

* Include flagged posts from DMs/GMs
2017-03-31 12:25:39 -04:00
Corey Hulen
00bb479989 PLT-6090 adding ability to read license file from disk (#5895)
* PLT-6090 adding ability to read license file from disk

* Fixing unit test that fails only sometimes

* Fixing test that fails randomly
2017-03-31 09:54:30 -04:00