summaryrefslogtreecommitdiffstats
path: root/model
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2Martin Kraft2018-05-252-1/+5
|\
| * [MM-10645] Remove desktop duration notify props (#8851)Saturnino Abril2018-05-251-1/+0
| | | | | | | | | | | | | | | | | | | | * remove desktop duration notify props Signed-off-by: Saturnino Abril <saturnino.abril@gmail.com> * fix test Signed-off-by: Saturnino Abril <saturnino.abril@gmail.com>
| * add ExperimentalHideTownSquareinLHS in config setting (#8751)Saturnino Abril2018-05-241-0/+5
| |
* | Merge fix.Martin Kraft2018-05-241-14/+15
| |
* | Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2Martin Kraft2018-05-248-73/+134
|\|
| * MM-8622: Improved plugin error reporting (#8737)Jesse Hallam2018-05-234-39/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * allow `Wait()`ing on the supervisor In the event the plugin supervisor shuts down a plugin for crashing too many times, the new `Wait()` interface allows the `ActivatePlugin` to accept a callback function to trigger when `supervisor.Wait()` returns. If the supervisor shuts down normally, this callback is invoked with a nil error, otherwise any error reported by the supervisor is passed along. * improve plugin activation/deactivation logic Avoid triggering activation of previously failed-to-start plugins just becase something in the configuration changed. Now, intelligently compare the global enable bit as well as the each individual plugin's enabled bit. * expose store to manipulate PluginStatuses * expose API to fetch plugin statuses * keep track of whether or not plugin sandboxing is supported * transition plugin statuses * restore error on plugin activation if already active * don't initialize test plugins until successfully loaded * emit websocket events when plugin statuses change * skip pruning if already initialized * MM-8622: maintain plugin statuses in memory Switch away from persisting plugin statuses to the database, and maintain in memory instead. This will be followed by a cluster interface to query the in-memory status of plugin statuses from all cluster nodes. At the same time, rename `cluster_discovery_id` on the `PluginStatus` model object to `cluster_id`. * MM-8622: aggregate plugin statuses across cluster * fetch cluster plugin statuses when emitting websocket notification * address unit test fixes after rebasing * relax (poor) racey unit test re: supervisor.Wait() * make store-mocks
| * allow tuning *IdleConn* for intra-cluster messages (#8799)Jesse Hallam2018-05-231-8/+23
| | | | | | | | | | | | * allow tuning *IdleConn* for inter cluster messages * default MaxIdleConnsPerHost to 128
| * MM-10649: soften Channels.ExtraUpdateAt deprecation (#8843)Jesse Hallam2018-05-231-0/+2
| | | | | | | | | | | | | | | | The previous complete removal of this field resulted in an incompatibility with 4.x servers that could not handle the now null column field. Instead, ensure this field is at least always set to 0, with a plan to remove it altogether in a future release.
| * remove license check when enforcing password requirements (#8840)Saturnino Abril2018-05-232-11/+0
| | | | | | Signed-off-by: Saturnino Abril <saturnino.abril@gmail.com>
* | Merge branch 'master' into advanced-permissions-phase-2Martin Kraft2018-05-222-11/+17
|\|
| * add EnablePreviewModeBanner in config (#8834)Saturnino Abril2018-05-221-0/+5
| | | | | | Signed-off-by: Saturnino Abril <saturnino.abril@gmail.com>
| * MM-10352: Add locking incoming webhooks to a single channel. (#8835)George Goldberg2018-05-221-11/+12
| |
* | Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2Martin Kraft2018-05-222-15/+18
|\|
| * MM-9983 Requiring SiteURL to be set. (#8769)Christopher Speller2018-05-182-14/+7
| | | | | | | | | | | | | | | | * Requiring SiteURL to be set. * Modifying to make tests pass. * Fixing test.
| * MM-10640 Set EnableUserCreation to true by default (#8815)Balasankar C2018-05-181-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Set EnableUserCreation to true by default * Fix argument type to FormatBool * Convert EnableUserCreation instances to pointer * Convert to boolean in tests also * Set value of pointer to be false * Convert remaining EnableUserCreation instances to pointer
| * Add config setting for API team deletion (#8800)Joram Wilander2018-05-181-0/+5
| |
* | MM-10264: Adds CLI command to import and export permissions. (#8787)Martin Kraft2018-05-171-5/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * MM-10264: Adds CLI command to import and export permissions. * MM-10264: Changes Scheme Name to DisplayName and adds Name slug field. * MM-10264: Changes display name max size. * MM-10264: Another merge fix. * MM-10264: Changes for more Schemes methods checking for migration. * MM-10264: More updates for Schemes migration checking.
* | MM-10606: License feature flag for custom schemes. (#8804)George Goldberg2018-05-172-0/+16
| | | | | | | | | | | | * MM-10606: Add new field to license for custom schemes. * Add feature flag to license check for Schemes.
* | Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2Martin Kraft2018-05-174-2411/+76
|\|
| * MM-8708 Remove api package (#8784)Joram Wilander2018-05-164-2411/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove api package * Remove api dependency from cmd package * Remove EnableAPIv3 setting * Update web tests * Add more websocket tests * Move some ws and oauth tests to api4 package * Move command tests into api4 package * Test fixes * Fix msg command test * Add some app file tests
* | Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2Martin Kraft2018-05-151-5/+0
|\|
| * MM-9739: deprecate the now unused Channels.ExtraUpdateAt (#8762)Jesse Hallam2018-05-141-6/+0
| |
* | MM-9728: Online migration for advanced permissions phase 2 (#8744)George Goldberg2018-05-142-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * MM-9728: Online migration for advanced permissions phase 2 * Add unit tests for new store functions. * Move migration specific code to own file. * Add migration state function test. * Style fixes. * Add i18n strings. * Fix mocks. * Add TestMain to migrations package tests. * Fix typo. * Fix review comments. * Fix up the "Check if migration is done" check to actually work.
* | Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2Martin Kraft2018-05-113-11/+57
|\|
| * Add Ping Timeout Signal for WebSocket Client (#8666)Daniel Schalla2018-05-101-10/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | Import Order gofmt gofmt gofmt Renamed Const to make Unit more obvious Renamed Const to make Unit more obvious #2
| * MM-4998 Adding LoginIdAttribute to allow LDAP users to change their login ID ↵Christopher Speller2018-05-102-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | without losing their account (#8756) * Adding LoginIdAttribute * Modifying LDAP to use loginIDAttribute. * Adding IDAttribute migration and AD objectGUID support. * Removing unused idea. * Fix typo.
* | Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2Martin Kraft2018-05-092-1/+2
|\|
| * Uncomment upgrade for 4.10 (#8727)Derrick Anderson2018-05-041-0/+1
| | | | | | | | | | | | | | | | * uncomment upgrade code * ping jenkins * add 4.10.0 to version.go
| * Add inactive user count to analytics and fix client analytics function (#8695)Joram Wilander2018-05-021-1/+1
| |
* | MM-10140: API Implementation for Schemes related Endpoints (#8615)George Goldberg2018-05-032-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement basic scheme CRUD endpoints. * Get All Schemes (Paged) Endpoint and store plumbing. * Add get teams/channels for schemes. * Fix unit tests. * Review fixes. * More review fixes.
* | Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2Martin Kraft2018-05-021-3/+3
|\|
| * MM-8622: improved plugin error handling (#8692)Jesse Hallam2018-05-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * don't report an error on plugin activation if already active * improved plugin logging events Log an error when a plugin's ServeHTTP fails, or when it unexpectedly terminates. Restart a plugin at most three times, allowing its failure to later bubble up under the "failed to stay running" status. * clarified plugin activation/deactivation Avoid repeatedly activating when any configuration bit changes. Improved logging. * constrain plugin ids to ^[a-zA-Z0-9-_\.]+$ and enforce minimum length Previously, the plugin id was used unsanitized to relocate the plugin bundle, which allowed writing outside the `plugins/` directory by using an `id` containing `../`. Similarly, an empty string was accepted as an id and led to unexpected error messages. * remove plugins by manifest path, not id If the id within the manifest ever diverges from the actual plugin location, it becomes impossible to remove via the API. Instead, if the plugin is found by id, remove the path containing the manifest. * ignore plugins with nil manifests If a plugin was detected, but had a manifest that couldn't be parsed, it will be left nil but still be listed among the packages. Skip over these in most cases to avoid segfaults. * leverage mlog more effectively for plugins * build issues
* | MM-10182 & MM-10183: Adds channel scheme and team scheme API endpoint. (#8680)Martin Kraft2018-05-022-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | * MM-10183: Adds channel scheme API endpoint. MM-10182: Adds team scheme API endpoint. MM-10182_3: Switch from scheme_id in path to body. * MM-10182/MM-10183: Changes path from 'schemes' to 'scheme'. * MM-10182: Fix merge error.
* | Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2Martin Kraft2018-05-013-58/+75
|\|
| * [MM-10354] Add feature to remove team icon (#8684)Saturnino Abril2018-04-301-53/+63
| | | | | | | | | | | | | | | | * set team.LastTeamIconUpdate to 0 when removing team icon * add APIv4 for removing team icon * removed comment and updated typo on AppError
| * Structured logging (#8673)Christopher Speller2018-04-272-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implementing structured logging * Changes to en.json to allow refactor to run. * Fixing global logger * Structured logger initalization. * Add caller. * Do some log redirection. * Auto refactor * Cleaning up l4g reference and removing dependancy. * Removing junk. * Copyright headers. * Fixing tests * Revert "Changes to en.json to allow refactor to run." This reverts commit fd8249e99bcad0231e6ea65cd77c32aae9a54026. * Fixing some auto refactor strangeness and typo. * Making keys more human readable.
* | Merge branch 'master' into advanced-permissions-phase-2George Goldberg2018-04-274-98/+144
|\|
| * MM-10232, MM-10259: Improve error handling from invalid json (#8668)Jesse Hallam2018-04-264-98/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * MM-10232: improve error handling from malformed slash command responses Switch to json.Unmarshal, which doesn't obscure JSON parse failures like json.Decode. The latter is primarily designed for streams of JSON, not necessarily unmarshalling just a single object. * rework HumanizedJsonError to expose Line and Character discretely * MM-10259: pinpoint line and character where json config error occurs * tweak HumanizeJsonError to accept err first
* | Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-2Martin Kraft2018-04-241-0/+10
|\|
| * add api to convert a channel from public to private and restrict that to ↵Saturnino Abril2018-04-231-0/+10
| | | | | | | | system_admin (#8655)
* | MM-8796: Full implementation of "Schemes" in Store/Model/App layers. (#8357)George Goldberg2018-04-207-45/+161
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add Scheme model and stub store. * Port ChannelStore to be Scheme aware. * Make almost all the API/APP layer work with ChannelSchemes. Only thing still hacky is UpdateChannelMemberRoles(). * Add basic SchemeStore implementation. * Migrate UpdateChannelMemberRoles properly and fix tests. * Update store tests and mocks so they work. * Include creating default roles in Scheme create store function. * Implement role deletion and start scheme deletion. * Only use non-deleted roles for authorization. * Add GetByScheme method to Team store. * Add GetChannelsByScheme. * Update store mocks. * Implement scheme deletion in the store. * Rename is valid function. * Add offset and limit to queries to fetch teams and channels by scheme. * Fix queries. * Implement scheme awareness in Team store and add a migration. * Tidy up ChannelStore mapping functions and add exhaustive unit tests. * Add all missing i18n. * Proper tests for TeamStore internal functions and fix them. * Make additional TeamMember fields nullable. * Make new ChannelMember fields nullable. * Create new nullable columns without defaults. * Make new fields in large tables nullalble. * Fix empty list of TeamMembers. * Deduplicate SQL queries. * Fix spelling. * Fix review comment. * More review fixes. * More review fixes.
* Properly implement session deep copy (#8602)Joram Wilander2018-04-202-2/+45
|
* MM-10007 Send an admin and regular WS events when a user is updated (#8588)Joram Wilander2018-04-205-4/+75
| | | | | | | | * Add user.DeepCopy() function * Add omit admins/non-admins to WS broadcast and use for updating users * Updates per feedback and adding unit test for ShouldSendEvent
* MM-10122: Adds a mention for added-to-channel messages even when 'username ↵Martin Kraft2018-04-191-0/+1
| | | | mentions' are disabled. (#8648)
* MM-9779: Incorporate a Token into the invitations system (#8604)Jesús Espino2018-04-182-19/+19
| | | | | | | | | | | | | | | | | | | | * Incorporate a Token into the invitations system * Adding unit tests * Fixing some api4 client tests * Removing unnecesary hash validation * Change the Hash concept on invitations with tokenId * Not send invitation if it wasn't able to create the Token * Fixing some naming problems * Changing the hash query params received from the client side * Removed unneded data param in the token usage
* Initial Commit of Ephemeral Message Support for System Admins (#8611)Daniel Schalla2018-04-174-0/+33
| | | | | | | | | Fixed Permission Test Fixed and extended ephemeral message tests; Removed Online/Activity Updates Set Create Time to current time gofmt
* MM-10020: avoid duplicating unique indexes (#8587)Jesse Hallam2018-04-161-0/+1
| | | | | | | | | | | | | | * unit test TestGet(Search)Replica This adds partial, testing-focused support for SQLite, as well as removing some translated log messages that required initializing i18n just for testing. * avoid returning master twice when no replicas are configured * remove duplicate indexes * unit test GetAllConns
* MM-9977: test config.SetDefaults leaves nothing nil (#8610)Jesse Hallam2018-04-134-1/+289
| | | | | | | | | | * MM-9977: test config.SetDefaults leaves nothing nil * clarify test default config test cases * comment re: allowing nil slice * extend config SetDefaults to handle partially initialized configs
* Websocket custom dialer support (#8592)Guy B2018-04-121-3/+19
| | | | | | | | * added support for custom websocket dialers (to be able to skip system proxy for example) * removed newline * typoe, arguments order
* Add Auto Responder handler (#8386)Stan Chan2018-04-123-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WIP Out Of Office Return error for status command if user status is OOO Ignore notifications if Out Of Office Disable AutoResponder if status is set to online Add test for AutoResponder DisableAutoResponse when manually setting status Remove check on status slash command return early if user does not exists in SendAutoResponse method Add proper error handling Add a newline after error handling Revert back to err == nil in api4/status.go Remove a.Go when using a.Publish Add name consistency with the feature auto responder Last changes for name consistency, also fix failing test with auto_responder Fix names of functions in auto responder test Add ExperimentalEnableAutomaticReplies flag Auto Responder reply to a post