* Implement POST /posts endpoint for APIv4
* Implement GET /channels/{channel_id}/posts endpoint for APIv4
* Implement GET /posts/{post_id} endpoint for APIv4
* Implement GET /posts/{post_id}/thread endpoint for APIv4
* Skip team get if it's a DM channel in handlePostEvents
* Adding go vet to the api package
* Adding go vet to app package
* Adding go vet to manualtesting package
* Adding go vet to the model package
* Adding go vet to the store dir
* Adding go vet to utils package
* Adding missing dirs with go files
* Fixing up makefile
* Fixing up makefile
* Removing root dir
* Implement GET /teams/{team_id} endpoint for APIv4
* Implement GET /users/{user_id}/teams endpoint for APIv4
* Implement GET /teams/{team_id}/members/{user_id} endpoint for APIv4
* Added separate post types for system_join_leave and system_add_remove posts
* Added username prop to channel deleted posts
* Changed slack import to properly generate the new join/leave messages
* Added username prop to channel update posts
* Moved Post(AddTo/RemoveFrom)ChanneMessage into app package
* Refactor and move session logic into app package
* Refactor email functions into the app package
* Refactor password update into app package
* Migrate user functions to app package
* Move team functions into app package
* Migrate channel functions into app package
* Pass SiteURL through to app functions
* Update based on feedback
* add docker container for inbucket
* Add way to get the emails using inbucket and add a test for reset password
* add config setting to send emails
* update TestEmailTest
update
* add another test and fix wrong assert
* update per review
fix lint
change senders email
* Revert config.json to default values for EmailSettings section
* update test
* add setup to make the test run
* Add app package and move logic over from api package
* Change app package functions to return errors
* Move non-api tests into app package
* Fix merge
* Slash commands accept Slack format
Until this commit the slash commands only accepted 'text' properties.
For better styling however, Slack formatting support was added.
However, ephemeral messages are not supported, and only text will be
displayed.
* Allow emphemeral Slack messages
* fix API Get channels for a user returns users' dm channels with blank team ID
add check in the context.go
add suggestion
made adjustment per review and support from @joram
* update tests
* add check if needd user or admin permissions
* update per review
* 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)
* 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
* 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
* 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
* PLT-4839 Split too-long Slack messages on import.
This PR also takes the opportunity to make the max values for Post
properties into constants for easier use elsewhere, as has previously
been done for Channel properties.
* Only count runes once.
* 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
* 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
This fixes mailto: links built from email addresses posted to Slack as
described in the ticket, but also fixes any other type of URL that has
been auto-linked in the Slack messages.
This fixes the issue where you can't import 2 Slack exports with any
users who's emails appear in both exports onto different teams of the
same server.
Fixes#4126
* 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
* PLT-4429 disabling explicit mentions when channel has more than 1k users
* Fixing test case
* Adding setting to the admin console
* Fixing bad translation
* Break out image preparation to its own function.
This is preparatory work to make it easier to handle the thumbnail image
generation in a non-racy way in the Slack command line importer.
* Build preview images sequentially in Slack import.
This removes the use of goroutines from the image preview generation
code run when importing Slack attachments. This slows things down, but
it has important benefits:
1) Avoids a race condition with the goroutines and the command line
exiting.
2) Avoids the problem of massive memory consumption when importing a
Slack channel with a lot of large images attached in quick succession.
Fixes PLT-4442.
* Use mutliple return values instead of struct.
Add function to resize image using resize.Thumbnail. Add function to
resize gif using previous function. Add function to convert image.Image
to image.Palleted. Add logic to identify image type and resize them if
they are larger than MaxEmojiHeight or MaxEmojiWidth. Also increase
MaxEmojiFileSize.
* fix: Add github.com/nfnt to vendor
* fix: Fix max file size and if logic in resizeEmoji
* test: Fix and add new tests for new resize feature
* fix: Fix and update translations to fit new feature
* fix: Add requested changes
* 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
* Increase Channel Purpose length to 250.
This commit increases the maxmimum length of the channel purpose field
to 250, including the database migration necessary.
It also adds a method to the Slack importer to check the lengths of
channel properties before importing, and truncate them if necessary.
Fixes#4168
* Fix database migration.
This includes all messages from integrations, as far as I can tell.
Messages are "owned" by a special user that is deactivated once the
import completes.
Override User Names are only shown where the individual Slack posts have
a username override in them. Ones set centrally through the Slack Web
Hooks administration, or by Slack-official integrations, aren't known so
we can't set them on the imported posts. Same for icons.
The attachment "colors" aren't imported as Mattermost does not appear to
have any equivalent feature.
Fixes PLT-48
* 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
Previously it just wrote to the summary, and as a debug level message in
the log, so if you had the log level set to warn, you might never find
out that importing a channel failed.
* 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
* 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
minio-go does fully managed way of handling S3 API requests
- Automatic bucket location management across all s3 regions.
- Transparently upload large files in multipart if file 64MB
or larger.
- Right GetObject() API provides compatibility with
io.ReadWriteSeeker interface.
- Various other APIs including bulk deletes, server side object
copy, bucket policies and bucket notifications.
Fixes#4182
* 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
* 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
* 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.
* 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.
* 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
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
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.
* 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
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.
* 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
* 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
* 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
Converts @mentions in Slack imports for regular messages, comments and
Slack upload messages.
Updates the description on the Team Settings Import tab to remove
mention of @mentions not importing.
* 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
* Deauthorize OAuth APIs
* Deautorize OAuth Apps Account Settings
* Fix typo in client method
* Fix issues found by PM
* Show help text only when there is at least one authorized app
* PLT-3754 EE: Add a Display Option to disable Join/Leave messages
* Differentiate between join/leave add/remove messages
* Update user removed from channel text message
* 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
* 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
* 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
* 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
* 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
* PLT-1866 Added configurable links for native app downloads
* PLT-1866 Added native app download link to main menu
* PLT-3509 Added native app link to tutorial
* PLT-3509 Added native app link to welcome email
* PLT-3509 Made link to apps in welcome email conditional on being set
* 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
* 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
* 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
* 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
* Bumping version to: 3.2.0-rc1
* PLT-2863 fixing bad merge that broke this PR (#3523)
* PLT-2863 adding remove user from team
* PLT-2863 adding the client side UI
* Fixing trailing space
* Fixing reported issues
* Adding documentatino
* Switching to final javascript driver
* Fixing bad merge
* Fixing bad merge
* PLT-3538 Fix Login page doesn't show SAML option if gitlab is enabled (#3524)
* Login error messages fix (#3525)
* daily translations 20160708 (#3533)
* Fixed permissions when getting a file attachment to use the correct user id (#3535)
* PLT-3575 Fix Cannot upload certificates with .cer file extension on SAML (#3534)
* PLT-3560 blocking adding to channel once user is removed (#3537)
* Always allow system admins to see the Integrations sidebar (#3536)
* Plt 3475 - Post control improvements (#3538)
* Adding class to post when dropdown is active.
* plt-3475 - Post controls improvements
* daily translations 20160711 (#3544)
* PLT-2863 adding remove user from team
* PLT-2863 adding the client side UI
* Fixing trailing space
* Fixing reported issues
* Adding documentatino
* Switching to final javascript driver
* PLT-3512 adding join/leave channel to the CLI
* PLT-3512 adding list channels to the CLI
* PLT-3512 adding restore channel
* Adding make run-cli command
* Updating txt
* Fixing txt purposed by PMs
* PLT-3073: Implement SAML/Okta Server side (EE) (#3422)
* PLT-3137 Support for SAML configuration
* PLT-3410 SAML Database Store
* PLT-3411 CLI to add Identity Provider Certificate and Service Provider Private Key
* PLT-3409 SAML Interface for EE
* PLT-3139 Handle SAML authentication server side
* Add localization messages
* PLT-3443 SAML Obtain SP metadata
* PLT-3142 Login & Switch to/from SAML
* Remove Certs for Database & Clean SAML Request
* Make required Username, FirstName and LastName
* PLT-3140 Add SAML to System Console (#3476)
* PLT-3140 Add SAML to System Console
* Move web_client functions to client.jsx
* Fix issues found by PM
* update package.json mattermost driver
* Fix text messages for SAML
* Reorganized Backstage code to use a view controller and separated it from integrations code
* Renamed InstalledIntegrations component to BackstageList
* Added EmojiList page
* Added AddEmoji page
* Added custom emoji to autocomplete and text formatter
* Moved system emoji to EmojiStore
* Stopped trying to get emoji before logging in
* Rerender posts when emojis change
* Fixed submit handler on backstage pages to properly support enter
* Removed debugging code
* Updated javascript driver
* Fixed unit tests
* Fixed backstage routes
* Added clientside validation to prevent users from creating an emoji with the same name as a system one
* Fixed AddEmoji page to properly redirect when an emoji is created successfully
* Fixed updating emoji list when an emoji is deleted
* Added type prop to BackstageList to properly support using a table for the list
* Added help text to EmojiList
* Fixed backstage on smaller screen sizes
* Disable custom emoji by default
* Improved restrictions on creating emojis
* Fixed non-admin users seeing the option to delete each other's emojis
* Fixing gofmt
* Fixed emoji unit tests
* Fixed trying to get emoji from the server when it's disabled
* Added model objects for emoji
* Added database tables for emoji
* Added settings for custom emoji
* Added serverside APIs and unit tests for custom emoji
* Added additional validation to catch duplicate emoji names earlier on
* Added additional validation to prevent users from adding emoji as another user
* PLT-2058 Debugging incoming web hook content
This change debugs contents of incoming webhooks using l4g.
The problem is that in order to debug the request body, it neads to be
read. And a Reader can only be read once. Hence, the body is only read
for Debugging if it is actually enabled. Furthermore, a new reader is
created from the content of the old reader in order for the rest of the
method to work as usual (with or without debugging).
The debug statement is wrapped in a closure, so that the content is
only copied if Debug is actually enabled.
It is not possible to return `(string, string)` from the closure to
`l4g.Debug()`. That is the reason the debugging is not done with `=%v`,
but the translations strings end with a space.
I tested the change with a `application/json` HTTP header as well as
`payload=`
The debug method is extracted into util/log.go in order to be re-usable
for debugging `io.Reader`
* Added a config flag to turn off incoming webhook debugging
Setting `EnableWebhookDebugging` to false in the `config.json` will
disable the printing of the content of incoming webhooks to the console
* Defaulting webhook debugging to true
* Added the setting of debugging incoming webhooks to the system console
* Added unit tests for SqlChannelStore.GetMember
* Fixed api routes for accessing channels by name when the name includes an underscore
* Changed join channel API to always return successful when the user is already a member of the channel
* Add slash command for sending email invites
* Add response for empty message and trim commas
* Check for @ in email addresses before sending
* Update invite people error message
* 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
* 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
* 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
* 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
* Split out push and email notification logic, always send push notifications on mention
* Add user setting to control push notifications
* Minor changeto simplify code
* Integrations: Support raw new lines in the text payload
* Improve support for raw new lines in text payload
The regexp used to escape control characters now also searches for
additional fields:
text|fallback|pretext|author_name|title|value
* Unified login screen and related APIs
* Refactored login API call to be less convoluted
* Removed LDAP login prompt from invite process
* Fixed existing LDAP users being able to log in if LDAP was configured, but disabled
* Gofmt
* Future proofed login API
* Updated login APIs based on feedback
* Added additional auditing to login API
* Actually removed loginById
* Fixing CLI and adding unit tests
* Adding the upgrade_db_30 to the help text
* Adding the upgrade_db_30 to the help text
* Adding the upgrade_db_30 to the help text
* Fixing CLI tests
* PLT-2687 sending email on upgrade and moving profile pic to new location
* Fixing img move
* Fixing moving of profile image
* making upgrade email localizable
* Fixing email template
* Fixing CLI and adding unit tests
* Adding the upgrade_db_30 to the help text
* Adding the upgrade_db_30 to the help text
* Adding the upgrade_db_30 to the help text
* Fixing CLI tests
* Fixing typo
* Adding TeamMember to system
* Fixing all unit tests on the backend
* Fixing merge conflicts
* Fixing merge conflict
* Adding javascript unit tests
* Adding TeamMember to system
* Fixing all unit tests on the backend
* Fixing merge conflicts
* Fixing merge conflict
* Adding javascript unit tests
* Adding client side unit test
* Cleaning up the clint side tests
* Fixing msg
* Adding more client side unit tests
* Adding more using tests
* Adding last bit of client side unit tests and adding make cmd
* Fixing bad merge
* Fixing libraries
* Updating to new client side API
* Fixing borken unit test
* Fixing unit tests
* ugg...trying to beat gofmt
* ugg...trying to beat gofmt
* Cleaning up remainder of the server side routes
* Adding inital load api
* Increased coverage of webhook unit tests (#2660)
* Adding loading ... to root html
* Fixing bad merge
* Removing explicit content type so superagent will guess corectly (#2685)
* Fixing merge and unit tests
* Adding create team UI
* Fixing signup flows
* Adding LDAP unit tests and enterprise unit test helper (#2702)
* Add the ability to reset MFA from the commandline (#2706)
* Fixing compliance unit tests
* Fixing client side tests
* Adding open server to system console
* Moving websocket connection
* Fixing unit test
* Fixing unit tests
* Fixing unit tests
* Adding nickname and more LDAP unit tests (#2717)
* Adding join open teams
* Cleaning up all TODOs in the code
* Fixing web sockets
* Removing unused webockets file
* PLT-2533 Add the ability to reset a user's MFA from the system console (#2715)
* Add the ability to reset a user's MFA from the system console
* Add client side unit test for adminResetMfa
* Reorganizing authentication to fix LDAP error message (#2723)
* Fixing failing unit test
* Initial upgrade db code
* Adding upgrade script
* Fixing upgrade script after running on core
* Update OAuth and Claim routes to work with user model changes (#2739)
* Fixing perminant deletion. Adding ability to delete all user and the entire database (#2740)
* Fixing team invite ldap login call (#2741)
* Fixing bluebar and some img stuff
* Fix all the different file upload web utils (#2743)
* Fixing invalid session redirect (#2744)
* Redirect on bad channel name (#2746)
* Fixing a bunch of issue and removing dead code
* Patch to fix error message on leave channel (#2747)
* Setting EnableOpenServer to false by default
* Fixing config
* Fixing upgrade
* Fixing reported bugs
* Bug fixes for PLT-2057
* PLT-2563 Redo password recovery to use a database table (#2745)
* Redo password recovery to use a database table
* Update reset password audits
* Split out admin and user reset password APIs to be separate
* Delete password recovery when user is permanently deleted
* Consolidate password resetting into a single function
* Removed private channels as an option for outgoing webhooks (#2752)
* PLT-2577/PLT-2552 Fixes for backstage (#2753)
* Added URL to incoming webhook list
* Fixed client functions for adding/removing integrations
* Disallowed slash commands without trigger words
* Fixed clientside handling of errors on AddCommand page
* Minor auth cleanup (#2758)
* Changed EditPostModal to just close if you save without making any changes (#2759)
* Renamed client -> Client in async_client.jsx and fixed eslint warnings (#2756)
* Fixed url in channel info modal (#2755)
* Fixing reported issues
* Moving to version 3 of the apis
* Fixing command unit tests (#2760)
* Adding team admins
* Fixing DM issue
* Fixing eslint error
* Properly set EditPostModal's originalText state in all cases (#2762)
* Update client config check to assume features is defined if server is licensed (#2772)
* Fixing url link
* Fixing issue with websocket crashing when sending messages to different teams
- Fix email verification URL in login view
- Fix URL in email being sent for verification
- Add Email Verification on password reset
- Fix display of email in reset password
- Fix URL en team_signup_password_page
- Fix typo in webapp en loc
- Add missing es locs
- Removed extra es, fr and pt locs
* Render attachment fields similar to Slack
* Add /loadtest json url command
This allows us to easily create test posts with
more props like Slack attachments