-
Notifications
You must be signed in to change notification settings - Fork 2.7k
MM-9547 Added CustomUrlSchemes setting #1270
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just minor request to add tests to newly added components.
import CombinedSystemMessage from 'components/post_view/combined_system_message'; | ||
import PostAddChannelMember from 'components/post_view/post_add_channel_member'; | ||
|
||
function renderUsername(value, options) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 in removing unused options
parameter.
} | ||
|
||
stringToArray = (str) => { | ||
return str.split(',').map((s) => s.trim()).filter(Boolean); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.filter(Boolean)
is new to me that I needed to google on how it's working. It looks neat.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's just the same as passing .filter((item) => Boolean(item))
. I never realized before that Boolean
was just a function so we could write it this way
|
||
import Setting from './setting'; | ||
|
||
export default class TextSetting extends React.Component { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0/5 but It would be easier to search component whenever the default class name has the same wordings as its filename.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops. Copy-pasted code strikes again.
import messageHtmlToComponent from 'utils/message_html_to_component'; | ||
import * as TextFormatting from 'utils/text_formatting.jsx'; | ||
|
||
export default class Markdown extends React.PureComponent { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be great to have tests both for CustomUrlSchemesSetting
and Markdown
components.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll add some quick ones. The Markdown component at least is pretty thoroughly tested by the TextFormatting
and messageHtmlToComponent
tests already
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added some brief ones for the component and then some tests for the new option to the TextFormatting tests
const label = Utils.localizeMessage('admin.customization.customUrlSchemes', 'Custom URL Schemes:'); | ||
const helpText = Utils.localizeMessage( | ||
'admin.customization.customUrlSchemesDesc', | ||
'Allow message text to link if it begins with any of the URL schemes listed here. By default, the following schemes will create links: "http", "https", "ftp", "tel", and "mailto".' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update to: Allows message text to link if it begins with any of the comma-separated URL schemes listed. By default...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* 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
* 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 9bb01f9f439ea885c5b319c909bc1464d264a86f. * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * [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 #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 5a2b5c3802bf8e8614358098e18fe63fba469aca. * 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 <[email protected]> * Change to use a get all channels instead if computed selector * Capitalise ts def Co-authored-by: Harrison Healey <[email protected]> Co-authored-by: Mattermod <[email protected]> * init commit (#1269) * Fix ChannelModeration to be consistent with ChannelModerationRoles (#1291) * add MANAGE_REMOTE_CLUSTERS permission (#1294) Co-authored-by: Mattermod <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: Nevyana Angelova <[email protected]> * [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 <[email protected]> * Update isomorphic-fetch to 3.0.0 and make it a dev dependency (#1308) Co-authored-by: Stefan Bley <[email protected]> * Revert "[MM-27927] - Add user preference for limit on dms and gms (#1300)" (#1315) This reverts commit aa69940. Co-authored-by: Mattermod <[email protected]> * [MM-31053] Optimistically update category order (#1314) * Update eslint-plugin-mattermost (#1318) * Update eslint-plugin-mattermost * Fix cache (#1319) Co-authored-by: Elisabeth Kulzer <[email protected]> * [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 <[email protected]> Co-authored-by: Devin Binnie <[email protected]> Co-authored-by: Maria A Nunez <[email protected]> Co-authored-by: Harrison Healey <[email protected]> Co-authored-by: Vipul Kakkar <[email protected]> Co-authored-by: Vipul Kakkar <[email protected]> Co-authored-by: Agniva De Sarker <[email protected]> Co-authored-by: Sudheer <[email protected]> Co-authored-by: Christopher Speller <[email protected]> Co-authored-by: Nicolas Le Cam <[email protected]> Co-authored-by: Mattermod <[email protected]> Co-authored-by: Hossein Ahmadian-Yazdi <[email protected]> Co-authored-by: Clément Collin <[email protected]> Co-authored-by: Ibrahim Serdar Acikgoz <[email protected]> Co-authored-by: Elisabeth Kulzer <[email protected]> Co-authored-by: dizkek <[email protected]> Co-authored-by: Nev Angelova <[email protected]> Co-authored-by: Nevyana Angelova <[email protected]> Co-authored-by: Nevyana Angelova <[email protected]> Co-authored-by: Ben Schumacher <[email protected]> Co-authored-by: Caleb Roseland <[email protected]> Co-authored-by: Daniel Shuy <[email protected]> Co-authored-by: Scott Bishel <[email protected]> Co-authored-by: Stefan Bley <[email protected]> Co-authored-by: Stefan Bley <[email protected]> Co-authored-by: Guillermo Vayá <[email protected]> * 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 <[email protected]> * Temporarily re-add types that were moved or renamed Co-authored-by: Daniel Espino García <[email protected]> Co-authored-by: Michael Kochell <[email protected]> Co-authored-by: Lev <[email protected]> Co-authored-by: Jason Frerich <[email protected]> Co-authored-by: Farhan Munshi <[email protected]> Co-authored-by: Devin Binnie <[email protected]> Co-authored-by: Maria A Nunez <[email protected]> Co-authored-by: Vipul Kakkar <[email protected]> Co-authored-by: Vipul Kakkar <[email protected]> Co-authored-by: Agniva De Sarker <[email protected]> Co-authored-by: Sudheer <[email protected]> Co-authored-by: Christopher Speller <[email protected]> Co-authored-by: Nicolas Le Cam <[email protected]> Co-authored-by: Mattermod <[email protected]> Co-authored-by: Hossein Ahmadian-Yazdi <[email protected]> Co-authored-by: Clément Collin <[email protected]> Co-authored-by: Ibrahim Serdar Acikgoz <[email protected]> Co-authored-by: Elisabeth Kulzer <[email protected]> Co-authored-by: dizkek <[email protected]> Co-authored-by: Nev Angelova <[email protected]> Co-authored-by: Nevyana Angelova <[email protected]> Co-authored-by: Nevyana Angelova <[email protected]> Co-authored-by: Ben Schumacher <[email protected]> Co-authored-by: Caleb Roseland <[email protected]> Co-authored-by: Daniel Shuy <[email protected]> Co-authored-by: Scott Bishel <[email protected]> Co-authored-by: Stefan Bley <[email protected]> Co-authored-by: Stefan Bley <[email protected]> Co-authored-by: Guillermo Vayá <[email protected]>
Ticket Link
https://mattermost.atlassian.net/browse/MM-9547
Checklist