Commit Graph

210 Commits

Author SHA1 Message Date
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
David Lu
2c23a4fe49 Added custom branding to login description (#3710) 2016-08-02 08:34:34 -04:00
Joram Wilander
3f8dda6f5a PLT-3633 EE: Add Google and Office365 SSO through OAuth2 (#3660)
* EE: Add Google and Office365 SSO through OAuth2

* Add localization strings

* Text tweaks for PLT-3633

* Added sign-up button for Office 365

* Updated some error messages and a bit of licensing

* Updated sign-in method section in user settings to include Google and Office365

* Added more localization strings
2016-07-29 14:58:37 -04:00
Harrison Healey
9c2c941449 PLT-1866/PLT-3509 Added links to download the native apps (#3651)
* PLT-1866 Added configurable links for native app downloads

* PLT-1866 Added native app download link to main menu

* PLT-3509 Added native app link to tutorial

* PLT-3509 Added native app link to welcome email

* PLT-3509 Made link to apps in welcome email conditional on being set
2016-07-22 10:53:57 -04:00
Joram Wilander
c0ab2636d6 PLT-2241 Refactored statuses into a more real-time system (#3573)
* Refactored statuses into a more real-time system

* Updated package.json with correct commit and fixed minor bug

* Minor updates to statuses based on feedback

* When setting status online, update only LastActivityAt if status already exists
2016-07-18 11:10:03 -04:00
Christopher Speller
942ae4c527 Cleaning up old export code (#3601) 2016-07-15 11:20:39 -04:00
David Lu
683f713319 PLT-1465 Added password requirements (#3489)
* Added password requirements

* added tweaks

* fixed error code

* removed http.StatusNotAcceptable
2016-07-06 14:54:54 -08:00
Christopher Speller
da0747ac7a Adding webserver mode to the system console. Automatic enabling of gzip on existing servers (#3458) 2016-07-06 12:04:22 -04:00
Christopher Speller
ce8cb14eb5 Adding page size to config (#3501) 2016-07-06 09:57:47 -04:00
Joram Wilander
5f7cb8cfbf PLT-3346/PLT-3342/PLT-3360 EE: Add the ability to restrict channel management permissions (#3453)
* EE: Add the ability to restrict channel management permissions

* Always allow last user in a channel to delete that channel
2016-07-06 08:23:24 -04:00
enahum
5f04dc4f45 SAML support (#3494)
* PLT-3073: Implement SAML/Okta Server side (EE) (#3422)

* PLT-3137 Support for SAML configuration

* PLT-3410 SAML Database Store

* PLT-3411 CLI to add Identity Provider Certificate and Service Provider Private Key

* PLT-3409 SAML Interface for EE

* PLT-3139 Handle SAML authentication server side

* Add localization messages

* PLT-3443 SAML Obtain SP metadata

* PLT-3142 Login & Switch to/from SAML

* Remove Certs for Database & Clean SAML Request

* Make required Username, FirstName and LastName

* PLT-3140 Add SAML to System Console (#3476)

* PLT-3140 Add SAML to System Console

* Move web_client functions to client.jsx

* Fix issues found by PM

* update package.json mattermost driver

* Fix text messages for SAML
2016-07-05 15:49:00 -04:00
Harrison Healey
dc2f2a8001 PLT-3145 Custom Emojis (#3381)
* Reorganized Backstage code to use a view controller and separated it from integrations code

* Renamed InstalledIntegrations component to BackstageList

* Added EmojiList page

* Added AddEmoji page

* Added custom emoji to autocomplete and text formatter

* Moved system emoji to EmojiStore

* Stopped trying to get emoji before logging in

* Rerender posts when emojis change

* Fixed submit handler on backstage pages to properly support enter

* Removed debugging code

* Updated javascript driver

* Fixed unit tests

* Fixed backstage routes

* Added clientside validation to prevent users from creating an emoji with the same name as a system one

* Fixed AddEmoji page to properly redirect when an emoji is created successfully

* Fixed updating emoji list when an emoji is deleted

* Added type prop to BackstageList to properly support using a table for the list

* Added help text to EmojiList

* Fixed backstage on smaller screen sizes

* Disable custom emoji by default

* Improved restrictions on creating emojis

* Fixed non-admin users seeing the option to delete each other's emojis

* Fixing gofmt

* Fixed emoji unit tests

* Fixed trying to get emoji from the server when it's disabled
2016-07-05 11:58:18 -04:00