Commit Graph

409 Commits

Author SHA1 Message Date
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
Christopher Speller
86fb0d87a3 Adding caching layer to some posts calls (#4779) 2016-12-14 00:24:24 -03:00
Corey Hulen
aacbe99548 PLT-4982 Adding caching to user profiles (#4782) 2016-12-14 00:23:36 -03:00
Harrison Healey
3c3d319be0 Removed code that would remove sessions when upgrading to 3.6 (#4773) 2016-12-13 08:42:58 -05: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
Harrison Healey
aaa41535f8 PLT-3736 Fixed duplicated create_direct api calls not returning the existing channel (#4745)
* Fixed duplicated create_direct api calls not returning the existing channel

* Added unit tests for duplicated create_direct api calls
2016-12-09 15:43:03 -08:00
Corey Hulen
c4974374d9 PLT-4853 Adding cache purging to the server (server) (#4735)
* PLT-4853 Adding caching invalidation to HA

* PLT-4853 Adding cach purging to the server
2016-12-08 10:18:15 -05:00
Joram Wilander
472a864060 Ignore double quotes in user search (#4725) 2016-12-07 07:55:36 -05:00
Christopher Speller
026553e4f8 Improving command line interface (#4689) 2016-12-06 10:49:34 -05:00
Joram Wilander
ea26c72dad PLT-4710 User search now obeys privacy settings (#4673)
* Consider privacy settings in user search

* Add sysadmin as exception to privacy settings for user search
2016-12-02 12:24:22 -05:00
Carlos Tadeu Panato Junior
c51afba71a Add Team Description to the Team Settings (#4652)
* draft

* Add Team Description to the Team Settings

* add tooltips for team description

* made changes per PM review

* add message when there is no description set in the team

* squash
2016-12-01 17:23:28 -05:00
Harrison Healey
165ad0d4f7 PLT-1378 Initial version of emoji reactions (#4520)
* Refactored emoji.json to support multiple aliases and emoji categories

* Added custom category to emoji.jsx and stabilized all fields

* Removed conflicting aliases for :mattermost: and :ca:

* fixup after store changes

* Added emoji reactions

* Removed reactions for an emoji when that emoji is deleted

* Fixed incorrect test case

* Renamed ReactionList to ReactionListView

* Fixed 👍 and 👎 not showing up as possible reactions

* Removed text emoticons from emoji reaction autocomplete

* Changed emoji reactions to be sorted by the order that they were first created

* Set a maximum number of listeners for the ReactionStore

* Removed unused code from Textbox component

* Fixed reaction permissions

* Changed error code when trying to modify reactions for another user

* Fixed merge conflicts

* Properly applied theme colours to reactions

* Fixed ESLint and gofmt errors

* Fixed ReactionListContainer to properly update when its post prop changes

* Removed unnecessary escape characters from reaction regexes

* Shared reaction message pattern between CreatePost and CreateComment

* Removed an unnecessary select query when saving a reaction

* Changed reactions route to be under /reactions

* Fixed copyright dates on newly added files

* Removed debug code that prevented all unit tests from being ran

* Cleaned up unnecessary code for reactions

* Renamed ReactionStore.List to ReactionStore.GetForPost
2016-11-30 13:55:49 -05:00
Corey Hulen
d86cdc3f91 PLT-4822 fixing max channels per team (#4675) 2016-11-30 07:48:32 -05:00
MARUYAMA Takayuki
8d9768dad3 Change Flag Posts ordering to show posts from newest to oldest (#4656) 2016-11-28 10:26:23 -05:00
Joram Wilander
981ea33b8e PLT-4403 Add server-based channel autocomplete, search and paging (#4585)
* Add more channel paging API

* Add channel paging support to client

* Add DB channel search functions

* Add API for searching more channels

* Add more channel search functionality to client

* Add API for autocompleting channels

* Add channel autocomplete functionality to the client

* Move to be deprecated APIs to their own file

* Final clean-up

* Fixes related to feedback

* Localization changes

* Add unit as suffix to timeout constants
2016-11-24 09:35:09 -05:00
Christopher Speller
c96ecae6da Merge branch 'release-3.5' 2016-11-24 09:08:46 -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
Joram Wilander
062f758e47 Fix user search when using an asterisk (#4586) 2016-11-21 12:17:53 -05:00
Joram Wilander
b55ec6148c Fix resetting of statuses on Postgres (#4538) 2016-11-11 15:32:29 -05:00
Corey Hulen
41b31b4c92 PLT-4716 fixes cache invalidation issue (#4518)
* PLT-4716 fixes cache invalidation issue

* Adding missing interface

* Adding cache invalidation to channel notification preferences

* Adding cache invalidation to channel notification preferences
2016-11-10 09:25:23 -05:00
enahum
be17e05d73 PLT-4665 Fix Max Channels limit wrong count (#4512) 2016-11-10 09:23:55 -05:00
Joram Wilander
707b01e1ab Don't count inactive users on statistic pages (#4482) 2016-11-08 09:59:40 -05:00
Harrison Healey
ebe7c6b76b Updated stored database schema number to 3.5 2016-11-07 09:17:08 -05:00
Christopher Speller
18745b2d5c Increase Channel Purpose length to 250, and add channel field length handling code to the slack importer (#4458)
* Increase Channel Purpose length to 250.

This commit increases the maxmimum length of the channel purpose field
to 250, including the database migration necessary.

It also adds a method to the Slack importer to check the lengths of
channel properties before importing, and truncate them if necessary.

Fixes #4168

* Fix database migration.
2016-11-04 17:20:21 -04:00
Joram Wilander
00787974d0 PLT-4481 Fix member count for team user lists and channel invite list (#4422)
* Fix member count for team user lists and channel invite list

* Fix client unit test
2016-11-04 12:27:19 -04:00
Joram Wilander
6da0ccd944 Update user search to match against username, full name, nickname and email (#4421) 2016-11-03 08:24:45 -07:00
Joram Wilander
137ade29d0 PLT-4535/PLT-4503 Fix inactive users in searches and add option functionality to DB user search (#4413)
* Add options to user database search

* Fix inactive users showing up incorrectly in some user searches

* Read JSON for searchUsers API into anonymous struct

* Move anonymous struct to be a normal struct in model directory and upadte client to use it

* Added clarification comment about slightly odd query condition in search
2016-11-02 14:38:34 -04:00
Joram Wilander
4887c9228c Fix user autocomplete with special characters (#4373) 2016-10-31 09:10:20 -04:00
Joram Wilander
ef363fd88e Fix channel autocomplete and fix channel member query to ignore deleted channels (#4371) 2016-10-28 09:41:28 -07:00
Joram Wilander
35ceedf968 Fix members being loaded before channel members and DM headers (#4369) 2016-10-28 08:55:17 -04:00
Christopher Speller
55803ebcc8 Changing read replica selection method to round-robin instead of random. (#4351) 2016-10-27 13:50:24 -04:00
enahum
f82667f3b8 PLT-4430 improve slow channel switching (#4331)
* PLT-4430 improve slow channel switching

* Update client side unit tests

* Convert getChannelsUnread to getMyChannelMembers and address other feedback

* Pull channel members on websocket reconnect
2016-10-27 11:24:30 -04:00
Corey Hulen
9071553165 PLT-4359 fixing push notification for more than 1 device (#4318)
* PLT-4359 fixing push notification for more than 1 device

* Addressing feedback
2016-10-24 21:04:11 -03:00
enahum
5fdb8223fc Add database indexes to timestamp columns (#4314)
* Add database indexes to timestamp columns

* add indexes to session table
2016-10-24 16:05:27 -04:00
Joram Wilander
4834b68ad1 Filter out non-team members from invite to channel modal (#4312) 2016-10-24 09:00:42 -07:00
Corey Hulen
486d12e1c3 PLT-4165 removing team name reserved words (#4289) 2016-10-21 17:19:28 -07:00
Joram Wilander
0a75b277dc Fix the multiple column full text search index for Postgres (#4282) 2016-10-20 12:30:44 -03:00
enahum
162282d42c PLT-4358 Exclude Channels from query when not necessary (#4269) 2016-10-20 10:28:19 -04: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
Alexander Smaga
e7b25f4cd8 GH-4187 Create direct channel during incoming webhook if not exists (#4206) 2016-10-17 08:12:56 -04:00
Harrison Healey
7fb818d4ce PLT-3105 Fixed bugs with FileInfos migration, including duplicate FileInfos being saved (#4134)
* Added a limit to GetByPath for the rare cases when two old files had the same path

* Fixed files still being displayed for deleted posts

* Added a lock to prevent migrateFilenamesToFileInfos from migrating multiple posts at once
2016-10-06 17:44:41 -03:00
Harrison Healey
8a0e649f98 PLT-3105 Files table migration (#4068)
* Implemented initial changes for files table

* Removed *_benchmark_test.go files

* Re-implemented GetPublicFile and added support for old path

* Localization for files table

* Moved file system code into utils package

* Finished server-side changes and added initial upgrade script

* Added getPostFiles api

* Re-add Extension and HasPreviewImage fields to FileInfo

* Removed unused translation

* Fixed merge conflicts left over after permissions changes

* Forced FileInfo.extension to be lower case

* Changed FileUploadResponse to contain the FileInfos instead of FileIds

* Fixed permissions on getFile* calls

* Fixed notifications for file uploads

* Added initial version of client code for files changes

* Permanently added FileIds field to Post object and removed Post.HasFiles

* Updated PostStore.Update to be usable in more circumstances

* Re-added Filenames field and switched file migration to be entirely lazy-loaded

* Increased max listener count for FileStore

* Removed unused fileInfoCache

* Moved file system code back into api

* Removed duplicate test case

* Fixed unit test running on ports other than 8065

* Renamed HasPermissionToPostContext to HasPermissionToChannelByPostContext

* Refactored handleImages to make it more easily understandable

* Renamed getPostFiles to getFileInfosForPost

* Re-added pre-FileIds posts to analytics

* Changed files to be saved as their ids as opposed to id/filename.ext

* Renamed FileInfo.UserId to FileInfo.CreatorId

* Fixed detection of language in CodePreview

* Fixed switching between threads in the RHS not loading new files

* Add serverside protection against a rare bug where the client sends the same file twice for a single post

* Refactored the important parts of uploadFile api call into a function that can be called without a web context
2016-09-30 11:06:30 -04:00
Corey Hulen
bfca752940 Fixing the console level debug statements (#4092) 2016-09-27 11:07:32 -03:00
Christopher Speller
667db6e10c Cleaning up some old code from the permissions system change (#4090) 2016-09-26 13:41:50 -04:00
Christopher Speller
3ecbfd9716 Adding removal of all sessions to upgrade. Commented out untill release. (#4047) 2016-09-21 07:16:49 -04:00
Harrison Healey
1c1f06def9 Moved ThemeProps migration to correctly take place in 3.2 -> 3.3 migration (#4054) 2016-09-21 07:16:40 -04:00
Kyo Nguyen
2ca751febf Fix leaking goroutines in store calls (#3993). (#4021) 2016-09-19 08:30:41 -04:00
Christopher Speller
1e7985a87a Modifying permissions system. (#3897) 2016-09-13 12:42:48 -04:00
Corey Hulen
193314e9fc Increasing channel limits (#4003)
* Increasing channel limits

* Fixing unit test
2016-09-09 15:46:36 -03:00
enahum
dde7b50adf Saving schema version for 3.4 (#3982) 2016-09-06 23:42:16 -03:00