Repository Analysis

zammad/zammad

Zammad is a web based open source helpdesk/customer support system.

3.0 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of zammad/zammad, a Ruby project with 5,753 GitHub stars. SynthScan v2.0 examined 978,696 lines of code across 8980 source files, recording 2368 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 3.0 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

3.0
Adjusted Score
3.0
Raw Score
100%
Time Factor
2026-07-14
Last Push
5.8K
Stars
Ruby
Language
978.7K
Lines of Code
9.0K
Files
2.4K
Pattern Hits
2026-07-14
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 15HIGH 1MEDIUM 77LOW 2275

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 2368 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers1181 hits · 1416 pts
SeverityFileLineSnippetContext
LOWapp/frontend/shared/initializer/globalComponents.ts29export default function initializeGlobalComponents(app: App): void {CODE
LOWapp/frontend/shared/initializer/storeSubscriptions.ts11export default function initializeStoreSubscriptions(): void {CODE
LOWapp/frontend/shared/initializer/globalProperties.ts9export default function initializeGlobalProperties(app: App): void {CODE
LOWapp/frontend/shared/types/global.d.ts24declare function getCurrentQueryPollingConfig(): QueryPollingConfigCODE
LOW…erver/apollo/cache/utils/registerIncomingQueryMerge.ts15export default function registerIncomingQueryMerge(CODE
LOW…/cache/utils/registerNotNormalizedObjectFieldsMerge.ts8export default function registerNotNormalizedObjectFieldsMerge(CODE
LOW…d/shared/server/apollo/cache/utils/registerRedirect.ts8export default function registerIncomingQueryMerge(CODE
LOW…er/apollo/cache/utils/registerOffsetStylePagination.ts38export default function registerOffsetStylePagination(CODE
LOW…server/apollo/cache/utils/registerIncomingTypeMerge.ts11export default function registerIncomingQueryMerge(CODE
LOW…ver/apollo/cache/utils/registerRelayStylePagination.ts8export default function registerRelayStylePagination(CODE
LOW…d/components/Form/graphql/queries/formUpdater.mocks.ts11export function waitForFormUpdaterQueryCalls() {CODE
LOW…d/components/Form/graphql/queries/formUpdater.mocks.ts15export function mockFormUpdaterQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypes }) {CODE
LOW…/FieldFile/graphql/mutations/uploadCache/remove.api.ts15export function useFormUploadCacheRemoveMutation(options: VueApolloComposable.UseMutationOptions<Types.FormUploadCacheReCODE
LOW…s/FieldFile/graphql/mutations/uploadCache/add.mocks.ts7export function mockFormUploadCacheAddMutation(defaults: Mocks.MockDefaultsValue<Types.FormUploadCacheAddMutation, TypesCODE
LOW…s/FieldFile/graphql/mutations/uploadCache/add.mocks.ts11export function waitForFormUploadCacheAddMutationCalls() {CODE
LOW…s/FieldFile/graphql/mutations/uploadCache/add.mocks.ts15export function mockFormUploadCacheAddMutationError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypes }) CODE
LOW…ieldFile/graphql/mutations/uploadCache/remove.mocks.ts7export function mockFormUploadCacheRemoveMutation(defaults: Mocks.MockDefaultsValue<Types.FormUploadCacheRemoveMutation,CODE
LOW…ieldFile/graphql/mutations/uploadCache/remove.mocks.ts11export function waitForFormUploadCacheRemoveMutationCalls() {CODE
LOW…ieldFile/graphql/mutations/uploadCache/remove.mocks.ts15export function mockFormUploadCacheRemoveMutationError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypes CODE
LOW…lds/FieldFile/graphql/mutations/uploadCache/add.api.ts20export function useFormUploadCacheAddMutation(options: VueApolloComposable.UseMutationOptions<Types.FormUploadCacheAddMuCODE
LOW…mpleteSearchObjectAttributeExternalDataSource.mocks.ts7export function mockAutocompleteSearchObjectAttributeExternalDataSourceQuery(defaults: Mocks.MockDefaultsValue<Types.AutCODE
LOW…mpleteSearchObjectAttributeExternalDataSource.mocks.ts11export function waitForAutocompleteSearchObjectAttributeExternalDataSourceQueryCalls() {CODE
LOW…mpleteSearchObjectAttributeExternalDataSource.mocks.ts15export function mockAutocompleteSearchObjectAttributeExternalDataSourceQueryError(message: string, extensions: {type: ErCODE
LOW…completeSearchObjectAttributeExternalDataSource.api.ts19export function useAutocompleteSearchObjectAttributeExternalDataSourceQuery(variables: Types.AutocompleteSearchObjectAttCODE
LOW…completeSearchObjectAttributeExternalDataSource.api.ts22export function useAutocompleteSearchObjectAttributeExternalDataSourceLazyQuery(variables?: Types.AutocompleteSearchObjeCODE
LOW…/graphql/queries/autocompleteSearch/recipient.mocks.ts7export function mockAutocompleteSearchRecipientQuery(defaults: Mocks.MockDefaultsValue<Types.AutocompleteSearchRecipientCODE
LOW…/graphql/queries/autocompleteSearch/recipient.mocks.ts11export function waitForAutocompleteSearchRecipientQueryCalls() {CODE
LOW…/graphql/queries/autocompleteSearch/recipient.mocks.ts15export function mockAutocompleteSearchRecipientQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypCODE
LOW…nt/graphql/queries/autocompleteSearch/recipient.api.ts21export function useAutocompleteSearchRecipientQuery(variables: Types.AutocompleteSearchRecipientQueryVariables | VueCompCODE
LOW…nt/graphql/queries/autocompleteSearch/recipient.api.ts24export function useAutocompleteSearchRecipientLazyQuery(variables?: Types.AutocompleteSearchRecipientQueryVariables | VuCODE
LOW…ustomer/graphql/queries/autocompleteSearch/user.api.ts30export function useAutocompleteSearchUserQuery(variables: Types.AutocompleteSearchUserQueryVariables | VueCompositionApiCODE
LOW…ustomer/graphql/queries/autocompleteSearch/user.api.ts33export function useAutocompleteSearchUserLazyQuery(variables?: Types.AutocompleteSearchUserQueryVariables | VueCompositiCODE
LOW…er/graphql/queries/autocompleteSearch/generic.mocks.ts7export function mockAutocompleteSearchGenericQuery(defaults: Mocks.MockDefaultsValue<Types.AutocompleteSearchGenericQuerCODE
LOW…er/graphql/queries/autocompleteSearch/generic.mocks.ts11export function waitForAutocompleteSearchGenericQueryCalls() {CODE
LOW…er/graphql/queries/autocompleteSearch/generic.mocks.ts15export function mockAutocompleteSearchGenericQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypesCODE
LOW…tomer/graphql/queries/autocompleteSearch/user.mocks.ts7export function mockAutocompleteSearchUserQuery(defaults: Mocks.MockDefaultsValue<Types.AutocompleteSearchUserQuery, TypCODE
LOW…tomer/graphql/queries/autocompleteSearch/user.mocks.ts11export function waitForAutocompleteSearchUserQueryCalls() {CODE
LOW…tomer/graphql/queries/autocompleteSearch/user.mocks.ts15export function mockAutocompleteSearchUserQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypes })CODE
LOW…omer/graphql/queries/autocompleteSearch/generic.api.ts81export function useAutocompleteSearchGenericQuery(variables: Types.AutocompleteSearchGenericQueryVariables | VueCompositCODE
LOW…omer/graphql/queries/autocompleteSearch/generic.api.ts84export function useAutocompleteSearchGenericLazyQuery(variables?: Types.AutocompleteSearchGenericQueryVariables | VueComCODE
LOW…gent/graphql/queries/autocompleteSearch/agent.mocks.ts7export function mockAutocompleteSearchAgentQuery(defaults: Mocks.MockDefaultsValue<Types.AutocompleteSearchAgentQuery, TCODE
LOW…gent/graphql/queries/autocompleteSearch/agent.mocks.ts11export function waitForAutocompleteSearchAgentQueryCalls() {CODE
LOW…gent/graphql/queries/autocompleteSearch/agent.mocks.ts15export function mockAutocompleteSearchAgentQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorTypes }CODE
LOW…dAgent/graphql/queries/autocompleteSearch/agent.api.ts30export function useAutocompleteSearchAgentQuery(variables: Types.AutocompleteSearchAgentQueryVariables | VueCompositionACODE
LOW…dAgent/graphql/queries/autocompleteSearch/agent.api.ts33export function useAutocompleteSearchAgentLazyQuery(variables?: Types.AutocompleteSearchAgentQueryVariables | VueComposiCODE
LOW…aphql/queries/autocompleteSearch/organization.mocks.ts7export function mockAutocompleteSearchOrganizationQuery(defaults: Mocks.MockDefaultsValue<Types.AutocompleteSearchOrganiCODE
LOW…aphql/queries/autocompleteSearch/organization.mocks.ts11export function waitForAutocompleteSearchOrganizationQueryCalls() {CODE
LOW…aphql/queries/autocompleteSearch/organization.mocks.ts15export function mockAutocompleteSearchOrganizationQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorCODE
LOW…graphql/queries/autocompleteSearch/organization.api.ts25export function useAutocompleteSearchOrganizationQuery(variables: Types.AutocompleteSearchOrganizationQueryVariables | VCODE
LOW…graphql/queries/autocompleteSearch/organization.api.ts28export function useAutocompleteSearchOrganizationLazyQuery(variables?: Types.AutocompleteSearchOrganizationQueryVariableCODE
LOW…ns/knowledgeBase/suggestion/content/transform.mocks.ts7export function mockKnowledgeBaseAnswerSuggestionContentTransformMutation(defaults: Mocks.MockDefaultsValue<Types.KnowleCODE
LOW…ns/knowledgeBase/suggestion/content/transform.mocks.ts11export function waitForKnowledgeBaseAnswerSuggestionContentTransformMutationCalls() {CODE
LOW…ns/knowledgeBase/suggestion/content/transform.mocks.ts15export function mockKnowledgeBaseAnswerSuggestionContentTransformMutationError(message: string, extensions: {type: ErrorCODE
LOW…ions/knowledgeBase/suggestion/content/transform.api.ts29export function useKnowledgeBaseAnswerSuggestionContentTransformMutation(options: VueApolloComposable.UseMutationOptionsCODE
LOW…graphql/queries/knowledgeBase/answerSuggestions.api.ts21export function useKnowledgeBaseAnswerSuggestionsQuery(variables: Types.KnowledgeBaseAnswerSuggestionsQueryVariables | VCODE
LOW…graphql/queries/knowledgeBase/answerSuggestions.api.ts24export function useKnowledgeBaseAnswerSuggestionsLazyQuery(variables?: Types.KnowledgeBaseAnswerSuggestionsQueryVariableCODE
LOW…aphql/queries/knowledgeBase/answerSuggestions.mocks.ts7export function mockKnowledgeBaseAnswerSuggestionsQuery(defaults: Mocks.MockDefaultsValue<Types.KnowledgeBaseAnswerSuggeCODE
LOW…aphql/queries/knowledgeBase/answerSuggestions.mocks.ts11export function waitForKnowledgeBaseAnswerSuggestionsQueryCalls() {CODE
LOW…aphql/queries/knowledgeBase/answerSuggestions.mocks.ts15export function mockKnowledgeBaseAnswerSuggestionsQueryError(message: string, extensions: {type: ErrorTypes.GraphQLErrorCODE
LOW…itor/graphql/queries/mention/mentionSuggestions.api.ts24export function useMentionSuggestionsQuery(variables: Types.MentionSuggestionsQueryVariables | VueCompositionApi.Ref<TypCODE
1121 more matches not shown…
Fake / Example Data726 hits · 706 pts
SeverityFileLineSnippetContext
LOW.gitlab/ci/review-app.yml74 "login": "admin@example.com",CODE
LOW.gitlab/ci/review-app.yml77 "email": "admin@example.com",CODE
LOW.gitlab/ci/review-app.yml92 "users": ["admin@example.com", "agent1@example.com"]CODE
LOW.gitlab/ci/review-app.yml96 "users": ["admin@example.com", "agent1@example.com"],CODE
LOW.gitlab/ci/test/api_client.yml19 ZAMMAD_PHP_API_CLIENT_UNIT_TESTS_USERNAME: "admin@example.com"CODE
LOW…s/Form/fields/FieldTreeSelect/treeselect-visuals.cy.ts36 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar.'CODE
LOW…s/Form/fields/FieldTreeSelect/treeselect-visuals.cy.ts36 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar.'CODE
LOW…ed/components/Form/fields/FieldTags/tags-visuals.cy.ts11 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. Quisque CODE
LOW…ed/components/Form/fields/FieldTags/tags-visuals.cy.ts11 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. Quisque CODE
LOW…nents/Form/fields/FieldTextarea/textarea-visuals.cy.ts13 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. Quisque CODE
LOW…nents/Form/fields/FieldTextarea/textarea-visuals.cy.ts13 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. Quisque CODE
LOW…omponents/Form/fields/FieldSelect/select-visuals.cy.ts34 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. QuisCODE
LOW…omponents/Form/fields/FieldSelect/select-visuals.cy.ts34 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar. QuisCODE
LOW…rm/fields/FieldAutoComplete/autocomplete-visuals.cy.ts34 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar.',CODE
LOW…rm/fields/FieldAutoComplete/autocomplete-visuals.cy.ts34 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vestibulum sem quis purus elementum pulvinar.',CODE
LOW…FieldEditor/editor-mention-user-exit-with-escape.cy.ts34 fullname: 'John Doe',CODE
LOW…ents/Form/fields/FieldEditor/editor-mention-user.cy.ts46 fullname: 'John Doe',CODE
LOW…elds/FieldEditor/editor-mention-user-with-spaces.cy.ts34 fullname: 'John Doe',CODE
LOW…elds/FieldEditor/editor-mention-user-with-spaces.cy.ts48 .and('contain.text', 'John Doe')CODE
LOWapp/frontend/tests/support/mock-webauthn.ts40 name: 'user@example.com',CODE
LOW…/graphql/builders/__tests__/subscription-calls.spec.ts47 const fullname = 'John Doe'CODE
LOW…frontend/shared/form/features/translateWrapperProps.ts12const propsToTranslate = ['label', 'placeholder', 'help']CODE
LOW…frontend/shared/form/features/translateWrapperProps.ts13const attrsToTranslate = ['placeholder']CODE
LOW…/form/features/__tests__/translateWrapperProps.spec.ts25 props: ['label', 'placeholder', 'help'],CODE
LOWapp/frontend/shared/stores/__tests__/session.spec.ts18 fullname: 'John Doe',CODE
LOWapp/frontend/shared/stores/__tests__/session.spec.ts149 fullname: 'Jane Doe',CODE
LOW…frontend/shared/components/Form/__tests__/Form.spec.ts740 fullname: 'John Doe',CODE
LOW…frontend/shared/components/Form/__tests__/Form.spec.ts749 expect(await wrapper.findByLabelText('Customer')).toHaveTextContent('John Doe')CODE
LOW…frontend/shared/components/Form/__tests__/Form.spec.ts837 fullname: 'John Doe',CODE
LOW…frontend/shared/components/Form/__tests__/Form.spec.ts896 value: 'John Doe',CODE
LOW…frontend/shared/components/Form/__tests__/Form.spec.ts918 fullname: 'John Doe',CODE
LOW…m/fields/FieldPassword/__tests__/FieldPassword.spec.ts43 expect(input).not.toHaveAttribute('placeholder')CODE
LOW…m/fields/FieldPassword/__tests__/FieldPassword.spec.ts62 expect(input).toHaveAttribute('placeholder', 'Enter your password')CODE
LOW…ents/Form/fields/FieldList/__tests__/FieldList.spec.ts39 <FormKit type="text" name="email-adress" id="text" value="admin@example.com" />CODE
LOW…ents/Form/fields/FieldList/__tests__/FieldList.spec.ts52 expect(node?.value).toStrictEqual(['admin@example.com', 'admin2@example.com'])CODE
LOW…m/fields/FieldTextarea/__tests__/FieldTextarea.spec.ts41 expect(textarea).not.toHaveAttribute('placeholder')CODE
LOW…m/fields/FieldTextarea/__tests__/FieldTextarea.spec.ts61 expect(textarea).toHaveAttribute('placeholder', 'Enter your body')CODE
LOW…m/fields/FieldTextarea/__tests__/FieldTextarea.spec.ts116 expect(textarea).toHaveAttribute('placeholder', 'Enter your body')CODE
LOW…m/fields/FieldTextarea/__tests__/FieldTextarea.spec.ts124 expect(textarea).toHaveAttribute('placeholder', 'Gib deinen Text ein')CODE
LOW…/Form/fields/FieldInputs/__tests__/FieldInputs.spec.ts34 expect(input).not.toHaveAttribute('placeholder')CODE
LOW…/Form/fields/FieldInputs/__tests__/FieldInputs.spec.ts53 expect(input).toHaveAttribute('placeholder', 'Enter your title')CODE
LOW…/Form/fields/FieldInputs/__tests__/FieldInputs.spec.ts100 value: 'admin@example.com',CODE
LOW…/Form/fields/FieldInputs/__tests__/FieldInputs.spec.ts109 const input = wrapper.getByDisplayValue('admin@example.com')CODE
LOW…/Form/fields/FieldInputs/__tests__/FieldInputs.spec.ts114 expect(node?.value).toBe('admin@example.com')CODE
LOW…nts/ObjectAttributes/__tests__/ObjectAttribute.spec.ts168 fullname: 'John Doe',CODE
LOW…nts/ObjectAttributes/__tests__/ObjectAttribute.spec.ts183 expect(view.getByText('John Doe')).toBeInTheDocument()CODE
LOW…/CommonInputSearch/__tests__/CommonInputSearch.spec.ts21 expect(search).toHaveAttribute('placeholder', 'Search…')CODE
LOW…ts/Form/fields/FieldAgent/__tests__/FieldAgent.spec.ts117 fullname: 'John Doe',CODE
LOW…ts/Form/fields/FieldAgent/__tests__/FieldAgent.spec.ts127 expect(wrapper.getByRole('listitem')).toHaveTextContent('John Doe')CODE
LOW…ts/Form/fields/FieldAgent/__tests__/FieldAgent.spec.ts134 fullname: 'Jane Doe',CODE
LOW…ts/Form/fields/FieldAgent/__tests__/FieldAgent.spec.ts141 expect(wrapper.getByRole('listitem')).toHaveTextContent('Jane Doe')CODE
LOW…ieldEditor/__tests__/FieldEditorSuggestionList.spec.ts151 fullname: 'John Doe',CODE
LOW…ieldEditor/__tests__/FieldEditorSuggestionList.spec.ts185 fullname: 'John Doe',CODE
LOW…ieldEditor/__tests__/FieldEditorSuggestionList.spec.ts216 fullname: 'John Doe',CODE
LOW…sktop/components/CommonInlineEdit/CommonInlineEdit.vue319 :placeholder="placeholder"CODE
LOW…ndDropBulk/components/__tests__/BulkScrollList.spec.ts24 label: 'John Doe',CODE
LOW…DropBulk/__tests__/DragAndDropBulkBottomDrawer.spec.ts97 { value: 42, label: 'John Doe', object: { id: convertToGraphQLId('User', '42') } },CODE
LOW…DropBulk/__tests__/DragAndDropBulkBottomDrawer.spec.ts108 expect(await wrapper.findByText('John Doe')).toBeVisible()CODE
LOW…DropBulk/__tests__/DragAndDropBulkBottomDrawer.spec.ts164 { value: 42, label: 'John Doe', object: { id: convertToGraphQLId('User', '42') } },CODE
LOW…DropBulk/__tests__/DragAndDropBulkBottomDrawer.spec.ts184 expect(wrapper.getByText('John Doe')).toBeInTheDocument()CODE
666 more matches not shown…
Over-Commented Block277 hits · 276 pts
SeverityFileLineSnippetContext
LOW.markdownlint.yml1########################################COMMENT
LOW.gitlab/configure_environment.rb1#!/usr/bin/env rubyCOMMENT
LOWapp/frontend/tests/graphql/factories/types/Checklist.ts21 // checked: false,COMMENT
LOWapp/frontend/shared/sw/register.ts101 // \`event.wasWaitingBeforeRegister\` will be false if this isCOMMENT
LOWapp/frontend/shared/utils/__tests__/htmlCleanup.spec.ts201 // this is done on the backend nowCOMMENT
LOWapp/frontend/shared/utils/__tests__/htmlCleanup.spec.ts221 // result = htmlCleanup(source)COMMENT
LOWapp/frontend/shared/utils/__tests__/htmlCleanup.spec.ts241 // '<div><div><div><div><div id="article-content-4"><div><div>This is a black font colour with white background</divCOMMENT
LOW…m/plugins/initializeFieldInitialValuesCleanupPlugin.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…m/plugins/initializeFieldInitialValuesCleanupPlugin.ts21// - On child re-add: restoring the previously saved _init value, so that togglingCOMMENT
LOW…m/plugins/initializeFieldInitialValuesCleanupPlugin.ts141 // by core workflow after the form already settled). FormKit's addChildCOMMENT
LOW…ared/components/Form/fields/FieldDate/healDateRange.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…red/components/Form/fields/FieldDate/usePickerModel.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…/fields/FieldEditor/extensions/CharacterCount/types.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…ntend/shared/entities/object-attributes/types/store.ts41export type OperatorFilterProps = Record<OperatorName, Record<string, unknown>>COMMENT
LOW…red/entities/ticket/channel/plugins/__tests__/utils.ts1// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…red/entities/ticket/channel/plugins/__tests__/utils.ts21COMMENT
LOW…red/entities/ticket/channel/plugins/__tests__/utils.ts41// communication: false,COMMENT
LOW…red/entities/ticket/channel/plugins/__tests__/utils.ts61// ticket: TicketById,COMMENT
LOW…ields/FieldFilterSelector/FieldFilterSelectorInput.vue321COMMENT
LOW…op/components/Form/fields/FieldFilterSelector/types.ts21 }COMMENT
LOW…omponents/Form/fields/FieldDate/FieldDateTimeInput.vue81// - 'dd' - 2-digit dayCOMMENT
LOW…SetupImportSource/GuidedSetupImportSourceFreshdesk.vue41 // },COMMENT
LOW…p/pages/search/composables/useSearchAdvancedFilters.ts121 // Per-entity bookkeeping the form-updater needs to resolve filter-rowCOMMENT
LOW…d/apps/desktop/pages/search/utils/searchFilterQuery.ts81 .forEach((entry) => params.append(key, decodeURIComponent(entry)))COMMENT
LOW…/components/SearchControls/SearchEntityFiltersForm.vue81)COMMENT
LOW…ages/authentication/__tests__/login-two-factor.spec.ts141 defaultTwoFactorAuthenticationMethod: EnumTwoFactorAuthenticationMethod.AuthenticatorApp,COMMENT
LOWapp/models/import_job.rb41 ensureCOMMENT
LOWapp/models/import_job.rb61 instance = name.constantize.new(self)COMMENT
LOWapp/models/import_job.rb101 # ImportJob.start_registeredCOMMENT
LOWapp/models/import_job.rb141 #COMMENT
LOWapp/models/token.rb121 # fetch token for a user with a given actionCOMMENT
LOW…ation_model/can_query_case_insensitive_where_or_sql.rb1# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…ation_model/can_query_case_insensitive_where_or_sql.rb21 class_methods doCOMMENT
LOW…models/form_updater/updater/search/advanced_filters.rb1# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOW…models/form_updater/updater/search/advanced_filters.rb21# we reuse FormUpdater::Relation::* including Relation::Group's tree handling).COMMENT
LOWapp/models/form_updater/graphql/serializer.rb1# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOWapp/models/form_updater/graphql/serializer.rb21 # # "lastname" => "Doe",COMMENT
LOWapp/models/form_updater/graphql/serializer.rb41 # FormUpdater::GraphqlSerializer.serialize(COMMENT
LOWapp/models/form_updater/graphql/serializers/user.rb21COMMENT
LOWapp/models/channel/driver/imap.rb21 # @option options [String] :hostCOMMENT
LOWapp/models/channel/driver/base_email_inbound.rb21COMMENT
LOWapp/models/channel/driver/smtp.rb1# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOWapp/models/channel/driver/smtp.rb21 # instance = Channel::Driver::Smtp.newCOMMENT
LOWapp/models/channel/driver/pop3.rb21 # @option options [String] :ssl off to turn off sslCOMMENT
LOWapp/models/channel/driver/microsoft_graph_inbound.rb1# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOWapp/models/channel/driver/microsoft_graph_inbound.rb21 # notice: 'e. g. message about to big emails in mailbox',COMMENT
LOWapp/models/ai/agent.rb1# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOWapp/models/ai/agent.rb21# articles: 'first|last|all', // The last article (current trigger article) or all articles of the object.COMMENT
LOWapp/models/ai/agent.rb41# condition: {COMMENT
LOWapp/models/ai/agent.rb81 endCOMMENT
LOWapp/models/concerns/can_perform_changes.rb1# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/COMMENT
LOWapp/models/concerns/can_perform_changes.rb21# include CanPerformChangesCOMMENT
LOWapp/models/concerns/has_roles.rb61 endCOMMENT
LOWapp/models/concerns/has_roles.rb81 def role_access(group, access)COMMENT
LOWapp/models/concerns/has_groups.rb21 has_many :groups, through: group_through_identifier doCOMMENT
LOWapp/models/concerns/has_groups.rb61 #COMMENT
LOWapp/models/concerns/has_groups.rb141 role_group_ids = RoleGroup.eager_load(:group).where(role_id: role_ids, access: access, groups: { active: true }).pluCOMMENT
LOWapp/models/concerns/has_groups.rb161 group_ids = group_ids_access(access)COMMENT
LOWapp/models/concerns/has_groups.rb181 #COMMENT
LOWapp/models/concerns/has_groups.rb201 endCOMMENT
217 more matches not shown…
Self-Referential Comments54 hits · 171 pts
SeverityFileLineSnippetContext
MEDIUMapp/models/active_job_lock.rb24 # This method is used to find the Delayed::Job record representing the ActiveJob associated with this lock.COMMENT
MEDIUMapp/models/channel/driver/base_email_inbound.rb156 # This method is used for custom IMAP only.COMMENT
MEDIUM…channel/driver/base_email_inbound/message_validator.rb16 # This method is used by IMAP and MicrosoftGraphInbound onlyCOMMENT
MEDIUM…channel/driver/base_email_inbound/message_validator.rb30 # This method is used by IMAP and MicrosoftGraphInbound onlyCOMMENT
MEDIUM…channel/driver/base_email_inbound/message_validator.rb38 # This method is used by IMAP and MicrosoftGraphInbound onlyCOMMENT
MEDIUM…channel/driver/base_email_inbound/message_validator.rb48 # This method is used by IMAP and MicrosoftGraphInbound onlyCOMMENT
MEDIUM…channel/driver/base_email_inbound/message_validator.rb67 # This method is used by IMAP and MicrosoftGraphInbound onlyCOMMENT
MEDIUMapp/policies/ticket_policy.rb40 # This method is used to check if a follow-up is possible (mostly based on the configuration).COMMENT
MEDIUMapp/graphql/gql/types/base_cached_connection.rb7 # This class represents a connection with special behaviour. It provides a signature value of the current collectionCOMMENT
MEDIUMapp/graphql/gql/types/enum/base_enum.rb7 # Create an enum type from a list of classes.COMMENT
MEDIUMapp/graphql/gql/types/enum/base_enum.rb14 # Create an enum type from a list of strings.COMMENT
MEDIUMapp/graphql/gql/concerns/handles_authorization.rb25 # This method is used by GraphQL to perform authorization on the various objects.COMMENT
MEDIUMapp/jobs/application_job.rb22 # This method is used to find the Delayed::Job record representing the ActiveJob with the given active_job_id.COMMENT
MEDIUMapp/controllers/sessions_controller.rb116 # Create a new user or add an auth to existing user, depending onCOMMENT
MEDIUM…rvices/service/template/interpolation/engine/parser.rb4 # This module is used to scan, collect all replacment variables within aCOMMENT
MEDIUMapp/services/service/link/list.rb13 # Create a list of object related references filtered by target typeCOMMENT
MEDIUMapp/services/service/history/group.rb3# Create a list of grouped history records by given interval and issuer for aCOMMENT
MEDIUMapp/services/service/history/list.rb3# Create a list of history events for a given object.COMMENT
MEDIUMconfig/cable.yml1# This file is not used by Zammad, configuration happens in:COMMENT
MEDIUMconfig/initializers/wrap_parameters.rb5# This file contains settings for ActionController::ParamsWrapper whichCOMMENT
MEDIUMconfig/initializers/permissions_policy.rb5# Define an application-wide HTTP permissions policy. For furtherCOMMENT
MEDIUMconfig/initializers/content_security_policy.rb5# Define an application-wide content security policyCOMMENT
MEDIUMspec/rails_helper.rb3# This file is copied to spec/ when you run 'rails generate rspec:install'COMMENT
MEDIUMspec/models/user_spec.rb84 # Create the agent, before the default notifications are set, soCOMMENT
MEDIUMspec/models/user_spec.rb116 # Create the customer, before the default notifications are set, soCOMMENT
MEDIUMspec/requests/ticket_spec.rb1833 # Create an online notification for the ticket owner (not the agent doing the update)COMMENT
MEDIUM…ec/requests/knowledge_base/search_with_details_spec.rb107 # Create a alternative knowledge base locale.COMMENT
MEDIUMspec/system/system/object_manager_spec.rb139 # Create the field via API.COMMENT
MEDIUMspec/system/ticket/zoom/email_reply_body_spec.rb19 # Create a ticket article with a specific timestamp and customer origin.COMMENT
MEDIUMspec/system/apps/desktop/ticket/shared_drafts_spec.rb58 # Create an internal note for agent2COMMENT
MEDIUMspec/system/apps/desktop/ticket/shared_drafts_spec.rb123 # Create an internal note for agent1COMMENT
MEDIUMspec/support/request.rb132 # The following methods are self explaining and are just shorter aliases.COMMENT
MEDIUMspec/support/graphql.rb83 # Create a mock channel that can be passed to graphql_execute like this:COMMENT
MEDIUMspec/support/capybara/selectors.rb3# This file defines custom Capybara selectors for DRYed specs.COMMENT
MEDIUMspec/support/capybara/browser_test_helper.rb200 # This method is a derivation of Selenium::WebDriver::Wait#untilCOMMENT
MEDIUMspec/support/capybara/browser_test_helper.rb220 # This method is a derivation of Selenium::WebDriver::Wait#untilCOMMENT
MEDIUMspec/support/capybara/common_actions.rb222 # This method is equivalent to Capybara::RSpecMatchers#have_current_pathCOMMENT
MEDIUMspec/support/capybara/common_actions.rb267 # Create a select attribute:COMMENT
MEDIUMspec/support/capybara/common_actions.rb271 # Create a required text attribute:COMMENT
MEDIUMspec/support/capybara/common_actions.rb275 # Create a date attribute with custom parameters:COMMENT
MEDIUMspec/graphql/gql/mutations/login_spec.rb79 # Create the user before the GraphQL query execution, so that we have only the activity streamCOMMENT
MEDIUMspec/jobs/ticket_online_notification_seen_job_spec.rb33 # Create an online notification for the mentioned user on the same ticketCOMMENT
MEDIUMspec/services/service/ai/agent/run_spec.rb276 # Create the custom category attributeCOMMENT
MEDIUMspec/services/service/ai/agent/run_spec.rb432 # Create the multiselect attributeCOMMENT
MEDIUMlib/assets_set.rb8# This class implements a collection of Zammad Assets with no duplicates.COMMENT
MEDIUMlib/assets_set.rb46 # This method is used to convert the AssetsSet into a regular Hash which then can be send to the client.COMMENT
MEDIUM…support/lib/active_support/tagged_logging/formatter.rb25 # This method is invoked when a log event occurs.COMMENT
MEDIUMlib/zammad/service/configuration.rb6 # This module provides a method to parse a Zammad third-party serviceCOMMENT
MEDIUMlib/assets_set/proxy.rb3# This class defines a Proxy for accessing objects inside of a AssetsSet Model sub structure.COMMENT
MEDIUMlib/sequencer/unit/base.rb167 # This method is the heart of the #uses and #provides method.COMMENT
MEDIUMlib/sequencer/unit/base.rb207 # This method is the attribute store for the given declaration key.COMMENT
MEDIUMlib/sequencer/unit/base.rb237 # This method is an instance wrapper around the class method .instance_variable_cached.COMMENT
MEDIUMlib/sequencer/unit/base.rb244 # This method is an convenience wrapper to create an instanceCOMMENT
MEDIUM…migrate/20221116134211_issue_2185_and_or_conditions.rb16 # Create the new setting with correct prio.COMMENT
Hallucination Indicators15 hits · 150 pts
SeverityFileLineSnippetContext
CRITICAL…frontend/shared/components/Form/__tests__/Form.spec.ts1391 const calls = mockFormUpdaterApi.spies.behave.mock.calls.slice(initialCallCount)CODE
CRITICAL…an_selector/advanced_sorting/base_select_field_sort.rb36 cache_prefix = self.class.name.demodulize.tableize.tr('_', '-')CODE
CRITICALapp/assets/javascripts/app/lib/core/jquery-3.6.0.js8092jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {CODE
CRITICAL…ssets/javascripts/app/lib/bootstrap/popover-enhance.js26 $.fn.popover.Constructor.prototype.leave.call(self, self);CODE
CRITICALapp/assets/javascripts/app/lib/base/codemirror.js8936 return this.cm.display.wrapper.ownerDocument.getSelection()CODE
CRITICALapp/assets/javascripts/app/lib/base/jquery.noty.js118 self.options.layout.container.style.apply($(self.options.layout.container.selector), [self.options.within]);CODE
CRITICALapp/assets/javascripts/app/lib/base/jquery.noty.js123 self.options.theme.callback.onShow.apply(this);CODE
CRITICALapp/assets/javascripts/app/lib/base/jquery.noty.js270 self.options.theme.callback.onClose.apply(self);CODE
CRITICALapp/assets/javascripts/app/lib/base/jquery.noty.js283 self.options.theme.callback.onClose.apply(self);CODE
CRITICALapp/assets/javascripts/app/lib/base/jquery.noty.js311 this.options.theme.callback.onShow.apply(this);CODE
CRITICALconfig/initializers/content_type_allowed_inline.rb4Rails.application.config.active_storage.content_types_allowed_inline.delete('application/pdf')CODE
CRITICALconfig/initializers/content_type_allowed_inline.rb7Rails.application.config.active_storage.content_types_allowed_inline.push('image/jpg')CODE
CRITICALspec/support/capybara/driven_by.rb72 page.driver.browser.manage.window.resize_to(browser_width, browser_height)CODE
CRITICALpublic/assets/form/jquery-3.6.0.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALpublic/assets/chat/jquery-3.6.0.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
Redundant / Tautological Comments32 hits · 47 pts
SeverityFileLineSnippetContext
LOW.gitlab/ci/review-app.yml47 # Check if containers were previously created, so that this is an update deploymentCOMMENT
LOWapp/models/mention.rb62 # Check if user is subscribed to given objectCOMMENT
LOWapp/models/mention.rb107 # Check if given user is able to subscribe to a given objectCOMMENT
LOWapp/models/setting.rb109 # Check if last last lookup was recent enoughCOMMENT
LOWapp/models/channel/filter/reply_to_based_sender.rb12 # Check if the reply-to address can be parsed and otherwise skip the filter.COMMENT
LOWapp/models/ticket/article.rb416 # Check if article type is emailCOMMENT
LOWapp/models/concerns/has_roles.rb52 # Check if the new role for the user has "ticket.agent" permission.COMMENT
LOWapp/policies/group_policy.rb34 # Check if user is customer for any tickets in this group.COMMENT
LOWapp/graphql/gql/mutations/base_mutation.rb22 # Set this to false for mutations that don't need CSRF verification.COMMENT
LOWapp/graphql/gql/fields/scoped_field.rb26 # Check if the pundit result is a 'FieldScope' object.COMMENT
LOWapp/controllers/knowledge_base/categories_controller.rb21 # Check if ids for models in collection are presentCOMMENT
LOWapp/services/service/ai/agent/run/perform/agent.rb84 # Check if the key exists in ai_result_contentCOMMENT
LOWconfig/environments/production.rb73 # Set this to true and configure the email server for immediate delivery to raise delivery errors.COMMENT
LOWspec/requests/user_spec.rb1665 # Check if ES is usedCOMMENT
LOWspec/system/ticket/idoit_spec.rb83 # Check if the item is still gone after reload.COMMENT
LOWspec/system/ticket/view_spec.rb367 # Check if still only one article exists on the ticket.COMMENT
LOWspec/system/manage/overviews_expert_conditions_spec.rb306 # Check if the State attribute is disabled in the new dropdown.COMMENT
LOWspec/system/apps/mobile/login_spec.rb66 # Check if we are already in mobile.COMMENT
LOWspec/db/migrate/password_settings_change_type_spec.rb170 include(name: 'pkce', tag: 'boolean', display: 'PKCE'), # Check if migration was OKCODE
LOWspec/db/migrate/password_settings_change_type_spec.rb171 include(display: 'Scopes') # Check if the rest of form values are not lostCODE
LOWcontrib/edit-icon-license-list.php144# Add images to arrayCOMMENT
LOWlib/background_services.rb67 # Check if child processes are still alive, terminate the main process otherwise toCOMMENT
LOWlib/password_policy.rb3# Check if password matches system settingsCOMMENT
LOWlib/external_credential/microsoft_base.rb114 # Check if current user of the channel is matching the user from the token.COMMENT
LOWlib/external_credential/microsoft_base.rb151 # Check if a bound address with the same email already exists.COMMENT
LOWlib/sessions/event/maintenance.rb21 # Check if the event contains the maintenance message and sanitize it.COMMENT
LOWlib/text/quote_remover.rb117 # Check if more > lines follow after empty linesCOMMENT
LOWlib/text/quote_remover.rb130 # Check if there's real user content after the given indexCOMMENT
LOWlib/text/quote_remover/signature.rb8 # Check if a line matches this signature patternCOMMENT
LOWlib/text/quote_remover/attribution_pattern.rb13 # Check if a line matches this patternCOMMENT
LOW…t/quote_remover/attribution_pattern/ms_header_block.rb52 # Check if lines at given index form a Microsoft header blockCOMMENT
LOWlib/import/otrs/dynamic_field/mixin/has_options.rb17 # Assign name to the last segmentCOMMENT
Modern AI Meta-Vocabulary14 hits · 42 pts
SeverityFileLineSnippetContext
MEDIUM…/types/ticket/ai/related_knowledge_base_answer_type.rb11 # current embedding model, so a normalised relevance would be more meaningful.COMMENT
MEDIUMapp/services/service/ai/vectordb/embedding/cache.rb17 # embedding model the vectors were produced with.COMMENT
MEDIUMapp/services/service/ai/vectordb/embedding/cache.rb28 # Map key for a chunk. Includes the embedding model so a model change misses (and re-embeds)COMMENT
MEDIUMapp/services/service/ai/vectordb/content/chunks.rb7 # @param model_max_tokens [Integer, nil] the embedding model's hard input limit (a ceiling onCOMMENT
MEDIUM…es/service/ai/vectordb/content/chunks/strategy/base.rb7 # options); the embedding model's input limit (model_max_tokens) is only a hard ceiling that capsCOMMENT
MEDIUM…es/service/ai/vectordb/content/chunks/strategy/base.rb38 # @param model_max_tokens [Integer, nil] the embedding model's hard input limit. Only caps theCOMMENT
MEDIUM…rvice/ai/vectordb/content/chunks/strategy/recursive.rb5# token-sized windows with overlap, so no chunk exceeds the embedding model's input limit. TokenCOMMENT
MEDIUMapp/services/service/ai/vectordb/document/upsert.rb47 # embedding model's input limit only caps the chunk size; the strategy picks the actual size.COMMENT
MEDIUMapp/services/service/ai/ticket/embed_content.rb6 # within the embedding model's context window, and returns the embedding vector.COMMENT
MEDIUMapp/services/service/ai/ticket/embed_content.rb6 # within the embedding model's context window, and returns the embedding vector.COMMENT
MEDIUM…ces/service/knowledge_base/answer/similarity_search.rb25 # that should be tuned against the embedding model in use.COMMENT
MEDIUM…/integration/ai/related_knowledge_base_answers_spec.rb87 # would demand a sharper embedding model than the current one actually provides.COMMENT
MEDIUMlib/ai/provider.rb13 # Conservative input-token limit for an embedding model not listed in EMBEDDING_INPUT_LIMITS —COMMENT
MEDIUMlib/ai/provider.rb106 # Maximum number of input tokens the configured embedding model accepts. Used to size chunks soCOMMENT
AI Slop Vocabulary18 hits · 36 pts
SeverityFileLineSnippetContext
MEDIUMapp/models/channel/driver/base_email_inbound.rb157 # It is not used in conjunction with Micrsofot365 or Gogle OAuth channels.COMMENT
LOWapp/models/concerns/checks_human_changes.rb25 # If no config exists, use all attributes or if config exists, just useCOMMENT
LOWapp/graphql/gql/fields/scoped_field.rb17 # If a field is not authorized, just return 'nil' rather than throwing a GraphQL error.COMMENT
MEDIUMapp/assets/javascripts/app/lib/core/jquery-3.6.0.js10830// understands anonymous AMD modules. A named AMD is safest and most robustCOMMENT
MEDIUMapp/assets/javascripts/app/lib/base/seedrandom.js144 // For robust unpredictability, the function call below automaticallyCOMMENT
LOW…service/system/set_email_notification_configuration.rb23 # At some point it may be good to clean this up to simply use a single instanceCOMMENT
MEDIUM…rvice/ai/vectordb/content/chunks/strategy/recursive.rb7# stays robust for no-space scripts (CJK/Thai) where a whole paragraph is otherwise one "word".COMMENT
MEDIUMtest/data/mail/mail047.yml25 <br><br><table border="0" cellspacing="2" cellpadding="0"><tbody><tr><td valign="top">Ihre </td><td></td></tr></tbody>CODE
MEDIUMtest/data/mail/mail047.yml25 <br><br><table border="0" cellspacing="2" cellpadding="0"><tbody><tr><td valign="top">Ihre </td><td></td></tr></tbody>CODE
LOWspec/models/system_report_spec.rb256 # If your setting does not contain confidential values, just add it to the non_confidential_settings variable liCOMMENT
LOWspec/lib/application_handle_info_spec.rb9 # Q: So why don't we just use it here to DRY things up?COMMENT
LOWlib/notification_factory/renderer.rb92 # if no object is given, just returnCOMMENT
LOWlib/notification_factory/renderer.rb97 # if object is not in available objects, just returnCOMMENT
LOWlib/notification_factory/renderer.rb104 # if content of method is a complex datatype, just returnCOMMENT
LOWlib/assets_set/proxy.rb22# to the lookup table will be performed which will will just return `true` to satisfy theCOMMENT
LOW…uencer/unit/import/common/model/associations/assign.rb38 # Why not just use instance.changes?COMMENT
LOWlib/service/image.rb37 file = Service::Image.organization('user@edenhofer.de') # will just use domainCODE
LOWlib/service/image/zammad.rb49 # strip, just use domain nameCOMMENT
Slop Phrases13 hits · 24 pts
SeverityFileLineSnippetContext
LOWapp/frontend/shared/sw/register.ts37 // don't forget to unregister service worker, when you are done in console: pwa.disable()COMMENT
LOWapp/frontend/apps/desktop/styles/transitions.css2 * Don't forget to add the mapping to the TransitionName enum in useTransitionConfig.ts when adding a new transition.COMMENT
LOWapp/models/channel/driver/imap.rb164 # Select folder, but make sure to encode the string value as UTF-7 first (#5480).COMMENT
LOWapp/jobs/session_timeout_job.rb17 # make sure to definitely log him out if thereCOMMENT
MEDIUMspec/spec_helper.rb61# with RSpec, but feel free to customize to your heart's content.COMMENT
MEDIUMspec/models/channel/email_parser_spec.rb75 # To write new .yml files for emails you can use the following rake task:COMMENT
MEDIUMspec/models/channel/email_parser_spec.rb79 # To renew all existing files, you can use the following rake task:COMMENT
LOWspec/system/keyboard_shortcuts_spec.rb115 within :active_content, '.newTicket' do # make sure to close new ticketCODE
LOWspec/support/capybara/form_helpers.rb25 # # In case of ambiguous labels, make sure to pass `exact_text` optionCOMMENT
LOW.github/workflows/packager.io.yaml6 # Test builds for public branches based on develop. Don't forget to clean up test branches in go.packager.io afterCOMMENT
LOW…core_ext/activesupport/lib/active_support/callbacks.rb9 # to access one after the block has been processed make sure to initialize the variableCOMMENT
LOWlib/import/otrs.rb50 # make sure to create store type otherwiseCOMMENT
LOWlib/import/otrs/article.rb99 # if no content type is set make sure to remove itCOMMENT
Verbosity Indicators12 hits · 23 pts
SeverityFileLineSnippetContext
LOW…er/apollo/cache/utils/registerOffsetStylePagination.ts20 // TODO: Do we need to check if item already exists...? What is happening in the cursor pagination?COMMENT
LOW…omponents/Form/fields/FieldEditor/FieldEditorInput.vue99// TODO: extensions are in general not reactive in TipTap, we need to check if all things are working as expected.COMMENT
LOW…p/components/CommonTable/__tests__/TableHeader.spec.ts139 // Step 1: Select all loadedCOMMENT
LOWapp/models/avatar/triggers_subscriptions.rb40 # We need to check if the default avatar was deleted.COMMENT
LOWapp/models/concerns/can_search.rb192 # Thus we need to check if method exist instead of using try()!COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb24 # Step 1: Fill in basic information and select agent type.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb30 # Step 2: Select attribute.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb35 # Step 3: Select attributes and provide descriptions.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb83 # Step 1: Check the name and the selected agent type.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb90 # Step 2: Check selected attribute.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb95 # Step 3: Check selected attributes and descriptions.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb102 # Step 4: Check meta data.COMMENT
Structural Annotation Overuse10 hits · 20 pts
SeverityFileLineSnippetContext
LOW…p/components/CommonTable/__tests__/TableHeader.spec.ts139 // Step 1: Select all loadedCOMMENT
LOWspec/models/store_spec.rb5# NOTE: This class uses custom .add & .remove methodsCOMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb24 # Step 1: Fill in basic information and select agent type.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb30 # Step 2: Select attribute.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb35 # Step 3: Select attributes and provide descriptions.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb83 # Step 1: Check the name and the selected agent type.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb90 # Step 2: Check selected attribute.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb95 # Step 3: Check selected attributes and descriptions.COMMENT
LOW…system/manage/ai/agent/type/ticket_categorizer_spec.rb102 # Step 4: Check meta data.COMMENT
LOWspec/lib/notification_factory_spec.rb6 # WARNING: This spec relies on the presence ofCOMMENT
Example Usage Blocks13 hits · 20 pts
SeverityFileLineSnippetContext
LOWapp/models/ticket/article.rb109 # Example usage:COMMENT
LOWspec/support/capybara/form_helpers.rb15 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb46 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb110 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb161 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb210 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb244 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb288 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb332 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb372 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb397 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb423 # Usage:COMMENT
LOWspec/support/capybara/form_helpers.rb449 # Usage:COMMENT
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…SetupImportSource/GuidedSetupImportSourceFreshdesk.vue67 link: 'https://support.freshdesk.com/support/solutions/articles/215517-how-to-find-your-api-key',CODE
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWapp/assets/javascripts/app/lib/core/jquery-3.6.0.js4405function getData( data ) {CODE
LOWapp/assets/javascripts/app/lib/flot/jquery.flot.js494 function processData() {CODE