* Emoji validation fails if name exists in system emojis
* Use hashmap instead of array to improve performance
* Changed utils/StringInMap to emoji/isSystemEmoji
* Load system emojis from model/emoji.json
* Added emoji.json from webapp
* Load system emojis from emoji_data.go instead of emoji.json
* Run `gofmt -w model/emoji_data.go`
* Add supported timezones into config
Remove Timezone list creation in favor of timezone from configs
Add Timezone field to Users table
Clean up format of SupportedTimezones in config
* Remove unwanted change
* Add test for updating user timezone
* Add empty map[string]string if Timezone is null
* Add EnableTimezoneSelection config
* Revert back to map[string]string for ClientConfig
* Refactor SupportedTimezones into timezones.json
* Include timezones.json in TestConfigFlag
* Add timezone api endpoint
* Bump varchar size to 256 and setMaxSize in user_store
* Refactor LoadConfig to LoadConfig and LoadTimezoneConfig
* Remove unnecessary argument in LoadConfig, mail_test
* Add test for timezone endpoint
* Add license header
* Refactor timezones endpoint to system.go
* Add system base route to timezone endpoint
* db timezone upgrade in db v4.9
* Avoid saving SupportedTimezones to config.json
* Add timezonePath support in config
* Remove EnableTimezoneSelection from config
* Use return statement without return parameter
* Refactor test for SupportedTimezones
* Check for supportedTimezone != nil instead of using len
* Decouple SupportedTimezones out of Config
* Fix failing test
* Add LastTeamIconUpdate back in upgrade.go
* Write timezone config in config_flag_test
* Add code fallback for default timezone support
* Cherry-picking 7b2861de3a to master because enterprise/master has code in it that enterprise/release-4.7 does not, and I don't want enterprise/master to break the next time somebody merges enterprise/release-4.7 to enterprise/master
* Renamed file to match existing scheme
(cherry picked from commit 8c22c5c6c6)
* [PTL-7537] implement feature and test
* [PTL-7537] Update feature to post the the room requiring a username flag to be used
* [PTL-7537] update tests with username
* update test to remove changes to the test helper struct
* use the basic team and user
* Added username to ChannelMemberHistory struct in anticipation of supporting GlobalRelay in Compliance Export
* Removed translation from debug output - this makes it complicated to use utils functions from tests in the enterprise repo
* Added an advanced email function that allows for greater control over message details. Updated MessageExport config to support GlobalRelay. Added attachment support to InBucket unit tests
* Moving templates in from enterprise to solve test issues
* Added export format to diagnostics
* Changed email attachment code to use FileBackend so that S3 storage is properly supported
* 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.
* image proxy support
* go vet fix, remove mistakenly added coverage file
* fix test compile error
* add validation to config settings and documentation to model functions
* add message_source field to post