Commit Graph

101 Commits

Author SHA1 Message Date
Jesse Hallam
d5d1834c04 ABC-173: introduce Normalize(Username|Email) (#8183)
This centralizes the source of truth on the rules for username / email
processing instead of scattering `strings.ToLower` invocations.
2018-02-05 14:56:01 -05:00
Chris
0c8968fb8d unnamed return (#8170) 2018-01-30 15:23:00 -08:00
Martin Kraft
540dd9ae94 XYZ-32: Increases size of position to 128 characters. (#8148)
* XYZ-32: Changes type of 'position' column on 'users' table.

* XYZ-32: Uncomment to run on CI and pre-release.

* XYZ-32: Reverts translation changes.

* XYZ-32: Fix for gofmt.
2018-01-26 08:37:12 -05:00
Chris Duarte
5e78d7fe12 Add admin update endpoint that can update authservice and authdata (#7842)
* add admin update endpoint that can upate authservice and authdata

* Control only SystemAdmin access

* Refactored AdminUpdate endpoint to only be able to update AuthData, AuthService and Password by User.Id

* Refactor to move `PUT /api/v4/users/{user_id}/auth`. Created a struct to hold UserAuth info.
2018-01-04 12:45:59 -05:00
Chris Duarte
5189e8ea10 UCHAT-60 change default notification settings for new users (#7845)
* UCHAT-60 change default notification settings for new users

* 1. Turn off "Case sensitive first name" in Words that trigger mentions. 2. Send Desktop Notifications for "Only for mentions and direct messages".
2017-12-21 15:50:25 -05:00
Chris
816a30397d Role refactor (#7867)
* role refactor

* add missing file

* fix web test
2017-11-21 11:08:32 -08:00
Chris
78a9774147 add model.NewX funcs for builtin types (#7692)
* add model.NewX funcs for builtin types

* whoops, forgot to add the new file
2017-10-23 09:40:35 -07:00
Joram Wilander
812f566401 Expose user.Props through REST API (#7661) 2017-10-20 17:26:45 -07:00
George Goldberg
4132a02319 PLT-7183: User/Channel NotifyProps Bulk Import. (#7019) 2017-07-26 08:51:25 +01:00
Saturnino Abril
eea64f8049 [PLT-5864] Move teammate name display setting to the System Console (#6681)
* move teammate name display setting to the system console

* update all the likes of TeammateNameDisplay names

* fix gofmt error

* rebase and fix conflict
2017-06-30 09:06:59 +01:00
Chris
69ae5cef16 verify for email domain for everything but ldap / saml (#6718) 2017-06-26 14:33:48 -04:00
Harrison Healey
e2150d5eb0 PLT-6830 Stopped sanitizing User.LastPictureUpdate field (#6661) 2017-06-16 09:35:48 -07:00
George Goldberg
6f6b7e4e97 Add Password field to Bulk Importer. (#6268) 2017-04-28 15:01:56 -07:00
Christopher Speller
9a87bb3af6 Creating common token store and moving email invites and verification to it (#6213) 2017-04-27 10:55:03 -04:00
Joram Wilander
0b919a324a Don't sanitize returned user when updating a user (#6095)
* Don't sanitize returned user when updating a user

* Use user model function for clearing private data
2017-04-19 15:38:35 -04:00
Christopher Speller
5398c82e1b Revert "Usernames must start with a letter (#5581)"
This reverts commit 2e911b77c3.
2017-04-18 17:37:25 -04:00
gstraube
160a66c952 [PLT-6102] Increase maximum length of field User.Position (#6044)
* Increase maximum length of field User.Position

* Rename method
2017-04-17 10:45:51 -04:00
Harrison Healey
fb6f2a123c PLT-5860 Updated copyright date (#6058)
* PLT-5860 Updated copyright date in about modal

* PLT-5860 Updated copyright notice in JSX files

* PLT-5860 Updated copyright notice in go files

* Fixed misc copyright dates

* Fixed component snapshots
2017-04-12 08:27:57 -04:00
George Goldberg
c6ded1dbfd Merge branch 'release-3.7' 2017-03-23 17:38:24 +00:00
Joram Wilander
bea49cbcf3 Add ability to use 'me' in place of user id for APIv4 (#5826) 2017-03-21 18:43:16 -04:00
Joram Wilander
f4473cf312 PLT-5943 Reduce minimum username length (#5798) 2017-03-17 16:42:23 +00:00
Joram Wilander
2e911b77c3 Usernames must start with a letter (#5581) 2017-03-03 12:04:15 -05:00
enahum
748a416961 PLT-3193 Add channel notification preferences for push and email noti… (#5500)
* PLT-3193 Add channel notification preferences for push and email notifications

* unit tests, model validation and localization

* Feedback review

* Adding back allowFromCache check

* Setting push and email to use default settings

* Move props as constants

* address feedback
2017-02-23 11:08:48 -03:00
Joram Wilander
f87d42916f Implement PUT /users/{user_id}/patch endpoint for APIv4 (#5418) 2017-02-16 09:46:55 -05:00
Ruzette Tanyag
28aa7cdbf2 Implement GET channels endpoints for APIv4 (#5363)
* implement get channels endpoints and updated drivers and unittests

* removed channel deletion on tear down, removed manage permission on get channels endpoints, and updated utils to add constant channel length

* added constants for user, team and channel length, updated context to use the model functions

* make sure team name length should be less than the minimum length and revert underscore to team name validity

* changed post test condition from notfound to unauthorized
2017-02-14 10:28:08 -05:00
George Goldberg
67739cb516 PLT-5365 Import of basic user properties. (#5231) 2017-01-31 10:04:17 -03:00
Joram Wilander
c01d9ad6cf Implement APIv4 infrastructure (#5191)
* Implement APIv4 infrastructure

* Update parameter requirement functions per feedback
2017-01-30 08:30:02 -05:00
Joram Wilander
d245b29f82 More app code migration (#5170)
* Migrate admin functions into app package

* More user function refactoring

* Move post functions into app package
2017-01-25 09:32:42 -05: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
Christopher Speller
aa6cb03b20 Prevent system_admin role mistake (#4405) 2016-11-01 09:05:48 -07:00
Joram Wilander
e6d26bee51 Fixes for the team user lists in the system console (#4294) 2016-10-24 08:50:12 -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
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
Christopher Speller
1e7985a87a Modifying permissions system. (#3897) 2016-09-13 12:42:48 -04: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
Joram Wilander
f32eb525f3 Do not send push notifications for channels being actively viewed (#3931) 2016-09-02 12:50:15 -04:00
Christopher Speller
eb0111f6bb Fixing SanitizeProfile (#3930) 2016-09-02 08:24:20 -08:00
enahum
7bd26b1927 Add missing directProfiles updates on real-time user updates (#3876) 2016-08-24 20:48:40 -03: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
Joram Wilander
065d01c121 Add notification settings to control what statuses allow push notifications (#3829) 2016-08-23 08:47:25 -04: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
enahum
12fe314b26 PLT-3687 Restrict the name "matterbot" from usernames (#3686) 2016-07-28 13:38:47 -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
Christopher Speller
942ae4c527 Cleaning up old export code (#3601) 2016-07-15 11:20:39 -04:00
Harrison Healey
caabfbcdd5 PLT-2992 Added the ability to use different themes for each team (#3411)
* Cleaned up user_settings_theme.jsx and import_theme_modal.jsx

* Made ImportThemeModal use a callback to return the theme to the user settings modal instead of saving it directly

* Moved user theme from model to preferences

* Added serverside API to delete preferences TODO update package with client stuff

* Changed constants.jsx so that Preferences and ActionTypes can be imported on their own

* Updated ThemeProps migration code to properly rename solarized code themes

* Fixed warnings thrown by AppDispatcher

* Added clientside UI to support team-specific themes

* Removed debugging code from test

* Fixed setting a user's theme when they haven't set their theme before
2016-07-14 10:08:36 -04:00
David Lu
683f713319 PLT-1465 Added password requirements (#3489)
* Added password requirements

* added tweaks

* fixed error code

* removed http.StatusNotAcceptable
2016-07-06 14:54:54 -08:00
David Lu
1c8962cf99 enabled team creation for sysadmins (#3433) 2016-06-30 08:43:46 -04:00
David Lu
dbcf8572e5 Fixed @all not working as intended (#3335) 2016-06-15 08:13:47 -04:00
Joram Wilander
8f87e60231 Fix bad condition on hiding email addresses and update user etag to include privacy settings (#3327) 2016-06-14 12:12:46 -04:00
enahum
159953050a PLT-1800 Load server side locale from the config.json (#3202)
* PLT-1800 Load server side locale from the config.json

* Add support for locales with country specifics

* Fix localization on served locale file as plain/text

* Remove github.com/cloudfoundry/jibber_jabber as vendor dependency

* Fix get locale on login_controller
2016-06-02 12:47:26 -07:00