Commit Graph

978 Commits

Author SHA1 Message Date
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
Christopher Speller
2ca0e8f9a0 Updating golang dependancies (#4075) 2016-09-23 10:17:51 -04:00
Joram Wilander
353761b917 Fix TestSetActiveChannel unit test (#4071) 2016-09-22 16:59:33 -04:00
Christopher Speller
efdb0dfa0b Fixing update roles API (#4060) 2016-09-22 08:31:38 -04:00
George Goldberg
de79343b9a Fix !channel linking in Slack import. (#4065)
Original version of the patch didn't take into account that, like with
@mentions, there's an "old" and a "new" format in the Slack export files
for channel mentions. This version imports both correctly.
2016-09-21 15:17:48 -03:00
Corey Hulen
185387e277 Fixing build break (#4063) 2016-09-21 10:36:38 -07:00
Corey Hulen
fc5df5c435 Fix issue when saving session has an error (#4053)
* Fix issue is saving session has an error

* Fixing break break
2016-09-21 07:17:58 -04:00
enahum
33e20b874e PLT-4202 fix javascript error manage OAuth2 apps (#4039)
* PLT-4202 fix javascript error manage OAuth2 apps

* Fix unit tests
2016-09-20 12:02:08 -04:00
enahum
4e3d465210 PLT-4179 send push notifications with override_username (#4040) 2016-09-20 12:01:12 -04:00
George Goldberg
33eda94db3 PLT-1764 #channels => !channels on Slack import. (#4028) 2016-09-19 08:22:08 -04:00
enahum
9d40538106 PLT-4157 CLI to make a user active or inactive (#4025) 2016-09-15 11:33:16 -04: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
Joram Wilander
837808eba3 Update getUser API and add it to the JS driver (#4020) 2016-09-14 09:57:33 -03:00
Christopher Speller
1e7985a87a Modifying permissions system. (#3897) 2016-09-13 12:42:48 -04:00
Joram Wilander
132be6a02b Accept nil values for incoming webhook attachments (#4011) 2016-09-13 11:56:03 -04:00
Pierre Rudloff
987cb10e71 Unescape HTML entities in e-mail titles (fixes #3906) (#3969) 2016-09-12 16:20:41 -04:00
Christopher Speller
adfcda4802 Some improvments to slack import (#4010) 2016-09-12 11:57:36 -04:00
Jason Blais
b6ed10a31e PLT-3766 Change remaining LDAP references to AD/LDAP (#3985)
* Update user.go

* Update en.json

* Update ldap_test_button.jsx

* Update en.json
2016-09-08 09:48:12 -03:00
Joram Wilander
ba2e131804 Include build number in server version given to the client (#3984) 2016-09-08 09:48:02 -03:00
Harrison Healey
73692f010e PLT-3775/PLT-4067 Fixes for email notifications for 3.4 2016-09-06 18:51:42 -03:00
Jason Blais
449b066598 PLT-3766 Change LDAP references to AD/LDAP in the UI (#3925) 2016-09-06 16:27:32 -03:00
enahum
35b816b922 PLT-3921 Fix System Console Recent Active Users (#3856)
* PLT-3921 System Console Recent Active Users
2016-09-06 15:48:43 -03:00
George Goldberg
af0df81a97 Fix @channel, @here and @everyone Slack import. (#3946)
Does this by adding special case regexes to the @mention importing code
in the Slack importer for these three special mention types.

Fixes PLT-4053
2016-09-06 12:56:29 -04:00
Joram Wilander
dda0ea3552 PLT-3875 Update error page to use Markdown and add error for missing OAuth code (#3934)
* Update error page to use Markdown and add error for missing OAuth code

* Add line breaks to error messages 

This is to make the error message easier to read.

* Update en.json
2016-09-06 08:29:14 -04:00