Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..
2198 matches across 15 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | webapp/platform/types/src/access_control.ts | 116 | export function hasOverlappingPermissionRules(rules?: AccessControlPolicyRule[]): boolean { |
| LOW | webapp/platform/types/src/access_control.ts | 159 | export function buildRulesWithPermissionRules(existingRules: AccessControlPolicyRule[], permissionRules: AccessControlPo |
| LOW | …pp/platform/components/src/hooks/useFocusTrap.test.tsx | 39 | function NestedFocusTrapsComponent() { |
| LOW | webapp/platform/client/src/client4.ts | 5146 | export function parseAndMergeNestedHeaders(originalHeaders: any) { |
| LOW | webapp/channels/webpack.config.js | 324 | async function initializeModuleFederation() { |
| LOW | webapp/channels/src/entry.tsx | 79 | function appendOnDOMContentLoadedEvent(onDomContentReady: () => void) { |
| LOW | webapp/channels/src/plugins/registry.ts | 76 | function dispatchPluginComponentAction(name: keyof PluginsState['components'], pluginId: string, component: React.Compon |
| LOW | webapp/channels/src/plugins/index.ts | 237 | function addPluginRegisteredHandler(pluginId: string, listener: PluginRegisteredListener) { |
| LOW | webapp/channels/src/tests/helpers/line_break_helpers.ts | 83 | export function testComponentForLineBreak(generateInstance: (input: string) => JSX.Element, getValue: (container: HTMLEl |
| LOW | webapp/channels/src/utils/syntax_highlighting.tsx | 45 | export function getLanguageFromFileExtension(extension: string): string | null { |
| LOW | webapp/channels/src/utils/syntax_highlighting.tsx | 71 | function getLanguageFromNameOrAlias(name: string) { |
| LOW | webapp/channels/src/utils/post_utils.ts | 275 | function canAutomaticallyCloseBackticks(message: string) { |
| LOW | webapp/channels/src/utils/post_utils.ts | 359 | export function isErrorInvalidSlashCommand(error: ServerError | null): boolean { |
| LOW | webapp/channels/src/utils/post_utils.ts | 448 | export function makeGetMentionsFromMessage(): (state: GlobalState, post: Post) => Record<string, UserProfile> { |
| LOW | webapp/channels/src/utils/post_utils.ts | 660 | export function splitMessageBasedOnCaretPosition(caretPosition: number, message: string): {firstPiece: string; lastPiece |
| LOW | webapp/channels/src/utils/post_utils.ts | 666 | export function splitMessageBasedOnTextSelection(selectionStart: number, selectionEnd: number, message: string): {firstP |
| LOW | webapp/channels/src/utils/post_utils.ts | 672 | export function areConsecutivePostsBySameUser(post: Post, previousPost: Post): boolean { |
| LOW | webapp/channels/src/utils/post_utils.ts | 732 | export function matchUserMentionTriggersWithMessageMentions(userMentionKeys: UserMentionKey[], |
| LOW | webapp/channels/src/utils/post_utils.ts | 748 | export function makeGetUniqueReactionsToPost(): (state: GlobalState, postId: Post['id']) => Record<string, Reaction> | u |
| LOW | webapp/channels/src/utils/post_utils.ts | 773 | export function makeGetUniqueEmojiNameReactionsForPost(): (state: GlobalState, postId: Post['id']) => string[] | undefin |
| LOW | webapp/channels/src/utils/post_utils.ts | 798 | export function makeGetIsReactionAlreadyAddedToPost(): (state: GlobalState, postId: Post['id'], emojiName: string) => bo |
| LOW | webapp/channels/src/utils/post_utils.ts | 823 | export function getPotentialMentionsForName(mentionName: string): string[] { |
| LOW | webapp/channels/src/utils/post_utils.ts | 848 | export function getUserOrGroupFromMentionName( |
| LOW | webapp/channels/src/utils/post_utils.ts | 870 | export function mentionsMinusSpecialMentionsInText(message: string) { |
| LOW | webapp/channels/src/utils/post_utils.ts | 883 | export function makeGetUserOrGroupMentionCountFromMessage(): (state: GlobalState, message: Post['message']) => number { |
| LOW | webapp/channels/src/utils/post_utils.ts | 907 | export function hasRequestedPersistentNotifications(priority?: PostPriorityMetadata) { |
| LOW | webapp/channels/src/utils/burn_on_read_timer_utils.ts | 63 | export function getAriaAnnouncementInterval(remainingMs: number): number { |
| LOW | webapp/channels/src/utils/timezone.ts | 19 | export function getCurrentDateForTimezone(timezone: string) { |
| LOW | webapp/channels/src/utils/timezone.ts | 24 | export function getCurrentDateTimeForTimezone(timezone: string) { |
| LOW | webapp/channels/src/utils/timezone.ts | 29 | export function getCurrentMomentForTimezone(timezone?: string) { |
| LOW | webapp/channels/src/utils/file_utils.tsx | 38 | export function isMobileFileUploadsEnabled(config: Partial<ClientConfig>): boolean { |
| LOW | webapp/channels/src/utils/text_formatting.test.ts | 116 | function runSuccessfulAtMentionTests(leadingText = '', trailingText = '') { |
| LOW | webapp/channels/src/utils/text_formatting.test.ts | 134 | function runUnsuccessfulAtMentionTests(leadingText = '', trailingText = '') { |
| LOW | webapp/channels/src/utils/text_formatting.test.ts | 145 | function runUnsuccessfulAtMentionTestsMatchingNonSpecialMentions(leadingText = '', trailingText = '') { |
| LOW | webapp/channels/src/utils/notifications.ts | 97 | export function isNotificationAPISupported() { |
| LOW | webapp/channels/src/utils/notifications.ts | 101 | export function getNotificationPermission(): NotificationPermission | null { |
| LOW | webapp/channels/src/utils/notifications.ts | 109 | export async function requestNotificationPermission(): Promise<NotificationPermission | null> { |
| LOW | webapp/channels/src/utils/dialog_conversion.ts | 513 | export function transformServerDialogToProps(serverDialog: ServerDialogResponse): TransformedDialogProps { |
| LOW | webapp/channels/src/utils/dialog_conversion.ts | 649 | export function convertServerDialogResponseToAppForm( |
| LOW | webapp/channels/src/utils/dialog_conversion.ts | 673 | export function convertAppFormValuesToDialogSubmission( |
| LOW | webapp/channels/src/utils/server_version.tsx | 13 | export function isServerVersionGreaterThanOrEqualTo(currentVersion: string, compareVersion: string): boolean { |
| LOW | webapp/channels/src/utils/channel_utils.tsx | 156 | export function getChannelRoutePathAndIdentifier(channel: Pick<Channel, 'type' | 'name'>, dmUsername?: string): {path: s |
| LOW | webapp/channels/src/utils/channel_utils.tsx | 190 | export function isMembershipPolicyEnforced(channel?: Pick<Channel, 'policy_enforced' | 'policy_actions'> | null): boolea |
| LOW | webapp/channels/src/utils/channel_utils.tsx | 207 | export function isChannelAccessControlled(channel?: Pick<Channel, 'policy_enforced'> | null): boolean { |
| LOW | webapp/channels/src/utils/policy_roles_adapter.ts | 109 | function mutateRolesBasedOnMapping(mappingKey: MappingKeyTypes, value: 'true' | 'false', roles: Record<string, Role>) { |
| LOW | webapp/channels/src/utils/team_utils.tsx | 7 | function compareTeamsByDisplayName(locale: string, a: Team, b: Team) { |
| LOW | webapp/channels/src/utils/admin_console_index.tsx | 92 | export function adminDefinitionsToUrlsAndTexts(adminDefinition: typeof AdminDefinition, intl: IntlShape) { |
| LOW | webapp/channels/src/utils/notification_sounds.tsx | 100 | export function getValueOfNotificationSoundsSelect(soundName?: string) { |
| LOW | webapp/channels/src/utils/notification_sounds.tsx | 159 | export function getValueOfIncomingCallSoundsSelect(soundName?: string) { |
| LOW | webapp/channels/src/utils/notification_sounds.tsx | 240 | export function convertDesktopSoundNotifyPropFromUserToDesktop(userNotifyDesktopSound?: UserNotifyProps['desktop_sound'] |
| LOW | webapp/channels/src/utils/url.tsx | 40 | export function getSiteURLFromWindowObject(obj: WindowObject): string { |
| LOW | webapp/channels/src/utils/url.tsx | 67 | export function getBasePathFromWindowObject(obj: WindowObject): string { |
| LOW | webapp/channels/src/utils/url.tsx | 227 | export function mightTriggerExternalRequest(url: string, siteURL?: string): boolean { |
| LOW | webapp/channels/src/utils/cloud_utils.ts | 8 | export function buildInvoiceSummaryPropsFromLineItems(lineItems: InvoiceLineItem[]) { |
| LOW | webapp/channels/src/utils/limits.tsx | 39 | export function anyUsageDeltaExceededLimit(deltas: CloudUsage) { |
| LOW | webapp/channels/src/utils/message_html_to_component.tsx | 302 | export function convertPropsToReactStandard(propsToConvert: AllHTMLAttributes<HTMLElement>): Record<string, unknown> { |
| LOW | webapp/channels/src/utils/date_utils.ts | 94 | function resolveRelativeDateToMoment(dateStr: string, timezone?: string): Moment | null { |
| LOW | webapp/channels/src/utils/properties.ts | 20 | export function getUserPropertyFieldLabel( |
| LOW | webapp/channels/src/utils/text_formatting.tsx | 442 | function replaceAtMentionWithToken(fullMatch: string, username: string) { |
| LOW | webapp/channels/src/utils/text_formatting.tsx | 515 | function replaceChannelMentionWithToken( |
| 1002 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | server/docker-compose.pgvector.yml | 2 | # This file is used when MM_USE_PGVECTOR=true is set |
| MEDIUM | …channels/websocket/channel_created/new_sidebar_spec.js | 24 | // # Create a new channel from another session |
| MEDIUM | …channels/websocket/channel_created/old_sidebar_spec.js | 24 | // # Create a new channel from another session |
| MEDIUM | …ation/channels/subpath/subpath_channel_routing_spec.js | 48 | // # Create a new channel |
| MEDIUM | …ation/channels/subpath/subpath_channel_routing_spec.js | 82 | // # Create a direct channel between two users |
| MEDIUM | …integration/channels/subpath/subpath_dm_search_spec.js | 41 | // # Create a user on other subpath server |
| MEDIUM | …nel_settings/more_unreads_position_with_scroll_spec.ts | 22 | // # Create a user and a team (done by apiInitSetup) |
| MEDIUM | …ation/channels/channel_settings/channel_header_spec.ts | 38 | // # Create a new public channel and then private channel |
| MEDIUM | …ation/channels/channel_settings/channel_header_spec.ts | 61 | // # Create a GM with admin, user1 and user 2 |
| MEDIUM | …nels/channel_settings/channel_name_validations_spec.ts | 104 | // # Create a new test channel and navigate to it |
| MEDIUM | …channels/channel_settings/add_users_to_channel_spec.ts | 188 | // # Create a new channel |
| MEDIUM | …channels/channel_settings/add_users_to_channel_spec.ts | 231 | // # Create a new user |
| MEDIUM | …channels/channel_settings/add_users_to_channel_spec.ts | 235 | // # Create a custom user group |
| MEDIUM | …channels/channel_settings/add_users_to_channel_spec.ts | 237 | // # Create a new channel |
| MEDIUM | …channels/channel_settings/add_users_to_channel_spec.ts | 275 | // # Create a new user |
| MEDIUM | …channels/channel_settings/add_users_to_channel_spec.ts | 277 | // # Create a guest user |
| MEDIUM | …channels/channel_settings/add_users_to_channel_spec.ts | 281 | // # Create a custom user group |
| MEDIUM | …channels/channel_settings/add_users_to_channel_spec.ts | 283 | // # Create a new channel |
| MEDIUM | …channels/channel_settings/add_users_to_channel_spec.ts | 325 | // # Create a new user |
| MEDIUM | …channels/channel_settings/add_users_to_channel_spec.ts | 329 | // # Create a custom user group |
| MEDIUM | …channels/channel_settings/add_users_to_channel_spec.ts | 331 | // # Create a new channel |
| MEDIUM | …ess/tests/integration/channels/autocomplete/helpers.ts | 11 | // # Create a private channel as sysadmin |
| MEDIUM | …ess/tests/integration/channels/autocomplete/helpers.ts | 16 | // # Create a public channel as sysadmin |
| MEDIUM | …ess/tests/integration/channels/autocomplete/helpers.ts | 193 | // # Create a channel as sysadmin |
| MEDIUM | …prise/system_console/reporting/site_statistics_spec.js | 110 | // # Create a bot and get userID |
| MEDIUM | …m_console/compliance/data_retention_policies_2_spec.js | 234 | // # Create a new Team and Channel |
| MEDIUM | …m_console/compliance/data_retention_policies_2_spec.js | 241 | // # Create a new channel in newTeam |
| MEDIUM | …m_console/compliance/data_retention_policies_2_spec.js | 284 | // # Create a new channel |
| MEDIUM | …m_console/compliance/data_retention_policies_3_spec.js | 240 | // # Create a new Channel |
| MEDIUM | …m_console/compliance/data_retention_policies_4_spec.js | 59 | // # Create a new team |
| MEDIUM | …compliance/download_bot_compliance_export_file_spec.js | 43 | //# Create a test bot |
| MEDIUM | …onsole/channel_moderation/higher_scoped_scheme_spec.ts | 175 | // # Create a new team override scheme and remove manage public channel members |
| MEDIUM | …onsole/channel_moderation/higher_scoped_scheme_spec.ts | 212 | // # Create a new team override scheme and remove manage private channel members from it |
| MEDIUM | …stem_console/channel_moderation/post_reactions_spec.ts | 189 | // # Create a new team override scheme |
| MEDIUM | …stem_console/channel_moderation/manage_members_spec.ts | 159 | // # Create a new team override scheme and remove manage members option for members |
| MEDIUM | …ntegration/channels/enterprise/ldap/ldap_guest_spec.ts | 188 | // # Create a new team |
| MEDIUM | …ation/channels/enterprise/ldap/ldap_group_sync_spec.ts | 76 | // # Create a test channel |
| MEDIUM | …nnels/enterprise/elasticsearch_autocomplete/helpers.ts | 45 | // # Create a channel as sysadmin |
| MEDIUM | …nnels/enterprise/elasticsearch_autocomplete/helpers.ts | 211 | // # Create a private channel as sysadmin |
| MEDIUM | …nnels/enterprise/elasticsearch_autocomplete/helpers.ts | 216 | // # Create a public channel as sysadmin |
| MEDIUM | …enterprise/elasticsearch_autocomplete/channels_spec.ts | 105 | // # Create a private channel where the new user is not a member of |
| MEDIUM | …enterprise/elasticsearch_autocomplete/channels_spec.ts | 117 | // # Create a private channel where the new user is not a member of |
| MEDIUM | …channels/enterprise/ldap_group/search_channels_spec.ts | 43 | // # Create a channel. |
| MEDIUM | …channels/enterprise/ldap_group/search_channels_spec.ts | 81 | // # Create a new channel. |
| MEDIUM | …channels/enterprise/ldap_group/search_channels_spec.ts | 104 | // # Create a channel. |
| MEDIUM | …enterprise/guest_accounts/guest_identification_spec.ts | 147 | // # Create an account with Email and Password. |
| MEDIUM | …/enterprise/guest_accounts/guest_experience_ui_spec.ts | 190 | // # Create a new team |
| MEDIUM | …ion/channels/enterprise/channel/channel_groups_spec.ts | 33 | // # Create a new team and associate one group to the team |
| MEDIUM | …gration/channels/enterprise/teams/search_teams_spec.js | 35 | // # Create a new team. |
| MEDIUM | …gration/channels/enterprise/teams/search_teams_spec.js | 69 | // # Create a new team. |
| MEDIUM | …gration/channels/enterprise/teams/search_teams_spec.js | 91 | // # Create a team. |
| MEDIUM | …els/enterprise/profile_popover/profile_popover_spec.ts | 99 | // # Create a private channel |
| MEDIUM | …/profile_popover/profile_popover_spec_user_a_b_spec.ts | 60 | // # Create a new team |
| MEDIUM | …rise/group_mentions/group_mentions_permissions_spec.ts | 129 | // # Create a new channel so that regular user can be channel admin |
| MEDIUM | …rise/group_mentions/group_mentions_permissions_spec.ts | 205 | // # Create a new team and channel so that regular user can be team admin |
| MEDIUM | …rise/group_mentions/group_mentions_permissions_spec.ts | 281 | // # Create a new channel as a sysadmin |
| MEDIUM | …/group_mentions/group_mentions_system_messages_spec.ts | 110 | // # Create a new channel as a regular user |
| MEDIUM | …/group_mentions/group_mentions_system_messages_spec.ts | 136 | // # Create a new team and channel as a sysadmin |
| MEDIUM | …/group_mentions/group_mentions_system_messages_spec.ts | 181 | // # Create a new channel as a sysadmin |
| MEDIUM | …/group_mentions/group_mentions_system_messages_spec.ts | 221 | // # Create a new channel as a sysadmin |
| 228 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | webapp/channels/src/root.tsx | 1 | // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. |
| LOW | webapp/channels/src/utils/path.ts | 1 | // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. |
| LOW | webapp/channels/src/utils/latinise.tsx | 381 | Ẓ: 'Z', // LATIN CAPITAL LETTER Z WITH DOT BELOW |
| LOW | webapp/channels/src/utils/latinise.tsx | 581 | // CANNOT FIND APPROXIMATION FOR 'LATIN SMALL LETTER ESH WITH CURL' (ʆ) |
| LOW | webapp/channels/src/utils/properties.ts | 21 | field: Pick<UserPropertyField, 'name' | 'attrs'>, |
| LOW | …ings_modal/channel_settings_permissions_policy_tab.tsx | 201 | |
| LOW | …ings_modal/channel_settings_permissions_policy_tab.tsx | 241 | // editor's "loading attributes…" gate; previously we |
| LOW | …ings_modal/channel_settings_permissions_policy_tab.tsx | 261 | // |
| LOW | …ings_modal/channel_settings_permissions_policy_tab.tsx | 1081 | isSystemAdmin={isSystemAdmin} |
| LOW | …nels/src/components/admin_console/admin_definition.tsx | 161 | // |
| LOW | …nels/src/components/admin_console/admin_definition.tsx | 181 | // Banner Widget (extends from Widget): |
| LOW | …nels/src/components/admin_console/admin_definition.tsx | 201 | // |
| LOW | …_policies/policy_details/permission_policy_details.tsx | 561 | |
| LOW | …_policies/policy_details/permission_policy_details.tsx | 581 | // the dual-lane simulation override |
| LOW | …space-optimization/dashboard_checks/easy_management.ts | 81 | // if (config.GuestAccountsSettings?.RestrictCreationToDomains) { |
| LOW | …space-optimization/dashboard_checks/easy_management.ts | 101 | // return { |
| LOW | …s/admin_console/classification_markings/utils/index.ts | 1 | // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. |
| LOW | …s/admin_console/classification_markings/utils/index.ts | 21 | // 3. Channel field — linked-to-template; drives PER-CHANNEL banners. |
| LOW | …rol/modals/simulate_access/decision_details_modal.scss | 1 | // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. |
| LOW | …rol/modals/simulate_access/decision_details_modal.scss | 241 | border-radius: 4px; |
| LOW | …cess_control/modals/simulate_access/decision_chip.scss | 1 | // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. |
| LOW | …trol/modals/simulate_access/simulate_access_modal.scss | 1 | // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. |
| LOW | …trol/modals/simulate_access/simulate_access_modal.scss | 61 | flex: 1 1 auto; |
| LOW | …trol/modals/simulate_access/simulate_access_modal.scss | 221 | |
| LOW | …trol/modals/simulate_access/simulate_access_modal.scss | 261 | overflow: hidden; |
| LOW | …trol/modals/simulate_access/simulate_access_modal.scss | 381 | &__table th:nth-child(2), |
| LOW | …/modals/simulate_access/simulate_access_modal.test.tsx | 1081 | // denier second (deny outcome). The editing draft's chip uses |
| LOW | …/modals/simulate_access/simulate_access_modal.test.tsx | 1281 | |
| LOW | …ntrol/modals/simulate_access/simulate_access_modal.tsx | 181 | // after a faster second one). |
| LOW | …ntrol/modals/simulate_access/simulate_access_modal.tsx | 401 | } else { |
| LOW | …trol/modals/simulate_access/decision_details_modal.tsx | 81 | userAttributes, |
| LOW | …trol/modals/simulate_access/decision_details_modal.tsx | 901 | ) { |
| LOW | …channels/src/components/inline_action_button/index.tsx | 41 | // has no accessible name — WCAG 4.1.2). |
| LOW | …ents/cloud_preview_modal/preview_modal_content_data.ts | 201 | defaultMessage: 'Move faster and make fewer mistakes with checklist-based automations that power your team’s |
| LOW | …ents/cloud_preview_modal/preview_modal_content_data.ts | 321 | // { |
| LOW | …rc/components/widgets/menu/menu_items/submenu_item.tsx | 21 | // Requires an object conforming to a submenu structure passed to registerPostDropdownSubMenuAction |
| LOW | …bapp/channels/src/components/system_notice/notices.tsx | 1 | // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. |
| LOW | …ckages/mattermost-redux/src/reducers/entities/users.ts | 181 | delete merged.remote_id; |
| LOW | …es/mattermost-redux/src/selectors/entities/channels.ts | 721 | // if channel is muted, we skip its count |
| LOW | webapp/channels/src/sass/base/_css_variables.scss | 121 | // Z-Index Management |
| LOW | …nts/skills/agent-browser/templates/capture-workflow.sh | 1 | #!/bin/bash |
| LOW | …ents/skills/agent-browser/templates/form-automation.sh | 1 | #!/bin/bash |
| LOW | …ents/skills/agent-browser/templates/form-automation.sh | 21 | agent-browser open "$FORM_URL" |
| LOW | …kills/agent-browser/templates/authenticated-session.sh | 1 | #!/bin/bash |
| LOW | …kills/agent-browser/templates/authenticated-session.sh | 81 | # |
| LOW | …kills/agent-browser/templates/authenticated-session.sh | 101 | # # Save state for future runs |
| LOW | server/.sass-lint.yml | 1 | # sass-lint config generated by make-sass-lint-config v0.1.1 |
| LOW | server/enterprise/message_export/shared/export_data.go | 21 | UserType UserType // the type of the person that sent the post: "user" or "bot" |
| LOW | …nterprise/elasticsearch/elasticsearch/elasticsearch.go | 241 | } |
| LOW | server/platform/shared/filestore/azurestore.go | 141 | |
| LOW | server/platform/shared/filestore/azurestore.go | 421 | } |
| LOW | server/platform/shared/filestore/azurestore.go | 461 | } |
| LOW | server/platform/shared/filestore/azurestore.go | 681 | // newAzureBlockID returns a fresh base64-encoded 16-byte random block ID, |
| LOW | server/platform/services/cache/lru_striped.go | 21 | // |
| LOW | server/tests/test-hashtags.md | 1 | # Hashtag Testing |
| LOW | server/public/plugin/hooks.go | 81 | ) |
| LOW | server/public/plugin/hooks.go | 101 | |
| LOW | server/public/plugin/hooks.go | 121 | // |
| LOW | server/public/plugin/hooks.go | 141 | |
| LOW | server/public/plugin/hooks.go | 161 | MessageWillBePosted(c *Context, post *model.Post) (*model.Post, string) |
| 357 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tools/sharedchannel-test/test_membership.go | 30 | // ── Test: Add users and verify sync ───────────────────── |
| MEDIUM | tools/sharedchannel-test/test_membership.go | 54 | // ── Test: Remove one user and verify sync ─────────────── |
| MEDIUM | tools/sharedchannel-test/test_membership.go | 81 | // ── Test: Re-add removed user ─────────────────────────── |
| MEDIUM | tools/sharedchannel-test/test_membership.go | 98 | // ── Test: Bulk removal ────────────────────────────────── |
| MEDIUM | tools/sharedchannel-test/test_reactions.go | 48 | // ── Test: Add reaction and verify sync ────────────────── |
| MEDIUM | tools/sharedchannel-test/test_reactions.go | 70 | // ── Test: Remove reaction and verify sync ─────────────── |
| MEDIUM | tools/sharedchannel-test/test_posts.go | 39 | // ── Test: Create post and verify sync ─────────────────── |
| MEDIUM | tools/sharedchannel-test/test_posts.go | 61 | // ── Test: Edit post and verify sync ───────────────────── |
| MEDIUM | tools/sharedchannel-test/test_posts.go | 80 | // ── Test: Delete post and verify sync ─────────────────── |
| MEDIUM | …ings_modal/channel_settings_permissions_policy_tab.tsx | 339 | // ── List filtering & pagination ─────────────────────────────────────── |
| MEDIUM | …ings_modal/channel_settings_permissions_policy_tab.tsx | 369 | // ── Editor commit/cancel/draft helpers ──────────────────────────────── |
| MEDIUM | …ings_modal/channel_settings_permissions_policy_tab.tsx | 451 | // ── Simulation: build the synthetic draft sent to /cel/simulate ────── |
| MEDIUM | …ings_modal/channel_settings_permissions_policy_tab.tsx | 482 | // ── Persist to backend ──────────────────────────────────────────────── |
| MEDIUM | …ings_modal/channel_settings_permissions_policy_tab.tsx | 583 | // ── Render: editor view ─────────────────────────────────────────────── |
| MEDIUM | …ings_modal/channel_settings_permissions_policy_tab.tsx | 620 | // ── Render: list view ──────────────────────────────────────────────── |
| MEDIUM | …ntrol/modals/simulate_access/simulate_access_modal.tsx | 184 | // ── User fetch (search + pagination) ───────────────────────────────── |
| MEDIUM | …kills/agent-browser/templates/authenticated-session.sh | 32 | # ================================================================ |
| MEDIUM | …kills/agent-browser/templates/authenticated-session.sh | 34 | # ================================================================ |
| MEDIUM | …kills/agent-browser/templates/authenticated-session.sh | 54 | # ================================================================ |
| MEDIUM | …kills/agent-browser/templates/authenticated-session.sh | 56 | # ================================================================ |
| MEDIUM | …kills/agent-browser/templates/authenticated-session.sh | 76 | # ================================================================ |
| MEDIUM | …kills/agent-browser/templates/authenticated-session.sh | 78 | # ================================================================ |
| MEDIUM | server/public/plugin/client_rpc.go | 37 | // ┌─────────────────────────┐ ┌─────────────────────────┐ |
| MEDIUM | server/public/plugin/client_rpc.go | 40 | // │ ┌───────────────────┐ │ hooks (calls) │ ┌───────────────────┐ │ |
| MEDIUM | server/public/plugin/client_rpc.go | 41 | // │ │ hooksRPCClient │──┼───────────────────►│ │ hooksRPCServer │ │ |
| MEDIUM | server/public/plugin/client_rpc.go | 42 | // │ └───────────────────┘ │ │ └───────────────────┘ │ |
| MEDIUM | server/public/plugin/client_rpc.go | 44 | // │ ┌───────────────────┐ │ API (callbacks) │ ┌───────────────────┐ │ |
| MEDIUM | server/public/plugin/client_rpc.go | 45 | // │ │ apiRPCServer │◄─┼────────────────────┼──│ apiRPCClient │ │ |
| MEDIUM | server/public/plugin/client_rpc.go | 46 | // │ └───────────────────┘ │ │ └───────────────────┘ │ |
| MEDIUM | server/public/plugin/client_rpc.go | 47 | // └─────────────────────────┘ └─────────────────────────┘ |
| MEDIUM | server/channels/app/plugin_install.go | 15 | // ┌────────────────────────────┐ |
| MEDIUM | server/channels/app/plugin_install.go | 16 | // │ ┌────────────────────────┐ │ |
| MEDIUM | server/channels/app/plugin_install.go | 21 | // │ └────────────────────────┘ │ |
| MEDIUM | server/channels/app/plugin_install.go | 24 | // │ ┌────────────────────────┐ │ |
| MEDIUM | server/channels/app/plugin_install.go | 25 | // │ │plugins/ │ │ ┌────────────────────────┐ |
| MEDIUM | server/channels/app/plugin_install.go | 29 | // │ │ │ │ └────────────────────────┘ |
| MEDIUM | server/channels/app/plugin_install.go | 30 | // │ └────────────────────────┘ │ |
| MEDIUM | server/channels/app/plugin_install.go | 31 | // │ ┌────────┤ |
| MEDIUM | server/channels/app/plugin_install.go | 33 | // └───────────────────┴────────┘ |
| MEDIUM | …wright/specs/functional/system_console/abac/support.ts | 930 | // ── Race-safe path: poll the exact job by ID ────────────────────────── |
| MEDIUM | …wright/specs/functional/system_console/abac/support.ts | 963 | // ── Legacy path: read the first row of the sync-jobs table ─────────── |
| MEDIUM | …ole/abac/file_access/file_permissions_download.spec.ts | 39 | // ─── Download Enforcement ──────────────────────────────────────────────────── |
| MEDIUM | …ole/abac/file_access/file_permissions_download.spec.ts | 115 | // ─── Attribute-Based Policy — Matching User ─────────────────────────────────── |
| MEDIUM | …ole/abac/file_access/file_permissions_download.spec.ts | 245 | // ─── Burn-on-Read and Permalink Edge Cases ──────────────────────────────────── |
| MEDIUM | …onsole/sections/system_attributes/system_properties.ts | 29 | // ── Visibility ────────────────────────────────────────────────────── |
| MEDIUM | …onsole/sections/system_attributes/system_properties.ts | 40 | // ── Attribute row accessors ───────────────────────────────────────── |
| MEDIUM | …onsole/sections/system_attributes/system_properties.ts | 99 | // ── Attribute actions ─────────────────────────────────────────────── |
| MEDIUM | …onsole/sections/system_attributes/system_properties.ts | 158 | // ── Save ──────────────────────────────────────────────────────────── |
| MEDIUM | …onsole/sections/system_attributes/system_properties.ts | 180 | // ── Dot-menu ──────────────────────────────────────────────────────── |
| MEDIUM | …onsole/sections/system_attributes/system_properties.ts | 225 | // ── Validation ────────────────────────────────────────────────────── |
| MEDIUM | .github/workflows/e2e-tests-playwright.yml | 168 | # ── Routing fork ───────────────────────────────────────────────────── |
| MEDIUM | .github/workflows/e2e-tests-cypress.yml | 174 | # ── Routing fork ───────────────────────────────────────────────────── |
| MEDIUM | .github/workflows/server-test-template.yml | 140 | # ── Test-level sharding ──────────────────────────────────────────── |
| MEDIUM | .github/workflows/server-test-template.yml | 149 | # ───────────────────────────────────────────────────────────────────── |
| MEDIUM | .github/scripts/check_config_changes_ci.py | 31 | # ── Environment ──────────────────────────────────────────────────────────────── |
| MEDIUM | .github/scripts/check_config_changes_ci.py | 58 | # ── Data types ───────────────────────────────────────────────────────────────── |
| MEDIUM | .github/scripts/check_config_changes_ci.py | 82 | # ── Diff helpers ─────────────────────────────────────────────────────────────── |
| MEDIUM | .github/scripts/check_config_changes_ci.py | 151 | # ── Checker 1 — config.go ────────────────────────────────────────────────────── |
| MEDIUM | .github/scripts/check_config_changes_ci.py | 217 | # ── Checker 2 — api4/ ───────────────────────────────────────────────────────── |
| MEDIUM | .github/scripts/check_config_changes_ci.py | 309 | # ── Checker 3 — audit_events.go ─────────────────────────────────────────────── |
| 4 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | server/scripts/get_latest_release.sh | 36 | # Check if this is a release branch |
| LOW | …ts/integration/channels/enterprise/oauth/oauth_spec.ts | 31 | // # Set ServiceSettings to expected values |
| LOW | …egration/channels/enterprise/ldap/ldap_setting_spec.ts | 50 | // # Set back to what it was |
| LOW | …rise/elasticsearch_autocomplete/system_console_spec.ts | 19 | // # Check if server has license for Elasticsearch |
| LOW | …enterprise/elasticsearch_autocomplete/channels_spec.ts | 33 | // # Check if server has license for Elasticsearch |
| LOW | …/channels/enterprise/ldap_group/group_mentions_spec.ts | 156 | // # Set groupID to navigate to group page directly |
| LOW | …enterprise/guest_accounts/guest_identification_spec.ts | 95 | // # Check if user is allowed to enforce MFA for Guest accounts. |
| LOW | …rise/group_mentions/group_mentions_permissions_spec.ts | 70 | // # Set groupID to navigate to group page directly |
| LOW | …/group_mentions/group_mentions_system_messages_spec.ts | 72 | // # Set groupID to navigate to group page directly |
| LOW | …enterprise/group_mentions/group_mentions_posts_spec.ts | 76 | // # Set groupID1 to navigate to group page directly |
| LOW | …enterprise/group_mentions/group_mentions_posts_spec.ts | 84 | // # Set groupID1 to navigate to group page directly |
| LOW | …on/channels/files_and_attachments/upload_files_spec.js | 396 | // # Open file preview |
| LOW | …_and_attachments/image_link_preview_new_window_spec.js | 42 | // # Open file preview |
| LOW | …nnels/files_and_attachments/file_preview_video_spec.js | 117 | // # Open file preview |
| LOW | …s/files_and_attachments/upload_files_not_cloud_spec.js | 68 | // # Open file preview |
| LOW | …s/files_and_attachments/upload_files_not_cloud_spec.js | 175 | // # Open file preview |
| LOW | …nnels/files_and_attachments/image_link_preview_spec.js | 222 | // # Open file preview |
| LOW | …els/files_and_attachments/file_preview_generic_spec.js | 111 | // # Open file preview |
| LOW | …nnels/files_and_attachments/file_preview_image_spec.js | 124 | // # Open file preview |
| LOW | …nnels/files_and_attachments/file_preview_audio_spec.js | 118 | // # Open file preview |
| LOW | …tegration/channels/system_console/demoted_user_spec.js | 26 | // # Set user to be a sysadmin, so it can access the system console |
| LOW | …ration/channels/system_console/user_management_spec.js | 221 | // # Check if user's session is automatically logged out and the user is redirected to the login page |
| LOW | …ests/integration/channels/toast/permalink_post_spec.js | 30 | // # Check if ... button is visible in last post right side |
| LOW | …els/message_forwarding/forward_message_from_dm_spec.js | 80 | // # Check if ... button is visible in last post right side |
| LOW | …els/message_forwarding/forward_message_from_dm_spec.js | 123 | // # Check if ... button is visible in last post right side |
| LOW | …orwarding/forward_message_from_private_channel_spec.js | 72 | // # Check if ... button is visible in last post right side |
| LOW | …orwarding/forward_message_from_private_channel_spec.js | 115 | // # Check if ... button is visible in last post right side |
| LOW | …els/message_forwarding/forward_message_from_gm_spec.js | 91 | // # Check if ... button is visible in last post right side |
| LOW | …els/message_forwarding/forward_message_from_gm_spec.js | 134 | // # Check if ... button is visible in last post right side |
| LOW | …forwarding/forward_message_from_public_channel_spec.js | 113 | // # Check if ... button is visible in last post right side |
| LOW | …forwarding/forward_message_from_public_channel_spec.js | 135 | // # Check if ... button is visible in last post right side |
| LOW | …forwarding/forward_message_from_public_channel_spec.js | 201 | // # Check if ... button is visible in last post right side |
| LOW | …forwarding/forward_message_from_public_channel_spec.js | 221 | // # Check if ... button is visible in last post right side |
| LOW | …forwarding/forward_message_from_public_channel_spec.js | 242 | // # Check if ... button is visible in last post right side |
| LOW | …sts/integration/channels/channel/leave_channel_spec.ts | 88 | // # Set CRT to on |
| LOW | …egration/channels/channel/restrict_dm_channels_spec.ts | 143 | // # Check if the direct message channel is still in the sidebar |
| LOW | …integration/channels/integrations/integrations_spec.js | 20 | // # Set ServiceSettings to expected values |
| LOW | …annels/integrations/incoming_webhook/copy_icon_spec.js | 14 | // # Set ServiceSettings to expected values |
| LOW | …/tests/integration/channels/search_filter/edit_spec.js | 56 | // # Set clock to custom date and visit test channel like reloading a page to take effect |
| LOW | …ion/channels/account_settings/account_settings_spec.ts | 33 | // # Check if profile settings modal is open |
| LOW | …/channels/collapsed_reply_threads/crt_settings_spec.ts | 34 | // # Set CRT to off |
| LOW | …/channels/collapsed_reply_threads/crt_settings_spec.ts | 40 | // # Set CRT to on |
| LOW | …s/accessibility/accessibility_account_settings_spec.js | 193 | // # Check if language setting gets changed after user presses space |
| LOW | …integration/channels/messaging/emoji_skin_tone_spec.js | 39 | // # Set viewport to desktop and post gesture with skin tone |
| LOW | …integration/channels/messaging/emoji_skin_tone_spec.js | 48 | // # Set viewport to mobile |
| LOW | …n/channels/messaging/message_edit_post_history_spec.ts | 148 | // # Check if the edit history is visible |
| LOW | …tion/channels/messaging/permalink_message_edit_spec.js | 50 | // # Check if url include the permalink |
| LOW | …tion/channels/messaging/permalink_message_edit_spec.js | 77 | // # Check if url include the permalink |
| LOW | …ntegration/channels/messaging/image_attachment_spec.js | 180 | // # Open file preview |
| LOW | …hannels/messaging/channel_read_after_permalink_spec.js | 53 | // # Check if ... button is visible in last post right side |
| LOW | …ration/channels/messaging/message_channel_draw_spec.js | 41 | // # Open file upload options and select draw plugin |
| LOW | …ration/channels/messaging/message_channel_draw_spec.js | 57 | // # Open file upload options and select draw plugin |
| LOW | …ration/channels/messaging/message_channel_draw_spec.js | 72 | // # Open file upload options and select "Your Computer" |
| LOW | …tegration/channels/messaging/message_permalink_spec.js | 50 | // # Check if ... button is visible in last post right side |
| LOW | …tegration/channels/messaging/message_permalink_spec.js | 99 | // # Check if url include the permalink |
| LOW | …ation/channels/move_thread/move_thread_from_gm_spec.js | 98 | // # Check if ... button is visible in last post right side |
| LOW | …ation/channels/move_thread/move_thread_from_gm_spec.js | 141 | // # Check if ... button is visible in last post right side |
| LOW | …ls/move_thread/move_thread_from_public_channel_spec.js | 114 | // # Check if ... button is visible in last post right side |
| LOW | …ls/move_thread/move_thread_from_public_channel_spec.js | 151 | // # Check if ... button is visible in last post right side |
| LOW | …ls/move_thread/move_thread_from_public_channel_spec.js | 168 | // # Check if ... button is visible in last post right side |
| 57 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …/channels/src/utils/message_html_to_component.test.tsx | 66 | const input = 'lorem ipsum www.dolor.com sit amet'; |
| LOW | …/channels/src/utils/message_html_to_component.test.tsx | 74 | const input = 'lorem ipsum www.dolor.com sit amet'; |
| LOW | …mponents/post_markdown/system_message_helpers.test.tsx | 85 | workspace_name: 'Acme Corp', |
| LOW | …mponents/post_markdown/system_message_helpers.test.tsx | 100 | workspace_name: 'Acme Corp', |
| LOW | …app/channels/src/components/markdown/markdown.test.tsx | 30 | email: 'test@test.com', |
| LOW | …_to_channel_modal/add_groups_to_channel_modal.test.tsx | 240 | const option: any = {id: 'id', last_picture_update: '12345', email: 'test@test.com'}; |
| LOW | …nd_button/send_post_options/core_menu_options.test.tsx | 17 | const teammateDisplayName = 'John Doe'; |
| LOW | …/group_settings/group_details/group_users_row.test.tsx | 16 | email='test@test.com' |
| LOW | …/group_settings/group_details/group_users_row.test.tsx | 25 | expect(screen.getByText('test@test.com')).toBeInTheDocument(); |
| LOW | …bar/default_announcement_bar/announcement_bar.test.tsx | 29 | const wrapper = renderWithContext(<AnnouncementBar message={<span>{'Lorem Ipsum'}</span>}/>); |
| LOW | …bar/default_announcement_bar/announcement_bar.test.tsx | 31 | wrapper.getByText('Lorem Ipsum'); |
| LOW | …bar/default_announcement_bar/announcement_bar.test.tsx | 37 | const wrapper = renderWithContext(<AnnouncementBar message={<span>{'Lorem Ipsum'}</span>}/>); |
| LOW | …bar/default_announcement_bar/announcement_bar.test.tsx | 39 | userEvent.hover(wrapper.getByText('Lorem Ipsum')); |
| LOW | webapp/channels/src/components/login/login.test.tsx | 501 | await userEvent.type(emailInput, 'user@example.com'); |
| LOW | webapp/channels/src/components/login/login.test.tsx | 538 | await userEvent.type(emailInput, 'user@example.com'); |
| LOW | webapp/channels/src/components/login/login.test.tsx | 547 | expect(mockGetUserLoginType).toHaveBeenCalledWith('user@example.com'); |
| LOW | webapp/channels/src/components/login/login.test.tsx | 576 | await userEvent.type(emailInput, 'user@example.com'); |
| LOW | webapp/channels/src/components/login/login.test.tsx | 611 | await userEvent.type(emailInput, 'user@example.com'); |
| LOW | webapp/channels/src/components/login/login.test.tsx | 655 | await userEvent.type(emailInput, 'user@example.com'); |
| LOW | webapp/channels/src/components/login/login.test.tsx | 667 | expect(mockLogin).toHaveBeenCalledWith('user@example.com', 'password123', undefined); |
| LOW | webapp/channels/src/components/login/login.test.tsx | 719 | await userEvent.type(emailInput, 'user@example.com'); |
| LOW | webapp/channels/src/components/login/login.test.tsx | 755 | await userEvent.type(emailInput, 'user@example.com'); |
| LOW | .agents/skills/agent-browser/SKILL.md | 23 | agent-browser fill @e1 "user@example.com" |
| LOW | .agents/skills/agent-browser/SKILL.md | 39 | agent-browser fill @e1 "user@example.com" && agent-browser fill @e2 "password123" && agent-browser click @e3 |
| LOW | .agents/skills/agent-browser/SKILL.md | 110 | agent-browser fill @e1 "Jane Doe" |
| LOW | …ents/skills/agent-browser/references/authentication.md | 31 | agent-browser fill @e1 "user@example.com" |
| LOW | …ents/skills/agent-browser/references/authentication.md | 50 | agent-browser fill @e1 "user@example.com" |
| LOW | …ents/skills/agent-browser/references/authentication.md | 107 | agent-browser fill @e1 "user@example.com" |
| LOW | …gents/skills/agent-browser/references/snapshot-refs.md | 72 | agent-browser fill @e10 "user@example.com" |
| LOW | …/skills/agent-browser/references/session-management.md | 29 | agent-browser --session auth fill @e1 "user@example.com" |
| LOW | …ents/skills/agent-browser/templates/form-automation.sh | 32 | # agent-browser fill @e1 "John Doe" # Text input |
| LOW | …ents/skills/agent-browser/templates/form-automation.sh | 33 | # agent-browser fill @e2 "user@example.com" # Email input |
| LOW | server/cmd/mmctl/commands/utils_test.go | 39 | Base: map[string]any{"Person": "John Doe"}, |
| LOW | server/cmd/mmctl/commands/utils_test.go | 46 | Patch: map[string]any{"Person": "John Doe"}, |
| LOW | server/cmd/mmctl/commands/utils_test.go | 47 | Expected: map[string]any{"Person": "John Doe"}, |
| LOW | server/cmd/mmctl/commands/channel_test.go | 24 | userEmail = "user@example.com" |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 193 | UserEmail: new("test@test.com"), |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 213 | UserEmail: new("test@test.com"), |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 223 | {UserEmail: "test@test.com", UploadStartTime: 1, |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 227 | {UserEmail: "test@test.com", UploadStopTime: 1, |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 244 | UserEmail: new("test@test.com"), |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 255 | {UserEmail: "test@test.com", UploadStartTime: 1, |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 257 | {UserEmail: "test@test.com", UploadStartTime: 1, |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 261 | {UserEmail: "test@test.com", UploadStopTime: 1, |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 263 | {UserEmail: "test@test.com", UploadStopTime: 1, |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 282 | UserEmail: new("test@test.com"), |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 292 | {UserEmail: "test@test.com", UploadStartTime: 1, |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 296 | {UserEmail: "test@test.com", UploadStopTime: 1, |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 322 | UserEmail: new("test@test.com"), |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 332 | {UserEmail: "test@test.com", UploadStartTime: 1, |
| LOW | …r/enterprise/message_export/shared/export_data_test.go | 336 | {UserEmail: "test@test.com", UploadStopTime: 1, |
| LOW | server/enterprise/elasticsearch/common/common_test.go | 438 | {Title: "Account Manager", Value: "John Doe"}, |
| LOW | server/enterprise/elasticsearch/common/common_test.go | 471 | assert.Contains(t, esPost.Attachments, "John Doe", "field value should be indexed") |
| LOW | server/public/model/license_test.go | 234 | Email: "test@test.com", |
| LOW | server/public/model/license_test.go | 245 | Email: "test@test.com", |
| LOW | server/public/model/user_test.go | 302 | user.Email = "user@example.com" |
| LOW | server/public/model/user_test.go | 389 | require.Equal(t, "user@example.com", user.Email) |
| LOW | server/public/model/user_test.go | 674 | authData := "test@test.com" |
| LOW | server/public/model/link_metadata_test.go | 24 | const BigText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus maximus faucibus ex, vitae placerat ne |
| LOW | server/public/model/link_metadata_test.go | 24 | const BigText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus maximus faucibus ex, vitae placerat ne |
| 75 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | server/channels/app/plugin_api.go | 340 | session, err := api.app.ch.srv.platform.GetSessionByID(api.ctx, sessionID) |
| CRITICAL | server/channels/app/plugin_api.go | 345 | if err := api.app.ch.srv.platform.ExtendSessionExpiry(session, expiresAt); err != nil { |
| CRITICAL | server/channels/app/oauth_test.go | 278 | th.App.ch.srv.platform.SetSessionExpireInHours(session, 24) |
| CRITICAL | server/channels/app/plugin_api_test.go | 1411 | th.App.ch.srv.platform.SetSqlStore(th.GetSqlStore()) // TODO: platform: check if necessary |
| CRITICAL | server/channels/app/import_functions_test.go | 2094 | _, _, err := th.App.ch.srv.teamService.JoinUserToTeam(th.Context, th.BasicTeam, user) |
| CRITICAL | server/channels/app/searchengine.go | 57 | return a.ch.srv.platform.SearchEngine.ActiveEngine() |
| CRITICAL | server/channels/app/session_test.go | 325 | cachedSession, errGet := th.App.ch.srv.platform.GetSession(th.Context, session.Token) |
| CRITICAL | server/channels/app/plugin_requests_test.go | 94 | th.App.ch.srv.Router.ServeHTTP(rr, req) |
| CRITICAL | server/channels/app/plugin_requests_test.go | 115 | th.App.ch.srv.RootRouter.ServeHTTP(rr, req) |
| CRITICAL | server/channels/app/plugin_requests_test.go | 131 | th.App.ch.srv.Router.ServeHTTP(rr, req) |
| CRITICAL | server/channels/app/plugin_requests_test.go | 150 | th.App.ch.srv.RootRouter.ServeHTTP(rr, req) |
| CRITICAL | …ccount_settings/profile/profile_picture_change_spec.ts | 35 | getProfilePictureId().then((idNew) => expect(idNew).to.exist.and.not.to.be.equal(this.idOld)); |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …l_settings_modal/channel_settings_access_rules_tab.tsx | 414 | // Step 1: Build and save the policy object (without active field to avoid conflicts) |
| LOW | …l_settings_modal/channel_settings_access_rules_tab.tsx | 432 | // Step 2: Update the active status separately (like System Console does) |
| LOW | …l_settings_modal/channel_settings_access_rules_tab.tsx | 441 | // Step 3: Create a job to immediately sync channel membership when rules exist |
| LOW | …m_channel_settings/channel/details/channel_details.tsx | 811 | // Step 3: Create a job to immediately sync channel membership when rules exist |
| LOW | …src/components/claim/components/ldap_to_email.test.tsx | 66 | // Step 1: Submit the initial MFA form to trigger an error that shows the password form |
| LOW | …src/components/claim/components/ldap_to_email.test.tsx | 76 | // Step 2: Fill in the password form and submit |
| LOW | …src/components/claim/components/ldap_to_email.test.tsx | 90 | // Step 3: Submit the MFA form with the real token |
| LOW | …ents/skills/agent-browser/templates/form-automation.sh | 20 | # Step 1: Navigate to form |
| LOW | …ents/skills/agent-browser/templates/form-automation.sh | 24 | # Step 2: Snapshot to discover form elements |
| LOW | …ents/skills/agent-browser/templates/form-automation.sh | 29 | # Step 3: Fill form fields (customize these refs based on snapshot output) |
| LOW | …ents/skills/agent-browser/templates/form-automation.sh | 46 | # Step 4: Wait for submission |
| LOW | …ents/skills/agent-browser/templates/form-automation.sh | 50 | # Step 5: Verify result |
| LOW | server/enterprise/message_export/shared/export_data.go | 198 | // If the channel is not in channelsInThisBatch (i.e. if it didn't have a post), we need to check if it had |
| LOW | server/enterprise/elasticsearch/common/common_test.go | 420 | // Step 1: Start with typed MessageAttachment (as a plugin/webhook would create) |
| LOW | server/enterprise/elasticsearch/common/common_test.go | 445 | // Step 2: Simulate CreatePost JSON round-trip (post.go:305-315) |
| LOW | server/enterprise/elasticsearch/common/common_test.go | 457 | // Step 3: Simulate ESPostFromPost (what the search layer calls) |
| LOW | server/enterprise/elasticsearch/common/common_test.go | 462 | // Step 4: Verify all attachment fields are indexed |
| LOW | server/channels/app/server.go | 212 | // Step 1: Platform. |
| LOW | server/channels/app/server.go | 229 | // Step 2: Init Enterprise |
| LOW | server/channels/app/server.go | 283 | // Step 4: Start platform |
| LOW | server/channels/app/server.go | 291 | // Step 5: Initialize channels. |
| LOW | …ared_channel_global_user_sync_self_referential_test.go | 1152 | // Step 1: Create "Server A" user and sync to "Server B" |
| LOW | …ared_channel_global_user_sync_self_referential_test.go | 1184 | // Step 2: Simulate the synced user existing on Server B |
| LOW | …ared_channel_global_user_sync_self_referential_test.go | 1197 | // Step 3: Simulate connection reset by creating a new cluster A (from B's perspective) |
| LOW | …ared_channel_global_user_sync_self_referential_test.go | 1213 | // Step 4: Attempt B→A sync (should NOT sync the user back to A) |
| LOW | …ared_channel_global_user_sync_self_referential_test.go | 1217 | // Step 5: Verify the synced user was NOT sent back to A |
| LOW | server/channels/app/content_flagging.go | 537 | // if user is not in common or team specific reviewers, we need to check if they are |
| LOW | server/channels/app/shared_channel_test.go | 232 | // Step 1: Verify the channel is initially shared |
| LOW | server/channels/app/shared_channel_test.go | 236 | // Step 2: Create a sync message that would be sent to the remote |
| LOW | server/channels/app/shared_channel_test.go | 246 | // Step 3: Simulate receiving ErrChannelIsNotShared from the remote |
| LOW | server/channels/app/shared_channel_test.go | 250 | // Step 4: Verify the channel is no longer shared locally |
| LOW | server/channels/app/shared_channel_test.go | 382 | // Step 1: Verify the channel is initially shared with both remotes |
| LOW | server/channels/app/shared_channel_test.go | 386 | // Step 2: Create a post in the channel to trigger sync activity |
| LOW | server/channels/app/shared_channel_test.go | 404 | // Step 3: Create a sync message for remote 1 |
| LOW | server/channels/app/shared_channel_test.go | 414 | // Step 4: Simulate remote 1 returning ErrChannelIsNotShared |
| LOW | server/channels/app/platform/service.go | 150 | // Step 0: Create the PlatformService. |
| LOW | server/channels/app/platform/service.go | 194 | // Step 1: Start logging. |
| LOW | server/channels/app/platform/service.go | 227 | // Step 2: Cache provider. |
| LOW | server/channels/app/platform/service.go | 253 | // Step 3: Search Engine |
| LOW | server/channels/app/platform/service.go | 257 | // Step 4: Init Enterprise |
| LOW | server/channels/app/platform/service.go | 261 | // Step 5: Init Metrics |
| LOW | server/channels/app/platform/service.go | 268 | // Step 6: Store. |
| LOW | server/channels/app/platform/service.go | 326 | // Step 7: initialize status and session cache. |
| LOW | server/channels/app/platform/service.go | 356 | // Step 8: Init License |
| LOW | server/channels/app/platform/service.go | 370 | // Step 9: Initialize filestore |
| LOW | server/channels/app/platform/service.go | 394 | // Step 10: Init Metrics Server depends on step 6 (store) and 8 (license) |
| LOW | server/channels/app/platform/service.go | 409 | // Step 11: Init AsymmetricSigningKey depends on step 6 (store) |
| LOW | …on/channels/messaging/message_reply_scrollable_spec.js | 52 | cy.uiGetReplyTextBox().type('foo', {scrollBehavior: false}); // without scrollBehavior=false cypress automatical |
| LOW | …l/system_console/abac/policies/create_policies.spec.ts | 149 | // Step 5: User who satisfies policy but NOT in channel → should NOT be auto-added |
| LOW | …l/system_console/abac/policies/create_policies.spec.ts | 153 | // Step 6: User who satisfies policy and IS in channel → no change (stays in channel) |
| LOW | …l/system_console/abac/policies/create_policies.spec.ts | 157 | // Step 7: User who does NOT satisfy policy and IS in channel → auto-removed |
| LOW | …l/system_console/abac/policies/create_policies.spec.ts | 351 | // Step 5: User who satisfies policy but NOT in channel → should be AUTO-ADDED |
| LOW | …l/system_console/abac/policies/create_policies.spec.ts | 355 | // Step 6: User who satisfies policy and IS in channel → no change (stays in channel) |
| LOW | …l/system_console/abac/policies/create_policies.spec.ts | 359 | // Step 7: User who does NOT satisfy policy and IS in channel → auto-removed |
| LOW | …/channel_classification/channel_classification.spec.ts | 340 | // Step 1: enable classification, select a level, save |
| LOW | …/channel_classification/channel_classification.spec.ts | 353 | // Step 2: in the same open modal, disable classification, enable a manual banner, |
| LOW | …nels/team_settings/team_settings_policy_editor.spec.ts | 742 | // # Step 1: Team admin can see the policy (all channels in their team) |
| LOW | …nels/team_settings/team_settings_policy_editor.spec.ts | 749 | // # Step 2: System admin adds a channel from team B (cross-team) |
| LOW | …nels/team_settings/team_settings_policy_editor.spec.ts | 759 | // # Step 3: System admin removes team B channel (back to single-team) |
| LOW | …actions/calculate-playwright-results/src/merge.test.ts | 415 | // Step 1: Verify original has failure |
| 4 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | webapp/channels/src/utils/post_utils.ts | 692 | // Checks if a post has valid AI-generated metadata |
| HIGH | server/channels/app/post.go | 604 | // Populate AI-generated username from provided user ID |
| HIGH | server/channels/app/post.go | 612 | // Only allow AI-generated username if the user is the post creator or a bot |
| HIGH | server/channels/app/post_test.go | 3332 | // Try to set AI-generated user ID to a different user (not post creator, not bot) |
| HIGH | server/channels/app/post_test.go | 3355 | // Set AI-generated user ID to a non-existent user |
| HIGH | …tion/channels/multi_team_and_dm/max_gm_members_spec.js | 113 | // # Add the first user from the top of the list, as many times as requested by 'userCountToAdd' |
| HIGH | …tion/channels/multi_team_and_dm/max_gm_members_spec.js | 113 | // # Add the first user from the top of the list, as many times as requested by 'userCountToAdd' |
| HIGH | …n/channels/multi_team_and_dm/close_gm_via_menu_spec.js | 86 | // # Add the first user from the top of the list, as many times as requested by 'userCountToAdd' |
| HIGH | …n/channels/multi_team_and_dm/close_gm_via_menu_spec.js | 86 | // # Add the first user from the top of the list, as many times as requested by 'userCountToAdd' |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | webapp/channels/src/root.tsx | 19 | // in a minimum of places, as it is preferred to leverage react-router, configured to use this |
| MEDIUM | …n_console/license_settings/modals/ee_license_modal.tsx | 57 | <p>{'The subscription-only features of the Mattermost Enterprise Edition software and associated |
| MEDIUM | server/public/plugin/plugintest/mock/mock.go | 6 | // to fully utilize the plugintest package. |
| MEDIUM | …hared_channel_membership_sync_self_referential_test.go | 306 | // Wait for batch messages to be received with more robust checking |
| MEDIUM | …hared_channel_membership_sync_self_referential_test.go | 620 | // Wait for first sync attempt with more robust checking |
| MEDIUM | …hared_channel_membership_sync_self_referential_test.go | 638 | // Wait for successful sync with more robust checking |
| MEDIUM | …hared_channel_membership_sync_self_referential_test.go | 1668 | // // This test verifies robust handling of conflicting membership states between multiple clusters. |
| MEDIUM | server/channels/app/password/hashers/hashers.go | 6 | // This package allows for seamless migrations of password hashing methods. To |
| MEDIUM | …/channel_settings/channel_admin_self_inclusion.spec.ts | 184 | // lowest Id, so populating multiple matches makes the assertion robust |
| MEDIUM | .github/workflows/e2e-tests-ci-template.yml | 447 | # Otherwise, utilize summary.json to calculate the failures |
| MEDIUM | .github/workflows/e2e-fulltests-ci.yml | 134 | ### For image tag generation: utilize 'inputs.ref', assume that it is a full commit SHA |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | webapp/channels/src/utils/license_utils.test.ts | 15 | it('should return True if expiring in 5 days - non Cloud', () => { |
| HIGH | webapp/channels/src/utils/license_utils.test.ts | 28 | it('should return True if expired 1 day ago - non Cloud', () => { |
| HIGH | webapp/channels/src/utils/license_utils.test.ts | 36 | it('should return False if cloud expired 11 days ago', () => { |
| HIGH | webapp/channels/src/utils/license_utils.test.ts | 42 | it('should return True if expired 1 day ago - non Cloud', () => { |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | …hannels/src/components/emoji/emoji_list/emoji_list.tsx | 290 | defaultMessage="Tip: If you add #, ##, or ### as the first character on a new line containin |
| LOW | …e/system_roles/system_role/system_role_permissions.tsx | 229 | defaultMessage="Don't forget to deauthorize all other system users from administering Custom |
| LOW | webapp/channels/src/i18n/en-AU.json | 2082 | "admin.permissions.roles.system_custom_group_admin.deauthorize_reminder": "Don't forget to deauthorise all other syste |
| MEDIUM | webapp/channels/src/i18n/en-AU.json | 4337 | "emoji_list.help2": "Tip: If you add #, ##, or ### as the first character on a new line containing emoji, you can use |
| LOW | webapp/channels/src/i18n/en.json | 2408 | "admin.permissions.roles.system_custom_group_admin.deauthorize_reminder": "Don't forget to deauthorize all other syste |
| MEDIUM | webapp/channels/src/i18n/en.json | 4817 | "emoji_list.help2": "Tip: If you add #, ##, or ### as the first character on a new line containing emoji, you can use |
| MEDIUM | server/cmd/mmctl/commands/user.go | 96 | Example: ` # if you have system permissions, you can change other user's passwords |
| MEDIUM | server/cmd/mattermost/commands/db.go | 36 | Example: ` # you can use the config flag to pass the DSN |
| MEDIUM | server/cmd/mattermost/commands/db.go | 39 | # or you can use the MM_CONFIG environment variable |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …ages/mattermost-redux/src/reducers/requests/helpers.ts | 17 | export function handleRequest( |
| LOW | …/integration/channels/messaging/copy_post_text_spec.js | 62 | const postCodeBlock = '```javascript\nvar foo = "bar"\nfunction doSomething()\nreturn 7;\n}\n```'; |
| LOW | …/integration/channels/messaging/copy_post_text_spec.js | 63 | const copiedCodeBlockText = 'var foo = "bar"\nfunction doSomething()\nreturn 7;\n}\n'; |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | server/public/utils/page.go | 16 | // Example usage: |
| LOW | server/channels/app/password/hashers/hashers_dev.go | 32 | // Example usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | .github/scripts/check_config_changes_ci.py | 393 |