Commit Graph

1051 Commits

Author SHA1 Message Date
Joram Wilander
39675afab4 Only send WS hello event once authenticated (#4509) 2016-11-10 09:20:36 -05:00
Alexander Smaga
70e0d5c298 PLT-4670 DM channel creation via webhook fails (#4523) 2016-11-10 09:20:22 -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
205ccd1bd4 PLT-4492 Mentions with a comma after them don't trigger notification jewel (#4451)
* PLT-4492 Mentions with a comma after them don't trigger notification jewel

* Fix mentions for usernames with dots
2016-11-04 15:15:17 -04:00
Christopher Speller
ec7f3ceee8 Fixing websocket unregister so it unregisters from the correct hub. (#4452) 2016-11-04 13:43:49 -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
enahum
772b57386f PLT-4550 move webrtc to TE (#4440)
* PLT-4550 move webrtc to TE

* remove webrtc from makefile enterprise tests
2016-11-04 12:05:32 -04:00
George Goldberg
4476adf131 Channel link marker changed from ! to ~ (#4433)
Fixes PLT-4570
2016-11-03 15:26:00 -04:00
George Goldberg
7d91f17914 Import Slack bot_message type posts. (#4261)
This includes all messages from integrations, as far as I can tell.

Messages are "owned" by a special user that is deactivated once the
import completes.

Override User Names are only shown where the individual Slack posts have
a username override in them. Ones set centrally through the Slack Web
Hooks administration, or by Slack-official integrations, aren't known so
we can't set them on the imported posts. Same for icons.

The attachment "colors" aren't imported as Mattermost does not appear to
have any equivalent feature.

Fixes PLT-48
2016-11-03 15:04:01 -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
0234f793f2 EE: PLT-4512 Show secret in addition to QR code when activating MFA (#4427)
* EE: Update MFA to display secret for manual entry

* Width adjustments for secret (#4423)

* Add unit test
2016-11-03 10:41:11 -04: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
Christopher Speller
420bc367fa Fixing permissions issue when deleting slash commands (#4414) 2016-11-01 13:16:16 -07:00
Christopher Speller
b0f38f8a84 Fixing websocket and team store issues when leaving team (#4412) 2016-11-01 15:50:34 -04:00
Christopher Speller
98131a293a Fixing joining of channels via permalinks for system admins. (#4409) 2016-11-01 13:23:26 -04:00
Christopher Speller
aa6cb03b20 Prevent system_admin role mistake (#4405) 2016-11-01 09:05:48 -07:00
George Goldberg
54277eae28 Warning in log when a Slack channel import fails. (#4262)
Previously it just wrote to the summary, and as a debug level message in
the log, so if you had the log level set to warn, you might never find
out that importing a channel failed.
2016-10-31 09:02:54 -04:00
Joram Wilander
316b155a42 PLT-3562 Switch websocket over to post-connect authentication (#4327)
* Switch websocket over to post-connect authentication

* Add ability to specify token in websocket js driver, add unit tests

* Temporarily disable client websocket tests until issues are resolved

* Minor refactoring and fix status test

* Add isAuthenticated method to WebConn and minor status updates
2016-10-31 08:59:23 -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
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
3e1fc76bf9 Fixing clustering problem (#4320) 2016-10-25 08:56:06 -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
Corey Hulen
486d12e1c3 PLT-4165 removing team name reserved words (#4289) 2016-10-21 17:19:28 -07:00
Joram Wilander
3885532750 Fix notifications for public/private channels and add basic unit test (#4295) 2016-10-21 16:23:59 -04: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
4688d4981a Explicitly set Content-Type field when getting file attachments (#4280) 2016-10-20 12:31:15 -03:00
Joram Wilander
2e34d8843e PLT-4138 Fix /join command for non-admin accounts (#4265)
* Fix /join command for non-admin accounts

* Implement found check in join command unit test properly
2016-10-20 10:27:18 -04:00
Harrison Healey
6517b0f9e1 Fixed handleImages to properly capture loop variables (#4275) 2016-10-20 09:13:33 -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
enahum
38568c2769 PLT-3968 Require user for getMe API (#4225) 2016-10-17 10:43:28 -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
enahum
f555f104c1 Make tests pass without internet connection (#4211) 2016-10-13 14:04:46 -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
George Goldberg
8c8bc7111c Slack import unit tests (#4201)
* Slack Import unit tests (for some functions).

Covers the completely self contained functions in the Slack Importer
that are straightforward to unit test.

JSON processing functions are not yet unit tested.

* Unit tests for Slack Import JSON parsing.

This tests the 3 functions for parsing JSON, using a sample set of
Slack data for posts, channels, and users.
2016-10-12 10:03:30 -04:00
Stan Hu
d4268cf0d8 Trim trailing slashes to prevent OAuth2 URI mismatch errors (#4204)
Closes https://gitlab.com/gitlab-org/gitlab-mattermost/issues/84
2016-10-12 09:51:57 -04:00
George Goldberg
552508706d Import /me messages from Slack. (#4164)
Use message formatting consistent with how Mattermost does for the /me
command for new messages.
2016-10-12 09:33:58 -04:00
George Goldberg
5ca05124cf Import Slack uploads if present in zip archive. (#4088)
* Import Slack uploads if present in zip archive.

This is part 3 of PLT-4280, to support importing file uploads when
importing from Slack. It is assumed the uploads in the zip archive will
be present as per the output of slack-advanced-exporter:

https://github.com/grundleborg/slack-advanced-exporter

If the uploads are not present (ie. this is a vanilla Slack export
archive) uploads are treated in the same way as before this patch,
providing only a link to the upload on Slack's servers.

* Update to new Files API.
2016-10-12 09:31:05 -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
George Goldberg
cd5bf7cb5a Correctly import Slack topic and purpose. (#4152)
In order to maintain consistency with how topic and purpose are used in
Slack, the mapping is as follows:

Slack   -> Mattermost
=====      ==========
Purpose -> Purpose
Topic   -> Header
2016-10-05 08:14:36 -04:00
George Goldberg
1a5a624470 Fix import of Slack file_comment messages. (#4132)
At the moment, the importer fails to parse the JSON of these types of
message, and so ignores them.

This fix means they are now parsed and imported just as if they were
standalone messages (not file comments), which is better, and what the
existing code clearly intended to happen.

For the future, they should probably be changed to be imported as
replies to the message with the file attached that they are commenting
on.

Fixes #4131.
2016-10-04 08:51:38 -04:00
Christopher Speller
8f91c77755 Adding ability to serve TLS directly from Mattermost server (#4119) 2016-10-03 16:03:15 -04: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
Harrison Healey
fc54aececc Added a short wait to TestSetActiveChannel to stop randomly failing tests (#4115)
* Added a short wait to TestSetActiveChannel to stop randomly failing tests

* Increased the timeout in TestWebSocketEvent
2016-09-29 12:57:37 -04:00
enahum
caeadde2f2 PLT-4155 Show correct login method in system console (#4102)
* PLT-4155 Show correct login method in system console

* Remove checking for system admin privileges in getProfiles
2016-09-28 08:49:54 -04:00
enahum
60347559c7 PLT-3734 Cleaning up shouldSendEvent function (#4024)
* PLT-3734 Cleaning up shouldSendEvent function

* Fix LHS unread highlight and jewel mentions
2016-09-27 10:19:50 -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
7fcc004beb Modifications to rate limiting settings. (#4091) 2016-09-26 09:56:12 -07:00
Ryan Wang
1479c4a2ca Message is displayed when user joins Off_Topic (#4067) 2016-09-26 07:47:17 -04:00