Repository Analysis

opf/openproject

OpenProject is the leading open source project management software.

8.4 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of opf/openproject, a Ruby project with 15,562 GitHub stars. SynthScan v2.0 examined 2,269,483 lines of code across 17315 source files, recording 17242 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 8.4 places this repository in the Low AI signal 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).

8.4
Adjusted Score
8.4
Raw Score
100%
Time Factor
2026-07-14
Last Push
15.6K
Stars
Ruby
Language
2.3M
Lines of Code
17.3K
Files
17.2K
Pattern Hits
2026-07-14
Scan Date
0.01
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 10HIGH 80MEDIUM 548LOW 16604

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 17242 distinct pattern matches across 19 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.

Over-Commented Block14180 hits · 14174 pts
SeverityFileLineSnippetContext
LOWlefthook.yml1# Lefthook configurationCOMMENT
LOWdocker-compose.override.example.yml21 # - '5433:5432'COMMENT
LOWpackaging/conf/configuration.yml1#-- copyrightCOMMENT
LOWpackaging/conf/configuration.yml21#COMMENT
LOWdocker/prod/artifacthub-repo.yml1# Artifact Hub repository metadata fileCOMMENT
LOWdocker/dev/tls/docker-compose.core-override.example.yml1# Some containers (e.g. backend and workers) need some variables to be configured properlyCOMMENT
LOWapp/uploaders/fog_file_uploader.rb1# frozen_string_literal: trueCOMMENT
LOWapp/uploaders/fog_file_uploader.rb21# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theCOMMENT
LOWapp/uploaders/fog_file_uploader.rb61COMMENT
LOWapp/uploaders/file_uploader.rb1# frozen_string_literal: trueCOMMENT
LOWapp/uploaders/file_uploader.rb21# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theCOMMENT
LOWapp/uploaders/direct_fog_uploader.rb1# frozen_string_literal: trueCOMMENT
LOWapp/uploaders/direct_fog_uploader.rb21# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theCOMMENT
LOWapp/uploaders/local_file_uploader.rb1# frozen_string_literal: trueCOMMENT
LOWapp/uploaders/local_file_uploader.rb21# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theCOMMENT
LOWapp/forms/application_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/login_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/enterprise_trials/form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/attribute_help_texts/form_helper.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/attribute_help_texts/form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/filters/inputs/base_filter_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/filters/inputs/add_filter_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/filters/inputs/text_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/filters/inputs/date_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/filters/inputs/autocomplete_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/filters/inputs/list_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/filters/inputs/boolean_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/settings/form_helper.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/settings/form_helper.rb21# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theCOMMENT
LOWapp/forms/settings/form_helper.rb41 def setting_label(*names)COMMENT
LOWapp/forms/settings/input_methods.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/settings/input_methods.rb21# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theCOMMENT
LOWapp/forms/settings/input_methods.rb41 #COMMENT
LOWapp/forms/settings/input_methods.rb61COMMENT
LOWapp/forms/settings/input_methods.rb81 #COMMENT
LOWapp/forms/settings/input_methods.rb101 # are defined.COMMENT
LOWapp/forms/settings/input_methods.rb121 elseCOMMENT
LOWapp/forms/settings/input_methods.rb141 # Any options passed to this method will override the default options.COMMENT
LOWapp/forms/settings/input_methods.rb161 elseCOMMENT
LOWapp/forms/settings/input_methods.rb261 args[:selected] = setting_value(name) == args[:value] unless args.key?(:selected)COMMENT
LOWapp/forms/settings/new_project_settings_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/settings/multi_lang_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/settings/authentication_settings_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/settings/form_object_decorator.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/settings/form_object_decorator.rb21# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theCOMMENT
LOWapp/forms/settings/form_object_decorator.rb41 # @!attribute [r] objectCOMMENT
LOWapp/forms/settings/input_group_decorator.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/settings/input_group_decorator.rb21# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theCOMMENT
LOWapp/forms/settings/input_group_decorator.rb41 # @!attribute [r] objectCOMMENT
LOWapp/forms/settings/new_project_notifications_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/work_package_types/settings_form.rb1# frozen_string_literal: trueCOMMENT
LOW…forms/work_package_types/subject_configuration_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/work_package_types/configuration_link_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/work_package_types/configuration_link_form.rb21# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theCOMMENT
LOW…ms/work_package_types/form_configuration/group_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/work_package_types/wizard/workflows_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/work_package_types/wizard/workflows_form.rb21# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theCOMMENT
LOWapp/forms/work_package_types/wizard/details_form.rb1# frozen_string_literal: trueCOMMENT
LOWapp/forms/work_package_types/wizard/details_form.rb21# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theCOMMENT
LOWapp/forms/work_packages/progress_form.rb1# frozen_string_literal: trueCOMMENT
14120 more matches not shown…
Hyper-Verbose Identifiers1833 hits · 1972 pts
SeverityFileLineSnippetContext
LOWapp/uploaders/direct_fog_uploader.rb85 def extra_fog_hash_attributes(uploader:)CODE
LOWapp/forms/attribute_help_texts/form_helper.rb33 def wrap_attribute_label_with_help_text(label, attribute)CODE
LOWapp/forms/settings/input_methods.rb201 def multi_language_text_select(name:, current_language: I18n.locale.to_s)CODE
LOWapp/forms/settings/input_methods.rb240 def build_radio_button_group_values(group, name:, values:, button_options:)CODE
LOWapp/forms/settings/input_methods.rb249 def build_check_box_group_values(group, name:, values:, check_box_options:)CODE
LOWapp/forms/settings/input_methods.rb310 def decorate_options_with_value(name:, **options)CODE
LOWapp/forms/settings/new_project_settings_form.rb68 def build_new_project_user_role_options(select)CODE
LOWapp/forms/settings/new_project_settings_form.rb76 def add_assignable_role_option(select, role)CODE
LOWapp/forms/settings/new_project_settings_form.rb84 def add_non_qualifying_role_option(select, role)CODE
LOWapp/forms/work_package_types/configuration_link_form.rb108 def confirm_switch_to_independent(source_form)CODE
LOWapp/forms/work_packages/progress_form.rb103 def focused_field_by_selection(field)CODE
LOWapp/forms/custom_fields/custom_field_rendering.rb112 def single_value_custom_field_input(builder, custom_field)CODE
LOWapp/forms/custom_fields/custom_field_rendering.rb122 def multi_value_custom_field_input(builder, custom_field)CODE
LOWapp/mailers/sharing_mailer.rb77 def derive_allowed_work_package_actions(role)CODE
LOWapp/mailers/project_artifacts_mailer.rb35 def creation_wizard_submitted(user, project, artifact_work_package)CODE
LOWapp/mailers/user_mailer.rb71 def password_change_not_possible(user)CODE
LOWapp/mailers/user_mailer.rb184 def account_activation_requested(admin, user)CODE
LOWapp/mailers/user_mailer.rb232 def open_project_wiki_headers(wiki_page)CODE
LOWapp/mailers/user_mailer.rb238 def open_project_message_headers(message)CODE
LOWapp/mailers/application_mailer.rb137 def default_formats_for_setting(format)CODE
LOWapp/contracts/base_contract.rb93 def default_attribute_permission(permission)CODE
LOWapp/contracts/base_contract.rb183 def collect_ancestor_attributes(attribute_to_collect)CODE
LOWapp/contracts/base_contract.rb193 def collect_ancestor_attributes_by(attribute_to_collect, combination_method, cleanup_method)CODE
LOWapp/contracts/base_contract.rb234 def reduce_writable_attributes(attributes)CODE
LOWapp/contracts/base_contract.rb239 def reduce_by_writable_conditions(attributes)CODE
LOWapp/contracts/base_contract.rb248 def reduce_by_writable_permissions(attributes)CODE
LOWapp/contracts/base_contract.rb288 def validate_and_merge_errors(contract)CODE
LOWapp/contracts/base_contract.rb306 def merge_errors_deduplicated(other_errors)CODE
LOW…rk_package_types/update_form_configuration_contract.rb108 def normalized_legacy_group_key(seen_keys)CODE
LOW…rk_package_types/update_form_configuration_contract.rb120 def validate_rebuilt_query_group(group, query)CODE
LOWapp/contracts/work_packages/base_contract.rb273 def validate_after_soonest_start(date_attribute)CODE
LOWapp/contracts/work_packages/base_contract.rb467 def validate_version_ids_assignable(ids, error_field, assignable)CODE
LOWapp/contracts/work_packages/base_contract.rb692 def reduce_by_writable_permissions(attributes)CODE
LOWapp/contracts/work_packages/base_contract.rb751 def new_statuses_allowed_from(status)CODE
LOW…p/contracts/work_packages/skip_authorization_checks.rb42 def reduce_by_writable_permissions(attributes)CODE
LOWapp/contracts/projects/update_contract.rb77 def with_available_custom_fields_only(changes)CODE
LOWapp/contracts/projects/update_contract.rb81 def with_all_available_custom_fields(changes)CODE
LOWapp/contracts/versions/base_contract.rb92 def assignable_custom_field_values(custom_field)CODE
LOWapp/contracts/roles/base_contract.rb100 def add_unmet_dependency_error(selected, unmet)CODE
LOWapp/contracts/groups/base_contract.rb85 def users_already_in_departments(user_ids)CODE
LOWapp/contracts/users/base_contract.rb68 def reduce_writable_attributes(attributes)CODE
LOWapp/contracts/attachments/validate_replacements.rb50 def error_if_attachment_assigned(attachment)CODE
LOWapp/contracts/attachments/validate_replacements.rb54 def error_if_other_user_attachment(attachment)CODE
LOWapp/contracts/concerns/admin_writable_timestamps.rb35 def allow_writable_timestamps(attributes = %i[created_at updated_at])CODE
LOW…p/contracts/concerns/assignable_custom_field_values.rb35 def assignable_custom_field_values(custom_field)CODE
LOWapp/models/permitted_params.rb134 def move_work_package_form_values(args = {})CODE
LOWapp/models/permitted_params.rb711 def build_custom_field_values(key, required:)CODE
LOWapp/models/custom_field.rb424 def possible_version_values_options(obj, options: {})CODE
LOWapp/models/custom_field.rb436 def possible_user_values_options(obj)CODE
LOWapp/models/watcher.rb95 def destroy_watchers_if_permission_missing(watchable_class, class_candidates)CODE
LOWapp/models/timestamp.rb68 def substitute_special_shortcut_values(string)CODE
LOWapp/models/ldap_auth_source.rb192 def get_user_attributes_from_ldap_entry(entry)CODE
LOWapp/models/project_custom_field.rb69 def toggleable_ids_in_project_settings(project, user, custom_field_section_id)CODE
LOWapp/models/project_custom_field.rb78 def custom_field_ids_in_section(custom_field_section_id)CODE
LOWapp/models/project_custom_field.rb82 def toggleable_ids_in_creation_wizard_settings(project, custom_field_section_id)CODE
LOWapp/models/project_custom_field.rb119 def mappings_with_view_project_attributes_permission(user, project) # rubocop:disable Metrics/AbcSizeCODE
LOWapp/models/work_package.rb317 def set_derived_progress_hint(field_name, hint, **params)CODE
LOWapp/models/work_package.rb547 def convert_duration_to_hours(value)CODE
LOWapp/models/work_package.rb558 def convert_value_to_percentage(value)CODE
LOWapp/models/changeset.rb205 def find_referenced_work_package_by_id(id)CODE
1773 more matches not shown…
Self-Referential Comments507 hits · 1522 pts
SeverityFileLineSnippetContext
MEDIUMpackaging/conf/configuration.yml32# This file is auto-generated by OpenProject,COMMENT
MEDIUMapp/contracts/model_contract.rb94 # This method is mostly copied from ActiveModel::Validations#valid?COMMENT
MEDIUMapp/models/enabled_module.rb46 # Create a wiki with a default start pageCOMMENT
MEDIUMapp/models/wiki_page.rb91 # Create a slug for the given titleCOMMENT
MEDIUMapp/models/wiki_page.rb136 # Create a redirect to the new titleCOMMENT
MEDIUMapp/models/scim_client.rb55 # This method is part of a nasty workaround for creating and updating SCIM clients:COMMENT
MEDIUMapp/models/token/base.rb57 # Create a plain and hashed value when creating a new tokenCOMMENT
MEDIUM…odels/work_package/exports/formatters/project_phase.rb44 # This method is not implemented (yet).COMMENT
MEDIUMapp/models/custom_value/ar_object_strategy.rb60 # This method is not inlined in typed_value to allow separate changes to typed_value and formatted_valueCOMMENT
MEDIUMapp/models/work_packages/scopes/relatable.rb153 # Creating a parent relationship is destructive since there can only ever be one.COMMENT
MEDIUM…p/models/queries/filters/shared/custom_field_filter.rb64 # Create a filter instance for the given custom field accessorCOMMENT
MEDIUM…p/models/queries/filters/shared/custom_field_filter.rb73 # Create a filter instance for the given custom fieldCOMMENT
MEDIUMapp/models/journable/with_historic_attributes.rb31# This class is used to wrap a Journable and provide access to its attributes at given timestamps.COMMENT
MEDIUMapp/models/project_queries/static.rb130 # This method is used to create static queries, so assume clean state after buildingCOMMENT
MEDIUMapp/workers/shared_job_setup.rb33# This module is included in `ApplicationJob` and `Mails::MailerJob` and doesCOMMENT
MEDIUMapp/workers/debounceable_job.rb32 # This module is generalizes the debounce logic that was originally used on {Storages::ManageStorageIntegrationsJob}COMMENT
MEDIUMapp/workers/exports/export_job.rb118 # Create a target file name, replacing any invalid charactersCOMMENT
MEDIUMapp/workers/scm/create_local_repository_job.rb53 # Create the repository locally.COMMENT
MEDIUMapp/controllers/messages_controller.rb84 # Create a new topicCOMMENT
MEDIUMapp/helpers/augmenting_helper.rb33 # Create a collapsible section and yield to render the blockCOMMENT
MEDIUMapp/helpers/static_links_helper.rb33 # Create a static link to the given key entryCOMMENT
MEDIUMapp/helpers/angular_helper.rb33 # Create a component element tag with the given attributesCOMMENT
MEDIUMapp/helpers/watchers_helper.rb32 # Create a link to watch/unwatch objectCOMMENT
MEDIUMapp/services/work_packages/update_ancestors_service.rb178 # This method is called only when parent or parent_id attribute of theCOMMENT
MEDIUMapp/services/copy/dependency.rb63 # Create a result with an empty error setCOMMENT
MEDIUMapp/services/attachments/base_service.rb34 # Create an attachment service bypassing the user-provided whitelistCOMMENT
MEDIUMlib_static/redmine/i18n.rb31# This file is to be split up into smaller files in the OpenProject namespace.COMMENT
MEDIUMlib_static/redmine/diff/diffable.rb71 # Create a hash that maps elements of the array to arrays of indicesCOMMENT
MEDIUM…tic/plugins/acts_as_journalized/lib/cause_of_change.rb31# This file is part of the acts_as_journalized plugin for the redMineCOMMENT
MEDIUM…c/plugins/acts_as_journalized/lib/journal_formatter.rb31# This file is part of the acts_as_journalized plugin for the redMineCOMMENT
MEDIUM…plugins/acts_as_journalized/lib/acts_as_journalized.rb31# This file is part of the acts_as_journalized plugin for the redMineCOMMENT
MEDIUM…acts_as_journalized/lib/acts/journalized/save_hooks.rb31# This file is part of the acts_as_journalized plugin for the redMineCOMMENT
MEDIUM…cts_as_journalized/lib/acts/journalized/permissions.rb31# This file is part of the acts_as_journalized plugin for the redMineCOMMENT
MEDIUM…ts_as_journalized/lib/acts/journalized/format_hooks.rb31# This file is part of the acts_as_journalized plugin for the redMineCOMMENT
MEDIUM…ugins/acts_as_customizable/lib/acts_as_customizable.rb177 # This method is expected to be used when more comments are needed, so itCOMMENT
MEDIUM…ins/verification/lib/action_controller/verification.rb11 # This module provides a class-level method for specifying that certainCOMMENT
MEDIUMlib_static/open_project/authentication.rb91 # This module is only there to declare all used scopes. Technically a scope can be anCOMMENT
MEDIUMlib_static/open_project/feature_decisions.rb33 # This module is the container for temporary or permanent feature flags.COMMENT
MEDIUMlib_static/open_project/opentelemetry.rb55 # Create a new span for the exception if no current spanCOMMENT
MEDIUMlib_static/open_project/database.rb33 # This module provides some information about the currently used databaseCOMMENT
MEDIUMconfig/locales/crowdin/ja.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/el.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/rw.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/fil.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/pt-BR.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/es.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/sr.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/be.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/tr.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/hy.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/cs.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/th.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/no.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/pt-PT.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/ka.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/hu.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/de.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/kk.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/eu.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
MEDIUMconfig/locales/crowdin/ne.seeders.yml3#This file is part of the sources sent to crowdin for translation.COMMENT
447 more matches not shown…
Cross-File Repetition76 hits · 380 pts
SeverityFileLineSnippetContext
HIGHmodules/meeting/config/locales/crowdin/mn.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/az.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/th.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/be.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/ca.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/uz.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/ne.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/bg.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/si.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/hu.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/da.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/fi.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/fil.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/ro.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/sk.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/eu.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/he.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/hr.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/et.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/sl.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/kk.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/fa.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/el.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/hi.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/eo.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/ka.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/sr.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/hy.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/rw.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/af.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/lv.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/ms.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/ar.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/lt.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/ckb-IR.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/no.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/nl.yml0header_occurrence: 'cancelled: meeting occurrence ''%{title}STRING
HIGHmodules/meeting/config/locales/crowdin/mn.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/az.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/th.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/be.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/ca.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/uz.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/ne.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/bg.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/si.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/hu.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/da.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/fi.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/fil.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/ro.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/sk.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/eu.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/he.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/hr.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/et.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/sl.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/kk.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/fa.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
HIGHmodules/meeting/config/locales/crowdin/el.yml0summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an oSTRING
16 more matches not shown…
Fake / Example Data324 hits · 376 pts
SeverityFileLineSnippetContext
LOWapp/models/user.rb498 # - Will find 'foo+bar@example.org' with input of 'foo@example.org'COMMENT
LOWapp/models/exports/pdf/demo_generator.rb134 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " \CODE
LOWapp/models/exports/pdf/demo_generator.rb134 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " \CODE
LOW…p/core/setup/globals/global-listeners/color-preview.ts58 } else if (input.getAttribute('placeholder')CODE
LOW…p/core/setup/globals/global-listeners/color-preview.ts59 && input.getAttribute('placeholder')!.length > 0) {CODE
LOW…p/core/setup/globals/global-listeners/color-preview.ts60 previewColor = input.getAttribute('placeholder')!;CODE
LOW…global_search/input/global-search-input.component.html1<div role="search" class="top-menu-search" [attr.aria-label]="placeholder">CODE
LOW…nge-date-picker/basic-range-date-picker.component.html16 [placeholder]="placeholder"CODE
LOW…nge-date-picker/basic-range-date-picker.component.html33 [placeholder]="placeholder"CODE
LOW…nge-date-picker/basic-range-date-picker.component.html47 [placeholder]="placeholder"CODE
LOW…le-date-picker/basic-single-date-picker.component.html16 [placeholder]="placeholder"CODE
LOW…le-date-picker/basic-single-date-picker.component.html36 [placeholder]="placeholder"CODE
LOW…leter/op-autocompleter/op-autocompleter.component.html52 [placeholder]="placeholder"CODE
LOW…p/spot/components/text-field/text-field.component.html8 [placeholder]="placeholder"CODE
LOWconfig/locales/crowdin/ro.yml4649 data_consequences: 'Toate prezențele utilizatorului de tip "placeholder" (de exemplu, ca destinatar, responsabil sCODE
LOWspec/mailers/smtp_settings_spec.rb64 mail(from: "test@op.com", to: "foo@bar.com", subject: "Test mail", body: "body")CODE
LOW…cts/authentication/omniauth_auth_hash_contract_spec.rb39 email: "foo@bar.com",CODE
LOWspec/features/auth/consent_auth_stage_spec.rb211 fill_in "user_mail", with: "foo@example.org"CODE
LOWspec/features/auth/consent_auth_stage_spec.rb263 context "with contact mail address", with_settings: { consent_decline_mail: "foo@example.org" } doCODE
LOWspec/features/auth/consent_auth_stage_spec.rb273 expect_flash(type: :error, message: "foo@example.org")CODE
LOW…ts/project_custom_fields/overview_page/sidebar_spec.rb480 text_project_custom_field.custom_values.where(customized: project).first.update!(value: "Lorem ipsum")CODE
LOW…ts/project_custom_fields/overview_page/sidebar_spec.rb489 expect(page).to have_text "Lorem ipsum"CODE
LOW…ts/project_custom_fields/overview_page/sidebar_spec.rb560 text_project_custom_field.update!(default_value: "Dolor sit amet")CODE
LOW…ts/project_custom_fields/overview_page/sidebar_spec.rb567 expect(page).to have_text "Dolor sit amet"CODE
LOWspec/features/admin/departments_spec.rb142 departments_page.add_user("Jane Doe")CODE
LOWspec/features/admin/departments_spec.rb145 departments_page.expect_user_listed("Jane Doe")CODE
LOWspec/features/admin/departments_spec.rb181 departments_page.select_user_in_autocompleter("Jane Doe")CODE
LOWspec/features/admin/departments_spec.rb193 departments_page.expect_user_listed("Jane Doe")CODE
LOWspec/features/admin/departments_spec.rb210 departments_page.expect_user_listed("Jane Doe")CODE
LOWspec/features/admin/departments_spec.rb212 departments_page.remove_user("Jane Doe")CODE
LOWspec/features/admin/departments_spec.rb215 departments_page.expect_no_user_listed("Jane Doe")CODE
LOWspec/features/admin/departments_spec.rb221 Setting.organization_name = "Acme Corp"CODE
LOWspec/features/admin/departments_spec.rb227 departments_page.expect_breadcrumbs("Acme Corp")CODE
LOWspec/features/admin/departments_spec.rb233 departments_page.expect_organization_name("Acme Corp")CODE
LOWspec/features/admin/departments_spec.rb252 departments_page.expect_organization_name("Acme Corp")CODE
LOWspec/features/admin/enterprise/enterprise_spec.rb70 token.mail = "foo@example.org"CODE
LOWspec/features/activities/time_entry_activity_spec.rb62 comments: "lorem ipsum")CODE
LOWspec/features/members/membership_spec.rb42 mail: "foo@example.org")CODE
LOWspec/features/members/membership_filter_spec.rb42 mail: "foo@example.org",CODE
LOWspec/features/members/membership_filter_spec.rb81 members_page.search_for_name "@example.org"CODE
LOWspec/features/members/membership_filter_spec.rb109 members_page.search_for_name "@example.org"CODE
LOWspec/models/mail_handler_spec.rb567 .to include("Lorem ipsum dolor sit amet, consectetuer adipiscing elit.")CODE
LOWspec/models/mail_handler_spec.rb567 .to include("Lorem ipsum dolor sit amet, consectetuer adipiscing elit.")CODE
LOWspec/models/mail_handler_spec.rb730 expect(subject.author.mail).to eq("foo@example.org")CODE
LOWspec/models/mail_handler_spec.rb1249 let!(:mail_user) { create(:admin, mail: "user@example.org") }CODE
LOWspec/models/user_spec.rb95 .to eql "foo@bar.com"CODE
LOWspec/models/user_spec.rb116 let(:mail) { "foo@bar.com" }CODE
LOWspec/models/user_spec.rb882 _, suffixed = described_class.mail_regexp("foo+bar@example.org")CODE
LOWspec/models/user_spec.rb921 let!(:user1) { create(:user, mail: "foo+test@example.org") }CODE
LOWspec/models/user_spec.rb922 let!(:user2) { create(:user, mail: "foo@example.org") }CODE
LOWspec/models/user_spec.rb923 let!(:user3) { create(:user, mail: "foo-bar@example.org") }CODE
LOWspec/models/user_spec.rb930 match2 = described_class.find_by_mail("foo@example.org")CODE
LOWspec/models/user_spec.rb933 matches = described_class.where_mail_with_suffix("foo@example.org")CODE
LOWspec/models/user_spec.rb936 matches = described_class.where_mail_with_suffix("foo+test@example.org")CODE
LOWspec/models/user_spec.rb945 match1 = described_class.find_by_mail("foo-bar@example.org")CODE
LOWspec/models/user_spec.rb949 match2 = described_class.find_by_mail("foo@example.org")CODE
LOWspec/models/user_spec.rb952 matches = described_class.where_mail_with_suffix("foo@example.org")CODE
LOWspec/models/ldap_auth_source_spec.rb154 entry["mail"] = "some@example.org"CODE
LOWspec/models/ldap_auth_source_spec.rb297 expect(user.mail).to eq "belle@example.org"CODE
LOWspec/models/ldap_auth_source_spec.rb306 expect(user.mail).to eq "belle@example.org"CODE
264 more matches not shown…
Structural Annotation Overuse124 hits · 228 pts
SeverityFileLineSnippetContext
LOWspec/features/menu_items/quick_add_menu_spec.rb71 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/menu_items/quick_add_menu_spec.rb74 # Step 2: Project details - Parent field is not visible hereCOMMENT
LOWspec/features/types/creation_wizard_spec.rb68 # Step 1 - Details: identity only, so no reuse mode to choose.COMMENT
LOWspec/features/types/creation_wizard_spec.rb72 # Step 2 - Form configuration: every step from here offers the reuse mode selector.COMMENT
LOWspec/features/types/creation_wizard_spec.rb127 # Step 2 - Form configuration: link it to Epic rather than the default parent.COMMENT
LOWspec/features/projects/subproject_creation_spec.rb62 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/subproject_creation_spec.rb65 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb61 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb64 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb129 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb132 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb149 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb152 # Step 2: Try to complete without nameCOMMENT
LOWspec/features/projects/create_spec.rb183 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb186 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb191 # Step 3: Fill in custom fieldsCOMMENT
LOWspec/features/projects/create_spec.rb246 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb249 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb254 # Step 3: Fill in custom fieldsCOMMENT
LOWspec/features/projects/create_spec.rb331 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb334 # Step 2: Project details - skip to step 3COMMENT
LOWspec/features/projects/create_spec.rb339 # Step 3: Custom fieldsCOMMENT
LOWspec/features/projects/create_spec.rb361 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb364 # Step 2: Fill in nameCOMMENT
LOWspec/features/projects/create_spec.rb369 # Step 3: Try to complete without required custom fieldCOMMENT
LOWspec/features/projects/create_spec.rb392 # Step 1: Select workspace typeCOMMENT
LOWspec/features/projects/create_spec.rb395 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb399 # Step 3: Fill in required custom fieldCOMMENT
LOWspec/features/projects/create_spec.rb536 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb539 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb613 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb616 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/attribute_help_texts_spec.rb109 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/attribute_help_texts_spec.rb112 # Step 2: Project details - Name field is visible hereCOMMENT
LOWspec/features/projects/template_spec.rb102 # Step 2: Project detailsCOMMENT
LOWspec/features/projects/template_spec.rb151 # Step 2: Project detailsCOMMENT
LOWspec/features/projects/template_spec.rb157 # Step 3: Custom fields - should not show custom field form when creating from templateCOMMENT
LOW…ects/creation_wizard/wizard_from_template_flow_spec.rb143 # Step 2: Project detailsCOMMENT
LOWspec/features/portfolios/create_spec.rb67 # Step 1: Select workspace type (blank portfolio)COMMENT
LOWspec/features/portfolios/create_spec.rb70 # Step 2: Fill in project detailsCOMMENT
LOW…ec/features/global_roles/global_create_project_spec.rb94 # Step 1: Select workspace type (blank project)COMMENT
LOW…ec/features/global_roles/global_create_project_spec.rb97 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/programs/create_spec.rb67 # Step 1: Select workspace type (blank program)COMMENT
LOWspec/features/programs/create_spec.rb70 # Step 2: Fill in project detailsCOMMENT
LOW…eatures/notifications/turbo_angular_navigation_spec.rb53 # Step 1: Open notification centerCOMMENT
LOW…eatures/notifications/turbo_angular_navigation_spec.rb64 # Step 2: Click a notification so that the work package opens on the sideCOMMENT
LOW…eatures/notifications/turbo_angular_navigation_spec.rb69 # Step 3: Click on the work package #id from the notifications listCOMMENT
LOW…eatures/notifications/turbo_angular_navigation_spec.rb75 # Step 4: Click back onceCOMMENT
LOW…eatures/notifications/turbo_angular_navigation_spec.rb83 # Step 5: Click back a second timeCOMMENT
LOW…er-guide/projects/project-initiation-request/README.md38## Step 1: Create a new projectCOMMENT
LOW…er-guide/projects/project-initiation-request/README.md58## Step 2: Fill out the project initiation requestCOMMENT
LOW…er-guide/projects/project-initiation-request/README.md88## Step 3: Submit the project initiation requestCOMMENT
LOWdocs/development/localhost-ssl/README.md9## Step 1: Create a self-signed certificateCOMMENT
LOWdocs/development/localhost-ssl/README.md21## Step 2: Set up a custom hostCOMMENT
LOWdocs/development/localhost-ssl/README.md27## Step 3: Install and configure Apache2COMMENT
LOWdocs/development/localhost-ssl/README.md93## Step 4: Configure OpenProject for HTTPS usageCOMMENT
LOW…s/system-admin-guide/authentication/kerberos/README.md19## Step 1: Create Kerberos service and keytab for OpenProjectCOMMENT
LOW…s/system-admin-guide/authentication/kerberos/README.md41## Step 2: Configure Apache web serverCOMMENT
LOW…s/system-admin-guide/authentication/kerberos/README.md95## Step 3: Configure OpenProject to use Apache headerCOMMENT
LOW…s/system-admin-guide/authentication/kerberos/README.md116## Step 4: Restart the serverCOMMENT
64 more matches not shown…
Hallucination Indicators10 hits · 100 pts
SeverityFileLineSnippetContext
CRITICAL…tions/switch_display_representations_on_mobile_spec.rb75 page.driver.browser.manage.window.resize_to(700, 1080)CODE
CRITICAL…_packages/table/queries/query_name_inline_edit_spec.rb116 page.driver.browser.switch_to.active_element.send_keys("Some other name")CODE
CRITICAL…_packages/table/queries/query_name_inline_edit_spec.rb117 page.driver.browser.switch_to.active_element.send_keys(:return)CODE
CRITICAL…s/work_packages/share/share_account_activation_spec.rb75 link = ActionMailer::Base.deliveries.first.text_part.body.encoded.scan(/http:\/\/.+$/).first.chompCODE
CRITICAL…features/a11y/work_packages/work_package_query_spec.rb184 page.driver.browser.switch_to.active_element.send_keys("j")CODE
CRITICAL…features/a11y/work_packages/work_package_query_spec.rb187 page.driver.browser.switch_to.active_element.send_keys("k")CODE
CRITICALspec/support/capybara_browser_logs.rb42 Capybara.page.driver.browser.manage.instance_variable_get(:@bridge).log("browser")CODE
CRITICALspec/support/shared/with_mobile_screen.rb53 page.driver.browser.manage.window.resize_to(width || 500, height || 1000)CODE
CRITICALspec/support/shared/with_mobile_screen.rb62 page.driver.browser.manage.window.resize_to(width_before, height_before)CODE
CRITICALspec/controllers/users_controller_spec.rb1382 expect(User.newest.first.attributes.with_indifferent_access.slice(:firstname, :lastname, :login, :mail))CODE
Verbosity Indicators50 hits · 91 pts
SeverityFileLineSnippetContext
LOWspec/features/menu_items/quick_add_menu_spec.rb71 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/menu_items/quick_add_menu_spec.rb74 # Step 2: Project details - Parent field is not visible hereCOMMENT
LOWspec/features/projects/subproject_creation_spec.rb62 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/subproject_creation_spec.rb65 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb61 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb64 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb129 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb132 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb149 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb152 # Step 2: Try to complete without nameCOMMENT
LOWspec/features/projects/create_spec.rb183 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb186 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb191 # Step 3: Fill in custom fieldsCOMMENT
LOWspec/features/projects/create_spec.rb246 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb249 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb254 # Step 3: Fill in custom fieldsCOMMENT
LOWspec/features/projects/create_spec.rb331 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb334 # Step 2: Project details - skip to step 3COMMENT
LOWspec/features/projects/create_spec.rb339 # Step 3: Custom fieldsCOMMENT
LOWspec/features/projects/create_spec.rb361 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb364 # Step 2: Fill in nameCOMMENT
LOWspec/features/projects/create_spec.rb369 # Step 3: Try to complete without required custom fieldCOMMENT
LOWspec/features/projects/create_spec.rb392 # Step 1: Select workspace typeCOMMENT
LOWspec/features/projects/create_spec.rb395 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb399 # Step 3: Fill in required custom fieldCOMMENT
LOWspec/features/projects/create_spec.rb536 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb539 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/create_spec.rb613 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/create_spec.rb616 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/projects/attribute_help_texts_spec.rb109 # Step 1: Select workspace type (blank project)COMMENT
LOWspec/features/projects/attribute_help_texts_spec.rb112 # Step 2: Project details - Name field is visible hereCOMMENT
LOWspec/features/projects/template_spec.rb102 # Step 2: Project detailsCOMMENT
LOWspec/features/projects/template_spec.rb151 # Step 2: Project detailsCOMMENT
LOWspec/features/projects/template_spec.rb157 # Step 3: Custom fields - should not show custom field form when creating from templateCOMMENT
LOW…ects/creation_wizard/wizard_from_template_flow_spec.rb143 # Step 2: Project detailsCOMMENT
LOWspec/features/portfolios/create_spec.rb67 # Step 1: Select workspace type (blank portfolio)COMMENT
LOWspec/features/portfolios/create_spec.rb70 # Step 2: Fill in project detailsCOMMENT
LOW…ec/features/global_roles/global_create_project_spec.rb94 # Step 1: Select workspace type (blank project)COMMENT
LOW…ec/features/global_roles/global_create_project_spec.rb97 # Step 2: Fill in project detailsCOMMENT
LOWspec/features/programs/create_spec.rb67 # Step 1: Select workspace type (blank program)COMMENT
LOWspec/features/programs/create_spec.rb70 # Step 2: Fill in project detailsCOMMENT
LOW…eatures/notifications/turbo_angular_navigation_spec.rb53 # Step 1: Open notification centerCOMMENT
LOW…eatures/notifications/turbo_angular_navigation_spec.rb64 # Step 2: Click a notification so that the work package opens on the sideCOMMENT
LOW…eatures/notifications/turbo_angular_navigation_spec.rb69 # Step 3: Click on the work package #id from the notifications listCOMMENT
LOW…eatures/notifications/turbo_angular_navigation_spec.rb75 # Step 4: Click back onceCOMMENT
LOW…eatures/notifications/turbo_angular_navigation_spec.rb83 # Step 5: Click back a second timeCOMMENT
LOW…/app/services/bim/ifc_models/view_converter_service.rb85 # Step 0: avoid file name issues (e.g. umlauts) in the pipelineCOMMENT
LOW…/app/services/bim/ifc_models/view_converter_service.rb89 .then { |ifc_path| convert_to_collada ifc_path } # Step 1: IfcConvertCODE
LOW…/app/services/bim/ifc_models/view_converter_service.rb90 .then { |collada_path| convert_to_gltf collada_path } # Step 2: Collada2GLTFCODE
LOW…/app/services/bim/ifc_models/view_converter_service.rb91 .then { |gltf_path| convert_to_xkt gltf_path } # Step 3: Create XKT from extracted metadata JSON and GLTFCODE
Decorative Section Separators29 hits · 84 pts
SeverityFileLineSnippetContext
MEDIUMapp/models/work_packages/scopes/relatable.rb148 # WP2 <────follows──────── WP1 <────────follows──── WP5COMMENT
MEDIUM…-packages/activities-tab/services/view-port-service.ts120 // ├──────────────────┤ ← returned height; the comment seats below this lineCOMMENT
MEDIUM…ackages/table/hierarchy/hierarchy_parent_below_spec.rb22 # ---------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb56 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb59 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb87 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb89 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb115 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb117 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb170 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb172 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb251 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb253 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb368 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb370 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb403 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb405 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb453 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb455 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb478 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb480 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb529 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb531 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb557 # ---------------------------------------------------------------------------COMMENT
MEDIUM…rvices/groups/hierarchy_membership_integration_spec.rb560 # ---------------------------------------------------------------------------COMMENT
MEDIUM…okbook/previews/open_project/common/divider_preview.rb37 # ---------------------COMMENT
MEDIUM…ook/previews/open_project/common/datepicker_preview.rb37 # ---------------------COMMENT
MEDIUM…ook/previews/open_project/common/datepicker_preview.rb69 # ---------------------COMMENT
MEDIUM…iews/open_project/deprecated/simple_filters_preview.rb36 # --------------COMMENT
Redundant / Tautological Comments50 hits · 78 pts
SeverityFileLineSnippetContext
LOWapp/contracts/queries/update_contract.rb41 # Check if the current user may save the changesCOMMENT
LOWapp/contracts/user_preferences/params_contract.rb74 # Check if the given notification hash has email-only settings setCOMMENT
LOWapp/contracts/user_preferences/params_contract.rb82 # Check if the given notification hash has date alert related settings setCOMMENT
LOWapp/models/ldap_auth_source.rb327 # Check if a DN (user record) authenticates with the passwordCOMMENT
LOW…odels/queries/work_packages/filter/typeahead_filter.rb80 # Check if the search string matches translated "open" or "closed" meta statusesCOMMENT
LOWapp/models/exports/pdf/common/macro.rb71 # Check if the text node is not inside a mention tagCOMMENT
LOWapp/models/exports/formatters/custom_field.rb48 # Print the value meant for export.COMMENT
LOWapp/models/exports/formatters/custom_field_pdf.rb46 # Print the value meant for PDF export.COMMENT
LOW…ts/open_project/common/inplace_edit_field_component.rb200 # Check if this is a custom field attributeCOMMENT
LOWapp/controllers/members_controller.rb205 # Check if there is at least one principal that can be added to the projectCOMMENT
LOWapp/controllers/work_packages/moves_controller.rb119 # Check if project is unique before bulk operationsCOMMENT
LOW…/controllers/concerns/accounts/user_password_change.rb45 # Check if user is locked due to too many failed attemptsCOMMENT
LOWapp/services/base_services/base_callable.rb67 # Assign state to the service result obtained after the service call.COMMENT
LOWapp/services/work_packages/bulk/copy_service.rb146 # Check if a parent work package is also selected for copyingCOMMENT
LOW…set_attributes_service/progress_values_calculations.rb67 # Check if the remaining work value is wrong and can be corrected regardingCOMMENT
LOW…set_attributes_service/progress_values_calculations.rb78 # Check if the % complete value is wrong and can be corrected regarding workCOMMENT
LOW…set_attributes_service/progress_values_calculations.rb94 # Check if one of provided remaining_work or percent_complete matches the calculated oneCOMMENT
LOWapp/services/oauth_clients/connection_manager.rb155 # Check if a OAuthClientToken already exists and return nil otherwise.COMMENT
LOWapp/services/oauth_clients/connection_manager.rb158 # Check if we've got a token in the database and return nil otherwise.COMMENT
LOWapp/services/import/jira_wiki_markup/parser.rb117 # Check if this line has a closing {code} tag after the opening tagCOMMENT
LOWapp/services/import/jira_wiki_markup/parser.rb137 # Check if this line has a closing {noformat} tag after the opening tagCOMMENT
LOWapp/services/import/jira_wiki_markup/parser.rb156 # Check if this is an inline quote (content on same line) that spans to next lineCOMMENT
LOWapp/services/import/jira_wiki_markup/parser.rb172 # Check if this line has a closing {panel} tag after the opening tagCOMMENT
LOWconfig/environments/production.rb149 # Set this to true and configure the email server for immediate delivery to raise delivery errors.COMMENT
LOWconfig/initializers/health_checks.rb59 # Check if authentication requiredCOMMENT
LOW…ures/work_packages/datepicker/datepicker_logic_spec.rb961 # Set date to SundayCOMMENT
LOWspec/features/wysiwyg/tables_spec.rb210 # Set style to dottedCOMMENT
LOWspec/features/projects/lists/table_spec.rb409 # Check if the description is truncated and shows the Expand button correctlyCOMMENT
LOWspec/features/projects/lists/table_spec.rb417 # Check if the status explanation with an html tag is truncated and shows the cell text and Expand button correctlCOMMENT
LOWspec/features/projects/lists/table_spec.rb423 # Check if a long-text custom field which has a short text as value is not truncated and there is no Expand buttonCOMMENT
LOWspec/features/projects/lists/table_spec.rb429 # Check if a long-text custom field which has a long text as value is truncated and there is an Expand button therCOMMENT
LOW…ojects/creation_wizard/project_creation_wizard_spec.rb466 # Check if first page still has commentCOMMENT
LOWspec/features/admin/working_days_spec.rb270 # Check if a date is correctly highlighted after selecting it in different time zonesCOMMENT
LOWspec/features/admin/working_days_spec.rb319 # Check if date and name are entered then close the datepickerCOMMENT
LOWspec/features/users/user_memberships_spec.rb50 # Check if user with global role is thereCOMMENT
LOWscript/jira/gen_jira_projects.rb747 # Check if project already exists, generate new key if soCOMMENT
LOWscript/jira/gen_jira_projects.rb862 # Check if error mentions a custom field (likely Epic Name) and extract the field IDCOMMENT
LOW…ext_formatting/filters/external_link_capture_filter.rb66 # Check if it's an internal linkCOMMENT
LOW…project/text_formatting/matchers/wiki_links_matcher.rb98 # Check if linking project existsCOMMENT
LOWlib/open_project/scm/adapters/git.rb608 # Check if a value is a valid commit hashCOMMENT
LOWdb/migrate/migration_utils/permission_adder.rb64 # Check if the add-permission already exists before addingCOMMENT
LOWmodules/reporting/spec/features/saving_spec.rb23 # Check if the category is displayedCOMMENT
LOWmodules/reporting/spec/features/saving_spec.rb25 # Check if the new report is displayedCOMMENT
LOWmodules/reporting/spec/features/saving_spec.rb40 # Check if the category is displayedCOMMENT
LOWmodules/reporting/spec/features/saving_spec.rb42 # Check if the new report is displayedCOMMENT
LOW…s/gantt/spec/features/timeline/timeline_labels_spec.rb166 # Set labels to start|due|subjectCOMMENT
LOWmodules/meeting/spec/features/move_to_section_spec.rb136 # Set state to opposite of defaultCOMMENT
LOWmodules/budgets/app/helpers/budgets_helper.rb35 # Check if the current user is allowed to manage the budget. Based on RoleCOMMENT
LOW…rds/spec/features/action_boards/assignee_board_spec.rb207 # Add none to the listCOMMENT
LOW…o_factor_authentication/token_strategy/message_bird.rb118 # Check if the translation exist or fall back to englishCOMMENT
AI Slop Vocabulary23 hits · 46 pts
SeverityFileLineSnippetContext
LOWapp/models/project_query.rb74 # Cannot simply use .visible here as it wouldCOMMENT
MEDIUMapp/models/work_packages/scopes/relatable.rb169 # henceforth.COMMENT
LOW…dels/queries/filters/shared/project_filter/required.rb50 # will then simply create an empty result but will not cause anyCOMMENT
LOW…dels/queries/filters/shared/project_filter/optional.rb54 # will then simply create an empty result but will not cause anyCOMMENT
LOWapp/models/queries/projects/filters/ancestor_filter.rb62 # will then simply create an empty result but will not cause anyCOMMENT
LOWapp/models/query/results.rb254 # included/joined associations are not aliased and as such, they simply useCOMMENT
LOW…trollers/work_package_types/projects_tab_controller.rb92 # TODO: once the input is correctly delivered just return: params.expect(type: [:project_ids])COMMENT
LOWapp/controllers/concerns/member_helper.rb66 # In that case, we just return the existing user.COMMENT
MEDIUMapp/controllers/concerns/accounts/authorization.rb167 # object is defined for changes, we clone it so that henceforth all changes are local.COMMENT
MEDIUMapp/helpers/sort_helper.rb40# - Typically used in conjunction with the Pagination module.COMMENT
MEDIUMapp/helpers/project_status_helper.rb37 # Can be used in conjunction with `.project-status--name` orCOMMENT
LOWapp/helpers/backup_helper.rb40 # Also we make sure that in case there is a password that it wasn't just set by a would-be attacker.COMMENT
MEDIUM…play/field-types/project-phase-display-field.module.ts77 // This is more robust than using the name as it avoids issues with special characters.COMMENT
LOWconfig/initializers/zeitwerk.rb80# we simply return the general OpenProject namespace for such files.COMMENT
LOWspec/models/attachment_spec.rb249 # We just use with_direct_uploads here to make sure theCOMMENT
LOWspec/models/query_spec.rb397 # We cannot simply return `WorkPackageCustomField.none` here, as that aliases to `all` and would triggerCOMMENT
MEDIUMspec/support/rspec_disabled_specs.rb5# 1. `spec/disable_specs.rbs` to disable specs which don't work in conjunction with theCOMMENT
LOWspec/controllers/shares_controller_spec.rb45 # We test the specifc behavior for loading the entity here. In the rest of the test we just use project_query as theCOMMENT
MEDIUMlib/open_project/plugins/acts_as_op_engine.rb80 # http://blog.pivotal.io/pivotal-labs/labs/leave-your-migrations-in-your-rails-enginesCOMMENT
LOW…3/utilities/custom_field_injector/link_value_getter.rb110 # While multi value custom fields are expected to simply return an empty arrayCOMMENT
LOW…s_export/work_package/exporter/xls_integration_spec.rb165 # Since this test has to work without the actual costs plugin we'll just addCOMMENT
LOW…ort/lib/open_project/xls_export/spreadsheet_builder.rb86 # Add a "Title". This basically just set the first column toCOMMENT
LOW…_connect/lib/open_project/openid_connect/sso_logout.rb41 # Upon reauthentication just return directly with HTTP 200 OKCOMMENT
Slop Phrases12 hits · 24 pts
SeverityFileLineSnippetContext
LOWapp/models/user.rb339 # Don't forget to check columns_for_nameCOMMENT
MEDIUMconfig/i18n-tasks.yml173## In these cases you can use the built-in PatternMapper to map patterns to keys, e.g.:COMMENT
MEDIUMconfig/initializers/friendly_id.rb81 # 'slug', but you can change it if you wish.COMMENT
LOWconfig/initializers/friendly_id.rb111 # ASCII. If you use this, don't forget to add "babosa" to your Gemfile.COMMENT
LOWconfig/initializers/friendly_id.rb111 # ASCII. If you use this, don't forget to add "babosa" to your Gemfile.COMMENT
LOWlib/open_project/scm/adapters/git.rb597 # make sure to use bare repository path to initialize a managed repositoryCOMMENT
LOWmodules/reporting/spec/features/menu_spec.rb56 # Meaning that you have to make sure to force the absolute URL in a project menu entryCOMMENT
LOW…p/contracts/storages/project_storages/base_contract.rb52 # we have to make sure to not introduce duplicates, because this could lead to one project taking ownership of a folCOMMENT
MEDIUM…ject/gitlab_integration/notification_handler/helper.rb50 # For private comments you can use the prefix: PP#COMMENT
LOW…/adapters/providers/xwiki/commands/create_page_spec.rb44 # To record a VCR cassette, make sure to set parent_identifier to the stable ID of an existing wiki pageCOMMENT
MEDIUM…/adapters/providers/xwiki/commands/create_page_spec.rb90 # For example you can use "Sandbox Test Page 1"COMMENT
LOW…p/services/openid_connect/user_tokens/fetch_service.rb63 # recognized as expired, so client's still need to make sure to handle rejected access tokensCOMMENT
Example Usage Blocks12 hits · 18 pts
SeverityFileLineSnippetContext
LOWapp/models/journal/timestamps.rb38# Usage:COMMENT
LOWapp/models/journable/historic_active_record_relation.rb35# Usage:COMMENT
LOWapp/models/journable/timestamps.rb34# Usage:COMMENT
LOWapp/models/journable/with_historic_attributes.rb35# Usage:COMMENT
LOWapp/helpers/no_results_helper.rb33 # Example usage:COMMENT
LOW…ins/verification/lib/action_controller/verification.rb22 # Usage:COMMENT
LOWspec/support/shared/without_env.rb32# Usage:COMMENT
LOWspec/support/shared/as_user.rb35# Example usage:COMMENT
LOW…es_service/have_correctable_progress_value_matchers.rb37# Usage:COMMENT
LOW…es_service/have_correctable_progress_value_matchers.rb94# Usage:COMMENT
LOWscript/jira/gen_jira_projects.rb30# Usage:COMMENT
LOWlib/open_project/multi_key_hash.rb34 # Example usage:COMMENT
AI Response Leakage2 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…es/admin/custom_fields/work_packages/hierarchy_spec.rb141 # And is the blue banner gone, now that I have added some items?COMMENT
HIGHlib/redmine/plugin.rb74 # In this example, the settings partial will be found here in the plugin directory: <tt>app/views/settings/_settings.rCOMMENT
TODO Padding6 hits · 8 pts
SeverityFileLineSnippetContext
LOW…/projects/settings/project_custom_fields_controller.rb64 # TODO: handle errorCOMMENT
LOW…/projects/settings/project_custom_fields_controller.rb78 # TODO: handle errorCOMMENT
LOWspec/controllers/wiki_controller_spec.rb1064 # TODO: Add tests for new and toc options within menu itemCOMMENT
LOW…c/services/relations/scheduling_mode_switching_spec.rb207 ## TODO: Add tests for changing the relation type (currently supported by API only)COMMENT
LOW…ules/costs/app/contracts/time_entries/base_contract.rb77 attribute :start_time # TODO: Add validation with global settingCODE
LOW…/lib/api/v3/time_entries/entity_representer_factory.rb144 # TODO: Handle error if unexpected objectCOMMENT
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…ages/activities_tab/journals/item_component/details.rb186 :"dot-fill", # color is set via CSS as requested by UI/UX TeamCODE
Cross-Language Confusion (JS/TS)1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…ollers/dynamic/two-factor-authentication.controller.ts128 print(evt:MouseEvent) {CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMlib/open_project/plugins/frontend_linking/generator.rb114 # Regenerate the frontend plugin module orchestrating the linked frontendsCOMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…ec/support/components/attachments/attachments_input.js124 getData : function getData(){},CODE