Commit Graph

221 Commits

Author SHA1 Message Date
Carlos Tadeu Panato Junior
ddc996f33f [PLT-5465/APIV4] GET /system/health - Improve ping health check to have limits (#6331)
* implement PLT-5465 - Improve ping health check to have limits

* update /ping and delete /health

* remove permission check
2017-05-30 21:47:27 -07: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
Joram Wilander
860e5d483c PLT-6341/PLT-6342 Update gorp to mattermost fork and add connection timeout setting (#6410)
* Update gorp to mattermost fork and add connection timeout setting

* Add go dependency

* Rename from connection timeout to query timeout

* Properly add gorp dependency
2017-05-29 15:46:35 -04:00
Harrison Healey
577ed27f1b PLT-6408 Framework for job server (#6404)
* Added initial job server

* Added job server to be ran as part of platform

* Added test job to the enterprise repo

* Fixed job server not loading license

* Renamed job package to jobs

* Fixed TE not being buildable

* Added JobStatus table to database

* Changed fields used by JobStatus

* Added APIs to query job status

* Added config change listener to server

* Added option to run job server from Makefile

* Added ability to enable/disable jobs from config

* Commented out placeholder for search indexing job

* Fixed govet

* Removed debug messages and fixed job api init message
2017-05-18 15:05:57 -04:00
George Goldberg
0db5e3922f PLT-6472: Basic Elastic Search implementation. (#6382)
* PLT-6472: Basic Elastic Search implementation.

This currently supports indexing of posts at create/update/delete time.
It does not support batch indexing or reindexing, and does not support
any entities other than posts yet. The purpose is to more-or-less
replicate the existing full-text search feature but with some of the
immediate benefits of using elastic search.

* Alter settings for AWS compatability.

* Remove unneeded i18n strings.
2017-05-18 11:26:52 -04:00
Christopher Speller
010ec23af3 Removing password reset salt (#6334) 2017-05-04 16:36:51 -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
4f074fed0d PLT-6444 switching SAML props to default true (#6330) 2017-05-04 14:11:28 -04:00
George Goldberg
597641545d PLT-6355: Use separate Read Replicas for Search. (#6216) 2017-05-01 00:19:58 -04:00
Joram Wilander
1b82d98cdb Add config setting to disable statuses (#6254) 2017-04-28 10:10:58 -04:00
Christopher Speller
35ac2f35aa Fixing adding salts to config (#6209) 2017-04-24 07:57:51 -04:00
Christopher Speller
5398c82e1b Revert "Usernames must start with a letter (#5581)"
This reverts commit 2e911b77c3.
2017-04-18 17:37:25 -04:00
Corey Hulen
3207886514 Adding the ability to disable full text search queries for master (#6102) 2017-04-17 10:54:26 -04:00
Corey Hulen
38eced0290 Adding default timeouts to mysql datasource and missing LicenseFileLocation prop (#6011) 2017-04-10 09:25:16 -04: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
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
George Goldberg
b489a5bb01 PLT-5904 (Server): Config flag for SMTP Cert Check. (#5857) 2017-03-27 08:43:27 -03:00
Carlos Tadeu Panato Junior
ac8282cda1 Add updateConfig endpoint for apiV4 (#5706) 2017-03-20 12:37:34 +00:00
Joram Wilander
e87f5c6cf9 Add system console switch for enabling link previews (#5663) 2017-03-06 21:13:12 -05:00
George Goldberg
f182d196ff PLT-5070: Server side component of Telemetry. (#5514) 2017-02-24 17:33:59 +00:00
laur89
210b510c87 config.json: remove duplicate "EnableUserTypingMessages" (#5445) 2017-02-17 14:09:57 +00:00
Joram Wilander
58dcf6984b Add cluster request time logging for master (#5347) 2017-02-10 07:04:14 -08:00
Christopher Speller
450c0b3ccb Improvments to typing messages (#5230) 2017-01-30 15:43:34 -05:00
Amit Yadav
99cf08ac38 Message Editing and Deleting permissions (#4692) 2017-01-18 08:08:31 -05:00
Carlos Tadeu Panato Junior
dc54e640c2 Add inbucket docker image to allow local and automated testing of emails (#4901)
* add docker container for inbucket

* Add way to get the emails using inbucket and add a test for reset password

* add config setting to send emails

* update TestEmailTest

update

* add another test and fix wrong assert

* update per review

fix lint

change senders email

* Revert config.json to default values for EmailSettings section

* update test

* add setup to make the test run
2017-01-17 09:01:41 -05:00
Joram Wilander
a793eb8651 Skip intensive stat DB queries when more than a set number of users on the system (#4876) 2016-12-22 17:00:05 -03:00
George Goldberg
dce4205699 PLT-4990 - Server: Split out channel permissions to Create/Manage/Delete (#4864)
* Server side changes.

* Fix unit tests and default config.
2016-12-21 11:18:41 -08:00
George Goldberg
8406e854aa PLT-4332 Position field for Users (#4632)
* Add User.Position field to store & model.

* GOFMT

* Add Position to user settings.

* Unit tests.

* Add position to profile popup.

* i18n

* Fix log message for invalid position.

* Add Position field attribute to LDAP config.

* Add Position field attribute to SAML config.

* Reword empty position message.

* Change Position Max Length to 35.

* Better invalid position error message.

* Add new fields to config.json.

* Ensure position is never longer than max when displayed.

* Hard limit of 64 chars with soft limit still 35

* Put field with other attributes.
2016-12-14 08:11:51 -03:00
Joram Wilander
30a10d35a8 PLT-4767 Implement MFA Enforcement (#4662)
* Create MFA setup page and remove MFA setup from account settings modal

* Add enforce MFA to system console and force redirect

* Lockdown mfa required API routes, add localization, other changes

* Minor fixes

* Fix typo

* Fix some unit tests

* Fix more unit tests

* Minor fix

* Updating UI for MFA screen (#4670)

* Updating UI for MFA screen

* Updating styles for MFA page

* Add the ability to switch between email/sso with MFA enabled

* Added mfa change email

* Minor UI updates for MFA enforcement

* Fix unit test

* Fix client unit test

* Allow switching email to ldap and back when MFA is enabled

* Fix unit test

* Revert config.json
2016-12-12 10:16:10 -03:00
Christopher Speller
9670afed82 Adding block profiling to metrics (#4741) 2016-12-09 10:26:56 -05:00
Corey Hulen
b212acf312 PLT-4429 disabling at_all at_channel metions mentions when channel has more than 1k users (#4627)
* PLT-4429 disabling explicit mentions when channel has more than 1k users

* Fixing test case

* Adding setting to the admin console

* Fixing bad translation
2016-11-24 08:26:45 -05:00
Corey Hulen
7961599b2e PLT-4357 adding performance monitoring (#4622)
* WIP

* WIP

* Adding metrics collection

* updating vendor packages

* Adding metrics to config

* Adding admin console page for perf monitoring

* Updating glide

* switching to tylerb/graceful
2016-11-22 14:05:54 -05:00
Christopher Speller
58cc061b38 Changing defaults for DB connections for performance. (#4424) 2016-11-02 10:32:49 -04:00
Asaad Mahmood
c5a0ac8c6a Shift UI changes (#4353)
* Shift UI changes

* Reverting config.json
2016-10-27 16:49:32 -04:00
Harshavardhana
f02620b291 Moving away from goamz to use minio-go instead. (#4193)
minio-go does fully managed way of handling S3 API requests

  - Automatic bucket location management across all s3 regions.
  - Transparently upload large files in multipart if file 64MB
    or larger.
  - Right GetObject() API provides compatibility with
    io.ReadWriteSeeker interface.
  - Various other APIs including bulk deletes, server side object
    copy, bucket policies and bucket notifications.

Fixes #4182
2016-10-26 08:21:07 -04:00
Corey Hulen
486d12e1c3 PLT-4165 removing team name reserved words (#4289) 2016-10-21 17:19:28 -07:00
S4KH
234958e007 HW 4139: Make channel limits configurable in the System Console (#4154)
* Auto Changes

* 4139 Made channel limits configurable in the System Console as described in the issue

* Removed error message entries from other locales, made maxChannelsPerteam type to pointer

* Added * symbol to maxChannelsPerTeam inside isValid function

* Update team_test.go

* Restored to old test

* Checked maximum number channels per team when creating channel

* Fixed code to pass api/channel_test.go

* Reverted changes on config except MaxChannelsPerTeam

* Update channel.go

* Ran gofmt -w .

* Reverted vendor directoy
2016-10-21 08:36:13 -04:00
Harrison Healey
b775b545fc Changed ConsoleLogLevel back to DEBUG during development (#4278) 2016-10-20 12:32:38 -03:00
Joram Wilander
365b8b465e Merging performance branch into master (#4268)
* improve performance on sendNotifications

* Fix SQL queries

* Remove get direct profiles, not needed anymore

* Add raw data to error details if AppError fails to decode

* men

* Fix decode (#4052)

* Fixing json decode

* Adding unit test

* Initial work for client scaling (#4051)

* Begin adding paging to profiles API

* Added more paging functionality

* Finish hooking up admin console user lists

* Add API for searching users and add searching to all user lists

* Add lazy loading of profiles

* Revert config.json

* Fix unit tests and some style issues

* Add GetProfilesFromList to Go driver and fix web unit test

* Update etag for GetProfiles

* Updating ui for filters and pagination (#4044)

* Updating UI for pagination

* Adjusting margins for filter row

* Adjusting margin for specific modals

* Adding relative padding to system console

* Adjusting responsive view

* Update client user tests

* Minor fixes for direct messages modal (#4056)

* Remove some unneeded initial load calls (#4057)

* UX updates to user lists, added smart counts and bug fixes (#4059)

* Improved getExplicitMentions and unit tests (#4064)

* Refactor getting posts to lazy load profiles correctly (#4062)

* Comment out SetActiveChannel test (#4066)

* Profiler cpu, block, and memory profiler. (#4081)

* Fix TestSetActiveChannel unit test (#4071)

* Fixing build failure caused by dependancies updating (#4076)

* Adding profiler

* Fix admin_team_member_dropdown eslint errors

* Bumping session cache size (#4077)

* Bumping session cache size

* Bumping status cache

* Refactor how the client handles channel members to be large team friendly (#4106)

* Refactor how the client handles channel members to be large team friendly

* Change Id to ChannelId in ChannelStats model

* Updated getChannelMember and getProfilesByIds routes to match proposal

* Performance improvements (#4100)

* Performance improvements

* Fixing re-connect issue

* Fixing error message

* Some other minor perf tweaks

* Some other minor perf tweaks

* Fixing config file

* Fixing buffer size

* Fixing web socket send message

* adding some error logging

* fix getMe to be user required

* Fix websocket event for new user

* Fixing shutting down

* Reverting web socket changes

* Fixing logging lvl

* Adding caching to GetMember

* Adding some logging

* Fixing caching

* Fixing caching invalidate

* Fixing direct message caching

* Fixing caching

* Fixing caching

* Remove GetDirectProfiles from initial load

* Adding logging and fixing websocket client

* Adding back caching from bad merge.

* Explicitly close go driver requests (#4162)

* Refactored how the client handles team members to be more large team friendly (#4159)

* Refactor getProfilesForDirectMessageList API into getAllProfiles API

* Refactored how the client handles team members to be more large team friendly

* Fix js error when receiving a notification

* Fix JS error caused by current user being overwritten with sanitized version (#4165)

* Adding error message to status failure (#4167)

* Fix a few bugs caused by client scaling refactoring (#4170)

* When there is no read replica, don't open a second set of connections to the master database (#4173)

* Adding connection tacking to stats (#4174)

* Reduce DB writes for statuses and other status related changes (#4175)

* Fix bug preventing opening of DM channels from more modal (#4181)

* 	Fixing socket timing error (#4183)

* Fixing ping/pong handler

* Fixing socket timing error

* Commenting out status broadcasting

* Removing user status changes

* Removing user status changes

* Removing user status changes

* Removing user status changes

* Adding DoPreComputeJson()

* Performance improvements (#4194)

* * Fix System Console Analytics queries
* Add db.SetConnMaxLifetime to 15 minutes
* Add "net/http/pprof" for profiling
* Add FreeOSMemory() to manually release memory on reload config

* Add flag to enable http profiler

* Fix memory leak (#4197)

* Fix memory leak

* removed unneeded nil assignment

* Fixing go routine leak (#4208)

* Merge fixes

* Merge fix

* Refactored statuses to be queried by the client rather than broadcast by the server (#4212)

* Refactored server code to reduce status broadcasts and to allow getting statuses by IDs

* Refactor client code to periodically fetch statuses

* Add store unit test for getting statuses by ids

* Fix status unit test

* Add getStatusesByIds REST API and move the client over to use that instead of the WebSocket

* Adding multiple threads to websocket hub (#4230)

* Adding multiple threads to websocket hub

* Fixing unit tests

* Fixing so websocket connections from the same user end up in the same… (#4240)

* Fixing so websocket connections from the same user end up in the same list

* Removing old comment

* Refactor user autocomplete to query the server (#4239)

* Add API for autocompleting users

* Converted at mention autocomplete to query server

* Converted user search autocomplete to query server

* Switch autocomplete API naming to use term instead of username

* Split autocomplete API into two, one for channels and for teams

* Fix copy/paste error

* Some final client scaling fixes (#4246)

* Add lazy loading of profiles to integration pages

* Add lazy loading of profiles to emoji page

* Fix JS error when receiving post in select team menu and also clean up channel store
2016-10-19 14:49:25 -04:00
Harrison Healey
3660f78733 Re-enable console logging by default (#4210)
* Re-enable console logging by default

* Disable LogSettings.EnableConsole while packaging release

* Updated defaults in config.json to match the ones generated by the server

* Fixed make package and changed it to reduce the log level instead of disabling console logging entirely
2016-10-17 10:52:47 -03:00
Corey Hulen
219f4e36e5 Bumping up the defaults (#4229) 2016-10-17 10:50:41 -03:00
Christopher Speller
8f91c77755 Adding ability to serve TLS directly from Mattermost server (#4119) 2016-10-03 16:03:15 -04:00
Corey Hulen
bfca752940 Fixing the console level debug statements (#4092) 2016-09-27 11:07:32 -03:00
enahum
b180bb46e3 PLT-3412 WebRTC Server side & System Console (#3706)
* WebRTC Server side

* WebRTC System Console

* Consistency on variable names

* Add turn and stun uri validation
2016-09-15 08:35:44 -04:00
David Lu
51501f920c PLT-3753 Added Segment analytics (#3972) 2016-09-06 19:51:27 -03:00
enahum
886ab34443 PLT-4005 Generates default Salts if empty in the config file (#3950) 2016-09-06 08:21:18 -04:00
Corey Hulen
c3ae3f20f5 PLT-3695 refactoring to use sql_upgrader (#3788)
* PLT-3695 unitying upgrade support

* PLT-3695 refactoring to use sql_upgrader

* Fixing unit test

* Adding 3.3 to 3.4

* Fixing upgrading

* Seperating DB schema from version.go

* Fixing upgrade cmd

* Moving to const for exit codes

* remving old unused code
2016-08-24 16:17:40 -08:00
Harrison Healey
8203fd16ce PLT-3647 Email Batching (#3718)
* PLT-3647 Added config settings for email batching

* PLT-3647 Refactored generation of email notification

* PLT-3647 Added serverside code for email batching

* PLT-3647 Updated settings UI to enable email batching

* PLT-3647 Removed debug code

* PLT-3647 Fixed 0-padding of minutes in batched notification

* PLT-3647 Updated clientside UI for when email batching is disabled

* Go fmt

* PLT-3647 Changed email batching to be disabled by default

* Updated batched email message

* Added email batching toggle to system console

* Changed Email Notifications > Immediate setting to a 30 second batch interval

* Go fmt

* Fixed link to Mattermost icon in batched email notification

* Updated users to use 30 second email batching by default

* Fully disabled email batching when clustering is enabled

* Fixed email batching setting in the system console

* Fixed casing of 'Send Email notifications' -> 'Send email notifications'

* Updating UI Improvements for email batching (#3736)

* Updated text for notification settings and SiteURL.

* Prevented enabling email batching when SiteURL isn't set in the system console

* Re-added a couple debug messages

* Added warning text when clustering is enabled
2016-08-16 14:41:47 -04:00
Corey Hulen
59d971dc75 PLT-2899 adding clustering of app servers (#3682)
* PLT-2899 adding clustering of app servers

* PLT-2899 base framework

* PLT-2899 HA backend

* PLT-2899 Fixing config file

* PLT-2899 adding config syncing

* PLT-2899 set System console to readonly when clustering enabled.

* PLT-2899 Fixing publish API

* PLT-2899 fixing strings
2016-08-04 13:25:37 -04:00
Harrison Healey
c4a3118e9f PLT-3408 Add SiteURL to config.json (#3692)
* PLT-3408 Changed serverside code to get the service's URL from config.json

* PLT-3408 Changed most clientside code to use the SiteURL config setting instead of window.location

* PLT-3408 Changed default SiteURL to be autodetected
2016-08-02 16:37:09 -04:00