Commit Graph

176 Commits

Author SHA1 Message Date
enahum
baf1fb6fea PLT-4618 Fix email subjects (#4537) 2016-11-14 07:11:54 -05: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
98131a293a Fixing joining of channels via permalinks for system admins. (#4409) 2016-11-01 13:23:26 -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
Joram Wilander
3885532750 Fix notifications for public/private channels and add basic unit test (#4295) 2016-10-21 16:23:59 -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
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
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
enahum
4e3d465210 PLT-4179 send push notifications with override_username (#4040) 2016-09-20 12:01:12 -04: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
Harrison Healey
73692f010e PLT-3775/PLT-4067 Fixes for email notifications for 3.4 2016-09-06 18:51:42 -03:00
Joram Wilander
f32eb525f3 Do not send push notifications for channels being actively viewed (#3931) 2016-09-02 12:50:15 -04:00
enahum
ae46819b8e Update LastViewAt in create post API if not from a webhook (#3913) 2016-09-02 11:19:42 -04:00
Joram Wilander
26f96b240d PLT-3462 Add the ability to clear push notifications after channel is viewed (#3834)
* Add the ability to clear push notifications after channel is viewed

* Fix race condition between updating the mention count and reading it when sending push notifications
2016-08-31 12:52:14 -04:00
Dmitri Aizenberg
dc09b7781a PLT-1527 Add a slash command to set yourself away (#3752)
* added handlers for slash commands

* added manual status persistance

* added tests

* removed extra debug output and comments

* rebase - fixing the PR

* making echo messages after slash commands ephemeral
2016-08-31 09:24:14 -04:00
David Lu
d252e61c66 Revert/Fix PLT-2805 (#3873) 2016-08-29 09:51:29 -04:00
Sang Jun Lee
deb1361a0d Add channel name on email notification. (#3824) 2016-08-24 08:54:58 -08:00
Joram Wilander
065d01c121 Add notification settings to control what statuses allow push notifications (#3829) 2016-08-23 08:47:25 -04:00
Joram Wilander
80d83ae77c Prevent flagging of deleted posts and don't show deleted posts in flagged post list (#3846) 2016-08-22 16:36:01 -08:00
David Lu
8c2ea22892 Refactored CreatePost to not use context (#3813) 2016-08-19 08:08:31 -04:00
Harrison Healey
2b277729fd PLT-3955/PLT-3956 Fixing issues with mentions (#3820)
* PLT-3955 Fixed @here sending push notifications to people not in the channel

* PLT-3956 Fixed mention numbers not being incremented
2016-08-18 08:41:31 -05: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
Harrison Healey
dde158c57f Refactored mention parsing and added unit tests (#3806) 2016-08-16 11:36:46 -05:00
Harrison Healey
0afa28de09 Changed autodetection of SiteURL (#3764)
* Changed autoconfiguration of SiteURL to be done on every request

* Added SiteURL to system console
2016-08-09 08:53:22 -05:00
MARUYAMA Takayuki
953b14ab22 Fix garbled mail subject (#3694)
* Fix garbled mail subject

* Notification email subject including full month
2016-08-04 13:27:15 -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
c4a3118e9f PLT-3408 Add SiteURL to config.json (#3692)
* PLT-3408 Changed serverside code to get the service's URL from config.json

* PLT-3408 Changed most clientside code to use the SiteURL config setting instead of window.location

* PLT-3408 Changed default SiteURL to be autodetected
2016-08-02 16:37:09 -04:00
Pierre Rudloff
564dffec35 Add option to trigger outgoing webhook if first word starts with trigger word (#3611) 2016-07-26 08:04:28 -04:00
Joram Wilander
bfa04c0ab0 PLT-2408 Adds here mention for online users (#3619)
* Added @here mention that notifies online users

* Fixed existing race condition that would sometime cause clients to miss mention count changes

* Added missing localization strings

* Prevent @here from mentioning the user who posted it
2016-07-21 10:00:09 -04:00
samogot
f31e8e09f5 PLT-914 Add mention notifications for replies on a comment thread (#3130)
* PLT-914 Add mention notifications for replies on a comment thread

* remove useless store method
fix highlighting comments posted before th user write something to thread

* refactor out isCommentMention function after rebase

* change comment bar highlighting to replay icon mention highlighting

* settings and always visible highlight

* fix unit tests for new settings

* change highlight behaviour
- if any message in comment thread generates mention - all thread is highlighted
- remove always visible highlightion

* fix bug about the textarea in the center channel not clearing

* fix default settings value notify_props.comments

* do not highlight own comments if there is no other user's messages in thread

* refactor out ReactDOM.findDOMNode

* refactor out using of UserStore from component
2016-07-19 08:27:23 -04:00
Joram Wilander
c0ab2636d6 PLT-2241 Refactored statuses into a more real-time system (#3573)
* Refactored statuses into a more real-time system

* Updated package.json with correct commit and fixed minor bug

* Minor updates to statuses based on feedback

* When setting status online, update only LastActivityAt if status already exists
2016-07-18 11:10:03 -04:00
Joram Wilander
ad343a0f4a Added infrastructure for basic WebSocket API (#3432) 2016-07-12 09:36:27 -04:00
Joram Wilander
19d452c74e Fix connection leaks in push notifications, diagnostics and oauth (#3469) 2016-07-06 08:23:06 -04:00
Christopher Speller
422e12c364 Changing email notifications to use permalinks (#3399) 2016-06-28 14:44:37 -04:00
Joram Wilander
5f176e4974 Make sure profile is not nil when assigning in sendNotifications (#3395) 2016-06-21 23:05:54 -04:00
David Lu
dbcf8572e5 Fixed @all not working as intended (#3335) 2016-06-15 08:13:47 -04:00
Joram Wilander
c0d1b8fbb9 System messages trigger notifications when user is mentioned (#3235) 2016-06-06 14:29:10 -04:00
enahum
6cee1f87f2 PLT-2990 Clicking on a desktop notification from another team opens the team (#3253) 2016-06-06 09:46:09 -04:00
David Lu
f3825ba766 PLT-2994 Added @all (#3233)
* Added @all

* Uncomment @all server side
2016-06-04 14:21:50 -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
0788e83647 Close HTTP response bodies properly in golang driver (and some api functions) (#3217) 2016-06-02 12:40:34 -07:00
Thomas Balthazar
c226cabc04 PLT-2170 Send payload in application/json for outgoing webhooks (#3160)
* Send payload in application/json for outgoing webhooks

The Add outgoing webhook UI now has a 'Content-Type' field that allows
to choose between application/x-www-form-urlencoded and
application/json. All outgoing webhooks created before this change will
be considered as x-www-form-urlencoded. There's also a minor change in
the way the outgoing webhook summary is displayed: the 'Callback URLs'
label was missing.

* Fix JS formatting errors

* Increase ContentType field length to 128
2016-05-31 10:51:28 -04:00
Joram Wilander
8f984771ae Send websocket event for system message posts (#3162) 2016-05-31 10:45:45 -04:00
Thomas Balthazar
934ff34ccb Send Post ID in webhooks (#3120) 2016-05-26 11:37:54 -04:00
Joram Wilander
1492d1a3cb PLT-2664 Split out push notifications from email notifications (#3049)
* Split out push and email notification logic, always send push notifications on mention

* Add user setting to control push notifications

* Minor changeto simplify code
2016-05-19 14:33:04 -04:00
Thomas Balthazar
55f6a0b21c Move away from the "andForget" style of function (#3046)
This is the second and last part of the refactoring.
First part is documented here:
https://github.com/mattermost/platform/pull/3043
2016-05-18 16:34:31 -04:00
Harrison Healey
0fe75cb782 PLT-1909 Removed the ability to edit system posts (#3013)
* Removed the ability to edit system posts

* Added increased timeout to SpinnerButton unit tests
2016-05-17 12:27:03 -04:00
thoemy
3f0325fd22 Fix parsing attachment field links into markdown (#2958) (#2959)
Field contents are stored in 'value' not 'text'.
2016-05-12 08:30:44 -04:00