Commit Graph

68 Commits

Author SHA1 Message Date
Joram Wilander
217cdf447a PLT-5073 Improve performance of /channels/view endpoint (#4881)
* Improve performance of /channels/view endpoint

* Fix store unit test
2016-12-23 10:32:30 -05:00
George Goldberg
ca61b4bed9 PLT-5080 (Server): Channel-Admin level permissions (#4874)
Adds permissions for manage/delete public/private channels at the
Channel Admin level.
2016-12-22 15:44:37 -05:00
George Goldberg
53847af2c4 API for getting channel members by IDs. (#4877) 2016-12-22 10:21:05 -08:00
Joram Wilander
ba6e370ca7 PLT-5012 Combine updateLastViewedAt, setLastViewedAt and setActiveChannel into a single API (#4840)
* Combine updateLastViewedAt, setLastViewedAt and setActiveChannel into a single API

* Remove preference DB writes
2016-12-21 16:35:01 -05: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
Carlos Tadeu Panato Junior
b9092ca2f5 Fix API Get channels for a user returns users' dm channels with blank teamid (#4748)
* fix API Get channels for a user returns users' dm channels with blank team ID

add check in the context.go

add suggestion

made adjustment per review and support from @joram

* update tests

* add check if needd user or admin permissions

* update per review
2016-12-20 07:55:22 -08:00
Joram Wilander
1f67c91fce Prevent accidental removal of user from town square (#4842) 2016-12-20 09:27:29 -05:00
Nick Frazier
e9a1a8d3d9 GH-4685 Post a System Message when channel is renamed (#4762)
* test changes

* added system message when displayname changed

* added test

* gofmt
2016-12-20 08:56:45 -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
Carlos Tadeu Panato Junior
f0d71d8789 Add API call to get a channel by its name (#4700)
* add api for getByChannelName

* add tests

* fix test

* rename and tests

* check for permissions and test
2016-12-11 21:30:37 -08: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
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
Harrison Healey
a6526aa03d Added small delay to TestUpdateChannelHeader (#4478) 2016-11-07 13:14:12 -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
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
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
69e90255aa GH-4087 added extra fields to Props in header update system message (#4209) 2016-10-13 11:13:12 -04:00
Christopher Speller
1e7985a87a Modifying permissions system. (#3897) 2016-09-13 12:42:48 -04:00
Joram Wilander
f32eb525f3 Do not send push notifications for channels being actively viewed (#3931) 2016-09-02 12:50:15 -04:00
Harrison Healey
9481a4f0ef Merge release 3.2 into master (#3548)
* Bumping version to: 3.2.0-rc1

* PLT-2863 fixing bad merge that broke this PR (#3523)

* PLT-2863 adding remove user from team

* PLT-2863 adding the client side UI

* Fixing trailing space

* Fixing reported issues

* Adding documentatino

* Switching to final javascript driver

* Fixing bad merge

* Fixing bad merge

* PLT-3538 Fix Login page doesn't show SAML option if gitlab is enabled (#3524)

* Login error messages fix (#3525)

* daily translations 20160708 (#3533)

* Fixed permissions when getting a file attachment to use the correct user id (#3535)

* PLT-3575 Fix Cannot upload certificates with .cer file extension on SAML (#3534)

* PLT-3560 blocking adding to channel once user is removed (#3537)

* Always allow system admins to see the Integrations sidebar (#3536)

* Plt 3475 - Post control improvements (#3538)

* Adding class to post when dropdown is active.

* plt-3475 - Post controls improvements

* daily translations 20160711 (#3544)
2016-07-11 14:21:51 -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
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
Joram Wilander
1cfb35fd32 Fix channels showing up across teams when multiple teams open in same browser (#3329) 2016-06-15 08:00:55 -04:00
Harrison Healey
384d0eb245 PLT-2559 Always return successful when trying to join a channel that the user is already a member of (#3265)
* Added unit tests for SqlChannelStore.GetMember

* Fixed api routes for accessing channels by name when the name includes an underscore

* Changed join channel API to always return successful when the user is already a member of the channel
2016-06-06 13:03:56 -04:00
Joram Wilander
971149d2b2 Don't allow users to be added to a channel they are not in the team of (#3246) 2016-06-04 10:52:25 -04:00
Joram Wilander
3ce6dfc71e Allow system admins to update and delete channels (#3161) 2016-06-01 13:04:06 -07:00
Joram Wilander
1f609e9cf7 Check team member instead of session for team admin role when updating/deleting channels (#3007) 2016-05-16 12:55:22 -04:00
enahum
45b22f312d PLT-2674 Private Group should not have Leave option when only one member remains (#2888) 2016-05-10 08:24:52 -04:00
Joram Wilander
d75cb02948 Multiple cross-team functionality fixes (#2902) 2016-05-06 08:06:34 -04:00
Harrison Healey
87989b8afd PLT-2258 Unified login screen and related APIs (#2820)
* Unified login screen and related APIs

* Refactored login API call to be less convoluted

* Removed LDAP login prompt from invite process

* Fixed existing LDAP users being able to log in if LDAP was configured, but disabled

* Gofmt

* Future proofed login API

* Updated login APIs based on feedback

* Added additional auditing to login API

* Actually removed loginById
2016-05-03 14:10:36 -04:00
Christopher Speller
f8ed606a5f Fixing edit direct channel header (#2842) 2016-05-02 12:57:32 -04:00
Joram Wilander
383cddd3d1 Don't return error if already part of channel being joined (#2814) 2016-04-28 10:56:19 -04:00
Christopher Speller
fa807d8e43 Fixing permalinks to channels your not a memeber of (#2805) 2016-04-27 16:02:58 -04:00
Corey Hulen
2e5617c29b PLT-2057 User as a first class object (#2648)
* Adding TeamMember to system

* Fixing all unit tests on the backend

* Fixing merge conflicts

* Fixing merge conflict

* Adding javascript unit tests

* Adding TeamMember to system

* Fixing all unit tests on the backend

* Fixing merge conflicts

* Fixing merge conflict

* Adding javascript unit tests

* Adding client side unit test

* Cleaning up the clint side tests

* Fixing msg

* Adding more client side unit tests

* Adding more using tests

* Adding last bit of client side unit tests and adding make cmd

* Fixing bad merge

* Fixing libraries

* Updating to new client side API

* Fixing borken unit test

* Fixing unit tests

* ugg...trying to beat gofmt

* ugg...trying to beat gofmt

* Cleaning up remainder of the server side routes

* Adding inital load api

* Increased coverage of webhook unit tests (#2660)

* Adding loading ... to root html

* Fixing bad merge

* Removing explicit content type so superagent will guess corectly (#2685)

* Fixing merge and unit tests

* Adding create team UI

* Fixing signup flows

* Adding LDAP unit tests and enterprise unit test helper (#2702)

* Add the ability to reset MFA from the commandline (#2706)

* Fixing compliance unit tests

* Fixing client side tests

* Adding open server to system console

* Moving websocket connection

* Fixing unit test

* Fixing unit tests

* Fixing unit tests

* Adding nickname and more LDAP unit tests (#2717)

* Adding join open teams

* Cleaning up all TODOs in the code

* Fixing web sockets

* Removing unused webockets file

* PLT-2533 Add the ability to reset a user's MFA from the system console (#2715)

* Add the ability to reset a user's MFA from the system console

* Add client side unit test for adminResetMfa

* Reorganizing authentication to fix LDAP error message (#2723)

* Fixing failing unit test

* Initial upgrade db code

* Adding upgrade script

* Fixing upgrade script after running on core

* Update OAuth and Claim routes to work with user model changes (#2739)

* Fixing perminant deletion. Adding ability to delete all user and the entire database (#2740)

* Fixing team invite ldap login call (#2741)

* Fixing bluebar and some img stuff

* Fix all the different file upload web utils (#2743)

* Fixing invalid session redirect (#2744)

* Redirect on bad channel name (#2746)

* Fixing a bunch of issue and removing dead code

* Patch to fix error message on leave channel (#2747)

* Setting EnableOpenServer to false by default

* Fixing config

* Fixing upgrade

* Fixing reported bugs

* Bug fixes for PLT-2057

* PLT-2563 Redo password recovery to use a database table (#2745)

* Redo password recovery to use a database table

* Update reset password audits

* Split out admin and user reset password APIs to be separate

* Delete password recovery when user is permanently deleted

* Consolidate password resetting into a single function

* Removed private channels as an option for outgoing webhooks (#2752)

* PLT-2577/PLT-2552 Fixes for backstage (#2753)

* Added URL to incoming webhook list

* Fixed client functions for adding/removing integrations

* Disallowed slash commands without trigger words

* Fixed clientside handling of errors on AddCommand page

* Minor auth cleanup (#2758)

* Changed EditPostModal to just close if you save without making any changes (#2759)

* Renamed client -> Client in async_client.jsx and fixed eslint warnings (#2756)

* Fixed url in channel info modal (#2755)

* Fixing reported issues

* Moving to version 3 of the apis

* Fixing command unit tests (#2760)

* Adding team admins

* Fixing DM issue

* Fixing eslint error

* Properly set EditPostModal's originalText state in all cases (#2762)

* Update client config check to assume features is defined if server is licensed (#2772)

* Fixing url link

* Fixing issue with websocket crashing when sending messages to different teams
2016-04-21 22:37:01 -07:00
=Corey Hulen
1006e99859 Fixing email unit tests 2016-02-01 08:35:08 -08:00
Corey Hulen
aefbb541d0 Revert " PLT-7 adding loc for db calls" 2016-01-20 13:36:16 -06:00
=Corey Hulen
75f8729e2d PLT-7 adding loc db calls for users table 2016-01-20 12:43:44 -06:00
hmhealey
0e7a149982 Added the ability to get more channel members from getChannelExtraInfo 2016-01-06 18:04:24 -05:00
Reed Garmsen
e7eb86c8c3 Updated emails in unit tests to include '+' 2015-12-13 14:21:23 -08:00
Reed Garmsen
1874a16666 Fixed unit test issues 2015-11-13 17:15:09 -08:00
hmhealey
be43522117 Added ChannelExtra.MemberCount field to reflect the actual member count when we truncate the list of members to 20 2015-11-12 11:25:46 -05:00
hmhealey
61da22ea32 Added Channel.Purpose on the server 2015-10-27 12:46:31 -04:00
hmhealey
09b38404fa Renamed Channel.Description to Channel.Header on the server 2015-10-27 12:46:30 -04:00
Christopher Speller
b85b529373 Changing SpinPunch to Mattermost in copyright 2015-10-08 12:27:09 -04:00
hmhealey
c9a0030551 Moved ChannelMember.NotifyLevel into ChannelMember.NotifyProps 2015-10-01 08:31:17 -04:00
hmhealey
c16b9de8dc Replaced ChannelMember.MarkUnreadLevel with ChannelMember.NotifyProps 2015-10-01 08:31:11 -04:00
hmhealey
9995c7ccfc Added additional test cases and fixed existing ones for ChannelMember.MarkUnreadLevel 2015-09-30 09:59:58 -04:00
=Corey Hulen
88e5a71e8c Adding service settings to admin console 2015-09-22 12:12:50 -07:00
it33
4a13d37367 Renaming "Handle" to "Channel URL" or "URL" 2015-09-20 21:17:20 -07:00
JoramWilander
47e6a33a45 Implement OAuth2 service provider functionality. 2015-09-16 15:49:12 -04:00