Commit Graph

69 Commits

Author SHA1 Message Date
Joram Wilander
060b9f92c3 Remove API endpoints being deprecated in 3.8 (#5880) 2017-03-28 08:07:15 -04:00
George Goldberg
7d449e0556 PLT-5755: Infrastructure for Component Testing. (#5814)
This migrates the existing webapp tests to using Jest and Enzyme. The
infrastructure is put in place for React component testing, and a few
simple example component tests are implemented.

This also adds snapshot testing of components, coverage checking for the
webapp (although that is not yet integrated to Coveralls), and the
ability to run npm run test:watch to automatically re-run affected tests
when working on the webapp codebase.
2017-03-23 14:05:36 -04:00
VeraLyu
94b4aa082c PLT-5913: Remove id from heading markdown compilation (#5782)
Id for heading markdown is unnecessary as we didn't
attach any style/effect on that id, and it also introduce
duplicate id. So remove it from heading markdown generatiing.
2017-03-23 08:19:22 -04:00
Harrison Healey
8866218243 Revert "PLT-3181 Added crossorigin='anonymous' to all external images (#5774)" (#5815)
This reverts commit 24848f9d6a.
2017-03-20 16:58:09 -04:00
Harrison Healey
24848f9d6a PLT-3181 Added crossorigin='anonymous' to all external images (#5774)
* PLT-3181 Added crossorigin='anonymous' to all external images

* Fixed image unit tests

* Added crossorigin='anonymous' to a few more places
2017-03-16 11:59:00 -07:00
VeraLyu
33d472c090 PLT-5321: Add markdown unit tests for images (#5770) 2017-03-15 10:07:50 -04:00
Joram Wilander
3a91d4e5e4 PLT-3077 Add group messaging (#5489)
* Implement server changes for group messaging

* Majority of client-side implementation

* Some server updates

* Added new React multiselect component

* Fix style issues

* Add custom renderer for options

* Fix model test

* Update ENTER functionality for multiselect control

* Remove buttons from multiselect UI control

* Updating group messaging UI (#5524)

* Move filter controls up a component level

* Scroll with arrow keys

* Updating mobile layout for multiselect (#5534)

* Fix race condition when backspacing quickly

* Hidden or new GMs show up for regular messages

* Add overriding of number remaining text

* Add UI filtering for team if config setting set

* Add icon to channel switcher and class prop to status icon

* Minor updates per feedback

* Improving group messaging UI (#5563)

* UX changes per feedback

* Update email for group messages

* UI fixes for group messaging (#5587)

* Fix missing localization string

* Add maximum users message when adding members to GM

* Fix input clearing on Android

* Updating group messaging UI (#5603)

* Updating UI for group messaging (#5604)
2017-03-02 17:48:56 -05:00
Debanshu Kundu
47114a18e3 PLT-5380 Moved link preview image to top right corner of preview area (#5212)
* PLT-5380 Moved link preview image to top right corner of preview area for smaller images, larger and wide images are still shown below the text.

Also added logic to hide image area if image loading fails.

* Updating link previews css
2017-03-02 14:47:27 -03:00
Harrison Healey
991925b7ee Added unit tests for mentions inside of hashtags (#5577) 2017-03-02 08:42:28 -05:00
Harrison Healey
daef8d8384 Added a unique prefix to text formatting entities (#5549) 2017-02-28 22:21:10 -03:00
Joram Wilander
76fa840b52 Move webhook logic from api layer to app layer (#5527)
* Move webhook logic from api layer to app layer

* Consolidate error messages

* Fix permission check and unit test
2017-02-28 09:31:53 +00:00
Poornima
19b753467d Adding edit of incoming webhook (#5272)
Adding edit of outgoing webhook
Fixing spelling of error
Fixing style
Changing from PUT to POST for updates
Fixing test failures due to merge
2017-02-26 13:48:20 -05:00
Joram Wilander
06f89cea30 Final fixes for moving unread handling to client (#5392) 2017-02-13 15:19:41 -05:00
Joram Wilander
e9c9688b34 Move permissions code into app package (#5146)
* Move permissions code into app package

* Revert getPosts permission
2017-01-23 08:12:05 -05:00
Debanshu Kundu
3aaf71fdea #4257 Added functionality to create previews for post links using open graph data from those links. (#4890) 2017-01-20 14:41:13 -03:00
Christopher Speller
635628cf30 Removing old signup team API (#4950) 2017-01-04 14:11:47 -05:00
Harrison Healey
63d2851ec7 PLT-5109/PLT-5112 Fixed commented out unit tests (#4951)
* Removed note about unconfirmed race condition

* Fixed unit tests in client_channel.test.jsx

* Fixed updateActive unit test on client
2017-01-04 09:30:14 -05:00
Christopher Speller
a71fc7ff7f Removing old createTeamFromSignup api (#4945) 2017-01-03 17:12:55 -05:00
Corey Hulen
55c8283b85 Removing unit test that we'll probably never run (#4944) 2017-01-03 13:08:31 -05:00
Carlos Tadeu Panato Junior
5fd11bd674 Add API call to get a user by their email address (#4884)
* Add API call to get a user by their email address

* update per review
2016-12-28 10:44:32 -03: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
enahum
999d1553e1 PLT-4167 Team Sidebar (#4569)
* PLT-4167 Team Sidebar

* Address feedback from PM

* change route from my_members to members

* bug fixes

* Updating styles for teams sidebar (#4681)

* Added PM changes

* Fix corner cases

* Addressing feedback

* use two different endpoints

* Bug fixes

* Rename model and client functions, using preferences to store last team and channel viewed

* Fix mobile notification count and closing the team sidebar

* unit test, fixed bad merge and retrieve from cached when available

* bug fixes

* use id for last channel in preferences, query optimization

* Updating multi team css (#4830)
2016-12-19 08:05:46 -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
Yusuke Nemoto
ddacfa58ba PLT-1598 Slash command works in RHS (#4367)
* PLT-1598 Slash command works in RHS

* fix UserProfile in the reply for Slash Command

* fix some problem about the system messages in RHS
* system message in RHS isn't displayed as comment for root message

* remove status indicator for system message in RHS

* system message in RHS is colored to grey

* system messages don't count as commented post

* fix bug about cleaning draft in RHS

* remove unnecessary function

* implement new model for executing command
2016-12-09 23:35:16 -05:00
Carlos Tadeu Panato Junior
d402b1d010 Add API call to get a team by its name (#4690)
* Add API call to get a team by its name

* add tests for client side and update route regex

* remove action

* add check for permissions and create tests
2016-12-08 10:21:43 -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
Joram Wilander
02d581c159 PLT-4697 Update channel switcher to autocomplete all users on the system (#4624)
* Add autocomplete API for system-wide users

* Update channel switcher to autocomplete all users on the system
2016-11-29 10:12:59 -05:00
Hyeseong Kim
2abcc25173 PLT-2077 Support CJK hashtags (#4555)
* Add Korean character ranges to exist CJK pattern

* Add constant for CJK hashtags
Becuase most of keywords in CJK are two characters

* Add CJK ranges to hashtag pattern to handle it.

* Fixes hashtag pattern to apply numbers at last

* Remove a wrong test case
`test_` shouldn't be a hashtag

* Fix hashtag regex to support standard unicodes

* Remove wrong escapes from regex
2016-11-24 09:38:56 -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
Carlos Tadeu Panato Junior
d57ab7a81e PLT-3762 - Add API call to get a user by their username (#4611)
* PLT-3762 - Add API call to get a user by their username

* fix lint

* update rote

* update per code review

* update per code review

* remove first/last name is not used in this test
2016-11-21 18:50:57 -05:00
Brian Olecki
6297922ab9 Add support for editing slash commands (#4335) 2016-11-15 12:43:16 -03: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
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
Harrison Healey
a7e5837178 PLT-4454 Autolink anything that looks like an at mention (#4416)
* PLT-4454 Added autolinking for anything that looks like an at mention

* PLT-4454 Added unit tests for at mention autolinking
2016-11-01 14:58:44 -07: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
Pierre Rudloff
7e67eabca9 Fix URL parsing when URL has been encoded with escape() (fixes #4322) (#4338) 2016-10-26 12:36:16 -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
Jared Shields
3bac3a0061 Updated make files/scripts to accomodate execution/building in windows in addition to linux/mac (#4135) 2016-10-04 08:56:01 -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
Christopher Speller
efdb0dfa0b Fixing update roles API (#4060) 2016-09-22 08:31:38 -04:00
Harrison Healey
e455bee39f PLT-4096 Fixed highlighting of hashtags in search (#4043)
* PLT-4096 Fixed highlighting of hashtags in search

* Added unit tests for hashtag rendering on the client
2016-09-20 11:59:42 -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
f32eb525f3 Do not send push notifications for channels being actively viewed (#3931) 2016-09-02 12:50:15 -04:00
Harrison Healey
167dd22eef PLT-1752/PLT-3567/PLT-3998 Highlighting links in search, unit tests for autolinking (#3865)
* Added highlighting to links when their URL includes the search term

* Decoupling UserStore from react-router to allow for unit tests involving it

* PLT-3998 Added SiteURL as an option to be passed into the text formatting code

* Removed reference to PreferenceStore and window from TextFormatting

* Refactored TextFormatting to remove remaining browser-only code

* Updated ChannelHeader and MessageWrapper to match the changes to TextFormatting

* Increased max listeners for Preference and Emoji stores

* PLT-3832 Added automated unit tests for autolinking

* PLT-3567 Rerender posts when mention keywords change

* Updated RHS and search to match the changes to TextFormatting

* Broke TextFormatting's dependency on the UserStore
2016-08-29 09:50:00 -04:00
Joram Wilander
0184d6059b PLT-3506 Added flagged posts functionality (#3679)
* Added flagged posts functionality

* UI Improvements to flags (#3697)

* Added flag functionality for mobile

* Updating flagged text (#3699)

* Add back button to RHS thread when coming from flagged posts

* Updating position of flags (#3708)

* Plt 3506 - Reverting flag position (#3724)

* Revert "Updating position of flags (#3708)"

This reverts commit aaa05632c5.

* Fixing the icon in search

* Help text and white space improvements (#3730)

* Updatng help text and some white spacing.

* Updating help text
2016-08-04 10:38:09 -05:00
Harrison Healey
0b5a25a39e Fixed clientside emoji tests leaving behind a temporary file (#3691) 2016-07-31 09:49:19 -04:00