* add S3 region to system console and add S3 validation
* update translation message
* add bool as return value to Validate* functions
* update Validate* functions to be pure
* Be able to make Town Square read-only (Disable typing messages for non admins).
* Do not emit UserTypingEvent when TownSquareIsReadOnly and is Town Square.
* Add unit tests for TownSquareIsReadOnly config value and logic.
* Add TownSquareIsReadOnly to System console>Policy. Added Telemetry.
* Add control for TownSquareIsReadOnly=true only for License Enterprise Edition E10 & E20.
* Update en.json
* Update en.json
* Update policy_settings.jsx
* Change config value from TownSquareIsReadOnly to ExperimentalTownSquareIsReadOnly.
* Refactored to simplify. Avoid code repeat and multiple db calls.
* Prepare file upload infrastructure for Data Retention.
This commit prepares the file upload infrastructure for the data
retention feature that is under construction. Changes are:
* Move file management code to utils to allow access to it from jobs.
* From now on, store all file uploads in a top level folder which is the
date of the day on which they were uploaded.
This commit is based on Harrison Healey's branch, but updated to work
with the latest master.
* Use NewAppError
* open up a shortcuts dialog instead of printing help text
* Updating UI for keyboard shortcuts modal
* update PR per PLT-7284
* fix typo error
* fix mixed up shortcut keys
* move to client side
* fix shortcuts list, remove unused function and revert server side code for autocompletion
* remove quick team switcher
* PLT-7206: UI changes. Removed last user in channel loophole, refactored code to clean it up, added differentiated support for public and private channels, added unit tests. Still need to implement server-side checks
* PLT-7206: All helper methods in channel_utils.jsx now accept the same three boolean variables in the same order and use the same boolean logic to check their values.
* PLT-7206: Added unit tests for showManagementOptions(...)
* PLT-7206: Fixed test case descriptions
* Added unit tests for showCreateOption(...)
* PLT-7206: Added unit tests for canManageMembers(...)
* PLT-7206: Removed last person in channel loophole from server-side code
* PLT-7206: Reverted config.json
* PLT-7206: Fixed double negatives in unit test names
* PLT-7206: PR feedback - Removed confusing comment and unused variable
* PLT-6484 Add /leave command to leave a channel
* Text changes requeted on review.
* PLT-6484 Display the right error message when trying to /leave town-square
* PLT-6484 Be able to execute /leave command in direct and group message channels with the same effect as clicking x
* PLT-6484 Refactor to create new leave_private_channel_modal.jsx
* PLT-6484 Remove previous leave private channel logic to use new leave_private_channel_modal.jsx
* Remove dot in command description. Change localized error when leaving Town square.
* disable /leave command in reply threads on the right-hand sidebar, since it is not obvious which channel you should leave
* Revert "PLT-6603: Don't return all posts on invalid query. (#7061)"
This reverts commit 25a2013890.
* Revert " #4755 Combining consecutive user join/leave system messages to single message and few other changes. (#5945)"
This reverts commit 8a91235fb3.
* Implement user access tokens and new roles
* Update config.json
* Add public post permission to apiv3
* Remove old comment
* Fix model unit test
* Updates to store per feedback
* Updates per feedback from CS
This is necessary for certain users where
GetBucketLocation API is disabled using IAM
policies. There is a field AmazonS3Region
which we need to re-purpose and use to support
this properly.
Fixes https://github.com/mattermost/platform/issues/6999
* Add config setting to control enabling API version 3
* Update help text for APIv3 config setting (#6843)
* Update configuration_settings.jsx
* Update en.json
* Add /help slash command
* Fix copyright year
* go fmt
* Add help command test at api4
* Fix jasonblais's issue
* Update test code
* Fix unit test issue - keep config unchanged
* PLT-3711: Add websocket event for emoji addition
* (SA) updated as per review
This PR is edited directly to merge into master.
* (SA) updated as per review
This PR is edited directly to merge into master.
* PLT-6787 Fixed being able to send a post before files finished uploading (#6617)
* Fix quick switcher for channels/users not stored locally (#6610)
* Fix button text on confirm mention modal (#6609)
* fix post delete permission of channel admin (#6608)
* open comment thread for the most recent reply-able message (#6605)
* Use mutex flag with yarn to prevent concurrent builds interfering (#6619)
* Use mutex flag with yarn to prevent concurrent builds interfering
* Remove yarn mutex file with clean
* Minor bug fixes (#6615)
* PLT-6774 - Fixing color for offline icon
* PLT-6784 - Fixing status icon
* Fixing icon margin
* Updating caret position
* PLT-6070 Have ChannelMentionProvider stop searching after a term returns no results (#6620)
* Fixing JS error (#6623)
* Minor bug fixes (#6622)
* PLT-6808 - Updating channel switcher on mobile
* PLT-6743 - Updating scrollbar styling
* Login instead of failing if user exists in OAuth sign-up flow (#6627)
* PLT-6802 Disable team switcher (#6626)
* Disable team switcher
* Fix ESLint errors
* PLT-6807 Ensured select teams page can scroll on iOS (#6630)
* Do not redirect from account switch pages on 401 (#6631)
* Fixing loadtest command and renaming to /test (#6624)
* PLT-6820 Update mattermost-redux dependency (#6632)
* translations PR 20170612 (#6629)
* Bump HTTP client timeout to 30 seconds (#6633)
* For team unreads return empty array instead of null (#6636)
* PLT-6831 Fix status modal localization IDs (#6637)
* Fix status modal localization IDs
* Update test snapshot
Certain S3 compatible servers only use Legacy Signature (AWS
Signature V2), current code only supports signature v4.
This PR adds facility to click a button on the UI to enable
legacy signature with S3 compatible servers.
* PLT-6471 Properly panic when translations can't be loaded
* Print usage messages when errors occur during CLI initialization
* Reverted behaviour of FindDir and added second return value to it
* Fixed merge conflict
* Implement POST /oauth/apps endpoint for APIv4
* Implement GET /oauth/apps endpoint for APIv4
* Implement GET /oauth/apps/{app_id} and /oauth/apps/{app_id}/info endpoints for APIv4
* Refactor API version independent oauth endpoints
* Implement DELETE /oauth/apps/{app_id} endpoint for APIv4
* Implement /oauth/apps/{app_id}/regen_secret endpoint for APIv4
* Implement GET /user/{user_id}/oauth/apps/authorized endpoint for APIv4
* Implement POST /oauth/deauthorize endpoint
* Adding initial race detector
* Remove setting of config twice
* Fixing config file watch and config reload on license save
* Fixing config file watch and config reload on license save
* Fixing build error
* Fixing locking issue
* Fixing makefile
* Fixing race in config
* Fixing race in status unit test
* Adding EE race tests
* Fixing race in cluster info
* Removing code that's isn't needed
* Fixing some more races
* Fixing govet issue
* Revert "PLT-5765 Passed SiteURL to SendNotifications (#5705)"
This reverts commit a8e68bd890.
* Removed automatic configuration of SiteURL
* Reverted unintentional config changes
* Updated help text
* Added link to docs in Site URL warning
* Fixed merge conflict
* Fixing config file watch and config reload on license save
* Fixing config file watch and config reload on license save
* Fixing build error
* Fixing locking issue
* Second attept at patching api/websocket.go for CORS support.
* Missing include
* Fixed whitespace formatting so that gofmt passes.
* Added tests for CORS filtering
* Implement POST /users/search endpoint for APIv4
* PLT-2713 Added store functions for searching users that don't have a team
* PLT-2713 Added 'without_team' option when searching users
* PLT-2713 Added 'without_team' option when searching users (v4)
- if 'http_proxy' environment variable is set, respect it when creating http client
- otherwise initialize a http client with timeout settings
Add ogjson to cache even when it fails
in this way we can prevent from requesting unparsable urls repeatedly
Extend expire time of cached link preview data to a week
There's no need to invalidate cache and send request again frequently
Revert timeout
Revert cache_expire_time
* Implement server changes for group messaging
* Majority of client-side implementation
* Some server updates
* Added new React multiselect component
* Fix style issues
* Add custom renderer for options
* Fix model test
* Update ENTER functionality for multiselect control
* Remove buttons from multiselect UI control
* Updating group messaging UI (#5524)
* Move filter controls up a component level
* Scroll with arrow keys
* Updating mobile layout for multiselect (#5534)
* Fix race condition when backspacing quickly
* Hidden or new GMs show up for regular messages
* Add overriding of number remaining text
* Add UI filtering for team if config setting set
* Add icon to channel switcher and class prop to status icon
* Minor updates per feedback
* Improving group messaging UI (#5563)
* UX changes per feedback
* Update email for group messages
* UI fixes for group messaging (#5587)
* Fix missing localization string
* Add maximum users message when adding members to GM
* Fix input clearing on Android
* Updating group messaging UI (#5603)
* Updating UI for group messaging (#5604)
* 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
* Implement POST /channels/members/{user_id}/view endpoint for APIv4
* Implement PUT /channels/{channel_id}/members/{user_id}/roles endpoint for APIv4
* Implement DELETE /channels/{channel_id}/members/{user_id} endpoint for APIv4
* 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.