AI Slop Code Risk Monitor

mattermost/mattermost

SlopCodeMonitor badge for mattermost/mattermost Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..

1.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for mattermost/mattermost, a TypeScript project with 39,481 GitHub stars. SynthScan examined 2,884,153 lines of code across 9773 source files, recording 3260 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 1.7 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

1.7
Adjusted Signal
1.7
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
39.5K
Stars
TypeScript
Language
2.9M
Lines of Code
9.8K
Files
3.3K
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 6.5/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 2812 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.7/100 · LOW

Are imports declared and package/API names verified? 244 finding(s).

Agent Over-Engineering Ratio 3.4/100 · LOW

Are wrappers, guards, and repeated structures necessary? 1623 finding(s).

PR Review Velocity Impact 7.8/100 · LOW

Which changes need focused human review? 3260 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 13HIGH 16MEDIUM 599LOW 2632

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 3260 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers1419 hits · 1460 pts
SeverityFileLineSnippetContext
LOWwebapp/platform/types/src/access_control.ts145export function combineMembershipExpressions(expressions: Array<string | undefined>): string {CODE
LOWwebapp/platform/types/src/access_control.ts176export function hasOverlappingPermissionRules(rules?: AccessControlPolicyRule[]): boolean {CODE
LOWwebapp/platform/types/src/access_control.ts269export function buildRulesWithPermissionRules(existingRules: AccessControlPolicyRule[], permissionRules: AccessControlPoCODE
LOW…pp/platform/components/src/hooks/useFocusTrap.test.tsx39function NestedFocusTrapsComponent() {CODE
LOW…pp/platform/components/src/hooks/useFocusTrap.test.tsx60function PointerEventsFocusTrapComponent() {CODE
LOWwebapp/platform/client/src/helpers.ts21export function extractFilenameFromContentDisposition(header: string | null | undefined, fallback: string): string {CODE
LOWwebapp/platform/client/src/client4.ts5521export function parseAndMergeNestedHeaders(originalHeaders: any) {CODE
LOW…/eslint-plugin/rules/no-redundant-admin-config-deps.js115function collectTopLevelConditions(node, out) {CODE
LOWwebapp/channels/webpack.config.js324async function initializeModuleFederation() {CODE
LOWwebapp/channels/src/entry.tsx42function appendOnDOMContentLoadedEvent(onDomContentReady: () => void) {CODE
LOWwebapp/channels/src/plugins/published_editor.ts93export function isPublishedEditorComponent(id: string): id is PublishedEditorComponentId {CODE
LOW…pp/channels/src/plugins/rhs_plugin/rhs_plugin.test.tsx111 function stateWithRegisteredComponent(showPopout?: boolean): DeepPartial<GlobalState> {CODE
LOW…p/channels/src/tests/helpers/plugin_error_handling.tsx18export function testPluginComponentErrorHandling(renderCallback: (pluginComponent: PluginComponent & {component: any}) =CODE
LOWwebapp/channels/src/tests/helpers/line_break_helpers.ts83export function testComponentForLineBreak(generateInstance: (input: string) => JSX.Element, getValue: (container: HTMLElCODE
LOWwebapp/channels/src/utils/syntax_highlighting.tsx45export function getLanguageFromFileExtension(extension: string): string | null {CODE
LOWwebapp/channels/src/utils/syntax_highlighting.tsx71export function getLanguageFromDisplayName(displayName: string): string {CODE
LOWwebapp/channels/src/utils/syntax_highlighting.tsx75function getLanguageFromNameOrAlias(name: string) {CODE
LOWwebapp/channels/src/utils/post_utils.ts290function canAutomaticallyCloseBackticks(message: string) {CODE
LOWwebapp/channels/src/utils/post_utils.ts374export function isErrorInvalidSlashCommand(error: ServerError | null): boolean {CODE
LOWwebapp/channels/src/utils/post_utils.ts463export function makeGetMentionsFromMessage(): (state: GlobalState, post: Post) => Record<string, UserProfile> {CODE
LOW⚡webapp/channels/src/utils/post_utils.ts675export function splitMessageBasedOnCaretPosition(caretPosition: number, message: string): {firstPiece: string; lastPieceCODE
LOW⚡webapp/channels/src/utils/post_utils.ts681export function splitMessageBasedOnTextSelection(selectionStart: number, selectionEnd: number, message: string): {firstPCODE
LOW⚡webapp/channels/src/utils/post_utils.ts687export function areConsecutivePostsBySameUser(post: Post, previousPost: Post): boolean {CODE
LOWwebapp/channels/src/utils/post_utils.ts751export function matchUserMentionTriggersWithMessageMentions(userMentionKeys: UserMentionKey[],CODE
LOWwebapp/channels/src/utils/post_utils.ts767export function makeGetUniqueReactionsToPost(): (state: GlobalState, postId: Post['id']) => Record<string, Reaction> | uCODE
LOWwebapp/channels/src/utils/post_utils.ts792export function makeGetUniqueEmojiNameReactionsForPost(): (state: GlobalState, postId: Post['id']) => string[] | undefinCODE
LOWwebapp/channels/src/utils/post_utils.ts817export function makeGetIsReactionAlreadyAddedToPost(): (state: GlobalState, postId: Post['id'], emojiName: string) => boCODE
LOWwebapp/channels/src/utils/post_utils.ts842export function getPotentialMentionsForName(mentionName: string): string[] {CODE
LOWwebapp/channels/src/utils/post_utils.ts867export function getUserOrGroupFromMentionName(CODE
LOWwebapp/channels/src/utils/post_utils.ts889export function mentionsMinusSpecialMentionsInText(message: string) {CODE
LOWwebapp/channels/src/utils/post_utils.ts902export function makeGetUserOrGroupMentionCountFromMessage(): (state: GlobalState, message: Post['message']) => number {CODE
LOWwebapp/channels/src/utils/post_utils.ts926export function hasRequestedPersistentNotifications(priority?: PostPriorityMetadata) {CODE
LOWwebapp/channels/src/utils/global_error_handler.test.ts22function dispatchUnhandledRejection(reason: unknown) {CODE
LOWwebapp/channels/src/utils/burn_on_read_timer_utils.ts63export function getAriaAnnouncementInterval(remainingMs: number): number {CODE
LOW⚡webapp/channels/src/utils/timezone.ts19export function getCurrentDateForTimezone(timezone: string) {CODE
LOW⚡webapp/channels/src/utils/timezone.ts24export function getCurrentDateTimeForTimezone(timezone: string) {CODE
LOW⚡webapp/channels/src/utils/timezone.ts29export function getCurrentMomentForTimezone(timezone?: string) {CODE
LOWwebapp/channels/src/utils/file_utils.tsx46export function isMobileFileUploadsEnabled(config: Partial<ClientConfig>): boolean {CODE
LOWwebapp/channels/src/utils/text_formatting.test.ts116 function runSuccessfulAtMentionTests(leadingText = '', trailingText = '') {CODE
LOWwebapp/channels/src/utils/text_formatting.test.ts134 function runUnsuccessfulAtMentionTests(leadingText = '', trailingText = '') {CODE
LOWwebapp/channels/src/utils/text_formatting.test.ts145 function runUnsuccessfulAtMentionTestsMatchingNonSpecialMentions(leadingText = '', trailingText = '') {CODE
LOW⚡webapp/channels/src/utils/notifications.ts114export function isNotificationAPISupported() {CODE
LOW⚡webapp/channels/src/utils/notifications.ts118export function getNotificationPermission(): NotificationPermission | null {CODE
LOW⚡webapp/channels/src/utils/notifications.ts126export async function requestNotificationPermission(): Promise<NotificationPermission | null> {CODE
LOWwebapp/channels/src/utils/mention_search.ts121export function mentionFiltersToSearchParams(filters: MentionFilters): Record<string, string> {CODE
LOWwebapp/channels/src/utils/mention_search.ts147export function mentionFiltersFromSearchParams(params: URLSearchParams): MentionFilters {CODE
LOWwebapp/channels/src/utils/scheduled_post_repeat.ts16function scheduledPostHasAttachments(scheduledPost: ScheduledPost): boolean {CODE
LOWwebapp/channels/src/utils/scheduled_post_repeat.ts22export function getDraftRepeatDisabledReason(draft: Pick<PostDraft, 'fileInfos' | 'uploadsInProgress' | 'type'>): RepeatCODE
LOWwebapp/channels/src/utils/scheduled_post_repeat.ts34export function getScheduledPostRepeatDisabledReason(scheduledPost: ScheduledPost): RepeatDisabledReason | undefined {CODE
LOWwebapp/channels/src/utils/dialog_conversion.ts613export function transformServerDialogToProps(serverDialog: ServerDialogResponse): TransformedDialogProps {CODE
LOWwebapp/channels/src/utils/dialog_conversion.ts763export function convertServerDialogResponseToAppForm(CODE
LOWwebapp/channels/src/utils/dialog_conversion.ts825export function convertAppFormValuesToDialogSubmission(CODE
LOWwebapp/channels/src/utils/server_version.tsx13export function isServerVersionGreaterThanOrEqualTo(currentVersion: string, compareVersion: string): boolean {CODE
LOWwebapp/channels/src/utils/channel_utils.tsx184export function getChannelRoutePathAndIdentifier(channel: Pick<Channel, 'type' | 'name'>, dmUsername?: string): {path: sCODE
LOWwebapp/channels/src/utils/channel_utils.tsx218export function isMembershipPolicyEnforced(channel?: Pick<Channel, 'policy_enforced' | 'policy_actions'> | null): booleaCODE
LOWwebapp/channels/src/utils/channel_utils.tsx235export function isChannelAccessControlled(channel?: Pick<Channel, 'policy_enforced'> | null): boolean {CODE
LOWwebapp/channels/src/utils/policy_roles_adapter.ts109function mutateRolesBasedOnMapping(mappingKey: MappingKeyTypes, value: 'true' | 'false', roles: Record<string, Role>) {CODE
LOWwebapp/channels/src/utils/team_utils.tsx7function compareTeamsByDisplayName(locale: string, a: Team, b: Team) {CODE
LOWwebapp/channels/src/utils/admin_console_index.tsx104export function adminDefinitionsToUrlsAndTexts(adminDefinition: typeof AdminDefinition, intl: IntlShape) {CODE
LOWwebapp/channels/src/utils/notification_sounds.tsx100export function getValueOfNotificationSoundsSelect(soundName?: string) {CODE
1359 more matches not shown…
Self-Referential Comments375 hits · 1167 pts
SeverityFileLineSnippetContext
MEDIUMserver/docker-compose.pgvector.yml2# This file is used when MM_USE_PGVECTOR=true is setCOMMENT
MEDIUM…channels/websocket/channel_created/new_sidebar_spec.js24 // # Create a new channel from another sessionCOMMENT
MEDIUM…channels/websocket/channel_created/old_sidebar_spec.js24 // # Create a new channel from another sessionCOMMENT
MEDIUM…nel_settings/more_unreads_position_with_scroll_spec.ts22 // # Create a user and a team (done by apiInitSetup)COMMENT
MEDIUM…ation/channels/channel_settings/channel_header_spec.ts38 // # Create a new public channel and then private channelCOMMENT
MEDIUM…ation/channels/channel_settings/channel_header_spec.ts61 // # Create a GM with admin, user1 and user 2COMMENT
MEDIUM…nels/channel_settings/channel_name_validations_spec.ts104 // # Create a new test channel and navigate to itCOMMENT
MEDIUM…channels/channel_settings/add_users_to_channel_spec.ts188 // # Create a new channelCOMMENT
MEDIUM⚡…channels/channel_settings/add_users_to_channel_spec.ts231 // # Create a new userCOMMENT
MEDIUM⚡…channels/channel_settings/add_users_to_channel_spec.ts235 // # Create a custom user groupCOMMENT
MEDIUM⚡…channels/channel_settings/add_users_to_channel_spec.ts237 // # Create a new channelCOMMENT
MEDIUM⚡…channels/channel_settings/add_users_to_channel_spec.ts275 // # Create a new userCOMMENT
MEDIUM⚡…channels/channel_settings/add_users_to_channel_spec.ts277 // # Create a guest userCOMMENT
MEDIUM⚡…channels/channel_settings/add_users_to_channel_spec.ts281 // # Create a custom user groupCOMMENT
MEDIUM⚡…channels/channel_settings/add_users_to_channel_spec.ts283 // # Create a new channelCOMMENT
MEDIUM⚡…channels/channel_settings/add_users_to_channel_spec.ts325 // # Create a new userCOMMENT
MEDIUM⚡…channels/channel_settings/add_users_to_channel_spec.ts329 // # Create a custom user groupCOMMENT
MEDIUM⚡…channels/channel_settings/add_users_to_channel_spec.ts331 // # Create a new channelCOMMENT
MEDIUM…ess/tests/integration/channels/autocomplete/helpers.ts11 // # Create a private channel as sysadminCOMMENT
MEDIUM…ess/tests/integration/channels/autocomplete/helpers.ts16 // # Create a public channel as sysadminCOMMENT
MEDIUM⚡…ess/tests/integration/channels/autocomplete/helpers.ts193 // # Create a channel as sysadminCOMMENT
MEDIUM…prise/system_console/reporting/site_statistics_spec.js110 // # Create a bot and get userIDCOMMENT
MEDIUM…m_console/compliance/data_retention_policies_2_spec.js234 // # Create a new Team and ChannelCOMMENT
MEDIUM…m_console/compliance/data_retention_policies_2_spec.js241 // # Create a new channel in newTeamCOMMENT
MEDIUM…m_console/compliance/data_retention_policies_2_spec.js284 // # Create a new channelCOMMENT
MEDIUM…m_console/compliance/data_retention_policies_3_spec.js240 // # Create a new ChannelCOMMENT
MEDIUM…m_console/compliance/data_retention_policies_4_spec.js59 // # Create a new teamCOMMENT
MEDIUM…compliance/download_bot_compliance_export_file_spec.js43 //# Create a test botCOMMENT
MEDIUM…onsole/channel_moderation/higher_scoped_scheme_spec.ts174 // # Create a new team override scheme and remove manage public channel membersCOMMENT
MEDIUM…onsole/channel_moderation/higher_scoped_scheme_spec.ts223 // # Create a new team override scheme and remove manage private channel members from itCOMMENT
MEDIUM…stem_console/channel_moderation/post_reactions_spec.ts189 // # Create a new team override schemeCOMMENT
MEDIUM…stem_console/channel_moderation/manage_members_spec.ts157 // # Create a new team override scheme and remove manage members option for membersCOMMENT
MEDIUM…ntegration/channels/enterprise/ldap/ldap_guest_spec.ts188 // # Create a new teamCOMMENT
MEDIUM…ation/channels/enterprise/ldap/ldap_group_sync_spec.ts76 // # Create a test channelCOMMENT
MEDIUM…nnels/enterprise/elasticsearch_autocomplete/helpers.ts45 // # Create a channel as sysadminCOMMENT
MEDIUM…nnels/enterprise/elasticsearch_autocomplete/helpers.ts211 // # Create a private channel as sysadminCOMMENT
MEDIUM…nnels/enterprise/elasticsearch_autocomplete/helpers.ts216 // # Create a public channel as sysadminCOMMENT
MEDIUM…enterprise/elasticsearch_autocomplete/channels_spec.ts104 // # Create a private channel where the new user is not a member ofCOMMENT
MEDIUM…enterprise/elasticsearch_autocomplete/channels_spec.ts116 // # Create a private channel where the new user is not a member ofCOMMENT
MEDIUM…channels/enterprise/ldap_group/search_channels_spec.ts43 // # Create a channel.COMMENT
MEDIUM…channels/enterprise/ldap_group/search_channels_spec.ts81 // # Create a new channel.COMMENT
MEDIUM…channels/enterprise/ldap_group/search_channels_spec.ts104 // # Create a channel.COMMENT
MEDIUM…uest_accounts/guest_invitation_email_not_cloud_spec.ts92 // # Create the guest account with email and password (email is pre-filled from the invite)COMMENT
MEDIUM…enterprise/guest_accounts/guest_identification_spec.ts147 // # Create an account with Email and Password.COMMENT
MEDIUM…/enterprise/guest_accounts/guest_experience_ui_spec.ts190 // # Create a new teamCOMMENT
MEDIUM…/enterprise/guest_accounts/guest_invitation_ui_spec.ts55 // # Create a private channel in the test teamCOMMENT
MEDIUM…ion/channels/enterprise/channel/channel_groups_spec.ts33 // # Create a new team and associate one group to the teamCOMMENT
MEDIUM…gration/channels/enterprise/teams/search_teams_spec.js35 // # Create a new team.COMMENT
MEDIUM…gration/channels/enterprise/teams/search_teams_spec.js69 // # Create a new team.COMMENT
MEDIUM…gration/channels/enterprise/teams/search_teams_spec.js91 // # Create a team.COMMENT
MEDIUM…els/enterprise/profile_popover/profile_popover_spec.ts98 // # Create a private channelCOMMENT
MEDIUM…/profile_popover/profile_popover_spec_user_a_b_spec.ts60 // # Create a new teamCOMMENT
MEDIUM…rise/group_mentions/group_mentions_permissions_spec.ts127 // # Create a new channel so that regular user can be channel adminCOMMENT
MEDIUM…rise/group_mentions/group_mentions_permissions_spec.ts203 // # Create a new team and channel so that regular user can be team adminCOMMENT
MEDIUM…rise/group_mentions/group_mentions_permissions_spec.ts279 // # Create a new channel as a sysadminCOMMENT
MEDIUM…/group_mentions/group_mentions_system_messages_spec.ts109 // # Create a new channel as a regular userCOMMENT
MEDIUM…/group_mentions/group_mentions_system_messages_spec.ts135 // # Create a new team and channel as a sysadminCOMMENT
MEDIUM…/group_mentions/group_mentions_system_messages_spec.ts180 // # Create a new channel as a sysadminCOMMENT
MEDIUM…/group_mentions/group_mentions_system_messages_spec.ts220 // # Create a new channel as a sysadminCOMMENT
MEDIUM…enterprise/group_mentions/group_mentions_posts_spec.ts143 // # Create a new channel as a regular userCOMMENT
315 more matches not shown…
Over-Commented Block730 hits · 689 pts
SeverityFileLineSnippetContext
LOWmise.toml1# Toolchain for developers using mise. CI does not read this file -- it installsCOMMENT
LOWtools/mmgotool/commands/i18n.go841 texts = append(texts, form)COMMENT
LOWtools/mmgotool/commands/i18n.go961COMMENT
LOWtools/mmgotool/commands/i18n.go1061COMMENT
LOWwebapp/platform/types/src/mm_blocks.ts1// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.COMMENT
LOWwebapp/platform/components/src/hooks/useStackedModal.ts101 // sit a full increment above the previous stacked modal:COMMENT
LOW…platform/components/src/hooks/useStackedModal.test.tsx201COMMENT
LOWwebapp/channels/src/root.tsx1// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.COMMENT
LOWwebapp/channels/src/plugins/interactive_dialog.test.ts221COMMENT
LOWwebapp/channels/src/utils/path.ts1// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.COMMENT
LOWwebapp/channels/src/utils/latinise.tsx381 Ẓ: 'Z', // LATIN CAPITAL LETTER Z WITH DOT BELOWCOMMENT
LOWwebapp/channels/src/utils/latinise.tsx581 // CANNOT FIND APPROXIMATION FOR 'LATIN SMALL LETTER ESH WITH CURL' (ʆ)COMMENT
LOWwebapp/channels/src/utils/properties.ts21export function getUserPropertyFieldLabel(COMMENT
LOW…p/channels/src/components/apps_form/apps_form_grid.tsx41// column per child field. The heading, caret and border around it are theCOMMENT
LOW…p/channels/src/components/apps_form/apps_form_grid.tsx61// inputs stay labelled for screen readers. An error returned for a cell is notCOMMENT
LOW…nels/src/components/apps_form/apps_form_component.scss121}COMMENT
LOW…nels/src/components/apps_form/apps_form_component.scss261 // A select cell. react-select is clearable here, so its control carries aCOMMENT
LOW…mponents/channel_invite_modal/channel_invite_modal.tsx121 // its captured token before each step and aborts/skips state writes whenCOMMENT
LOW…ings_modal/channel_settings_permissions_policy_tab.tsx281 // Load existing channel policy and seed permission rules state.COMMENT
LOW…ings_modal/channel_settings_permissions_policy_tab.tsx1161 // rules" to match the modal's full rule-set scope.COMMENT
LOW…ents/channel_settings_modal/channel_settings_modal.tsx181COMMENT
LOW…ds/graph/page_all_access_control_field_options.test.ts621 const page = deferred<PropertyFieldOptionPage>();COMMENT
LOW…c/components/channel_attributes/banner_text_editor.tsx141 // a Range: a Range points at nodes, and every insert remounts the editor, so aCOMMENT
LOW…/components/channel_attributes/banner_text_editor.scss1// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.COMMENT
LOW…s/src/components/channel_attributes/banner_template.ts1// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.COMMENT
LOW…s/user_settings/general/user_settings_general.test.tsx1681 expect(screen.queryByText(OMITTED_COPY)).not.toBeInTheDocument();COMMENT
LOW…nels/src/components/admin_console/admin_definition.tsx161const SAML_SETTINGS_CANONICAL_ALGORITHM_C14N11 = 'Canonical1.1';COMMENT
LOW…nels/src/components/admin_console/admin_definition.tsx181// parent's config/state checks; @mattermost/no-redundant-admin-config-deps enforces this.COMMENT
LOW…nels/src/components/admin_console/admin_definition.tsx201//COMMENT
LOW…nels/src/components/admin_console/admin_definition.tsx221//COMMENT
LOW…_policies/policy_details/permission_policy_details.tsx621 // upper-scoped denies that theCOMMENT
LOW…t_tokens_button/revoke_non_compliant_tokens_button.tsx21 // System Console save-action hooks. Registered actions run after the configCOMMENT
LOW…space-optimization/dashboard_checks/easy_management.ts81// if (config.GuestAccountsSettings?.RestrictCreationToDomains) {COMMENT
LOW…space-optimization/dashboard_checks/easy_management.ts101// return {COMMENT
LOW…assification_markings/classification_markings.test.tsx181}COMMENT
LOW…s/admin_console/classification_markings/utils/index.ts1// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.COMMENT
LOW…s/admin_console/classification_markings/utils/index.ts21// introduced in #36250.COMMENT
LOW…s/admin_console/classification_markings/utils/index.ts381// A user field linked to the template mirrors the classification levels as itsCOMMENT
LOW…nsole/board_attributes/board_attributes_table.test.tsx201 const reorderField = jest.fn();COMMENT
LOW…console/system_user_detail/system_user_detail.test.tsx1441 expect(changesList).toHaveTextContent('Value unavailable');COMMENT
LOW…nsole/access_control/policy_details/policy_details.tsx461 // evaluated, and the server fails closed by denying the whole rule — so everyCOMMENT
LOW…onents/admin_console/access_control/editors/shared.tsx361const RESOURCE_SELECTOR = String.raw`resource\.attributes\.\w+`;COMMENT
LOW…e/access_control/editors/table_editor/table_editor.tsx41 // Without this guard the condition would be filtered out by updateExpression,COMMENT
LOW…e/access_control/editors/table_editor/table_editor.tsx241 // attribute those lower to a chain of `in` tests for literal options,COMMENT
LOW…e/access_control/editors/table_editor/table_editor.tsx421 // from the server visual AST at parse time, or the field type when the rowCOMMENT
LOW…rol/modals/simulate_access/decision_details_modal.scss1// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.COMMENT
LOW…rol/modals/simulate_access/decision_details_modal.scss241 border-radius: 4px;COMMENT
LOW…cess_control/modals/simulate_access/decision_chip.scss1// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.COMMENT
LOW…trol/modals/simulate_access/simulate_access_modal.scss1// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.COMMENT
LOW…trol/modals/simulate_access/simulate_access_modal.scss61 flex: 1 1 auto;COMMENT
LOW…trol/modals/simulate_access/simulate_access_modal.scss221COMMENT
LOW…trol/modals/simulate_access/simulate_access_modal.scss261 overflow: hidden;COMMENT
LOW…trol/modals/simulate_access/simulate_access_modal.scss381 &__table th:nth-child(2),COMMENT
LOW…/modals/simulate_access/simulate_access_modal.test.tsx1081 // the "Your policy" wording so the author can tell their ownCOMMENT
LOW…/modals/simulate_access/simulate_access_modal.test.tsx1281 // The simulator OR-folds every draft rule sharing the sameCOMMENT
LOW…ntrol/modals/simulate_access/simulate_access_modal.tsx181 // after a faster second one).COMMENT
LOW…ntrol/modals/simulate_access/simulate_access_modal.tsx401 }COMMENT
LOW…ntrol/modals/simulate_access/simulate_access_modal.tsx481 defaultMessage='Simulate access'COMMENT
LOW…trol/modals/simulate_access/decision_details_modal.tsx81 userAttributes,COMMENT
LOW…trol/modals/simulate_access/decision_details_modal.tsx901 ) {COMMENT
670 more matches not shown…
Decorative Section Separators196 hits · 505 pts
SeverityFileLineSnippetContext
MEDIUMtools/sharedchannel-test/test_membership.go30 // ── Test: Add users and verify sync ─────────────────────COMMENT
MEDIUMtools/sharedchannel-test/test_membership.go54 // ── Test: Remove one user and verify sync ───────────────COMMENT
MEDIUMtools/sharedchannel-test/test_membership.go81 // ── Test: Re-add removed user ───────────────────────────COMMENT
MEDIUMtools/sharedchannel-test/test_membership.go98 // ── Test: Bulk removal ──────────────────────────────────COMMENT
MEDIUMtools/sharedchannel-test/test_reactions.go48 // ── Test: Add reaction and verify sync ──────────────────COMMENT
MEDIUMtools/sharedchannel-test/test_reactions.go70 // ── Test: Remove reaction and verify sync ───────────────COMMENT
MEDIUMtools/sharedchannel-test/test_posts.go40 // ── Test: Create post and verify sync ───────────────────COMMENT
MEDIUMtools/sharedchannel-test/test_posts.go62 // ── Test: Edit post and verify sync ─────────────────────COMMENT
MEDIUMtools/sharedchannel-test/test_posts.go81 // ── Test: Delete post and verify sync ───────────────────COMMENT
MEDIUM…ings_modal/channel_settings_permissions_policy_tab.tsx361 // ── List filtering & pagination ───────────────────────────────────────COMMENT
MEDIUM…ings_modal/channel_settings_permissions_policy_tab.tsx391 // ── Editor commit/cancel/draft helpers ────────────────────────────────COMMENT
MEDIUM…ings_modal/channel_settings_permissions_policy_tab.tsx473 // ── Simulation: build the synthetic draft sent to /cel/simulate ──────COMMENT
MEDIUM…ings_modal/channel_settings_permissions_policy_tab.tsx504 // ── Persist to backend ────────────────────────────────────────────────COMMENT
MEDIUM…ings_modal/channel_settings_permissions_policy_tab.tsx630 // ── Render: editor view ───────────────────────────────────────────────COMMENT
MEDIUM…ings_modal/channel_settings_permissions_policy_tab.tsx690 // ── Render: list view ────────────────────────────────────────────────COMMENT
MEDIUM…ntrol/modals/simulate_access/simulate_access_modal.tsx184 // ── User fetch (search + pagination) ─────────────────────────────────COMMENT
MEDIUM⚡server/public/plugin/client_rpc.go40// ┌─────────────────────────┐ ┌─────────────────────────┐COMMENT
MEDIUM⚡server/public/plugin/client_rpc.go43// │ ┌───────────────────┐ │ hooks (calls) │ ┌───────────────────┐ │COMMENT
MEDIUM⚡server/public/plugin/client_rpc.go44// │ │ hooksRPCClient │──┼───────────────────►│ │ hooksRPCServer │ │COMMENT
MEDIUM⚡server/public/plugin/client_rpc.go45// │ └───────────────────┘ │ │ └───────────────────┘ │COMMENT
MEDIUM⚡server/public/plugin/client_rpc.go47// │ ┌───────────────────┐ │ API (callbacks) │ ┌───────────────────┐ │COMMENT
MEDIUM⚡server/public/plugin/client_rpc.go48// │ │ apiRPCServer │◄─┼────────────────────┼──│ apiRPCClient │ │COMMENT
MEDIUM⚡server/public/plugin/client_rpc.go49// │ └───────────────────┘ │ │ └───────────────────┘ │COMMENT
MEDIUM⚡server/public/plugin/client_rpc.go50// └─────────────────────────┘ └─────────────────────────┘COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go20// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go32// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go238// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go240// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go271// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go273// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go299// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go306// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go350// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go352// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go395// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go397// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go422// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go430// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go597// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go599// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go634// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/import_imported_users_test.go639// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go28// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go30// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go158// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go160// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go194// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go196// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go224// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go226// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go254// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go262// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go305// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go307// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go329// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go335// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go366// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go370// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go394// ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMserver/channels/app/migration_test.go396// ────────────────────────────────────────────────────────────────────────────COMMENT
136 more matches not shown…
Fake / Example Data226 hits · 258 pts
SeverityFileLineSnippetContext
LOW⚡webapp/platform/client/src/client4.test.ts546 const userId = 'dummy-user-id';CODE
LOW⚡webapp/platform/client/src/client4.test.ts550 const ndjsonData = '{"user_id":"dummy-user-id","channel_id":"channel1","roles":"channel_user"}\n' +CODE
LOW⚡webapp/platform/client/src/client4.test.ts551 '{"user_id":"dummy-user-id","channel_id":"channel2","roles":"channel_user channel_admin"}\n' +CODE
LOW⚡webapp/platform/client/src/client4.test.ts552 '{"user_id":"dummy-user-id","channel_id":"channel3","roles":"channel_user"}';CODE
LOW⚡webapp/platform/client/src/client4.test.ts565 expect(result[0]).toEqual({user_id: 'dummy-user-id', channel_id: 'channel1', roles: 'channel_user'});CODE
LOW⚡webapp/platform/client/src/client4.test.ts566 expect(result[1]).toEqual({user_id: 'dummy-user-id', channel_id: 'channel2', roles: 'channel_user channel_adCODE
LOW⚡webapp/platform/client/src/client4.test.ts567 expect(result[2]).toEqual({user_id: 'dummy-user-id', channel_id: 'channel3', roles: 'channel_user'});CODE
LOW⚡…bapp/channels/src/utils/member_invite_profiles.test.ts70 'user@example.com': {CODE
LOW⚡…bapp/channels/src/utils/member_invite_profiles.test.ts72 email: 'user@example.com',CODE
LOW⚡…bapp/channels/src/utils/member_invite_profiles.test.ts75 expect(getProfileForEmail(profiles, 'USER@EXAMPLE.COM')).toEqual(profiles['user@example.com']);CODE
LOW…/channels/src/utils/message_html_to_component.test.tsx66 const input = 'lorem ipsum www.dolor.com sit amet';CODE
LOW…/channels/src/utils/message_html_to_component.test.tsx74 const input = 'lorem ipsum www.dolor.com sit amet';CODE
LOW…hannels/src/components/localized_placeholder_input.tsx9} & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'placeholder'>;CODE
LOW…nels/src/components/localized_placeholder_textarea.tsx9} & Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'placeholder'>;CODE
LOW…mponents/post_markdown/system_message_helpers.test.tsx85 workspace_name: 'Acme Corp',CODE
LOW…mponents/post_markdown/system_message_helpers.test.tsx100 workspace_name: 'Acme Corp',CODE
LOW…app/channels/src/components/markdown/markdown.test.tsx30 email: 'test@test.com',CODE
LOW…_to_channel_modal/add_groups_to_channel_modal.test.tsx240 const option: any = {id: 'id', last_picture_update: '12345', email: 'test@test.com'};CODE
LOW…/components/advanced_text_editor/rewrite_menu.test.tsx307 expect(input).toHaveAttribute('placeholder', 'Ask AI to edit message...');CODE
LOW…/components/advanced_text_editor/rewrite_menu.test.tsx317 expect(input).toHaveAttribute('placeholder', 'Create a new message...');CODE
LOW…/components/advanced_text_editor/rewrite_menu.test.tsx328 expect(input).toHaveAttribute('placeholder', 'What would you like AI to do next?');CODE
LOW…ed_text_editor/wysiwyg_editor/wysiwyg_markdown.test.ts28 ['user@example.com', 'mailto:user@example.com'],CODE
LOW…nd_button/send_post_options/core_menu_options.test.tsx18const teammateDisplayName = 'John Doe';CODE
LOW…y_fields/hierarchical_value_menu/assignment_picker.tsx23'menuId' | 'buttonId' | 'buttonDataTestId' | 'placeholder' | 'ariaLabel' |CODE
LOW…erty_fields/hierarchical_value_menu/policy_adapter.tsx65'menuId' | 'buttonId' | 'buttonDataTestId' | 'placeholder' | 'ariaLabel' |CODE
LOW…onents/admin_console/unlimited_number_setting.test.tsx184 expect(numberInput).toHaveAttribute('placeholder', 'Enter a number');CODE
LOW…onents/admin_console/unlimited_number_setting.test.tsx197 expect(numberInput).toHaveAttribute('placeholder', 'No Limit');CODE
LOW…channels/src/components/admin_console/text_setting.tsx13interface Props extends Omit<WidgetTextSettingProps, 'placeholder'> {CODE
LOW…/group_settings/group_details/group_users_row.test.tsx16 email='test@test.com'CODE
LOW…/group_settings/group_details/group_users_row.test.tsx25 expect(screen.getByText('test@test.com')).toBeInTheDocument();CODE
LOW…mponents/admin_console/global_attributes/utils.test.ts60 await createAttributeField(' ', 'placeholder', 'text', []);CODE
LOW…tributes/attribute_details/graph/parents_pane.test.tsx108 'placeholder',CODE
LOW…tributes/attribute_details/graph/parents_pane.test.tsx397 'placeholder',CODE
LOW…tributes/attribute_details/graph/graph_values.test.tsx74 expect(screen.getByTestId('attributeOptionsGraphEmpty__nameInput')).toHaveAttribute('placeholder', 'Value name')CODE
LOW…tributes/attribute_details/graph/graph_values.test.tsx165 expect(screen.getByTestId('attributeOptionsGraphAddTop__nameInput')).toHaveAttribute('placeholder', 'Add a top-lCODE
LOW…tributes/attribute_details/graph/graph_values.test.tsx261 expect(screen.getByTestId('attributeOptionsGraphRow__childNameInput')).toHaveAttribute('placeholder', 'Name the CODE
LOW…/src/components/block_renderer/translation/mm_block.ts31const STATIC_SELECT_REQUIRED_KEYS = ['type', 'action_id', 'placeholder'];CODE
LOW⚡…bar/default_announcement_bar/announcement_bar.test.tsx29 const wrapper = renderWithContext(<AnnouncementBar message={<span>{'Lorem Ipsum'}</span>}/>);CODE
LOW⚡…bar/default_announcement_bar/announcement_bar.test.tsx31 wrapper.getByText('Lorem Ipsum');CODE
LOW⚡…bar/default_announcement_bar/announcement_bar.test.tsx37 const wrapper = renderWithContext(<AnnouncementBar message={<span>{'Lorem Ipsum'}</span>}/>);CODE
LOW⚡…bar/default_announcement_bar/announcement_bar.test.tsx39 userEvent.hover(wrapper.getByText('Lorem Ipsum'));CODE
LOWwebapp/channels/src/components/login/login.test.tsx504 await userEvent.type(emailInput, 'user@example.com');CODE
LOWwebapp/channels/src/components/login/login.test.tsx530 await userEvent.type(emailInput, 'user@example.com');CODE
LOWwebapp/channels/src/components/login/login.test.tsx539 expect(mockGetUserLoginType).toHaveBeenCalledWith('user@example.com');CODE
LOWwebapp/channels/src/components/login/login.test.tsx558 await userEvent.type(emailInput, 'user@example.com');CODE
LOWwebapp/channels/src/components/login/login.test.tsx577 await userEvent.type(emailInput, 'user@example.com');CODE
LOWwebapp/channels/src/components/login/login.test.tsx601 await userEvent.type(emailInput, 'user@example.com');CODE
LOW⚡webapp/channels/src/components/login/login.test.tsx632 await userEvent.type(emailInput, 'user@example.com');CODE
LOW⚡webapp/channels/src/components/login/login.test.tsx636 expect(mockGetUserLoginType).toHaveBeenCalledWith('user@example.com');CODE
LOW⚡webapp/channels/src/components/login/login.test.tsx645 expect(mockLogin).toHaveBeenCalledWith('user@example.com', 'password123', undefined);CODE
LOWwebapp/channels/src/components/login/login.test.tsx673 await userEvent.type(emailInput, 'user@example.com');CODE
LOWwebapp/channels/src/components/login/login.test.tsx698 await userEvent.type(emailInput, 'user@example.com');CODE
LOWwebapp/channels/src/components/login/login.test.tsx730 await userEvent.type(screen.getByLabelText('Email'), 'user@example.com');CODE
LOWwebapp/channels/src/components/login/login.test.tsx734 expect(mockLogin).toHaveBeenCalledWith('user@example.com', 'password123', undefined);CODE
LOW…rc/components/widgets/inputs/dropdown_input_hybrid.tsx20type Props<T extends OptionType> = Omit<SelectProps<T, false>, 'onChange' | 'onInputChange' | 'isMulti' | 'placeholder'>CODE
LOW…channels/src/components/widgets/inputs/input/input.tsx24export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement>, 'placeholderCODE
LOW…components/component_library/mm_blocks_editor_utils.ts493 {key: 'placeholder', label: 'placeholder', type: 'string'},CODE
LOW…rc/packages/mattermost-redux/src/utils/helpers.test.ts71 email: '#!$%&\'*+-/=?^_`{}|~@example.org',CODE
LOWwebapp/channels/src/actions/views/login.test.ts83 const result = await store.dispatch(getUserLoginType('user@example.com'));CODE
LOWwebapp/channels/src/actions/views/login.test.ts100 const result = await store.dispatch(getUserLoginType('user@example.com'));CODE
166 more matches not shown…
Redundant / Tautological Comments106 hits · 159 pts
SeverityFileLineSnippetContext
LOWserver/scripts/get_latest_release.sh36# Check if this is a release branchCOMMENT
LOW…ts/integration/channels/enterprise/oauth/oauth_spec.ts31 // # Set ServiceSettings to expected valuesCOMMENT
LOW…rise/elasticsearch_autocomplete/system_console_spec.ts19 // # Check if server has license for ElasticsearchCOMMENT
LOW…enterprise/elasticsearch_autocomplete/channels_spec.ts32 // # Check if server has license for ElasticsearchCOMMENT
LOW…/channels/enterprise/ldap_group/group_mentions_spec.ts156 // # Set groupID to navigate to group page directlyCOMMENT
LOW…enterprise/guest_accounts/guest_identification_spec.ts95 // # Check if user is allowed to enforce MFA for Guest accounts.COMMENT
LOW…rise/group_mentions/group_mentions_permissions_spec.ts68 // # Set groupID to navigate to group page directlyCOMMENT
LOW…/group_mentions/group_mentions_system_messages_spec.ts71 // # Set groupID to navigate to group page directlyCOMMENT
LOW…enterprise/group_mentions/group_mentions_posts_spec.ts75 // # Set groupID1 to navigate to group page directlyCOMMENT
LOW…enterprise/group_mentions/group_mentions_posts_spec.ts83 // # Set groupID1 to navigate to group page directlyCOMMENT
LOW…on/channels/files_and_attachments/upload_files_spec.js407 // # Open file previewCOMMENT
LOW…_and_attachments/image_link_preview_new_window_spec.js42 // # Open file previewCOMMENT
LOW…nnels/files_and_attachments/file_preview_video_spec.js116 // # Open file previewCOMMENT
LOW…s/files_and_attachments/upload_files_not_cloud_spec.js67 // # Open file previewCOMMENT
LOW…s/files_and_attachments/upload_files_not_cloud_spec.js174 // # Open file previewCOMMENT
LOW…nnels/files_and_attachments/image_link_preview_spec.js222 // # Open file previewCOMMENT
LOW…els/files_and_attachments/file_preview_generic_spec.js110 // # Open file previewCOMMENT
LOW…nnels/files_and_attachments/file_preview_image_spec.js130 // # Open file previewCOMMENT
LOW…nnels/files_and_attachments/file_preview_image_spec.js178 // # Open file previewCOMMENT
LOW…nnels/files_and_attachments/file_preview_audio_spec.js117 // # Open file previewCOMMENT
LOW…tegration/channels/system_console/demoted_user_spec.js26 // # Set user to be a sysadmin, so it can access the system consoleCOMMENT
LOW…ration/channels/system_console/user_management_spec.js221 // # Check if user's session is automatically logged out and the user is redirected to the login pageCOMMENT
LOW…ests/integration/channels/toast/permalink_post_spec.js30 // # Check if ... button is visible in last post right sideCOMMENT
LOW…els/message_forwarding/forward_message_from_dm_spec.js80 // # Check if ... button is visible in last post right sideCOMMENT
LOW…els/message_forwarding/forward_message_from_dm_spec.js123 // # Check if ... button is visible in last post right sideCOMMENT
LOW…orwarding/forward_message_from_private_channel_spec.js72 // # Check if ... button is visible in last post right sideCOMMENT
LOW…orwarding/forward_message_from_private_channel_spec.js115 // # Check if ... button is visible in last post right sideCOMMENT
LOW…els/message_forwarding/forward_message_from_gm_spec.js91 // # Check if ... button is visible in last post right sideCOMMENT
LOW…els/message_forwarding/forward_message_from_gm_spec.js134 // # Check if ... button is visible in last post right sideCOMMENT
LOW…forwarding/forward_message_from_public_channel_spec.js121 // # Check if ... button is visible in last post right sideCOMMENT
LOW…forwarding/forward_message_from_public_channel_spec.js143 // # Check if ... button is visible in last post right sideCOMMENT
LOW…forwarding/forward_message_from_public_channel_spec.js209 // # Check if ... button is visible in last post right sideCOMMENT
LOW…forwarding/forward_message_from_public_channel_spec.js229 // # Check if ... button is visible in last post right sideCOMMENT
LOW…forwarding/forward_message_from_public_channel_spec.js250 // # Check if ... button is visible in last post right sideCOMMENT
LOW…sts/integration/channels/channel/leave_channel_spec.ts88 // # Set CRT to onCOMMENT
LOW…egration/channels/channel/restrict_dm_channels_spec.ts143 // # Check if the direct message channel is still in the sidebarCOMMENT
LOW…integration/channels/integrations/integrations_spec.js20 // # Set ServiceSettings to expected valuesCOMMENT
LOW…annels/integrations/incoming_webhook/copy_icon_spec.js14 // # Set ServiceSettings to expected valuesCOMMENT
LOW…ion/channels/account_settings/account_settings_spec.ts33 // # Check if profile settings modal is openCOMMENT
LOW…/channels/collapsed_reply_threads/crt_settings_spec.ts34 // # Set CRT to offCOMMENT
LOW…/channels/collapsed_reply_threads/crt_settings_spec.ts40 // # Set CRT to onCOMMENT
LOW…s/accessibility/accessibility_account_settings_spec.js202 // # Check if language setting gets changed after user presses spaceCOMMENT
LOW…integration/channels/messaging/emoji_skin_tone_spec.js39 // # Set viewport to desktop and post gesture with skin toneCOMMENT
LOW…integration/channels/messaging/emoji_skin_tone_spec.js48 // # Set viewport to mobileCOMMENT
LOW…n/channels/messaging/message_edit_post_history_spec.ts148 // # Check if the edit history is visibleCOMMENT
LOW…tion/channels/messaging/permalink_message_edit_spec.js50 // # Check if url include the permalinkCOMMENT
LOW…tion/channels/messaging/permalink_message_edit_spec.js77 // # Check if url include the permalinkCOMMENT
LOW…ntegration/channels/messaging/image_attachment_spec.js180 // # Open file previewCOMMENT
LOW…hannels/messaging/channel_read_after_permalink_spec.js53 // # Check if ... button is visible in last post right sideCOMMENT
LOW…ration/channels/messaging/message_channel_draw_spec.js41 // # Open file upload options and select draw pluginCOMMENT
LOW…ration/channels/messaging/message_channel_draw_spec.js57 // # Open file upload options and select draw pluginCOMMENT
LOW…ration/channels/messaging/message_channel_draw_spec.js72 // # Open file upload options and select "Your Computer"COMMENT
LOW…tegration/channels/messaging/message_permalink_spec.js50 // # Check if ... button is visible in last post right sideCOMMENT
LOW…tegration/channels/messaging/message_permalink_spec.js99 // # Check if url include the permalinkCOMMENT
LOW…ration/channels/bot_accounts/bot_api_not_cloud_spec.ts30 // # Set ServiceSettings to expected valuesCOMMENT
LOW…integration/channels/bot_accounts/display_name_spec.ts22 // # Set ServiceSettings to expected valuesCOMMENT
LOW…ts/integration/channels/bot_accounts/bot_api_2_spec.ts33 // # Set ServiceSettings to expected valuesCOMMENT
LOW…tegration/channels/bot_accounts/crud_not_cloud_spec.ts26 // # Set ServiceSettings to expected valuesCOMMENT
LOW…ts/integration/channels/bot_accounts/bot_api_1_spec.ts29 // # Set ServiceSettings to expected valuesCOMMENT
LOWe2e-tests/cypress/tests/support/index.js226 // # Check if default team is present; create if not found.COMMENT
46 more matches not shown…
Hallucination Indicators13 hits · 130 pts
SeverityFileLineSnippetContext
CRITICALserver/channels/app/plugin_api.go342 session, err := api.app.ch.srv.platform.GetSessionByID(api.ctx, sessionID)CODE
CRITICALserver/channels/app/plugin_api.go347 if err := api.app.ch.srv.platform.ExtendSessionExpiry(session, expiresAt); err != nil {CODE
CRITICALserver/channels/app/oauth_test.go285 th.App.ch.srv.platform.SetSessionExpireInHours(session, 24)CODE
CRITICALserver/channels/app/plugin_api_test.go1544 th.App.ch.srv.platform.SetSqlStore(th.GetSqlStore()) // TODO: platform: check if necessaryCODE
CRITICALserver/channels/app/import_functions_test.go2846 _, _, err := th.App.ch.srv.teamService.JoinUserToTeam(th.Context, th.BasicTeam, user)CODE
CRITICALserver/channels/app/searchengine.go59 return a.ch.srv.platform.SearchEngine.ActiveEngine()CODE
CRITICALserver/channels/app/session_test.go325 cachedSession, errGet := th.App.ch.srv.platform.GetSession(th.Context, session.Token)CODE
CRITICALserver/channels/app/plugin_requests_test.go94 th.App.ch.srv.Router.ServeHTTP(rr, req)CODE
CRITICALserver/channels/app/plugin_requests_test.go115 th.App.ch.srv.RootRouter.ServeHTTP(rr, req)CODE
CRITICALserver/channels/app/plugin_requests_test.go131 th.App.ch.srv.Router.ServeHTTP(rr, req)CODE
CRITICALserver/channels/app/plugin_requests_test.go150 th.App.ch.srv.RootRouter.ServeHTTP(rr, req)CODE
CRITICAL…ccount_settings/profile/profile_picture_change_spec.ts35 getProfilePictureId().then((idNew) => expect(idNew).to.exist.and.not.to.be.equal(this.idOld));CODE
CRITICAL…console/board_attributes/board_attributes_edge.spec.ts104 await systemConsolePage.sidebar.systemAttributes.attributeManagement.link.click();CODE
Verbosity Indicators64 hits · 124 pts
SeverityFileLineSnippetContext
LOWtools/sharedchannel-test/test_posts.go143 // Step 1: baseline sync works.COMMENT
LOW⚡tools/sharedchannel-test/test_posts.go158 // Step 2: stop Server B.COMMENT
LOW⚡tools/sharedchannel-test/test_posts.go161 // Step 3: post M2 and M3 while Server B is offline.COMMENT
LOW⚡tools/sharedchannel-test/test_posts.go176 // Step 4: wait long enough for send retries to exhaust, but short enough thatCOMMENT
LOW⚡tools/sharedchannel-test/test_posts.go183 // Step 5: restart Server B.COMMENT
LOW⚡tools/sharedchannel-test/test_posts.go189 // Step 6: M2 and M3 must eventually appear on Server B via the recovery path.COMMENT
LOW⚡…src/components/claim/components/ldap_to_email.test.tsx66 // Step 1: Submit the initial MFA form to trigger an error that shows the password formCOMMENT
LOW⚡…src/components/claim/components/ldap_to_email.test.tsx76 // Step 2: Fill in the password form and submitCOMMENT
LOW…src/components/claim/components/ldap_to_email.test.tsx90 // Step 3: Submit the MFA form with the real tokenCOMMENT
LOWserver/enterprise/message_export/shared/export_data.go199 // If the channel is not in channelsInThisBatch (i.e. if it didn't have a post), we need to check if it hadCOMMENT
LOWserver/enterprise/elasticsearch/common/common_test.go531 // Step 1: Start with typed MessageAttachment (as a plugin/webhook would create)COMMENT
LOW⚡server/enterprise/elasticsearch/common/common_test.go556 // Step 2: Simulate CreatePost JSON round-trip (post.go:305-315)COMMENT
LOW⚡server/enterprise/elasticsearch/common/common_test.go568 // Step 3: Simulate ESPostFromPost (what the search layer calls)COMMENT
LOW⚡server/enterprise/elasticsearch/common/common_test.go573 // Step 4: Verify all attachment fields are indexedCOMMENT
LOW⚡server/platform/shared/healthcheck/reconcile.go79 // Step 1: an unreachable node yields one node-down finding, not a derived unknown per section.COMMENT
LOW⚡server/platform/shared/healthcheck/reconcile.go83 // Step 2: load this cycle's prior state so transitions can be computed against it.COMMENT
LOWserver/platform/shared/healthcheck/reconcile.go116 // Step 3: apply each evaluation to its finding. An unknown rule code is a programmingCOMMENT
LOWserver/platform/shared/healthcheck/reconcile.go158 // Step 4: age findings that were NOT evaluated this cycle (and aren't already unknown) toCOMMENT
LOWserver/platform/shared/healthcheck/reconcile.go202 // Step 5: one batched write so the whole cycle lands atomically for any reader.COMMENT
LOWserver/channels/app/server.go224 // Step 1: Platform.COMMENT
LOWserver/channels/app/server.go241 // Step 2: Init EnterpriseCOMMENT
LOW⚡server/channels/app/server.go301 // Step 4: Start platformCOMMENT
LOW⚡server/channels/app/server.go309 // Step 5: Initialize channels.COMMENT
LOW…ared_channel_global_user_sync_self_referential_test.go1151 // Step 1: Create "Server A" user and sync to "Server B"COMMENT
LOW…ared_channel_global_user_sync_self_referential_test.go1183 // Step 2: Simulate the synced user existing on Server BCOMMENT
LOW…ared_channel_global_user_sync_self_referential_test.go1196 // Step 3: Simulate connection reset by creating a new cluster A (from B's perspective)COMMENT
LOW⚡…ared_channel_global_user_sync_self_referential_test.go1212 // Step 4: Attempt B→A sync (should NOT sync the user back to A)COMMENT
LOW⚡…ared_channel_global_user_sync_self_referential_test.go1216 // Step 5: Verify the synced user was NOT sent back to ACOMMENT
LOWserver/channels/app/content_flagging.go553 // if user is not in common or team specific reviewers, we need to check if they areCOMMENT
LOW⚡server/channels/app/shared_channel_test.go232 // Step 1: Verify the channel is initially sharedCOMMENT
LOW⚡server/channels/app/shared_channel_test.go236 // Step 2: Create a sync message that would be sent to the remoteCOMMENT
LOW⚡server/channels/app/shared_channel_test.go246 // Step 3: Simulate receiving ErrChannelIsNotShared from the remoteCOMMENT
LOW⚡server/channels/app/shared_channel_test.go250 // Step 4: Verify the channel is no longer shared locallyCOMMENT
LOW⚡server/channels/app/shared_channel_test.go382 // Step 1: Verify the channel is initially shared with both remotesCOMMENT
LOW⚡server/channels/app/shared_channel_test.go386 // Step 2: Create a post in the channel to trigger sync activityCOMMENT
LOW⚡server/channels/app/shared_channel_test.go404 // Step 3: Create a sync message for remote 1COMMENT
LOW⚡server/channels/app/shared_channel_test.go414 // Step 4: Simulate remote 1 returning ErrChannelIsNotSharedCOMMENT
LOW⚡server/channels/app/platform/service.go289 // Step 3: Search EngineCOMMENT
LOW⚡server/channels/app/platform/service.go293 // Step 4: Init EnterpriseCOMMENT
LOW⚡server/channels/app/platform/service.go297 // Step 5: Init MetricsCOMMENT
LOW⚡server/channels/app/platform/service.go304 // Step 6: Store.COMMENT
LOWserver/channels/app/platform/service.go176 // Step 0: Create the PlatformService.COMMENT
LOWserver/channels/app/platform/service.go224 // Step 1: Start logging.COMMENT
LOWserver/channels/app/platform/service.go257 // Step 2: Cache provider.COMMENT
LOWserver/channels/app/platform/service.go366 // Step 7: initialize status and session cache.COMMENT
LOWserver/channels/app/platform/service.go396 // Step 8: Init LicenseCOMMENT
LOWserver/channels/app/platform/service.go410 // Step 9: Initialize filestoreCOMMENT
LOWserver/channels/app/platform/service.go436 // Step 10: Init Metrics Server depends on step 6 (store) and 8 (license)COMMENT
LOWserver/channels/app/platform/service.go451 // Step 11: Init AsymmetricSigningKey depends on step 6 (store)COMMENT
LOW⚡server/channels/api4/user_test.go2980 // Step 1: member logs in and confirms their session works.COMMENT
LOW⚡server/channels/api4/user_test.go2988 // Step 2: admin changes the member's authentication method.COMMENT
LOW⚡server/channels/api4/user_test.go2996 // Step 3: original token must no longer be accepted.COMMENT
LOW…on/channels/messaging/message_reply_scrollable_spec.js52 cy.uiGetReplyTextBox().type('foo', {scrollBehavior: false}); // without scrollBehavior=false cypress automaticalCODE
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts147 // Step 5: User who satisfies policy but NOT in channel → should NOT be auto-addedCOMMENT
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts151 // Step 6: User who satisfies policy and IS in channel → no change (stays in channel)COMMENT
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts155 // Step 7: User who does NOT satisfy policy and IS in channel → auto-removedCOMMENT
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts349 // Step 5: User who satisfies policy but NOT in channel → should be AUTO-ADDEDCOMMENT
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts353 // Step 6: User who satisfies policy and IS in channel → no change (stays in channel)COMMENT
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts357 // Step 7: User who does NOT satisfy policy and IS in channel → auto-removedCOMMENT
LOW…/channel_classification/channel_classification.spec.ts321 // Step 1: enable classification, select a level, saveCOMMENT
4 more matches not shown…
Structural Annotation Overuse62 hits · 122 pts
SeverityFileLineSnippetContext
LOWtools/sharedchannel-test/test_posts.go143 // Step 1: baseline sync works.COMMENT
LOW⚡tools/sharedchannel-test/test_posts.go158 // Step 2: stop Server B.COMMENT
LOW⚡tools/sharedchannel-test/test_posts.go161 // Step 3: post M2 and M3 while Server B is offline.COMMENT
LOW⚡tools/sharedchannel-test/test_posts.go176 // Step 4: wait long enough for send retries to exhaust, but short enough thatCOMMENT
LOW⚡tools/sharedchannel-test/test_posts.go183 // Step 5: restart Server B.COMMENT
LOW⚡tools/sharedchannel-test/test_posts.go189 // Step 6: M2 and M3 must eventually appear on Server B via the recovery path.COMMENT
LOW⚡…src/components/claim/components/ldap_to_email.test.tsx66 // Step 1: Submit the initial MFA form to trigger an error that shows the password formCOMMENT
LOW⚡…src/components/claim/components/ldap_to_email.test.tsx76 // Step 2: Fill in the password form and submitCOMMENT
LOW…src/components/claim/components/ldap_to_email.test.tsx90 // Step 3: Submit the MFA form with the real tokenCOMMENT
LOWserver/enterprise/elasticsearch/common/common_test.go531 // Step 1: Start with typed MessageAttachment (as a plugin/webhook would create)COMMENT
LOW⚡server/enterprise/elasticsearch/common/common_test.go556 // Step 2: Simulate CreatePost JSON round-trip (post.go:305-315)COMMENT
LOW⚡server/enterprise/elasticsearch/common/common_test.go568 // Step 3: Simulate ESPostFromPost (what the search layer calls)COMMENT
LOW⚡server/enterprise/elasticsearch/common/common_test.go573 // Step 4: Verify all attachment fields are indexedCOMMENT
LOW⚡server/platform/shared/healthcheck/reconcile.go79 // Step 1: an unreachable node yields one node-down finding, not a derived unknown per section.COMMENT
LOW⚡server/platform/shared/healthcheck/reconcile.go83 // Step 2: load this cycle's prior state so transitions can be computed against it.COMMENT
LOWserver/platform/shared/healthcheck/reconcile.go116 // Step 3: apply each evaluation to its finding. An unknown rule code is a programmingCOMMENT
LOWserver/platform/shared/healthcheck/reconcile.go158 // Step 4: age findings that were NOT evaluated this cycle (and aren't already unknown) toCOMMENT
LOWserver/platform/shared/healthcheck/reconcile.go202 // Step 5: one batched write so the whole cycle lands atomically for any reader.COMMENT
LOWserver/channels/app/server.go224 // Step 1: Platform.COMMENT
LOWserver/channels/app/server.go241 // Step 2: Init EnterpriseCOMMENT
LOW⚡server/channels/app/server.go301 // Step 4: Start platformCOMMENT
LOW⚡server/channels/app/server.go309 // Step 5: Initialize channels.COMMENT
LOW…ared_channel_global_user_sync_self_referential_test.go1151 // Step 1: Create "Server A" user and sync to "Server B"COMMENT
LOW…ared_channel_global_user_sync_self_referential_test.go1183 // Step 2: Simulate the synced user existing on Server BCOMMENT
LOW…ared_channel_global_user_sync_self_referential_test.go1196 // Step 3: Simulate connection reset by creating a new cluster A (from B's perspective)COMMENT
LOW⚡…ared_channel_global_user_sync_self_referential_test.go1212 // Step 4: Attempt B→A sync (should NOT sync the user back to A)COMMENT
LOW⚡…ared_channel_global_user_sync_self_referential_test.go1216 // Step 5: Verify the synced user was NOT sent back to ACOMMENT
LOWserver/channels/app/scheduled_recap.go188// NOTE: This method does NOT use CreateRecap because that method relies onCOMMENT
LOW⚡server/channels/app/shared_channel_test.go232 // Step 1: Verify the channel is initially sharedCOMMENT
LOW⚡server/channels/app/shared_channel_test.go236 // Step 2: Create a sync message that would be sent to the remoteCOMMENT
LOW⚡server/channels/app/shared_channel_test.go246 // Step 3: Simulate receiving ErrChannelIsNotShared from the remoteCOMMENT
LOW⚡server/channels/app/shared_channel_test.go250 // Step 4: Verify the channel is no longer shared locallyCOMMENT
LOW⚡server/channels/app/shared_channel_test.go382 // Step 1: Verify the channel is initially shared with both remotesCOMMENT
LOW⚡server/channels/app/shared_channel_test.go386 // Step 2: Create a post in the channel to trigger sync activityCOMMENT
LOW⚡server/channels/app/shared_channel_test.go404 // Step 3: Create a sync message for remote 1COMMENT
LOW⚡server/channels/app/shared_channel_test.go414 // Step 4: Simulate remote 1 returning ErrChannelIsNotSharedCOMMENT
LOW⚡server/channels/app/platform/service.go289 // Step 3: Search EngineCOMMENT
LOW⚡server/channels/app/platform/service.go293 // Step 4: Init EnterpriseCOMMENT
LOW⚡server/channels/app/platform/service.go297 // Step 5: Init MetricsCOMMENT
LOW⚡server/channels/app/platform/service.go304 // Step 6: Store.COMMENT
LOWserver/channels/app/platform/service.go176 // Step 0: Create the PlatformService.COMMENT
LOWserver/channels/app/platform/service.go224 // Step 1: Start logging.COMMENT
LOWserver/channels/app/platform/service.go257 // Step 2: Cache provider.COMMENT
LOWserver/channels/app/platform/service.go366 // Step 7: initialize status and session cache.COMMENT
LOWserver/channels/app/platform/service.go396 // Step 8: Init LicenseCOMMENT
LOWserver/channels/app/platform/service.go410 // Step 9: Initialize filestoreCOMMENT
LOWserver/channels/app/platform/service.go436 // Step 10: Init Metrics Server depends on step 6 (store) and 8 (license)COMMENT
LOWserver/channels/app/platform/service.go451 // Step 11: Init AsymmetricSigningKey depends on step 6 (store)COMMENT
LOW⚡server/channels/api4/user_test.go2980 // Step 1: member logs in and confirms their session works.COMMENT
LOW⚡server/channels/api4/user_test.go2988 // Step 2: admin changes the member's authentication method.COMMENT
LOW⚡server/channels/api4/user_test.go2996 // Step 3: original token must no longer be accepted.COMMENT
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts147 // Step 5: User who satisfies policy but NOT in channel → should NOT be auto-addedCOMMENT
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts151 // Step 6: User who satisfies policy and IS in channel → no change (stays in channel)COMMENT
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts155 // Step 7: User who does NOT satisfy policy and IS in channel → auto-removedCOMMENT
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts349 // Step 5: User who satisfies policy but NOT in channel → should be AUTO-ADDEDCOMMENT
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts353 // Step 6: User who satisfies policy and IS in channel → no change (stays in channel)COMMENT
LOW⚡…l/system_console/abac/policies/create_policies.spec.ts357 // Step 7: User who does NOT satisfy policy and IS in channel → auto-removedCOMMENT
LOW…/channel_classification/channel_classification.spec.ts321 // Step 1: enable classification, select a level, saveCOMMENT
LOW…/channel_classification/channel_classification.spec.ts334 // Step 2: in the same open modal, disable classification, enable a manual banner,COMMENT
LOW⚡…nels/team_settings/team_settings_policy_editor.spec.ts741 // # Step 1: Team admin can see the policy (all channels in their team)COMMENT
2 more matches not shown…
Synthetic Comment Markers9 hits · 68 pts
SeverityFileLineSnippetContext
HIGHwebapp/channels/src/utils/post_utils.ts711// Checks if a post has valid AI-generated metadataCOMMENT
HIGHserver/channels/app/post.go688 // Populate AI-generated username from provided user IDCOMMENT
HIGHserver/channels/app/post.go696 // Only allow AI-generated username if the user is the post creator or a botCOMMENT
HIGHserver/channels/app/post_test.go4243 // Try to set AI-generated user ID to a different user (not post creator, not bot)COMMENT
HIGHserver/channels/app/post_test.go4266 // Set AI-generated user ID to a non-existent userCOMMENT
HIGH…tion/channels/multi_team_and_dm/max_gm_members_spec.js113 // # Add the first user from the top of the list, as many times as requested by 'userCountToAdd'COMMENT
HIGH…tion/channels/multi_team_and_dm/max_gm_members_spec.js113 // # Add the first user from the top of the list, as many times as requested by 'userCountToAdd'COMMENT
HIGH…n/channels/multi_team_and_dm/close_gm_via_menu_spec.js86 // # Add the first user from the top of the list, as many times as requested by 'userCountToAdd'COMMENT
HIGH…n/channels/multi_team_and_dm/close_gm_via_menu_spec.js86 // # Add the first user from the top of the list, as many times as requested by 'userCountToAdd'COMMENT
AI Slop Vocabulary20 hits · 56 pts
SeverityFileLineSnippetContext
MEDIUMwebapp/channels/src/root.tsx19// in a minimum of places, as it is preferred to leverage react-router, configured to use thisCOMMENT
MEDIUM…n_console/license_settings/modals/ee_license_modal.tsx57 <p>{'The subscription-only features of the Mattermost Enterprise Edition software and associatedCODE
MEDIUMwebapp/channels/src/i18n/pt.json1479 "admin.gitlab.EnableMarkdownDesc": "1. Inicie sessão na sua conta GitLab e vá a Definições do Perfil -> Aplicações.\n2CODE
MEDIUMwebapp/channels/src/i18n/pt.json5991 "help.formatting.headings.description": "Crie um título escrevendo <code>#</code> e um espaço antes do seu título. ParCODE
MEDIUMserver/public/plugin/plugintest/mock/mock.go6// to fully utilize the plugintest package.COMMENT
MEDIUM…hared_channel_membership_sync_self_referential_test.go306 // Wait for batch messages to be received with more robust checkingCOMMENT
MEDIUM…hared_channel_membership_sync_self_referential_test.go620 // Wait for first sync attempt with more robust checkingCOMMENT
MEDIUM…hared_channel_membership_sync_self_referential_test.go638 // Wait for successful sync with more robust checkingCOMMENT
MEDIUM…hared_channel_membership_sync_self_referential_test.go1569 // // This test verifies robust handling of conflicting membership states between multiple clusters.COMMENT
MEDIUMserver/channels/app/password/hashers/hashers.go6// This package allows for seamless migrations of password hashing methods. ToCOMMENT
MEDIUMdocs/site/package-lock.json20021 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz",CODE
MEDIUM…/channel_settings/channel_admin_self_inclusion.spec.ts184 // lowest Id, so populating multiple matches makes the assertion robustCOMMENT
MEDIUM…ub/workflows/e2e-tests-playwright-rolling-upgrades.yml6 # re-check a from-version after a resolver or harness change — without needing a PR.COMMENT
MEDIUM.github/workflows/e2e-tests-on-merge.yml114 # Rolling upgrades: auto when the merge touches the harness or aCOMMENT
MEDIUM.github/workflows/e2e-tests-ci.yml232 # Rolling upgrades: opt-in on manual dispatch, or auto when the PR touches the harness.COMMENT
MEDIUM…ows/e2e-tests-playwright-rolling-upgrades-template.yml9# Shape mirrors e2e-tests-playwright-template.yml, with the upgrade harness prepended to eachCOMMENT
MEDIUM…ows/e2e-tests-playwright-rolling-upgrades-template.yml11# then draws normal specs against it. The harness itself never goes through test system io —COMMENT
MEDIUM…ows/e2e-tests-playwright-rolling-upgrades-template.yml218 # system io's inactivity window. Workers here have the upgrade harness to get through first, soCOMMENT
MEDIUM…ows/e2e-tests-playwright-rolling-upgrades-template.yml219 # the gap is wider than the full suite's — see the harness note on the workers job.COMMENT
MEDIUM…ows/e2e-tests-playwright-rolling-upgrades-template.yml334 # Skipped automatically when the harness above failed, since a server that did not surviveCOMMENT
Cross-Language Confusion (JS/TS)4 hits · 28 pts
SeverityFileLineSnippetContext
HIGHwebapp/channels/src/utils/license_utils.test.ts52 it('should return True if expiring in 5 days - non Cloud', () => {CODE
HIGH⚡webapp/channels/src/utils/license_utils.test.ts65 it('should return True if expired 1 day ago - non Cloud', () => {CODE
HIGH⚡webapp/channels/src/utils/license_utils.test.ts73 it('should return False if cloud expired 11 days ago', () => {CODE
HIGH⚡webapp/channels/src/utils/license_utils.test.ts79 it('should return True if expired 1 day ago - non Cloud', () => {CODE
Slop Phrases7 hits · 13 pts
SeverityFileLineSnippetContext
MEDIUM…hannels/src/components/emoji/emoji_list/emoji_list.tsx291 defaultMessage="Tip: If you add #, ##, or ### as the first character on a new line containinCODE
LOW…e/system_roles/system_role/system_role_permissions.tsx229 defaultMessage="Don't forget to deauthorize all other system users from administering CustomCODE
LOWwebapp/channels/src/i18n/en-AU.json2922 "admin.permissions.roles.system_custom_group_admin.deauthorize_reminder": "Don't forget to deauthorise all other systeCODE
MEDIUMwebapp/channels/src/i18n/en-AU.json5614 "emoji_list.help2": "Tip: If you add #, ##, or ### as the first character on a new line containing emoji, you can use CODE
MEDIUMserver/cmd/mmctl/commands/user.go98 Example: ` # if you have system permissions, you can change other user's passwordsCODE
MEDIUMserver/cmd/mattermost/commands/db.go36 Example: ` # you can use the config flag to pass the DSNCODE
MEDIUMserver/cmd/mattermost/commands/db.go39 # or you can use the MM_CONFIG environment variableCOMMENT
Empty Error Handlers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHdocs/scripts/build-offline-bundle.py108except FileNotFoundError:CODE
HIGHdocs/scripts/build-offline-bundle.py115except OSError:CODE
Deep Nesting11 hits · 10 pts
SeverityFileLineSnippetContext
LOWdocs/scripts/build-offline-bundle.py63CODE
LOW.github/scripts/check_config_changes_ci.py481CODE
LOW.github/scripts/generate_changelog.py201CODE
LOW.github/scripts/generate_changelog.py357CODE
LOW.github/scripts/generate_changelog.py721CODE
LOW.github/scripts/generate_changelog.py844CODE
LOW.github/scripts/generate_changelog.py993CODE
LOW.github/scripts/generate_changelog.py1193CODE
LOW.github/scripts/test_e2e_status_workflows.py342CODE
LOW.github/scripts/test_e2e_status_workflows.py353CODE
LOW.github/scripts/test_e2e_status_workflows.py372CODE
Modern AI Meta-Vocabulary3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMdocs/develop/contribute/more-info/webapp/e2e-testing.md23E2E tests are located at the root of the repository in [the `e2e-tests` folder](https://github.com/mattermost/mattermostCODE
MEDIUM.github/scripts/generate_changelog.py575# v11 file exactly. Used to scaffold e.g. mattermost-v12-changelog.mdx on the firstCOMMENT
MEDIUM.github/scripts/test_e2e_status_workflows.py216 # Even a green orchestration result and AI verdict cannot clear upload failures.COMMENT
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…/packages/mattermost-redux/src/store/configureStore.ts52 // @hmhealey I've added this extra argument to Thunks to store information related to the store that can't beCOMMENT
Excessive Try-Catch Wrapping4 hits · 4 pts
SeverityFileLineSnippetContext
LOW.github/scripts/check_config_changes_ci.py708 except Exception as e:CODE
LOW.github/scripts/migration_automation.py322 except Exception as e:CODE
LOW.github/scripts/migration_automation.py332 except Exception as e:CODE
LOW.github/scripts/migration_automation.py349 except Exception as e:CODE
Overly Generic Function Names3 hits · 3 pts
SeverityFileLineSnippetContext
LOW…ages/mattermost-redux/src/reducers/requests/helpers.ts17export function handleRequest(CODE
LOW…/integration/channels/messaging/copy_post_text_spec.js62 const postCodeBlock = '```javascript\nvar foo = "bar"\nfunction doSomething()\nreturn 7;\n}\n```';CODE
LOW…/integration/channels/messaging/copy_post_text_spec.js63 const copiedCodeBlockText = 'var foo = "bar"\nfunction doSomething()\nreturn 7;\n}\n';CODE
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOWserver/public/utils/page.go16// Example usage:COMMENT
LOWserver/channels/app/password/hashers/hashers_dev.go32// Example usage:COMMENT
Modern Structural Boilerplate2 hits · 2 pts
SeverityFileLineSnippetContext
LOW.github/scripts/check_config_changes_ci.py624def update_pr_body(new_body: str) -> None:CODE
LOW.github/scripts/generate_changelog.py1149def set_github_output(name: str, value) -> None:CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWdocs/scripts/build-offline-bundle.py11CODE