Commit Graph

120 Commits

Author SHA1 Message Date
Harrison Healey
9369cab56c Added ability for system message username to be localized (#5239) 2017-01-31 13:02:48 -05:00
Christopher Speller
450c0b3ccb Improvments to typing messages (#5230) 2017-01-30 15:43:34 -05:00
Harrison Healey
39ee5737b7 PLT-2555/PLT-5009/PLT-5225 Changed system messages to be rendered by the client (#5209)
* Moved rendering of (message deleted) into PostMessageView

* Added additional post types to constants on client

* Changed system messages to be rendered in the client's language

* Updated new system messages to have relevant usernames highlighted and have markdown rendered in header change messages
2017-01-30 11:49:00 -05:00
Asaad Mahmood
83ead5cac7 PLT-5122 - Switching to circular status icons (#5049)
* PLT-5122 - Switching to circular status icons

* Adding profile pic crop for status indicators

* Updating status indicators in LHS

* Updating else statements
2017-01-30 09:38:06 -05:00
Christopher Speller
11a688d381 Adding active users statistics to system console (#5141) 2017-01-20 17:24:53 -03: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
Amit Yadav
99cf08ac38 Message Editing and Deleting permissions (#4692) 2017-01-18 08:08:31 -05:00
George Goldberg
95251258f5 PLT-5049 (Webapp) New Channel Members UI. (#5036)
This replaces the existing Channel Members UI with one based on the Team
Members UI, so that either a button, a role or a role with a menu can be
displayed.

Basic logic for which actions and roles are displayed is implemented,
although this doesn't change behaviour or functionality at all, as that
will come in later PRs. It does, however, add code to fetch the
ChannelMember objects as that is necessary to provide the full set of
actions and roles as intended.
2017-01-15 10:40:43 -05:00
Jazz
7d6fa7f8bf Register the same language aliases as Rouge (#5040)
This allows the use of the same aliases as GitLab.
2017-01-13 10:54:22 -03:00
Asaad Mahmood
3e7a59b7b9 Minor UI improvements (#4959)
* PLT-5128 - Fixing channel header responsively

* PLT-4984 - Fixing search popover behaviour
2017-01-04 13:40:51 -05:00
Nick Frazier
26e43c671c PLT-4943: Warn when editing a message > 4000 chars (#4789)
* added basic functionality

* css fixes

* css fixes part II: electric boogaloo

* removed css interference with theme changes, for this and post length error
2016-12-21 11:37:07 -03:00
Joram Wilander
bf3fec604f Remove autocomplete delay (#4819) 2016-12-20 09:08:58 -05:00
Harrison Healey
d4b890fff1 Copied fbjs keymirror into utils (#4807)
* Removed react-addons-pure-render-mixin from NOTICE

* Copied FBJS keymirror into non_npm_dependencies
2016-12-20 09:05:56 -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
7f48a7fc9d PLT-4815 Refactor 'More Channels' modal into the new modal pattern (#4742)
* Refactor 'More Channels' modal into the new modal pattern

* Fix unit test

* Readded CSS changes
2016-12-15 13:40:46 -03:00
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
enahum
145876681f Fix react warnings and part of backstage (#4706) 2016-12-05 08:19:12 -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
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
3241b3abe4 Lower autocomplete timeout to 100ms (#4579) 2016-11-21 12:17:28 -05:00
Carlos Tadeu Panato Junior
34c3e9e50d Move instances of Client.updateTeam() in components to an action (#4574)
* Move instances of Client.updateTeam() in components to an action

* remove client from missing ones

* update code per review

* update per code review
2016-11-18 17:21:32 -05:00
Pepijn
6d2882f6e7 Don't show desktop notifications for messages entering the channel th… (#4216)
* Don't show desktop notifications for messages entering the channel the user is currently on

Coding style fixes

Allow notifications if browser tab is not focussed

* Don't show desktop notifications for messages entering the channel the user is currently on

Coding style fixes

Allow notifications if browser tab is not focussed

* Mute sound when a user doesn't get a desktop notification

* Also play sound on desktop notifications

* Fixed reviewer's remarks:
 * Removed double notification check
 * Removed direct links to browser store, created separate actions
2016-11-17 13:46:07 -05:00
Christopher Speller
6dde2d268a Updating client dependancies (excpet eslint) (#4567) 2016-11-17 09:02:33 -05:00
Christopher Speller
323ce8b203 Merge branch 'release-3.5' 2016-11-14 07:09:41 -05:00
Christopher Speller
ced5f54500 Fixing new messages indicator (#4531) 2016-11-11 14:55:05 -05:00
Asaad Mahmood
7c1fe7a765 PLT-4316 - Webrtc improvements (#4525) 2016-11-11 08:23:43 -05: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
Harrison Healey
b4002ba55f Plt-4483 Removed unnecessary events from ChannelStore (#4407)
* PLT-4483 Removed MoreChange listener from ChannelStore

* PLT-4483 Removed LeaveChannel listener from ChannelStore
2016-11-01 09:58:04 -07: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
Alexander Smaga
b354d25d37 GH-4095 Favorite/Starred Channels (#4222) 2016-10-26 08:20:45 -04:00
S4KH
57eb69927c Changed constants name MIN_TEAM_LENGTH value to 2 and the error message (#4149) 2016-10-24 23:22:55 -04:00
Corey Hulen
486d12e1c3 PLT-4165 removing team name reserved words (#4289) 2016-10-21 17:19:28 -07: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
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
Yusuke Nemoto
26099d89e9 PLT-3487 Preview uploaded txt file (#4145)
* fix filename

* Add 'txt' to hilighted language
2016-10-05 10:34:03 -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
Harrison Healey
53ba8ec9c2 Renamed NavbarDropdown to SidebarHeaderDropdown and switched it to react-bootstrap (#4109) 2016-09-29 10:58:30 -04:00
George Goldberg
8443ca5828 PLT-1759 - Auto-complete for !channels when posting messages. (#3890)
* Auto-complete for !channels when posting messages.

This is part 1 of the fix for PLT-1759 to make channels linkable.

Still to do:
- Make the !channels clickable when they appear in messages. This is
  blocked until PR #3865 is resolved as it looks like that refactors
  some of the code that would be touched by making this change.

- Unit tests. Again, I think the above referenced PR should be merged
  before tackling this.

* Fix style problems.

* Highlighting of !channel-names in messages.

This only identifies the !channel-name (not the display name). The
implementation of the auto-complete on channel names now needs to be
modified to convert to the channel handle before sending the message.

* Display !channel-name as !Display Name.

When we encounter !channel-name in a message, display it as a link using
the channel's actual name rather than it's handle (name).

* Match on names and display name, and use name.

* Autocomplete channels matching on both the name and the the display
  name.
* Use the name as the text we fill in instead of the display name. It's
  potentially a bit ugly, but it minimises complexity for now as
  otherwise we'd have to do complicated things to the message box.

* Fix style issues.

* Load more channels everywhere.

Whenever we load the list of channels, we should also load the list of
more channels. This is to enable auto-completing and auto-linking of all
channels whether or not the user is in them currently.

* Include more channels in the map for linking.

* Listen for channel list updates for autolinking.

* Remove accidental console.log.

* Autocomplete on more channels too.

* i18n for channel autocomplete.

* Link directly to channels in !channel mentions.

This currently does not work if you aren't a member of that channel.
Need to decide what the correct behaviour is in that case.

* Fix style issues.

* Show channel name and handle in suggestion.

* Match channels only at start or after space.

* Better matching in text-formatting.

Only match channels after a space-type character or at the start in the
posts list too.

* Move the route construction to make tests work.

Moves route-construction out of text_formatting.jsx and into utils.jsx
so that the unit tests work once again.
2016-09-19 08:21:22 -04:00
enahum
781ff323db Webrtc client side (#4026)
* WebRTC Server side

* WebRTC client side

* Bug fixes and improvements

* Pushing UI improvements for webrtc (#3728)

* Pushing UI improvements for webrtc

* Updating webrtc css

* PLT-3943 WebRTC P1: bug fixes and improvements

* Video resolution set to std, reduce volume of ringtone and flip video horizontally

* Fix calling a user B while WebRTC RHS is still opened

* Leave RHS opened when call ends, Fix isBusy on popover and channel_header

* Fix pre-release feature, RHS & System Console

* PLT-3945 - Updating UI for webrtc (#3908)

* PLT-3943 Webrtc p1

* Add ongoing call indicator when RHS is opened

* UI updates to to webrtc notifcation (#3959)
2016-09-16 15:35:13 -03:00
Joram Wilander
9d11dd437f Send hello event containing server version on WebSocket connect (#3936) 2016-09-04 20:45:34 -03:00
Joram Wilander
a76db5b84f PLT-2074 Refactor desktop notification settings UI and add setting for duration (#3883)
* Refactor desktop notification settings UI and add setting for duration

* Update en.json

* Update desktop_notification_settings.jsx
2016-08-29 09:52:59 -04:00
enahum
e6d15f77e8 PLT-3942 Add real-time updates for center channel profile picture popover (#3871)
* PLT-3942 Add real-time updates for center channel profile picture pop-over

* Send user data with the websocket event to prevent further requests

* Add helper for profile sanitation
2016-08-24 18:10:49 -03:00
Harrison Healey
8203fd16ce PLT-3647 Email Batching (#3718)
* PLT-3647 Added config settings for email batching

* PLT-3647 Refactored generation of email notification

* PLT-3647 Added serverside code for email batching

* PLT-3647 Updated settings UI to enable email batching

* PLT-3647 Removed debug code

* PLT-3647 Fixed 0-padding of minutes in batched notification

* PLT-3647 Updated clientside UI for when email batching is disabled

* Go fmt

* PLT-3647 Changed email batching to be disabled by default

* Updated batched email message

* Added email batching toggle to system console

* Changed Email Notifications > Immediate setting to a 30 second batch interval

* Go fmt

* Fixed link to Mattermost icon in batched email notification

* Updated users to use 30 second email batching by default

* Fully disabled email batching when clustering is enabled

* Fixed email batching setting in the system console

* Fixed casing of 'Send Email notifications' -> 'Send email notifications'

* Updating UI Improvements for email batching (#3736)

* Updated text for notification settings and SiteURL.

* Prevented enabling email batching when SiteURL isn't set in the system console

* Re-added a couple debug messages

* Added warning text when clustering is enabled
2016-08-16 14:41:47 -04:00
David Lu
ef33f3fcd1 PLT-3005 Added confirmation screen to integrations (#3747) 2016-08-15 11:10:31 -04:00
Yi EungJun
d6da7d1220 Change ordering of at-mention suggestions (#3698)
List members in the current channel first.
2016-08-11 10:33:22 -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
enahum
5bc3cea6fe PLT-3484 OAuth2 Service Provider (#3632)
* PLT-3484 OAuth2 Service Provider

* PM text review for OAuth 2.0 Service Provider

* PLT-3484 OAuth2 Service Provider UI tweaks (#3668)

* Tweaks to help text

* Pushing OAuth improvements (#3680)

* Re-arrange System Console for OAuth 2.0 Provider
2016-08-03 13:19:27 -04:00
Joram Wilander
3f8dda6f5a PLT-3633 EE: Add Google and Office365 SSO through OAuth2 (#3660)
* EE: Add Google and Office365 SSO through OAuth2

* Add localization strings

* Text tweaks for PLT-3633

* Added sign-up button for Office 365

* Updated some error messages and a bit of licensing

* Updated sign-in method section in user settings to include Google and Office365

* Added more localization strings
2016-07-29 14:58:37 -04:00