OpenProject is the leading open source project management software.
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).
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.
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.
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.
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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lefthook.yml | 1 | # Lefthook configuration | COMMENT |
| LOW | docker-compose.override.example.yml | 21 | # - '5433:5432' | COMMENT |
| LOW | packaging/conf/configuration.yml | 1 | #-- copyright | COMMENT |
| LOW | packaging/conf/configuration.yml | 21 | # | COMMENT |
| LOW | docker/prod/artifacthub-repo.yml | 1 | # Artifact Hub repository metadata file | COMMENT |
| LOW | docker/dev/tls/docker-compose.core-override.example.yml | 1 | # Some containers (e.g. backend and workers) need some variables to be configured properly | COMMENT |
| LOW | app/uploaders/fog_file_uploader.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/uploaders/fog_file_uploader.rb | 21 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | app/uploaders/fog_file_uploader.rb | 61 | COMMENT | |
| LOW | app/uploaders/file_uploader.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/uploaders/file_uploader.rb | 21 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | app/uploaders/direct_fog_uploader.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/uploaders/direct_fog_uploader.rb | 21 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | app/uploaders/local_file_uploader.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/uploaders/local_file_uploader.rb | 21 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | app/forms/application_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/login_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/enterprise_trials/form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/attribute_help_texts/form_helper.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/attribute_help_texts/form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/filters/inputs/base_filter_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/filters/inputs/add_filter_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/filters/inputs/text_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/filters/inputs/date_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/filters/inputs/autocomplete_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/filters/inputs/list_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/filters/inputs/boolean_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/settings/form_helper.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/settings/form_helper.rb | 21 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | app/forms/settings/form_helper.rb | 41 | def setting_label(*names) | COMMENT |
| LOW | app/forms/settings/input_methods.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/settings/input_methods.rb | 21 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | app/forms/settings/input_methods.rb | 41 | # | COMMENT |
| LOW | app/forms/settings/input_methods.rb | 61 | COMMENT | |
| LOW | app/forms/settings/input_methods.rb | 81 | # | COMMENT |
| LOW | app/forms/settings/input_methods.rb | 101 | # are defined. | COMMENT |
| LOW | app/forms/settings/input_methods.rb | 121 | else | COMMENT |
| LOW | app/forms/settings/input_methods.rb | 141 | # Any options passed to this method will override the default options. | COMMENT |
| LOW | app/forms/settings/input_methods.rb | 161 | else | COMMENT |
| LOW | app/forms/settings/input_methods.rb | 261 | args[:selected] = setting_value(name) == args[:value] unless args.key?(:selected) | COMMENT |
| LOW | app/forms/settings/new_project_settings_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/settings/multi_lang_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/settings/authentication_settings_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/settings/form_object_decorator.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/settings/form_object_decorator.rb | 21 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | app/forms/settings/form_object_decorator.rb | 41 | # @!attribute [r] object | COMMENT |
| LOW | app/forms/settings/input_group_decorator.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/settings/input_group_decorator.rb | 21 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | app/forms/settings/input_group_decorator.rb | 41 | # @!attribute [r] object | COMMENT |
| LOW | app/forms/settings/new_project_notifications_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/work_package_types/settings_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | …forms/work_package_types/subject_configuration_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/work_package_types/configuration_link_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/work_package_types/configuration_link_form.rb | 21 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | …ms/work_package_types/form_configuration/group_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/work_package_types/wizard/workflows_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/work_package_types/wizard/workflows_form.rb | 21 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | app/forms/work_package_types/wizard/details_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | app/forms/work_package_types/wizard/details_form.rb | 21 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | COMMENT |
| LOW | app/forms/work_packages/progress_form.rb | 1 | # frozen_string_literal: true | COMMENT |
| 14120 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/uploaders/direct_fog_uploader.rb | 85 | def extra_fog_hash_attributes(uploader:) | CODE |
| LOW | app/forms/attribute_help_texts/form_helper.rb | 33 | def wrap_attribute_label_with_help_text(label, attribute) | CODE |
| LOW | app/forms/settings/input_methods.rb | 201 | def multi_language_text_select(name:, current_language: I18n.locale.to_s) | CODE |
| LOW | app/forms/settings/input_methods.rb | 240 | def build_radio_button_group_values(group, name:, values:, button_options:) | CODE |
| LOW | app/forms/settings/input_methods.rb | 249 | def build_check_box_group_values(group, name:, values:, check_box_options:) | CODE |
| LOW | app/forms/settings/input_methods.rb | 310 | def decorate_options_with_value(name:, **options) | CODE |
| LOW⚡ | app/forms/settings/new_project_settings_form.rb | 68 | def build_new_project_user_role_options(select) | CODE |
| LOW⚡ | app/forms/settings/new_project_settings_form.rb | 76 | def add_assignable_role_option(select, role) | CODE |
| LOW⚡ | app/forms/settings/new_project_settings_form.rb | 84 | def add_non_qualifying_role_option(select, role) | CODE |
| LOW | app/forms/work_package_types/configuration_link_form.rb | 108 | def confirm_switch_to_independent(source_form) | CODE |
| LOW | app/forms/work_packages/progress_form.rb | 103 | def focused_field_by_selection(field) | CODE |
| LOW | app/forms/custom_fields/custom_field_rendering.rb | 112 | def single_value_custom_field_input(builder, custom_field) | CODE |
| LOW | app/forms/custom_fields/custom_field_rendering.rb | 122 | def multi_value_custom_field_input(builder, custom_field) | CODE |
| LOW | app/mailers/sharing_mailer.rb | 77 | def derive_allowed_work_package_actions(role) | CODE |
| LOW | app/mailers/project_artifacts_mailer.rb | 35 | def creation_wizard_submitted(user, project, artifact_work_package) | CODE |
| LOW | app/mailers/user_mailer.rb | 71 | def password_change_not_possible(user) | CODE |
| LOW | app/mailers/user_mailer.rb | 184 | def account_activation_requested(admin, user) | CODE |
| LOW | app/mailers/user_mailer.rb | 232 | def open_project_wiki_headers(wiki_page) | CODE |
| LOW | app/mailers/user_mailer.rb | 238 | def open_project_message_headers(message) | CODE |
| LOW | app/mailers/application_mailer.rb | 137 | def default_formats_for_setting(format) | CODE |
| LOW | app/contracts/base_contract.rb | 93 | def default_attribute_permission(permission) | CODE |
| LOW | app/contracts/base_contract.rb | 183 | def collect_ancestor_attributes(attribute_to_collect) | CODE |
| LOW | app/contracts/base_contract.rb | 193 | def collect_ancestor_attributes_by(attribute_to_collect, combination_method, cleanup_method) | CODE |
| LOW⚡ | app/contracts/base_contract.rb | 234 | def reduce_writable_attributes(attributes) | CODE |
| LOW⚡ | app/contracts/base_contract.rb | 239 | def reduce_by_writable_conditions(attributes) | CODE |
| LOW⚡ | app/contracts/base_contract.rb | 248 | def reduce_by_writable_permissions(attributes) | CODE |
| LOW | app/contracts/base_contract.rb | 288 | def validate_and_merge_errors(contract) | CODE |
| LOW | app/contracts/base_contract.rb | 306 | def merge_errors_deduplicated(other_errors) | CODE |
| LOW | …rk_package_types/update_form_configuration_contract.rb | 108 | def normalized_legacy_group_key(seen_keys) | CODE |
| LOW | …rk_package_types/update_form_configuration_contract.rb | 120 | def validate_rebuilt_query_group(group, query) | CODE |
| LOW | app/contracts/work_packages/base_contract.rb | 273 | def validate_after_soonest_start(date_attribute) | CODE |
| LOW | app/contracts/work_packages/base_contract.rb | 467 | def validate_version_ids_assignable(ids, error_field, assignable) | CODE |
| LOW | app/contracts/work_packages/base_contract.rb | 692 | def reduce_by_writable_permissions(attributes) | CODE |
| LOW | app/contracts/work_packages/base_contract.rb | 751 | def new_statuses_allowed_from(status) | CODE |
| LOW | …p/contracts/work_packages/skip_authorization_checks.rb | 42 | def reduce_by_writable_permissions(attributes) | CODE |
| LOW | app/contracts/projects/update_contract.rb | 77 | def with_available_custom_fields_only(changes) | CODE |
| LOW | app/contracts/projects/update_contract.rb | 81 | def with_all_available_custom_fields(changes) | CODE |
| LOW | app/contracts/versions/base_contract.rb | 92 | def assignable_custom_field_values(custom_field) | CODE |
| LOW | app/contracts/roles/base_contract.rb | 100 | def add_unmet_dependency_error(selected, unmet) | CODE |
| LOW | app/contracts/groups/base_contract.rb | 85 | def users_already_in_departments(user_ids) | CODE |
| LOW | app/contracts/users/base_contract.rb | 68 | def reduce_writable_attributes(attributes) | CODE |
| LOW | app/contracts/attachments/validate_replacements.rb | 50 | def error_if_attachment_assigned(attachment) | CODE |
| LOW | app/contracts/attachments/validate_replacements.rb | 54 | def error_if_other_user_attachment(attachment) | CODE |
| LOW | app/contracts/concerns/admin_writable_timestamps.rb | 35 | def allow_writable_timestamps(attributes = %i[created_at updated_at]) | CODE |
| LOW | …p/contracts/concerns/assignable_custom_field_values.rb | 35 | def assignable_custom_field_values(custom_field) | CODE |
| LOW | app/models/permitted_params.rb | 134 | def move_work_package_form_values(args = {}) | CODE |
| LOW | app/models/permitted_params.rb | 711 | def build_custom_field_values(key, required:) | CODE |
| LOW | app/models/custom_field.rb | 424 | def possible_version_values_options(obj, options: {}) | CODE |
| LOW | app/models/custom_field.rb | 436 | def possible_user_values_options(obj) | CODE |
| LOW | app/models/watcher.rb | 95 | def destroy_watchers_if_permission_missing(watchable_class, class_candidates) | CODE |
| LOW | app/models/timestamp.rb | 68 | def substitute_special_shortcut_values(string) | CODE |
| LOW | app/models/ldap_auth_source.rb | 192 | def get_user_attributes_from_ldap_entry(entry) | CODE |
| LOW⚡ | app/models/project_custom_field.rb | 69 | def toggleable_ids_in_project_settings(project, user, custom_field_section_id) | CODE |
| LOW⚡ | app/models/project_custom_field.rb | 78 | def custom_field_ids_in_section(custom_field_section_id) | CODE |
| LOW⚡ | app/models/project_custom_field.rb | 82 | def toggleable_ids_in_creation_wizard_settings(project, custom_field_section_id) | CODE |
| LOW | app/models/project_custom_field.rb | 119 | def mappings_with_view_project_attributes_permission(user, project) # rubocop:disable Metrics/AbcSize | CODE |
| LOW | app/models/work_package.rb | 317 | def set_derived_progress_hint(field_name, hint, **params) | CODE |
| LOW | app/models/work_package.rb | 547 | def convert_duration_to_hours(value) | CODE |
| LOW | app/models/work_package.rb | 558 | def convert_value_to_percentage(value) | CODE |
| LOW | app/models/changeset.rb | 205 | def find_referenced_work_package_by_id(id) | CODE |
| 1773 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packaging/conf/configuration.yml | 32 | # This file is auto-generated by OpenProject, | COMMENT |
| MEDIUM | app/contracts/model_contract.rb | 94 | # This method is mostly copied from ActiveModel::Validations#valid? | COMMENT |
| MEDIUM | app/models/enabled_module.rb | 46 | # Create a wiki with a default start page | COMMENT |
| MEDIUM | app/models/wiki_page.rb | 91 | # Create a slug for the given title | COMMENT |
| MEDIUM | app/models/wiki_page.rb | 136 | # Create a redirect to the new title | COMMENT |
| MEDIUM | app/models/scim_client.rb | 55 | # This method is part of a nasty workaround for creating and updating SCIM clients: | COMMENT |
| MEDIUM | app/models/token/base.rb | 57 | # Create a plain and hashed value when creating a new token | COMMENT |
| MEDIUM | …odels/work_package/exports/formatters/project_phase.rb | 44 | # This method is not implemented (yet). | COMMENT |
| MEDIUM | app/models/custom_value/ar_object_strategy.rb | 60 | # This method is not inlined in typed_value to allow separate changes to typed_value and formatted_value | COMMENT |
| MEDIUM | app/models/work_packages/scopes/relatable.rb | 153 | # Creating a parent relationship is destructive since there can only ever be one. | COMMENT |
| MEDIUM | …p/models/queries/filters/shared/custom_field_filter.rb | 64 | # Create a filter instance for the given custom field accessor | COMMENT |
| MEDIUM | …p/models/queries/filters/shared/custom_field_filter.rb | 73 | # Create a filter instance for the given custom field | COMMENT |
| MEDIUM | app/models/journable/with_historic_attributes.rb | 31 | # This class is used to wrap a Journable and provide access to its attributes at given timestamps. | COMMENT |
| MEDIUM | app/models/project_queries/static.rb | 130 | # This method is used to create static queries, so assume clean state after building | COMMENT |
| MEDIUM | app/workers/shared_job_setup.rb | 33 | # This module is included in `ApplicationJob` and `Mails::MailerJob` and does | COMMENT |
| MEDIUM | app/workers/debounceable_job.rb | 32 | # This module is generalizes the debounce logic that was originally used on {Storages::ManageStorageIntegrationsJob} | COMMENT |
| MEDIUM | app/workers/exports/export_job.rb | 118 | # Create a target file name, replacing any invalid characters | COMMENT |
| MEDIUM | app/workers/scm/create_local_repository_job.rb | 53 | # Create the repository locally. | COMMENT |
| MEDIUM | app/controllers/messages_controller.rb | 84 | # Create a new topic | COMMENT |
| MEDIUM | app/helpers/augmenting_helper.rb | 33 | # Create a collapsible section and yield to render the block | COMMENT |
| MEDIUM | app/helpers/static_links_helper.rb | 33 | # Create a static link to the given key entry | COMMENT |
| MEDIUM | app/helpers/angular_helper.rb | 33 | # Create a component element tag with the given attributes | COMMENT |
| MEDIUM | app/helpers/watchers_helper.rb | 32 | # Create a link to watch/unwatch object | COMMENT |
| MEDIUM | app/services/work_packages/update_ancestors_service.rb | 178 | # This method is called only when parent or parent_id attribute of the | COMMENT |
| MEDIUM | app/services/copy/dependency.rb | 63 | # Create a result with an empty error set | COMMENT |
| MEDIUM | app/services/attachments/base_service.rb | 34 | # Create an attachment service bypassing the user-provided whitelist | COMMENT |
| MEDIUM | lib_static/redmine/i18n.rb | 31 | # This file is to be split up into smaller files in the OpenProject namespace. | COMMENT |
| MEDIUM | lib_static/redmine/diff/diffable.rb | 71 | # Create a hash that maps elements of the array to arrays of indices | COMMENT |
| MEDIUM | …tic/plugins/acts_as_journalized/lib/cause_of_change.rb | 31 | # This file is part of the acts_as_journalized plugin for the redMine | COMMENT |
| MEDIUM | …c/plugins/acts_as_journalized/lib/journal_formatter.rb | 31 | # This file is part of the acts_as_journalized plugin for the redMine | COMMENT |
| MEDIUM | …plugins/acts_as_journalized/lib/acts_as_journalized.rb | 31 | # This file is part of the acts_as_journalized plugin for the redMine | COMMENT |
| MEDIUM | …acts_as_journalized/lib/acts/journalized/save_hooks.rb | 31 | # This file is part of the acts_as_journalized plugin for the redMine | COMMENT |
| MEDIUM | …cts_as_journalized/lib/acts/journalized/permissions.rb | 31 | # This file is part of the acts_as_journalized plugin for the redMine | COMMENT |
| MEDIUM | …ts_as_journalized/lib/acts/journalized/format_hooks.rb | 31 | # This file is part of the acts_as_journalized plugin for the redMine | COMMENT |
| MEDIUM | …ugins/acts_as_customizable/lib/acts_as_customizable.rb | 177 | # This method is expected to be used when more comments are needed, so it | COMMENT |
| MEDIUM | …ins/verification/lib/action_controller/verification.rb | 11 | # This module provides a class-level method for specifying that certain | COMMENT |
| MEDIUM | lib_static/open_project/authentication.rb | 91 | # This module is only there to declare all used scopes. Technically a scope can be an | COMMENT |
| MEDIUM | lib_static/open_project/feature_decisions.rb | 33 | # This module is the container for temporary or permanent feature flags. | COMMENT |
| MEDIUM | lib_static/open_project/opentelemetry.rb | 55 | # Create a new span for the exception if no current span | COMMENT |
| MEDIUM | lib_static/open_project/database.rb | 33 | # This module provides some information about the currently used database | COMMENT |
| MEDIUM | config/locales/crowdin/ja.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/el.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/rw.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/fil.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/pt-BR.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/es.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/sr.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/be.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/tr.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/hy.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/cs.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/th.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/no.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/pt-PT.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/ka.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/hu.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/de.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/kk.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/eu.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| MEDIUM | config/locales/crowdin/ne.seeders.yml | 3 | #This file is part of the sources sent to crowdin for translation. | COMMENT |
| 447 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | modules/meeting/config/locales/crowdin/mn.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/az.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/th.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/be.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/ca.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/uz.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/ne.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/bg.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/si.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/hu.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/da.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/fi.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/fil.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/ro.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/sk.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/eu.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/he.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/hr.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/et.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/sl.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/kk.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/fa.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/el.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/hi.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/eo.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/ka.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/sr.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/hy.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/rw.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/af.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/lv.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/ms.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/ar.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/lt.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/ckb-IR.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/no.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/nl.yml | 0 | header_occurrence: 'cancelled: meeting occurrence ''%{title} | STRING |
| HIGH | modules/meeting/config/locales/crowdin/mn.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/az.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/th.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/be.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/ca.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/uz.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/ne.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/bg.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/si.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/hu.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/da.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/fi.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/fil.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/ro.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/sk.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/eu.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/he.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/hr.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/et.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/sl.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/kk.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/fa.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| HIGH | modules/meeting/config/locales/crowdin/el.yml | 0 | summary: "'%{title}' has been cancelled by %{actor}, or you have been removed as a participant" summary_occurrence: an o | STRING |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/models/user.rb | 498 | # - Will find 'foo+bar@example.org' with input of 'foo@example.org' | COMMENT |
| LOW | app/models/exports/pdf/demo_generator.rb | 134 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " \ | CODE |
| LOW | app/models/exports/pdf/demo_generator.rb | 134 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " \ | CODE |
| LOW⚡ | …p/core/setup/globals/global-listeners/color-preview.ts | 58 | } else if (input.getAttribute('placeholder') | CODE |
| LOW⚡ | …p/core/setup/globals/global-listeners/color-preview.ts | 59 | && input.getAttribute('placeholder')!.length > 0) { | CODE |
| LOW⚡ | …p/core/setup/globals/global-listeners/color-preview.ts | 60 | previewColor = input.getAttribute('placeholder')!; | CODE |
| LOW | …global_search/input/global-search-input.component.html | 1 | <div role="search" class="top-menu-search" [attr.aria-label]="placeholder"> | CODE |
| LOW | …nge-date-picker/basic-range-date-picker.component.html | 16 | [placeholder]="placeholder" | CODE |
| LOW | …nge-date-picker/basic-range-date-picker.component.html | 33 | [placeholder]="placeholder" | CODE |
| LOW | …nge-date-picker/basic-range-date-picker.component.html | 47 | [placeholder]="placeholder" | CODE |
| LOW | …le-date-picker/basic-single-date-picker.component.html | 16 | [placeholder]="placeholder" | CODE |
| LOW | …le-date-picker/basic-single-date-picker.component.html | 36 | [placeholder]="placeholder" | CODE |
| LOW | …leter/op-autocompleter/op-autocompleter.component.html | 52 | [placeholder]="placeholder" | CODE |
| LOW | …p/spot/components/text-field/text-field.component.html | 8 | [placeholder]="placeholder" | CODE |
| LOW | config/locales/crowdin/ro.yml | 4649 | data_consequences: 'Toate prezențele utilizatorului de tip "placeholder" (de exemplu, ca destinatar, responsabil s | CODE |
| LOW | spec/mailers/smtp_settings_spec.rb | 64 | mail(from: "test@op.com", to: "foo@bar.com", subject: "Test mail", body: "body") | CODE |
| LOW | …cts/authentication/omniauth_auth_hash_contract_spec.rb | 39 | email: "foo@bar.com", | CODE |
| LOW | spec/features/auth/consent_auth_stage_spec.rb | 211 | fill_in "user_mail", with: "foo@example.org" | CODE |
| LOW | spec/features/auth/consent_auth_stage_spec.rb | 263 | context "with contact mail address", with_settings: { consent_decline_mail: "foo@example.org" } do | CODE |
| LOW | spec/features/auth/consent_auth_stage_spec.rb | 273 | expect_flash(type: :error, message: "foo@example.org") | CODE |
| LOW | …ts/project_custom_fields/overview_page/sidebar_spec.rb | 480 | text_project_custom_field.custom_values.where(customized: project).first.update!(value: "Lorem ipsum") | CODE |
| LOW | …ts/project_custom_fields/overview_page/sidebar_spec.rb | 489 | expect(page).to have_text "Lorem ipsum" | CODE |
| LOW | …ts/project_custom_fields/overview_page/sidebar_spec.rb | 560 | text_project_custom_field.update!(default_value: "Dolor sit amet") | CODE |
| LOW | …ts/project_custom_fields/overview_page/sidebar_spec.rb | 567 | expect(page).to have_text "Dolor sit amet" | CODE |
| LOW | spec/features/admin/departments_spec.rb | 142 | departments_page.add_user("Jane Doe") | CODE |
| LOW | spec/features/admin/departments_spec.rb | 145 | departments_page.expect_user_listed("Jane Doe") | CODE |
| LOW | spec/features/admin/departments_spec.rb | 181 | departments_page.select_user_in_autocompleter("Jane Doe") | CODE |
| LOW | spec/features/admin/departments_spec.rb | 193 | departments_page.expect_user_listed("Jane Doe") | CODE |
| LOW⚡ | spec/features/admin/departments_spec.rb | 210 | departments_page.expect_user_listed("Jane Doe") | CODE |
| LOW⚡ | spec/features/admin/departments_spec.rb | 212 | departments_page.remove_user("Jane Doe") | CODE |
| LOW⚡ | spec/features/admin/departments_spec.rb | 215 | departments_page.expect_no_user_listed("Jane Doe") | CODE |
| LOW⚡ | spec/features/admin/departments_spec.rb | 221 | Setting.organization_name = "Acme Corp" | CODE |
| LOW⚡ | spec/features/admin/departments_spec.rb | 227 | departments_page.expect_breadcrumbs("Acme Corp") | CODE |
| LOW⚡ | spec/features/admin/departments_spec.rb | 233 | departments_page.expect_organization_name("Acme Corp") | CODE |
| LOW | spec/features/admin/departments_spec.rb | 252 | departments_page.expect_organization_name("Acme Corp") | CODE |
| LOW | spec/features/admin/enterprise/enterprise_spec.rb | 70 | token.mail = "foo@example.org" | CODE |
| LOW | spec/features/activities/time_entry_activity_spec.rb | 62 | comments: "lorem ipsum") | CODE |
| LOW | spec/features/members/membership_spec.rb | 42 | mail: "foo@example.org") | CODE |
| LOW | spec/features/members/membership_filter_spec.rb | 42 | mail: "foo@example.org", | CODE |
| LOW | spec/features/members/membership_filter_spec.rb | 81 | members_page.search_for_name "@example.org" | CODE |
| LOW | spec/features/members/membership_filter_spec.rb | 109 | members_page.search_for_name "@example.org" | CODE |
| LOW | spec/models/mail_handler_spec.rb | 567 | .to include("Lorem ipsum dolor sit amet, consectetuer adipiscing elit.") | CODE |
| LOW | spec/models/mail_handler_spec.rb | 567 | .to include("Lorem ipsum dolor sit amet, consectetuer adipiscing elit.") | CODE |
| LOW | spec/models/mail_handler_spec.rb | 730 | expect(subject.author.mail).to eq("foo@example.org") | CODE |
| LOW | spec/models/mail_handler_spec.rb | 1249 | let!(:mail_user) { create(:admin, mail: "user@example.org") } | CODE |
| LOW | spec/models/user_spec.rb | 95 | .to eql "foo@bar.com" | CODE |
| LOW | spec/models/user_spec.rb | 116 | let(:mail) { "foo@bar.com" } | CODE |
| LOW | spec/models/user_spec.rb | 882 | _, suffixed = described_class.mail_regexp("foo+bar@example.org") | CODE |
| LOW⚡ | spec/models/user_spec.rb | 921 | let!(:user1) { create(:user, mail: "foo+test@example.org") } | CODE |
| LOW⚡ | spec/models/user_spec.rb | 922 | let!(:user2) { create(:user, mail: "foo@example.org") } | CODE |
| LOW⚡ | spec/models/user_spec.rb | 923 | let!(:user3) { create(:user, mail: "foo-bar@example.org") } | CODE |
| LOW⚡ | spec/models/user_spec.rb | 930 | match2 = described_class.find_by_mail("foo@example.org") | CODE |
| LOW⚡ | spec/models/user_spec.rb | 933 | matches = described_class.where_mail_with_suffix("foo@example.org") | CODE |
| LOW⚡ | spec/models/user_spec.rb | 936 | matches = described_class.where_mail_with_suffix("foo+test@example.org") | CODE |
| LOW⚡ | spec/models/user_spec.rb | 945 | match1 = described_class.find_by_mail("foo-bar@example.org") | CODE |
| LOW⚡ | spec/models/user_spec.rb | 949 | match2 = described_class.find_by_mail("foo@example.org") | CODE |
| LOW⚡ | spec/models/user_spec.rb | 952 | matches = described_class.where_mail_with_suffix("foo@example.org") | CODE |
| LOW | spec/models/ldap_auth_source_spec.rb | 154 | entry["mail"] = "some@example.org" | CODE |
| LOW | spec/models/ldap_auth_source_spec.rb | 297 | expect(user.mail).to eq "belle@example.org" | CODE |
| LOW | spec/models/ldap_auth_source_spec.rb | 306 | expect(user.mail).to eq "belle@example.org" | CODE |
| 264 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | spec/features/menu_items/quick_add_menu_spec.rb | 71 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/menu_items/quick_add_menu_spec.rb | 74 | # Step 2: Project details - Parent field is not visible here | COMMENT |
| LOW | spec/features/types/creation_wizard_spec.rb | 68 | # Step 1 - Details: identity only, so no reuse mode to choose. | COMMENT |
| LOW | spec/features/types/creation_wizard_spec.rb | 72 | # Step 2 - Form configuration: every step from here offers the reuse mode selector. | COMMENT |
| LOW | spec/features/types/creation_wizard_spec.rb | 127 | # Step 2 - Form configuration: link it to Epic rather than the default parent. | COMMENT |
| LOW⚡ | spec/features/projects/subproject_creation_spec.rb | 62 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/subproject_creation_spec.rb | 65 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 61 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 64 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 129 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 132 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 149 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 152 | # Step 2: Try to complete without name | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 183 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 186 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 191 | # Step 3: Fill in custom fields | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 246 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 249 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 254 | # Step 3: Fill in custom fields | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 331 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 334 | # Step 2: Project details - skip to step 3 | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 339 | # Step 3: Custom fields | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 361 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 364 | # Step 2: Fill in name | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 369 | # Step 3: Try to complete without required custom field | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 392 | # Step 1: Select workspace type | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 395 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 399 | # Step 3: Fill in required custom field | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 536 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 539 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 613 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 616 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/attribute_help_texts_spec.rb | 109 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/attribute_help_texts_spec.rb | 112 | # Step 2: Project details - Name field is visible here | COMMENT |
| LOW | spec/features/projects/template_spec.rb | 102 | # Step 2: Project details | COMMENT |
| LOW⚡ | spec/features/projects/template_spec.rb | 151 | # Step 2: Project details | COMMENT |
| LOW⚡ | spec/features/projects/template_spec.rb | 157 | # Step 3: Custom fields - should not show custom field form when creating from template | COMMENT |
| LOW | …ects/creation_wizard/wizard_from_template_flow_spec.rb | 143 | # Step 2: Project details | COMMENT |
| LOW⚡ | spec/features/portfolios/create_spec.rb | 67 | # Step 1: Select workspace type (blank portfolio) | COMMENT |
| LOW⚡ | spec/features/portfolios/create_spec.rb | 70 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | …ec/features/global_roles/global_create_project_spec.rb | 94 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | …ec/features/global_roles/global_create_project_spec.rb | 97 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/programs/create_spec.rb | 67 | # Step 1: Select workspace type (blank program) | COMMENT |
| LOW⚡ | spec/features/programs/create_spec.rb | 70 | # Step 2: Fill in project details | COMMENT |
| LOW | …eatures/notifications/turbo_angular_navigation_spec.rb | 53 | # Step 1: Open notification center | COMMENT |
| LOW⚡ | …eatures/notifications/turbo_angular_navigation_spec.rb | 64 | # Step 2: Click a notification so that the work package opens on the side | COMMENT |
| LOW⚡ | …eatures/notifications/turbo_angular_navigation_spec.rb | 69 | # Step 3: Click on the work package #id from the notifications list | COMMENT |
| LOW⚡ | …eatures/notifications/turbo_angular_navigation_spec.rb | 75 | # Step 4: Click back once | COMMENT |
| LOW⚡ | …eatures/notifications/turbo_angular_navigation_spec.rb | 83 | # Step 5: Click back a second time | COMMENT |
| LOW | …er-guide/projects/project-initiation-request/README.md | 38 | ## Step 1: Create a new project | COMMENT |
| LOW | …er-guide/projects/project-initiation-request/README.md | 58 | ## Step 2: Fill out the project initiation request | COMMENT |
| LOW | …er-guide/projects/project-initiation-request/README.md | 88 | ## Step 3: Submit the project initiation request | COMMENT |
| LOW | docs/development/localhost-ssl/README.md | 9 | ## Step 1: Create a self-signed certificate | COMMENT |
| LOW | docs/development/localhost-ssl/README.md | 21 | ## Step 2: Set up a custom host | COMMENT |
| LOW | docs/development/localhost-ssl/README.md | 27 | ## Step 3: Install and configure Apache2 | COMMENT |
| LOW | docs/development/localhost-ssl/README.md | 93 | ## Step 4: Configure OpenProject for HTTPS usage | COMMENT |
| LOW | …s/system-admin-guide/authentication/kerberos/README.md | 19 | ## Step 1: Create Kerberos service and keytab for OpenProject | COMMENT |
| LOW | …s/system-admin-guide/authentication/kerberos/README.md | 41 | ## Step 2: Configure Apache web server | COMMENT |
| LOW | …s/system-admin-guide/authentication/kerberos/README.md | 95 | ## Step 3: Configure OpenProject to use Apache header | COMMENT |
| LOW | …s/system-admin-guide/authentication/kerberos/README.md | 116 | ## Step 4: Restart the server | COMMENT |
| 64 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …tions/switch_display_representations_on_mobile_spec.rb | 75 | page.driver.browser.manage.window.resize_to(700, 1080) | CODE |
| CRITICAL | …_packages/table/queries/query_name_inline_edit_spec.rb | 116 | page.driver.browser.switch_to.active_element.send_keys("Some other name") | CODE |
| CRITICAL | …_packages/table/queries/query_name_inline_edit_spec.rb | 117 | page.driver.browser.switch_to.active_element.send_keys(:return) | CODE |
| CRITICAL | …s/work_packages/share/share_account_activation_spec.rb | 75 | link = ActionMailer::Base.deliveries.first.text_part.body.encoded.scan(/http:\/\/.+$/).first.chomp | CODE |
| CRITICAL | …features/a11y/work_packages/work_package_query_spec.rb | 184 | page.driver.browser.switch_to.active_element.send_keys("j") | CODE |
| CRITICAL | …features/a11y/work_packages/work_package_query_spec.rb | 187 | page.driver.browser.switch_to.active_element.send_keys("k") | CODE |
| CRITICAL | spec/support/capybara_browser_logs.rb | 42 | Capybara.page.driver.browser.manage.instance_variable_get(:@bridge).log("browser") | CODE |
| CRITICAL | spec/support/shared/with_mobile_screen.rb | 53 | page.driver.browser.manage.window.resize_to(width || 500, height || 1000) | CODE |
| CRITICAL | spec/support/shared/with_mobile_screen.rb | 62 | page.driver.browser.manage.window.resize_to(width_before, height_before) | CODE |
| CRITICAL | spec/controllers/users_controller_spec.rb | 1382 | expect(User.newest.first.attributes.with_indifferent_access.slice(:firstname, :lastname, :login, :mail)) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | spec/features/menu_items/quick_add_menu_spec.rb | 71 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/menu_items/quick_add_menu_spec.rb | 74 | # Step 2: Project details - Parent field is not visible here | COMMENT |
| LOW⚡ | spec/features/projects/subproject_creation_spec.rb | 62 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/subproject_creation_spec.rb | 65 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 61 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 64 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 129 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 132 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 149 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 152 | # Step 2: Try to complete without name | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 183 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 186 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 191 | # Step 3: Fill in custom fields | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 246 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 249 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 254 | # Step 3: Fill in custom fields | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 331 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 334 | # Step 2: Project details - skip to step 3 | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 339 | # Step 3: Custom fields | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 361 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 364 | # Step 2: Fill in name | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 369 | # Step 3: Try to complete without required custom field | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 392 | # Step 1: Select workspace type | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 395 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 399 | # Step 3: Fill in required custom field | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 536 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 539 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 613 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/create_spec.rb | 616 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/projects/attribute_help_texts_spec.rb | 109 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | spec/features/projects/attribute_help_texts_spec.rb | 112 | # Step 2: Project details - Name field is visible here | COMMENT |
| LOW | spec/features/projects/template_spec.rb | 102 | # Step 2: Project details | COMMENT |
| LOW⚡ | spec/features/projects/template_spec.rb | 151 | # Step 2: Project details | COMMENT |
| LOW⚡ | spec/features/projects/template_spec.rb | 157 | # Step 3: Custom fields - should not show custom field form when creating from template | COMMENT |
| LOW | …ects/creation_wizard/wizard_from_template_flow_spec.rb | 143 | # Step 2: Project details | COMMENT |
| LOW⚡ | spec/features/portfolios/create_spec.rb | 67 | # Step 1: Select workspace type (blank portfolio) | COMMENT |
| LOW⚡ | spec/features/portfolios/create_spec.rb | 70 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | …ec/features/global_roles/global_create_project_spec.rb | 94 | # Step 1: Select workspace type (blank project) | COMMENT |
| LOW⚡ | …ec/features/global_roles/global_create_project_spec.rb | 97 | # Step 2: Fill in project details | COMMENT |
| LOW⚡ | spec/features/programs/create_spec.rb | 67 | # Step 1: Select workspace type (blank program) | COMMENT |
| LOW⚡ | spec/features/programs/create_spec.rb | 70 | # Step 2: Fill in project details | COMMENT |
| LOW | …eatures/notifications/turbo_angular_navigation_spec.rb | 53 | # Step 1: Open notification center | COMMENT |
| LOW⚡ | …eatures/notifications/turbo_angular_navigation_spec.rb | 64 | # Step 2: Click a notification so that the work package opens on the side | COMMENT |
| LOW⚡ | …eatures/notifications/turbo_angular_navigation_spec.rb | 69 | # Step 3: Click on the work package #id from the notifications list | COMMENT |
| LOW⚡ | …eatures/notifications/turbo_angular_navigation_spec.rb | 75 | # Step 4: Click back once | COMMENT |
| LOW⚡ | …eatures/notifications/turbo_angular_navigation_spec.rb | 83 | # Step 5: Click back a second time | COMMENT |
| LOW⚡ | …/app/services/bim/ifc_models/view_converter_service.rb | 85 | # Step 0: avoid file name issues (e.g. umlauts) in the pipeline | COMMENT |
| LOW⚡ | …/app/services/bim/ifc_models/view_converter_service.rb | 89 | .then { |ifc_path| convert_to_collada ifc_path } # Step 1: IfcConvert | CODE |
| LOW⚡ | …/app/services/bim/ifc_models/view_converter_service.rb | 90 | .then { |collada_path| convert_to_gltf collada_path } # Step 2: Collada2GLTF | CODE |
| LOW⚡ | …/app/services/bim/ifc_models/view_converter_service.rb | 91 | .then { |gltf_path| convert_to_xkt gltf_path } # Step 3: Create XKT from extracted metadata JSON and GLTF | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app/models/work_packages/scopes/relatable.rb | 148 | # WP2 <────follows──────── WP1 <────────follows──── WP5 | COMMENT |
| MEDIUM | …-packages/activities-tab/services/view-port-service.ts | 120 | // ├──────────────────┤ ← returned height; the comment seats below this line | COMMENT |
| MEDIUM | …ackages/table/hierarchy/hierarchy_parent_below_spec.rb | 22 | # --------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 56 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 59 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 87 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 89 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 115 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 117 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 170 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 172 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 251 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 253 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 368 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 370 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 403 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 405 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 453 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 455 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 478 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 480 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 529 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 531 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 557 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rvices/groups/hierarchy_membership_integration_spec.rb | 560 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …okbook/previews/open_project/common/divider_preview.rb | 37 | # --------------------- | COMMENT |
| MEDIUM | …ook/previews/open_project/common/datepicker_preview.rb | 37 | # --------------------- | COMMENT |
| MEDIUM | …ook/previews/open_project/common/datepicker_preview.rb | 69 | # --------------------- | COMMENT |
| MEDIUM | …iews/open_project/deprecated/simple_filters_preview.rb | 36 | # -------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/contracts/queries/update_contract.rb | 41 | # Check if the current user may save the changes | COMMENT |
| LOW | app/contracts/user_preferences/params_contract.rb | 74 | # Check if the given notification hash has email-only settings set | COMMENT |
| LOW | app/contracts/user_preferences/params_contract.rb | 82 | # Check if the given notification hash has date alert related settings set | COMMENT |
| LOW | app/models/ldap_auth_source.rb | 327 | # Check if a DN (user record) authenticates with the password | COMMENT |
| LOW | …odels/queries/work_packages/filter/typeahead_filter.rb | 80 | # Check if the search string matches translated "open" or "closed" meta statuses | COMMENT |
| LOW | app/models/exports/pdf/common/macro.rb | 71 | # Check if the text node is not inside a mention tag | COMMENT |
| LOW | app/models/exports/formatters/custom_field.rb | 48 | # Print the value meant for export. | COMMENT |
| LOW | app/models/exports/formatters/custom_field_pdf.rb | 46 | # Print the value meant for PDF export. | COMMENT |
| LOW | …ts/open_project/common/inplace_edit_field_component.rb | 200 | # Check if this is a custom field attribute | COMMENT |
| LOW | app/controllers/members_controller.rb | 205 | # Check if there is at least one principal that can be added to the project | COMMENT |
| LOW | app/controllers/work_packages/moves_controller.rb | 119 | # Check if project is unique before bulk operations | COMMENT |
| LOW | …/controllers/concerns/accounts/user_password_change.rb | 45 | # Check if user is locked due to too many failed attempts | COMMENT |
| LOW | app/services/base_services/base_callable.rb | 67 | # Assign state to the service result obtained after the service call. | COMMENT |
| LOW | app/services/work_packages/bulk/copy_service.rb | 146 | # Check if a parent work package is also selected for copying | COMMENT |
| LOW | …set_attributes_service/progress_values_calculations.rb | 67 | # Check if the remaining work value is wrong and can be corrected regarding | COMMENT |
| LOW | …set_attributes_service/progress_values_calculations.rb | 78 | # Check if the % complete value is wrong and can be corrected regarding work | COMMENT |
| LOW | …set_attributes_service/progress_values_calculations.rb | 94 | # Check if one of provided remaining_work or percent_complete matches the calculated one | COMMENT |
| LOW | app/services/oauth_clients/connection_manager.rb | 155 | # Check if a OAuthClientToken already exists and return nil otherwise. | COMMENT |
| LOW | app/services/oauth_clients/connection_manager.rb | 158 | # Check if we've got a token in the database and return nil otherwise. | COMMENT |
| LOW | app/services/import/jira_wiki_markup/parser.rb | 117 | # Check if this line has a closing {code} tag after the opening tag | COMMENT |
| LOW | app/services/import/jira_wiki_markup/parser.rb | 137 | # Check if this line has a closing {noformat} tag after the opening tag | COMMENT |
| LOW | app/services/import/jira_wiki_markup/parser.rb | 156 | # Check if this is an inline quote (content on same line) that spans to next line | COMMENT |
| LOW | app/services/import/jira_wiki_markup/parser.rb | 172 | # Check if this line has a closing {panel} tag after the opening tag | COMMENT |
| LOW | config/environments/production.rb | 149 | # Set this to true and configure the email server for immediate delivery to raise delivery errors. | COMMENT |
| LOW | config/initializers/health_checks.rb | 59 | # Check if authentication required | COMMENT |
| LOW | …ures/work_packages/datepicker/datepicker_logic_spec.rb | 961 | # Set date to Sunday | COMMENT |
| LOW | spec/features/wysiwyg/tables_spec.rb | 210 | # Set style to dotted | COMMENT |
| LOW⚡ | spec/features/projects/lists/table_spec.rb | 409 | # Check if the description is truncated and shows the Expand button correctly | COMMENT |
| LOW⚡ | spec/features/projects/lists/table_spec.rb | 417 | # Check if the status explanation with an html tag is truncated and shows the cell text and Expand button correctl | COMMENT |
| LOW⚡ | spec/features/projects/lists/table_spec.rb | 423 | # Check if a long-text custom field which has a short text as value is not truncated and there is no Expand button | COMMENT |
| LOW⚡ | spec/features/projects/lists/table_spec.rb | 429 | # Check if a long-text custom field which has a long text as value is truncated and there is an Expand button ther | COMMENT |
| LOW | …ojects/creation_wizard/project_creation_wizard_spec.rb | 466 | # Check if first page still has comment | COMMENT |
| LOW | spec/features/admin/working_days_spec.rb | 270 | # Check if a date is correctly highlighted after selecting it in different time zones | COMMENT |
| LOW | spec/features/admin/working_days_spec.rb | 319 | # Check if date and name are entered then close the datepicker | COMMENT |
| LOW | spec/features/users/user_memberships_spec.rb | 50 | # Check if user with global role is there | COMMENT |
| LOW | script/jira/gen_jira_projects.rb | 747 | # Check if project already exists, generate new key if so | COMMENT |
| LOW | script/jira/gen_jira_projects.rb | 862 | # Check if error mentions a custom field (likely Epic Name) and extract the field ID | COMMENT |
| LOW | …ext_formatting/filters/external_link_capture_filter.rb | 66 | # Check if it's an internal link | COMMENT |
| LOW | …project/text_formatting/matchers/wiki_links_matcher.rb | 98 | # Check if linking project exists | COMMENT |
| LOW | lib/open_project/scm/adapters/git.rb | 608 | # Check if a value is a valid commit hash | COMMENT |
| LOW | db/migrate/migration_utils/permission_adder.rb | 64 | # Check if the add-permission already exists before adding | COMMENT |
| LOW | modules/reporting/spec/features/saving_spec.rb | 23 | # Check if the category is displayed | COMMENT |
| LOW | modules/reporting/spec/features/saving_spec.rb | 25 | # Check if the new report is displayed | COMMENT |
| LOW | modules/reporting/spec/features/saving_spec.rb | 40 | # Check if the category is displayed | COMMENT |
| LOW | modules/reporting/spec/features/saving_spec.rb | 42 | # Check if the new report is displayed | COMMENT |
| LOW | …s/gantt/spec/features/timeline/timeline_labels_spec.rb | 166 | # Set labels to start|due|subject | COMMENT |
| LOW | modules/meeting/spec/features/move_to_section_spec.rb | 136 | # Set state to opposite of default | COMMENT |
| LOW | modules/budgets/app/helpers/budgets_helper.rb | 35 | # Check if the current user is allowed to manage the budget. Based on Role | COMMENT |
| LOW | …rds/spec/features/action_boards/assignee_board_spec.rb | 207 | # Add none to the list | COMMENT |
| LOW | …o_factor_authentication/token_strategy/message_bird.rb | 118 | # Check if the translation exist or fall back to english | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/models/project_query.rb | 74 | # Cannot simply use .visible here as it would | COMMENT |
| MEDIUM | app/models/work_packages/scopes/relatable.rb | 169 | # henceforth. | COMMENT |
| LOW | …dels/queries/filters/shared/project_filter/required.rb | 50 | # will then simply create an empty result but will not cause any | COMMENT |
| LOW | …dels/queries/filters/shared/project_filter/optional.rb | 54 | # will then simply create an empty result but will not cause any | COMMENT |
| LOW | app/models/queries/projects/filters/ancestor_filter.rb | 62 | # will then simply create an empty result but will not cause any | COMMENT |
| LOW | app/models/query/results.rb | 254 | # included/joined associations are not aliased and as such, they simply use | COMMENT |
| LOW | …trollers/work_package_types/projects_tab_controller.rb | 92 | # TODO: once the input is correctly delivered just return: params.expect(type: [:project_ids]) | COMMENT |
| LOW | app/controllers/concerns/member_helper.rb | 66 | # In that case, we just return the existing user. | COMMENT |
| MEDIUM⚡ | app/controllers/concerns/accounts/authorization.rb | 167 | # object is defined for changes, we clone it so that henceforth all changes are local. | COMMENT |
| MEDIUM | app/helpers/sort_helper.rb | 40 | # - Typically used in conjunction with the Pagination module. | COMMENT |
| MEDIUM | app/helpers/project_status_helper.rb | 37 | # Can be used in conjunction with `.project-status--name` or | COMMENT |
| LOW | app/helpers/backup_helper.rb | 40 | # 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.ts | 77 | // This is more robust than using the name as it avoids issues with special characters. | COMMENT |
| LOW | config/initializers/zeitwerk.rb | 80 | # we simply return the general OpenProject namespace for such files. | COMMENT |
| LOW | spec/models/attachment_spec.rb | 249 | # We just use with_direct_uploads here to make sure the | COMMENT |
| LOW | spec/models/query_spec.rb | 397 | # We cannot simply return `WorkPackageCustomField.none` here, as that aliases to `all` and would trigger | COMMENT |
| MEDIUM | spec/support/rspec_disabled_specs.rb | 5 | # 1. `spec/disable_specs.rbs` to disable specs which don't work in conjunction with the | COMMENT |
| LOW | spec/controllers/shares_controller_spec.rb | 45 | # We test the specifc behavior for loading the entity here. In the rest of the test we just use project_query as the | COMMENT |
| MEDIUM | lib/open_project/plugins/acts_as_op_engine.rb | 80 | # http://blog.pivotal.io/pivotal-labs/labs/leave-your-migrations-in-your-rails-engines | COMMENT |
| LOW | …3/utilities/custom_field_injector/link_value_getter.rb | 110 | # While multi value custom fields are expected to simply return an empty array | COMMENT |
| LOW | …s_export/work_package/exporter/xls_integration_spec.rb | 165 | # Since this test has to work without the actual costs plugin we'll just add | COMMENT |
| LOW | …ort/lib/open_project/xls_export/spreadsheet_builder.rb | 86 | # Add a "Title". This basically just set the first column to | COMMENT |
| LOW | …_connect/lib/open_project/openid_connect/sso_logout.rb | 41 | # Upon reauthentication just return directly with HTTP 200 OK | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/models/user.rb | 339 | # Don't forget to check columns_for_name | COMMENT |
| MEDIUM | config/i18n-tasks.yml | 173 | ## In these cases you can use the built-in PatternMapper to map patterns to keys, e.g.: | COMMENT |
| MEDIUM | config/initializers/friendly_id.rb | 81 | # 'slug', but you can change it if you wish. | COMMENT |
| LOW | config/initializers/friendly_id.rb | 111 | # ASCII. If you use this, don't forget to add "babosa" to your Gemfile. | COMMENT |
| LOW | config/initializers/friendly_id.rb | 111 | # ASCII. If you use this, don't forget to add "babosa" to your Gemfile. | COMMENT |
| LOW | lib/open_project/scm/adapters/git.rb | 597 | # make sure to use bare repository path to initialize a managed repository | COMMENT |
| LOW | modules/reporting/spec/features/menu_spec.rb | 56 | # Meaning that you have to make sure to force the absolute URL in a project menu entry | COMMENT |
| LOW | …p/contracts/storages/project_storages/base_contract.rb | 52 | # we have to make sure to not introduce duplicates, because this could lead to one project taking ownership of a fol | COMMENT |
| MEDIUM | …ject/gitlab_integration/notification_handler/helper.rb | 50 | # For private comments you can use the prefix: PP# | COMMENT |
| LOW | …/adapters/providers/xwiki/commands/create_page_spec.rb | 44 | # To record a VCR cassette, make sure to set parent_identifier to the stable ID of an existing wiki page | COMMENT |
| MEDIUM | …/adapters/providers/xwiki/commands/create_page_spec.rb | 90 | # For example you can use "Sandbox Test Page 1" | COMMENT |
| LOW | …p/services/openid_connect/user_tokens/fetch_service.rb | 63 | # recognized as expired, so client's still need to make sure to handle rejected access tokens | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/models/journal/timestamps.rb | 38 | # Usage: | COMMENT |
| LOW | app/models/journable/historic_active_record_relation.rb | 35 | # Usage: | COMMENT |
| LOW | app/models/journable/timestamps.rb | 34 | # Usage: | COMMENT |
| LOW | app/models/journable/with_historic_attributes.rb | 35 | # Usage: | COMMENT |
| LOW | app/helpers/no_results_helper.rb | 33 | # Example usage: | COMMENT |
| LOW | …ins/verification/lib/action_controller/verification.rb | 22 | # Usage: | COMMENT |
| LOW | spec/support/shared/without_env.rb | 32 | # Usage: | COMMENT |
| LOW | spec/support/shared/as_user.rb | 35 | # Example usage: | COMMENT |
| LOW | …es_service/have_correctable_progress_value_matchers.rb | 37 | # Usage: | COMMENT |
| LOW | …es_service/have_correctable_progress_value_matchers.rb | 94 | # Usage: | COMMENT |
| LOW | script/jira/gen_jira_projects.rb | 30 | # Usage: | COMMENT |
| LOW | lib/open_project/multi_key_hash.rb | 34 | # Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …es/admin/custom_fields/work_packages/hierarchy_spec.rb | 141 | # And is the blue banner gone, now that I have added some items? | COMMENT |
| HIGH | lib/redmine/plugin.rb | 74 | # In this example, the settings partial will be found here in the plugin directory: <tt>app/views/settings/_settings.r | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/projects/settings/project_custom_fields_controller.rb | 64 | # TODO: handle error | COMMENT |
| LOW | …/projects/settings/project_custom_fields_controller.rb | 78 | # TODO: handle error | COMMENT |
| LOW | spec/controllers/wiki_controller_spec.rb | 1064 | # TODO: Add tests for new and toc options within menu item | COMMENT |
| LOW | …c/services/relations/scheduling_mode_switching_spec.rb | 207 | ## TODO: Add tests for changing the relation type (currently supported by API only) | COMMENT |
| LOW | …ules/costs/app/contracts/time_entries/base_contract.rb | 77 | attribute :start_time # TODO: Add validation with global setting | CODE |
| LOW | …/lib/api/v3/time_entries/entity_representer_factory.rb | 144 | # TODO: Handle error if unexpected object | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ages/activities_tab/journals/item_component/details.rb | 186 | :"dot-fill", # color is set via CSS as requested by UI/UX Team | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ollers/dynamic/two-factor-authentication.controller.ts | 128 | print(evt:MouseEvent) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | lib/open_project/plugins/frontend_linking/generator.rb | 114 | # Regenerate the frontend plugin module orchestrating the linked frontends | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ec/support/components/attachments/attachments_input.js | 124 | getData : function getData(){}, | CODE |