summaryrefslogtreecommitdiffstats
path: root/app
Commit message (Collapse)AuthorAgeFilesLines
* Feature/search after before on (#9219)Dmitry Samuylov2018-08-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * initial implementation of after, before, on search flags allowing to restrict the search to a specific day or a date range * missed setting beforeDate in SearchParams in one place * fixed condition when only flags are used for search without any plain terms * changed date format used for after/before/on flags to be in ISO8601 format as suggested in PR comments, added a helper function to pad month and day with zeroes allowing the user user either format, with or without leading zeroes * corrected expected compare to date setting for the TestParseDateFilterToTimeISO8601 test * fixed a bug for the scenario when you only have the date flags without any terms, added a couple of tests for that scenario * updated the date filter logic to use parameters to construct the query instead of simply appending strings together, as suggested in the pull request comments * added search unit test using date flags * added a helper function to create a test post with a createat date manually set, updated the test for search using date flags to create test posts with different createat dates to be able to better test the functionality * MM-11817 Add support for after/before/on search flags with Elasticsearch * add support to search posts to perform the search in context of the client's timezone when filtering by createat date using on: after: before: flags * updated tests to match the new signature
* MM-11327: Restrict Teams by Email (#9142)Gabe Van Engel2018-08-282-51/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Check a team's AllowedDomains setting before adding users to the team. * Updated AddUser tests to validate AllowedDomains restriction. * Updated variable name to match convention. * Removed AllowedDomains from team sanitization. * Update AppError's Where to match the calling function. * Added tests for user matching allowedDomains, and multi domain values of allowedDomains. * Added test to make sure we block users who have a subdomain of a whitelisted domain. * Revert "Removed AllowedDomains from team sanitization." This reverts commit 17c2afea584da40c7d769787ae86408e9700510c. * Update sanitization tests to include dockerhost, now that we enforce AllowedDomains. * Added tests to verify the interplay between the global and per team domain restrictions. * Validate AllowedDomains property against RestrictCreationToDomains before updating a team. * Remove team.AllowedDomains from sanitization. * Add i18n string for the team allowed domains restriction app error.
* Adding IdAttribute setting for SAML (#9291)Jesús Espino2018-08-281-0/+1
| | | | | | | | * Adding IdAttribute setting for SAML * Adding Saml Id Attribute to the diagnostics information * Adding entry to default.json
* Support for interactive menus in message attachments (#9285)Joram Wilander2018-08-242-4/+58
|
* Merge release-5.2Carlos Tadeu Panato Junior2018-08-243-4/+4
|\
| * MM-11782: Make archived channels experimental and off-by-default. (#9281)George Goldberg2018-08-223-4/+4
| | | | | | | | | | | | * MM-11782: Make archived channels experimental and off-by-default. * Fix test.
* | MM-11572: Force correct order on messages generated in the bulk (#9244)Jesús Espino2018-08-241-0/+15
| |
* | MM-11348: Add telemetry for advanced permissions. (#9249)George Goldberg2018-08-231-32/+132
| |
* | Adding Permissions check and reactions function to plugins API (#9273)Jesús Espino2018-08-201-0/+24
| | | | | | | | | | | | * Adding reactions functions * Adding permissions checking in the plugins api
* | Add FileInfo and get file []byte in plugin api (#9269)Elias Nahum2018-08-201-0/+8
| | | | | | | | | | | | | | | | * Add FileInfo and get file []byte in plugin api * Regenerated plugin mocks * Rename ReadFileAtPath to ReadFile
* | Add PostId to PostActionIntegrationRequest (#9270)Hanzei2018-08-181-0/+1
|/
* MM-9747: Small fixes for attachments import (#9225)Jesús Espino2018-08-082-3/+59
| | | | | | * MM-9747: Small fixes for attachments import * Adding unit test RootId check in replies
* MM-11384: Add system install date information to the client config (#9218)Jesús Espino2018-08-083-0/+128
| | | | | | | | * MM-11384: Add system install date information to the client config * Fixing translation text * Fixes from Peer Review
* try to fix the flaky test (#9231)Carlos Tadeu Panato Junior2018-08-071-4/+6
|
* MM-11510: Adds delete at value to delete channel websocket event. (#9217)Martin Kraft2018-08-041-1/+4
|
* MM-11575: change plugin nil semantics (#9212)Jesse Hallam2018-08-034-162/+456
| | | | | | | | * change MessageWillBePosted nil return semantics * change FileWillBeUploaded nil return semantics * use LogDebug to verify plugin inputs vs. the confusing Delete(User|Team)
* MM-11576: Allow to join and add members to archived channels (#9214)Jesús Espino2018-08-031-8/+0
|
* MM-11529: Allow to Leave an archived channel from the API (#9204)Jesús Espino2018-08-033-10/+10
| | | | | | * MM-11529: Allow to Leave an archived channel from the API * Remove the restriction to remove user from archive channel to yourself
* Feature/fileinfo create copy (#9198)dmitrysamuylovpharo2018-08-023-0/+65
| | | | | | | | * Initial implementation of a CopyFileInfos function that creates new FileInfo objects copied from provided FileIds with the provided user as the creator and not linked to a post yet. This can subsequently be used to copy existing attachments from another post to attach to a new post without having to re-upload the actual files * added a unit test for the CopyFileInfos function * resolving pull request suggestions
* send channel wide push notification type when at-here is used (#9209)Elias Nahum2018-08-021-1/+1
|
* CSRF Token Implementation for Plugins (#9192)Daniel Schalla2018-08-014-4/+39
| | | | | | | | | | | | | | | | | deleted test config fix test config Dont wipe the session token for plugins Simplified Tokens; Generate CSRF for other sessions Remove CSRF from Access Token; Remove Getter/Setter from Context fix removed setter remove getcsrf helper from plugin api enforce csrf only for cookie auth
* MM-11521/MM-11522 Fix being able to create users with invalid emails through ↵Harrison Healey2018-08-012-28/+5
| | | | | | | | | | | | | | API (#9199) * MM-11522 Fix being able to create users with invalid emails through API * Ensure store tests are using valid emails * Add missing license header * Remove invalid test case * Fix TestUpdateOAuthUserAttrs
* Add missing diagnostics for v5.2 (#9200)Jason Blais2018-08-011-38/+47
| | | | | | * Update diagnostics.go * Fix gofmt
* MM-11175 Add logic to server to understand markdown images with dimensions ↵Harrison Healey2018-08-011-0/+8
| | | | (#9159)
* Split app/import.go in multiple files (#9179)Jesús Espino2018-08-018-5868/+5924
|
* MM-11420: plugins: compute bundle hash on load (#9172)Jesse Hallam2018-07-311-14/+15
| | | | | | | | | | | | * plugins: compute bundle hash on load Use this hash to bust client caches whenever the plugin bundle changes. * eliminate redundant pluginHandler * switch to 64-bit FNV-1a * Fix test
* Migrate notification_push_test to table testing (#9195)Jesús Espino2018-07-311-310/+509
|
* MM-10502: Only cluster master should run job schedulers. (#9174)George Goldberg2018-07-312-12/+50
| | | | | | | | * MM-10502: Only cluster master should run job schedulers. * Use sync.Map for thread safety. * Fix tests.
* Save OAuth access token to DB for consistency with other flows (#9190)Joram Wilander2018-07-311-0/+7
|
* Add siteURL to WS origin check (#9183)Joram Wilander2018-07-301-0/+9
| | | | | | | | * Add siteURL to WS origin check * Handle subpath * Only add site URL if not *
* Fix build. (#9188)Christopher Speller2018-07-301-1/+0
|
* Pr 9039 (#9187)Martin Kraft2018-07-3011-36/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * MM-11065: Allow to search and get archived channels from the API * Fixing more tests * Add some unit tests * Add includeDeleted parameter to session permissions check function * More test fixing * Adding archive channels list in channels search * Add restriction for archived channel edition * Reverting permissions checks modification * Changed the query parameter to include_deleted * Enable search archive channels as true by default * Adding tests for verify search on deleted channels * Allowing to override archive channels during the imports * Fixed test * Search in archive channels from the API must be explicitly requested * Removing includeDeleted parameter from GetChannelByName and GetChannelByNameForTeam * Back to ViewArchivedChannels config * Fixing tests * Reverting GetChannelByName parameter * Add include deleted parameter on GetChannel functions in plugins api * Fixing tests
* Login Hooks (#9177)Daniel Schalla2018-07-302-0/+164
| | | Tests; gofmt
* Split notifications file into different files (#9164)Jesús Espino2018-07-286-1779/+1828
|
* [MM-10621] Set createAt timestamp on file upload api call to secure upload ↵Saturnino Abril2018-07-282-4/+7
| | | | | | | | order of files (#9170) * set createAt timestamp on file upload api call to secure upload order of files * fix test on plugin hooks
* Implement OAuth2 implicit grant flow (#9178)Joram Wilander2018-07-272-7/+117
|
* MM-11431: handle plugin deadlocks (#9167)Jesse Hallam2018-07-272-2/+212
| | | | | | | | | | | | | | | | | | | | | | * ensure plugin is always shutdown Once we call `.client.Client()` the plugin has started, and must be shut down. `newSupervisor` sometimes returned with an error (and without a reference to the supervisor), leaving the client running indefinitely. * Clarify the documentation to explain that plugin hooks will not trigger until `OnActivate` returns successfully, and will stop triggering just before `OnDeactivate` is called. * test for plugin deadlock * plugin/environment.go: switch to sync.Map From: https://golang.org/pkg/sync/#Map > If a goroutine holds a RWMutex for reading and another goroutine might call Lock, no goroutine should expect to be able to acquire a read lock until the initial read lock is released. In particular, this prohibits recursive read locking. This is to ensure that the lock eventually becomes available; a blocked Lock call excludes new readers from acquiring the lock. The previous `RWMutex` was not safe given that we effectively acquired read locks recursively (hook -> api -> hook). This worked up until we activated or deactivated plugins, tried to acquire a write lock, and the plugin used the API to effectively trigger another hook. Switching to sync.Map avoids this by divesting the need to lock at all, avoiding the potential for a recursive lock in the first place.
* Adding FileWillBeUploaded plugin hook (#9169)Christopher Speller2018-07-273-8/+105
| | | | | | | | | | | | | | * Adding file upload hook. * Adding hook test for FileWillBeUploaded * Some debugging fixes. * Fix typo. * Fixing double close * Fix capitalization on docs.
* Fix file streaming to close files. (#9168)Christopher Speller2018-07-261-1/+2
|
* MM-11160 Adding proper CORS support. (#9152)Christopher Speller2018-07-261-31/+24
| | | | | | * Adding proper CORS support. * Better CORS tests.
* MM-11243: Make Elasticsearch work after enabling without restart. (#9146)George Goldberg2018-07-261-0/+51
| | | | | | * MM-11243: Make Elasticsearch work after enabling without restart. * Also cope with config vars changing whilst enabled.
* unpack prepacked plugins on plugins initialization (#9149)Jesse Hallam2018-07-262-4/+31
| | | | | | * unpack prepackaged plugins on plugins initialization * leverage utils.FindDir
* Fix plugin.ServeHTTP subpath (#9161)Jesse Hallam2018-07-262-2/+54
| | | | | | * test ServicePluginRequest with subpath * handle subpath when routing to plugin.ServeHTTP
* added the custom icon and username for the outgoing webhook and its response ↵Pradeep Murugesan2018-07-252-0/+187
| | | | | | | | | | | | (#9141) * 8272 added the username and icon as part of the model and persisted the same * 8272 added the custome icon and name when set to the web hook response * 8272 changed the infinte loop to timeout after 5 seconds * 8272 fixed review comments
* MM-10381: Change the file downloading API to stream file (#9144)Hyeseong Kim2018-07-241-0/+8
| | | | | | | | * Change the file downloading to stream file * Change file downloading to chunk only for preview * Remove unnecessary else case
* Add ExperimentalSidebarPreference in the config (#9013)Chris Duarte2018-07-231-0/+1
| | | | | | | | | | | | * Add ExperimentalSidebarPreference in the config * Override Sidebar preference based on GroupUnread settings * Rename to ExperimentalChannelOrganization * Add Sidebar config in diagnostics * Fix diagnostics for experimental_channel_organization
* Default Channel Functionality + Test Suite (#9068)Daniel Schalla2018-07-203-54/+86
| | | | | | | | | gofmt Make skipping for non public channels default Deduplication of Default Channels; Only post join to townsquare Post join channel message for all custom default channels
* Break HTML blocks to individual strings (#8903)Yusuke Nemoto2018-07-203-44/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Modifying message and templates about mfa_change * Modifying message and templates about password_change * Modify message and template about password_reset * Modify message and template about singin_change * Modify message and template about email_info * Modify message and template about change_username * Modify message about change_email * Add missing props * Add argument * Modify message and template about token_added * Modify messages and template about notification_email * Modify message and template about deactivate_email * Fix style * Remove unused message * Remove br tags * Modify message and code about invite_mail * Add missing message
* make GetChannelByName take teamId first (#9134)Jesse Hallam2018-07-201-1/+5
| | | | | | | | | | | | | | * make GetChannelByName take teamId first I think it is more natural to accept `teamId`, then `channelName`, given the pattern followed by other Plugin API methods and even the SQL Store itself. The App layer seems unusual in accepting `channelName` first. This also re-generates the mocks fixing the parameter order for the recently added `UserStatus` APIs. * add GetChannelByNameForTeamName
* Support attachments in post and replies - Bulk import (#9124)Pradeep Murugesan2018-07-202-9/+265
| | | | | | | | | | * 9006 - process the attachments of the post * 9006 enabling the import of attachments in the reply post * 9006 assert if the post and files are linked * 9006 fixed the typo