Skip to content
This repository has been archived by the owner on Sep 13, 2022. It is now read-only.

[MM-20581] Change Groups constant to enum #1284

Merged

Conversation

devinbinnie
Copy link
Member

@devinbinnie devinbinnie commented Nov 5, 2020

Summary

Our type for SyncableType expects some form of string literal, which is not provided by our current constant implementation. This PR changes the type of the constant to enum so that the TS compiler expects that the value of the constant is always the value specified and not some other string.

NOTE:
The correct way of doing this is to actually change the type of SyncableType to an enum as well, but that would require a lot of changes to the webapp, so we'll do that across the board in another PR.

Brought up in this PR: mattermost/mattermost-webapp#6924 (comment)

Ticket Link

https://mattermost.atlassian.net/browse/MM-20581


import {SyncableType} from 'types/groups';

// See LICENSE.txt for license information.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Accidentally duplicated comment

@@ -1,5 +1,7 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
export default {
const Emoji = {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you checked if this makes a difference to the compiled code? I'm pretty sure this is functionally the same as before.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure there's any difference between the two ways of writing this. What's the benefit?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was under the impression that when we declared these objects, all of their values defaulted to the type of the value we assigned. If we declare as const, we know that the object can't change and thus issues with comparing these values to a string literal type are gone since the value can only be the specified string literal.

I might be wrong in this belief, maybe the issue is actually just the typing of the object itself, like in the groups.ts case.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

const in JS is like final in Java, so the contents of Emoji can change in both cases. When you use export default, I don't think the reference can change anyway because it doesn't have a name.

import {SyncableType} from 'types/groups';

// See LICENSE.txt for license information.
const Groups: {[key: string]: SyncableType} = {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually a type change since the export is going from the type {SYNCABLE_TYPE_TEAM: X, SYNCABLE_TYPE_CHANNEL: X} to {[key: string]: X}, so Groups.Foobarasdf goes from being a type error to just returning undefined.

In this case, I think we need to cast the 'team' and 'channel' literals to SyncableType or find some way to tell TypeScript that it should do that TypeScript without using a type like this that makes keys potentially be undefined

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, I think this is the big thing you're wanting to fix here since the problem seems to be that Groups.SYNCABLE_TYPE_TEAM is not actually a SyncableType currently

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion - replace all {[key: string]: SyncableType} / Dictionary / OneToOneRelashionship stuff that we already have with the built in 'Record' type.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@reflog That's a much bigger undertaking, and I'd like to do it. But without this change we are currently blocking this contributor PR: mattermost/mattermost-webapp#6924.

Can we merge as-is and come back to fixing this properly later?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree on doing that separately. We know that there's issues with the types defined here, but we haven't been able to devote much time to fixing them as a whole

src/constants/roles.ts Outdated Show resolved Hide resolved
@devinbinnie devinbinnie changed the title [MM-20581] Convert all redux constants to const [MM-20581] Change Groups constant to enum Nov 9, 2020
@reflog reflog added 4: Reviews Complete All reviewers have approved the pull request and removed 2: Dev Review Requires review by a core commiter labels Nov 10, 2020
@devinbinnie devinbinnie merged commit 77180b9 into mattermost:master Nov 10, 2020
larkox added a commit that referenced this pull request Jan 12, 2021
* [MM-27556] Add sys console ancillary permissions and ability to exclude roles (#1242)

* Add sys console ancillary permissions and ability to exclude roles

* Update userIsNotAdminOrGuest to only apply to system admin and guest

* MM-28533

* MM-28532

* Rename userAccessTokensForUser to userAccessTokensByUser and fix the type (#1263)

* [MM-28218] Redux hooks for updating company info and address (#1259)

* [MM-28218] Redux hooks for updating company info and address

* Update type to make changed customer parameters optional

* Added user_actual_id to rudder page event (#1264)

* [MM-28214][MM-28216] Redux hooks for getting invoices (#1266)

* [MM-28214][MM-28216] Redux hooks for getting invoices

* Remove selector and add field for last invoice on Subscription

* Make last_invoice optional

* MM-29679 Add memoization to getCustomEmojis (#1260)

* Addition of filenames field in Post Component (#1261)

Co-authored-by: Vipul Kakkar <vipul.kakkar@walmartlabs.com>

* [MM-28214] Additional fields on the invoices (#1271)

* MM-27909: Add shared channel permission (#1246)

Adding the required constant to add the permission

* MM-22845 Fix quick switcher results (#1270)

* MM-22845 Fix quick switcher results
 * Change esiting searchprofiles selector to be searchProfilesStartingWithTerm
 * Add a new selector searchProfileMatchingWithTerm for substring mtaches

* FIx line formatting

* Abstract some filter code

* Change selectors to use memiosation

* improve memoisation

* Add feature flags to the admin config struct. (#1275)

* MM-29998 Add telemetry for in product notices (#1277)

* Add telemetry event notice_seen_NOTICEID

* MM-28833 Remove computed details from getChannel selector (#1257)

* MM-28833 Remove computed details from getChannel selector

* Update tests

* [MM-20481] Add 'link' as a possible PostEmbedType (#1272)

This is needed to finalize PR mattermost/mattermost-webapp#6668
Server corresponding definition https://github.com/mattermost/mattermost-server/blob/a63684fcb5e3ba7b7522b35c29a4cb27779ba823/model/post_embed.go#L10

* [MM-20581] Update method signature for getGroupsAssociatedToChannel (#1281)

* MM-30090 Add ManagedResourcePaths setting (#1282)

* [MM-20581] Change `Groups` constant to `enum` (#1284)

* [MM-20581] Convert all redux constants to const

* Revert "[MM-20581] Convert all redux constants to const"

This reverts commit 5a2b5c3.

* Rework to use enum

* MM-19509 Prioritize autocomplete results based on interactions and threads (#1279)

* MM-19509 Prioritize auto completer results based on interactions and threads

  * Add selector makeGetProfilesForThread for getting profiles for threds
  * Add selector makeAddLastViewAtToProfiles to add last_viewed_at for profiles if
    membership exists

* Update src/selectors/entities/posts.test.js

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>

* Change to use a get all channels instead if computed selector

* Capitalise ts def

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* init commit (#1269)

* Fix ChannelModeration to be consistent with ChannelModerationRoles (#1291)

* add MANAGE_REMOTE_CLUSTERS permission (#1294)

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* DOPS-243 (#1299)

DOPS-243 (#1299)

* [MM-30158] Added method for moving multiple channels from any number of categories to one category. (#1295)

* [MM-30158] Added method for moving multiple channels from any number of categories to one category.

* Some extra test cases

* Fixed typos

* MM-20897 Add category muting (#1286)

* MM-20897 Add setCategoryMuted action

* Add constants for channel notify props

* MM-20897 Mute categories without waiting for websocket events

* Revert unintended change

* [MM-20423]: Update type. (#1298)

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* DOPS-243 (#1301)

DOPS-243 (#1301)

* MM-30087 Remove direct dependency between Client4 and Rudder (#1293)

* [MM-27927] - Add user preference for limit on dms and gms (#1300)

* [MM-27927] - Add user preference for limit on dms and gms

* Fix failing tests

* fix wrong preference naming

* Add tests and fix selector

* Resolve PR comments

* Fix tests

* call limit pref directly

Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MBP-2.fritz.box>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>

* [MM-20400] Add IsDefaultMarketplace to ClientConfig (#1304)

* Add IsDefaultMarketplace to ClientConfig

* Add MarketplaceLabel

* Update MarketplacePlugin

* Empty commit

* Correctly mark optional fields

* [MM-30981] Require Plugin name in manifest (#1306)

* editor config trim trailing whitespace (#1307)

* Fix createComplianceReport action parameter type (#1289)

* add fields to config.ts (#1285)

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* Update isomorphic-fetch to 3.0.0 and make it a dev dependency (#1308)

Co-authored-by: Stefan Bley <stefan.bley@zeiss.com>

* Revert "[MM-27927] - Add user preference for limit on dms and gms (#1300)" (#1315)

This reverts commit aa69940.

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* [MM-31053] Optimistically update category order (#1314)

* Update eslint-plugin-mattermost (#1318)

* Update eslint-plugin-mattermost

* Fix cache (#1319)

Co-authored-by: Elisabeth Kulzer <elikul@elikul.de>

* [MM-30982] Add filter metadata to Marketplace response (#1309)

* Add filter metadata to Marketplace response

* Add metadata from mattermost/mattermost-marketplace#145

* [MM-31329] Enable @typescript-eslint/array-type (#1320)

* Add `message_source` field to `Post` type (#1321)

* add new anciliary permissions (#1325)

* MM-30443 Add shouldShowUnreadsCategory selector for new sidebar (#1326)

* Fix lint

Co-authored-by: Farhan Munshi <farhanmmunshi@gmail.com>
Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Vipul Kakkar <vipul.kakkar9@gmail.com>
Co-authored-by: Vipul Kakkar <vipul.kakkar@walmartlabs.com>
Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in>
Co-authored-by: Sudheer <sudheer.105@gmail.com>
Co-authored-by: Christopher Speller <crspeller@gmail.com>
Co-authored-by: Nicolas Le Cam <niko.lecam@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Hossein Ahmadian-Yazdi <hahmadia@users.noreply.github.com>
Co-authored-by: Clément Collin <cinlloc@gmail.com>
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
Co-authored-by: Elisabeth Kulzer <elikul@elikul.de>
Co-authored-by: dizkek <41262168+dizkek@users.noreply.github.com>
Co-authored-by: Nev Angelova <nevy.angelova@gmail.com>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MBP-2.fritz.box>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Caleb Roseland <caleb.roseland@mattermost.com>
Co-authored-by: Daniel Shuy <daniel_shuy@hotmail.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Stefan Bley <stefan.bley.dd@gmx.de>
Co-authored-by: Stefan Bley <stefan.bley@zeiss.com>
Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>
hmhealey added a commit that referenced this pull request Mar 18, 2021
* Locations (#1258)

* Add support to plugin integrations the same way as mobile

* Add selector

* Filter integrations by location

* First approach to apps

* Fix location url

* Remove locations on 404

* Revert "Remove locations on 404"

This reverts commit 9bb01f9.

* Fix lint

* Address feedback, adapt to new calls prs and renaming

* Improve variable name

* Refactor

* Update with webapp PR requests

* add constant

* Fix lint and reference error

Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>

* Updated apps types to reflect server changes (#1287)

* Updated apps types to reflect server changes

* fixed getAppBindings to return the children

* remove exclamation point

* updates for app modals (#1292)

Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>

* Some fixes to sync with lev-clenaup branch on apps (#1297)

* description should be optional (#1302)

* updates for app commands (#1303)

change import order

* Merge master into feature cloud-apps branch (#1328)

* [MM-27556] Add sys console ancillary permissions and ability to exclude roles (#1242)

* Add sys console ancillary permissions and ability to exclude roles

* Update userIsNotAdminOrGuest to only apply to system admin and guest

* MM-28533

* MM-28532

* Rename userAccessTokensForUser to userAccessTokensByUser and fix the type (#1263)

* [MM-28218] Redux hooks for updating company info and address (#1259)

* [MM-28218] Redux hooks for updating company info and address

* Update type to make changed customer parameters optional

* Added user_actual_id to rudder page event (#1264)

* [MM-28214][MM-28216] Redux hooks for getting invoices (#1266)

* [MM-28214][MM-28216] Redux hooks for getting invoices

* Remove selector and add field for last invoice on Subscription

* Make last_invoice optional

* MM-29679 Add memoization to getCustomEmojis (#1260)

* Addition of filenames field in Post Component (#1261)

Co-authored-by: Vipul Kakkar <vipul.kakkar@walmartlabs.com>

* [MM-28214] Additional fields on the invoices (#1271)

* MM-27909: Add shared channel permission (#1246)

Adding the required constant to add the permission

* MM-22845 Fix quick switcher results (#1270)

* MM-22845 Fix quick switcher results
 * Change esiting searchprofiles selector to be searchProfilesStartingWithTerm
 * Add a new selector searchProfileMatchingWithTerm for substring mtaches

* FIx line formatting

* Abstract some filter code

* Change selectors to use memiosation

* improve memoisation

* Add feature flags to the admin config struct. (#1275)

* MM-29998 Add telemetry for in product notices (#1277)

* Add telemetry event notice_seen_NOTICEID

* MM-28833 Remove computed details from getChannel selector (#1257)

* MM-28833 Remove computed details from getChannel selector

* Update tests

* [MM-20481] Add 'link' as a possible PostEmbedType (#1272)

This is needed to finalize PR mattermost/mattermost-webapp#6668
Server corresponding definition https://github.com/mattermost/mattermost-server/blob/a63684fcb5e3ba7b7522b35c29a4cb27779ba823/model/post_embed.go#L10

* [MM-20581] Update method signature for getGroupsAssociatedToChannel (#1281)

* MM-30090 Add ManagedResourcePaths setting (#1282)

* [MM-20581] Change `Groups` constant to `enum` (#1284)

* [MM-20581] Convert all redux constants to const

* Revert "[MM-20581] Convert all redux constants to const"

This reverts commit 5a2b5c3.

* Rework to use enum

* MM-19509 Prioritize autocomplete results based on interactions and threads (#1279)

* MM-19509 Prioritize auto completer results based on interactions and threads

  * Add selector makeGetProfilesForThread for getting profiles for threds
  * Add selector makeAddLastViewAtToProfiles to add last_viewed_at for profiles if
    membership exists

* Update src/selectors/entities/posts.test.js

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>

* Change to use a get all channels instead if computed selector

* Capitalise ts def

Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* init commit (#1269)

* Fix ChannelModeration to be consistent with ChannelModerationRoles (#1291)

* add MANAGE_REMOTE_CLUSTERS permission (#1294)

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* DOPS-243 (#1299)

DOPS-243 (#1299)

* [MM-30158] Added method for moving multiple channels from any number of categories to one category. (#1295)

* [MM-30158] Added method for moving multiple channels from any number of categories to one category.

* Some extra test cases

* Fixed typos

* MM-20897 Add category muting (#1286)

* MM-20897 Add setCategoryMuted action

* Add constants for channel notify props

* MM-20897 Mute categories without waiting for websocket events

* Revert unintended change

* [MM-20423]: Update type. (#1298)

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* DOPS-243 (#1301)

DOPS-243 (#1301)

* MM-30087 Remove direct dependency between Client4 and Rudder (#1293)

* [MM-27927] - Add user preference for limit on dms and gms (#1300)

* [MM-27927] - Add user preference for limit on dms and gms

* Fix failing tests

* fix wrong preference naming

* Add tests and fix selector

* Resolve PR comments

* Fix tests

* call limit pref directly

Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MBP-2.fritz.box>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>

* [MM-20400] Add IsDefaultMarketplace to ClientConfig (#1304)

* Add IsDefaultMarketplace to ClientConfig

* Add MarketplaceLabel

* Update MarketplacePlugin

* Empty commit

* Correctly mark optional fields

* [MM-30981] Require Plugin name in manifest (#1306)

* editor config trim trailing whitespace (#1307)

* Fix createComplianceReport action parameter type (#1289)

* add fields to config.ts (#1285)

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* Update isomorphic-fetch to 3.0.0 and make it a dev dependency (#1308)

Co-authored-by: Stefan Bley <stefan.bley@zeiss.com>

* Revert "[MM-27927] - Add user preference for limit on dms and gms (#1300)" (#1315)

This reverts commit aa69940.

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* [MM-31053] Optimistically update category order (#1314)

* Update eslint-plugin-mattermost (#1318)

* Update eslint-plugin-mattermost

* Fix cache (#1319)

Co-authored-by: Elisabeth Kulzer <elikul@elikul.de>

* [MM-30982] Add filter metadata to Marketplace response (#1309)

* Add filter metadata to Marketplace response

* Add metadata from mattermost/mattermost-marketplace#145

* [MM-31329] Enable @typescript-eslint/array-type (#1320)

* Add `message_source` field to `Post` type (#1321)

* add new anciliary permissions (#1325)

* MM-30443 Add shouldShowUnreadsCategory selector for new sidebar (#1326)

* Fix lint

Co-authored-by: Farhan Munshi <farhanmmunshi@gmail.com>
Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Vipul Kakkar <vipul.kakkar9@gmail.com>
Co-authored-by: Vipul Kakkar <vipul.kakkar@walmartlabs.com>
Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in>
Co-authored-by: Sudheer <sudheer.105@gmail.com>
Co-authored-by: Christopher Speller <crspeller@gmail.com>
Co-authored-by: Nicolas Le Cam <niko.lecam@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Hossein Ahmadian-Yazdi <hahmadia@users.noreply.github.com>
Co-authored-by: Clément Collin <cinlloc@gmail.com>
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
Co-authored-by: Elisabeth Kulzer <elikul@elikul.de>
Co-authored-by: dizkek <41262168+dizkek@users.noreply.github.com>
Co-authored-by: Nev Angelova <nevy.angelova@gmail.com>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MBP-2.fritz.box>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Caleb Roseland <caleb.roseland@mattermost.com>
Co-authored-by: Daniel Shuy <daniel_shuy@hotmail.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Stefan Bley <stefan.bley.dd@gmx.de>
Co-authored-by: Stefan Bley <stefan.bley@zeiss.com>
Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>

* update types for dynamic modals (#1322)

* update types for dynamic modals

* Add AppFormValue and AppFormValues

* add fields to support opening modals and refreshing

* move presentation field from call to binding

* remove source_url, and make select value be an object instead of string

* add binding presentation

* add makeLookupCallPayload()

* remove presentation, rename type

* remove unused imports

* correct and update expand levels (#1341)

* [MM-32476] Apps in the Marketplace (#1352)

* Fix linter errors on feature/cloud-apps (#1371)

* Fix linter errors on feature/cloud-apps

* Include feedback

* [MM-31508] Rename URL to Path in Call (#1370)

* Add User Agent to call context (#1379)

* Add warning into code about using apps related code (#1380)

* Add warning into code about using apps related code

* Improve wording

* Change user agent property in get bindings query (#1388)

* [MM-33511] Apps might not have a RootURL (#1394)

* Change call type submit and call response ok to not be empty strings (#1391)

* Add binding validation on fetch bindings (#1381)

* Add binding validation on fetch bindings

* Fix lint

* Add documentation and rename fillandtrim

* Use call type on the path (#1406)

Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>

* Temporarily re-add types that were moved or renamed

Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
Co-authored-by: Lev <1187448+levb@users.noreply.github.com>
Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
Co-authored-by: Farhan Munshi <farhanmmunshi@gmail.com>
Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com>
Co-authored-by: Vipul Kakkar <vipul.kakkar9@gmail.com>
Co-authored-by: Vipul Kakkar <vipul.kakkar@walmartlabs.com>
Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in>
Co-authored-by: Sudheer <sudheer.105@gmail.com>
Co-authored-by: Christopher Speller <crspeller@gmail.com>
Co-authored-by: Nicolas Le Cam <niko.lecam@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Hossein Ahmadian-Yazdi <hahmadia@users.noreply.github.com>
Co-authored-by: Clément Collin <cinlloc@gmail.com>
Co-authored-by: Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>
Co-authored-by: Elisabeth Kulzer <elikul@elikul.de>
Co-authored-by: dizkek <41262168+dizkek@users.noreply.github.com>
Co-authored-by: Nev Angelova <nevy.angelova@gmail.com>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MBP-2.fritz.box>
Co-authored-by: Nevyana Angelova <nevyangelova@Nevyanas-MacBook-Pro-2.local>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Caleb Roseland <caleb.roseland@mattermost.com>
Co-authored-by: Daniel Shuy <daniel_shuy@hotmail.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Stefan Bley <stefan.bley.dd@gmx.de>
Co-authored-by: Stefan Bley <stefan.bley@zeiss.com>
Co-authored-by: Guillermo Vayá <guillermo.vaya@mattermost.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
4: Reviews Complete All reviewers have approved the pull request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants