Skip to content

refactor: eliminate all 132 circular dependency cycles in cattool JS bundle#4530

Open
riccio82 wants to merge 38 commits intodevelopfrom
fix/circular-deps
Open

refactor: eliminate all 132 circular dependency cycles in cattool JS bundle#4530
riccio82 wants to merge 38 commits intodevelopfrom
fix/circular-deps

Conversation

@riccio82
Copy link
Copy Markdown
Collaborator

@riccio82 riccio82 commented Apr 24, 2026

Summary

Eliminates all 132 circular dependency cycles detected by madge in the cattool JS bundle, bringing the count to 0. Adds a zero-tolerance checker (yarn check:circular-deps) to prevent regressions. Additionally reduces lazy require() workarounds from 12 to 5 by extracting leaf modules and converting to static imports where safe.

Type

  • feat — new user-facing feature
  • fix — bug fix
  • refactor — restructure without behavior change
  • chore — build, deps, config, docs
  • perf — performance improvement
  • test — test coverage

Changes

File Change
check-circular-deps.js New CI guard — runs madge --circular, fails on any cycle
package.json Added madge devDep + check:circular-deps script
public/js/actions/*.js Modal registry: replaced component imports with string keys
public/js/components/modals/ModalContainer.js Modal root resolves components by registry key at render time
public/js/components/settingsPanel/*.js (13 new) Extracted contexts, utils, constants to break parent↔child cycles
public/js/constants/SegmentTabConstants.js New — TAB constants extracted from SegmentConstants
public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js New — HTML utilities extracted from tagUtils
public/js/components/segments/utils/DraftMatecatUtils/tagUtils.js Inlined replaceTempTags/restoreTempTags to break SS→tagUtils→textUtils→CU→SS cycle
public/js/utils/tagProjectionUtils.js New leaf — checkTPEnabled, checkCurrentSegmentTPEnabled, checkTPSupportedLanguage
public/js/actions/tagProjectionActions.js Imports TP checks from new leaf instead of segmentUtils
public/js/actions/SegmentActions.js Lazy-require for SF/STU (bilateral); extracted 7 leaf actions to sibling files
public/js/actions/segmentDispatchActions.js New — 19 pure Flux dispatchers extracted from SegmentActions
public/js/actions/segmentQaActions.js New — QA actions extracted from SegmentActions
public/js/actions/warningActions.js New — warning actions extracted from SegmentActions
public/js/actions/segmentClassActions.js New — class manipulation actions extracted from SegmentActions
public/js/actions/notificationActions.js New — notification actions extracted from SegmentActions
public/js/utils/segmentLocalStorage.js New — localStorage helpers extracted from SegmentActions
public/js/stores/SegmentStore.js Converted DMU/TP lazy requires to static; 1 lazy remains (SU plugin hook)
public/js/utils/commonUtils.js Converted OU to static import; 2 lazy remain (SA, STU bilateral)
public/js/utils/offlineUtils.js 1 lazy-require remains (STU bilateral)
public/js/components/segments/SegmentFooter.js Bug fix: TAB constant import was broken by re-export; fixed to direct import
Dead re-export cleanup (multiple files) Removed unused re-exports and redirected consumers to canonical sources

Testing

  • vendor/bin/phpunit --exclude-group=ExternalServices --no-coverage passes
  • ./vendor/bin/phpstan passes (0 errors, with baseline)
  • Manual testing performed (describe below)
  • New tests added for changed behavior
  • Regression tests added for bug fixes

Verification performed:

  • node check-circular-deps.js0 cycles (was 132)
  • webpack 5.104.1 compiled successfully — verified after every phase (3 pre-existing warnings)
  • yarn test → 34/34 suites pass, 183 tests, 2 skipped (pre-existing)
  • Plugin folders (airbnb, uber, translated) checked — zero import impact across all phases

AI Disclosure

  • No AI tools were used in this PR
  • AI tools were used — details below

Claude Opus 4 (via OpenCode/Sisyphus agent)

Notes

  • 5 lazy require() calls remain — these guard bilateral dependencies between hub modules (SegmentActions↔SegmentFilter, SegmentActions↔setTranslationUtil, commonUtils↔SegmentActions, commonUtils↔setTranslationUtil, offlineUtils↔setTranslationUtil) plus 1 plugin-safe call (SegmentStore→segmentUtils for isUnlockedSegment). All are intractable without major architectural changes.
  • The lazy-require pattern uses CommonJS require() inside ESM files — this works under webpack but does not block Vite migration. ESM live bindings handle these circular refs natively; the require() calls can become regular import statements when madge is replaced.
  • Each lazy-require site is commented for easy discovery during future migration.
  • No plugin code was modified. All changes are in the public repo.

riccio82 and others added 11 commits April 24, 2026 14:03
Add madge devDependency with a 132-cycle baseline snapshot and a check
script that fails on regressions and reports new cycles introduced.

Run: yarn check:circular-deps
Update baseline after fixes: node check-circular-deps.js --update-baseline
…ring keys

Introduce a modal registry pattern to break 51 circular dependency cycles
(132→81). Actions now dispatch string keys instead of component references;
ModalWindow resolves them via the registry at render time.

- Extract TAB, ONBOARDING_STEP, COPY_SOURCE_COOKIE constants to dedicated files
- Create ModalKeys constants and modalRegistry for component resolution
- Update ModalsActions, CatToolActions, SegmentActions to use string keys
- Backward compatible: components can still pass refs directly
…ibling files

Break parent→child circular dependencies across 13 settingsPanel
component families by extracting shared symbols (contexts, utility
functions, constants) into dedicated sibling files. Children now
import from leaf modules instead of their parent components.

81 → 40 circular dependency cycles (51% reduction, 70% total from 132).
…bilateral cycles

Break 15 circular dependency cycles (40→25) via:
- OnBoarding: extract context/socialUrls to OnBoardingContext.js (5 cycles)
- ActivityLog: extract context/constants to sibling files (3 cycles)
- SegmentFooterTabGlossary: extract icons/constants to GlossaryConstants.js (2 cycles)
- UploadFile: extract getPrintableFileSize to UploadFileUtils.js (2 cycles)
- SettingsPanel: move DEFAULT_ENGINE_MEMORY to SettingsPanelConstants.js (1 cycle)
- DraftMatecatUtils: extract regexWordDelimiter to textConstants.js (3 cycles)

Cumulative: 132→25 (81% reduction). Plugins verified clean.
…bilateral cycle

Move getIdAttributeRegEx, unescapeHTMLinTags, and unescapeHTMLRecursive into a new htmlUtils.js file to eliminate the tagUtils → textUtils → tagUtils cycle. tagUtils re-exports for backward compatibility.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Replace static imports of CatToolActions, segment_filter, translationMatches, DraftMatecatUtils, setTranslationUtil, OfflineUtils, and SegmentUtils with lazy-require getters. Updates 58+ call sites. These modules form the hub of most remaining circular dependency cycles.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…tils, and offlineUtils

SegmentStore: lazy-require DraftMatecatUtils (8 sites). commonUtils: lazy-require OfflineUtils, SegmentActions, SegmentStore, setTranslationUtil (5 sites). offlineUtils: lazy-require setTranslationUtil (1 site).

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…cycle

Breaks the last remaining bilateral (CatToolActions <-> offlineUtils). Circular dependency count: 132 -> 0.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
- replace ratchet-based baseline comparison with zero-tolerance check
- delete .madge-baseline.json as baseline tracking is no longer needed
- script now fails if any circular dependency exists and prints all cycles
- replace dead re-export with direct import so TAB is bound in
  module scope
Copilot AI review requested due to automatic review settings April 24, 2026 14:38
Comment thread public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js Dismissed
Comment thread public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js Dismissed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors the cattool frontend bundle to eliminate circular dependency cycles (as detected by madge), and adds a CI-style guard script to prevent regressions. This is achieved via a modal key registry, extraction of constants/contexts/utilities into sibling modules, and targeted lazy require() usage at call sites.

Changes:

  • Add check-circular-deps.js + yarn check:circular-deps and include madge as a dev dependency.
  • Introduce modal key registry (MODAL_KEY + resolveModal) and update actions to reference modals by key instead of importing components.
  • Break remaining cycles by extracting shared constants/contexts/utils and replacing selected static imports with lazy require().

Reviewed changes

Copilot reviewed 103 out of 104 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
yarn.lock Adds/updates lock entries for new circular-deps tooling dependencies (madge + transitive deps).
public/js/utils/textUtils.js Updates regexWordDelimiter import to point to extracted constants module.
public/js/utils/offlineUtils.js Replaces static import with lazy require() to break setTranslationUtil cycle.
public/js/utils/commonUtils.js Converts several static imports to lazy require() getters to break cycles.
public/js/stores/SegmentStore.js Lazy-loads DraftMatecatUtils/SegmentUtils to break circular dependencies.
public/js/pages/ActivityLog.js Moves ActivityLog context to a dedicated module and re-exports it.
public/js/constants/SegmentTabConstants.js New shared TAB constants extracted from SegmentFooter.
public/js/constants/OnBoardingConstants.js New shared onboarding step constants extracted from OnBoarding.
public/js/constants/ModalKeys.js New modal key constants + shared cookie constant for modal registry pattern.
public/js/components/xliffToTarget/UploadXliff.js Updates imports to extracted glossary constants and upload file size util.
public/js/components/settingsPanel/Tab.js Switches to extracted SettingsPanel constants module.
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTableContext.js New extracted context to avoid parent/child import cycles.
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTable.js Uses extracted SPECIAL_ROWS_ID + extracted table context.
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelRow.js Updates context import to extracted context module.
public/js/components/settingsPanel/SettingsPanelConstants.js New extracted settings panel constants and default engine metadata.
public/js/components/settingsPanel/SettingsPanel.js Uses extracted DEFAULT_ENGINE_MEMORY (re-exported for compatibility).
public/js/components/settingsPanel/ProjectTemplate/TemplateNameInput.js Switches TEMPLATE_MODIFIERS import to extracted constants.
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplateConstants.js New extracted template modifier constants.
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.js Uses extracted TEMPLATE_MODIFIERS (re-exported for compatibility).
public/js/components/settingsPanel/ProjectTemplate/MoreMenu.js Switches TEMPLATE_MODIFIERS import to extracted constants.
public/js/components/settingsPanel/ProjectTemplate/CreateUpdateControl.js Switches TEMPLATE_MODIFIERS import to extracted constants.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabUtils.js New extracted TM glossary tab utilities/constants.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabContext.js New extracted context to avoid cycles.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMKeyRow.js Updates imports to extracted context + utils module.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMCreateResourceRow.js Updates imports to extracted context + utils module.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateSelect.js Uses extracted SubTemplates context module.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateNameInput.js Uses extracted SubTemplates context module.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateMoreMenu.js Uses extracted SubTemplates context module.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateCreateUpdateControl.js Uses extracted SubTemplates context module.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateContext.js New extracted SubTemplates modifiers/helpers/context.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplate.js Imports/re-exports from extracted SubTemplateContext.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityRow.js Uses extracted QualityFramework tab context module.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityColumn.js Uses extracted QualityFramework tab context module.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTabContext.js New extracted context to avoid cycles.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.js Uses extracted QualityFramework tab context (re-exported).
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifySeverity.js Uses extracted context + extracted Categories/Severities utils.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifyCategory.js Uses extracted context + extracted Categories/Severities utils.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/EptThreshold.js Uses extracted QualityFramework tab context module.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoryRow.js Uses extracted context + extracted Categories/Severities utils.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTableUtils.js New extracted helper functions from CategoriesSeveritiesTable.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTable.js Re-exports helpers from extracted utils and uses extracted context.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverityCell.js Uses extracted QualityFramework tab context module.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverity.js Uses extracted context + extracted helper util.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddCategory.js Uses extracted context + extracted helper utils.
public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.js Updates DEFAULT_ENGINE_MEMORY import to extracted constants file.
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryRow.js Switches MT glossary status import to extracted constants.
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryCreateRow.js Switches MT glossary status/constants import to extracted constants.
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryConstants.js New extracted MT glossary status class/constants.
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryCreateRow.js Switches constants import to extracted DeepL constants file.
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryConstants.js New extracted DeepL glossary constants.
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossary.js Uses extracted DeepL glossary constants (re-exported).
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettingsContext.js New extracted XliffSettings context.
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettings.js Uses extracted XliffSettings context (re-exported).
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff20.js Updates context import to extracted context module.
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff12.js Updates context import to extracted context module.
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Yaml.js Updates context import to extracted FiltersParamsContext.
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Xml.js Updates context import to extracted FiltersParamsContext.
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsWord.js Updates context import to extracted FiltersParamsContext.
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsPowerpoint.js Updates context import to extracted FiltersParamsContext.
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsExcel.js Updates context import to extracted FiltersParamsContext.
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Json.js Updates context import to extracted FiltersParamsContext.
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParamsContext.js New extracted FiltersParams context.
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParams.js Uses extracted FiltersParams context (re-exported).
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Dita.js Updates context import to extracted FiltersParamsContext.
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/AccordionGroupFiltersParams.js Updates context import to extracted FiltersParamsContext.
public/js/components/settingsPanel/Contents/AnalysisTab/BreakdownsTable.js Switches breakdown constants import to extracted module.
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTabConstants.js New extracted analysis breakdown constants.
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.js Uses extracted breakdown constants (re-exported).
public/js/components/segments/utils/DraftMatecatUtils/textUtils.js Moves regex delimiter to extracted constants module (re-exported).
public/js/components/segments/utils/DraftMatecatUtils/textConstants.js New extracted regex constants for word delimiter logic.
public/js/components/segments/utils/DraftMatecatUtils/tagUtils.js Extracts HTML utility helpers into htmlUtils.js to avoid cycles.
public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js New extracted HTML unescape/id-regex helpers.
public/js/components/segments/utils/DraftMatecatUtils/decodeTagInfo.js Updates imports to use extracted html utils.
public/js/components/segments/SegmentSource.js Switches glossary constants import to extracted GlossaryConstants.
public/js/components/segments/SegmentFooterTabGlossary/TermForm.js Switches TERM_FORM_FIELDS import to extracted GlossaryConstants.
public/js/components/segments/SegmentFooterTabGlossary/SegmentFooterTabGlossary.js Extracts glossary constants/icons into dedicated module and re-exports.
public/js/components/segments/SegmentFooterTabGlossary/GlossaryItem.js Switches icons import to extracted GlossaryConstants.
public/js/components/segments/SegmentFooterTabGlossary/GlossaryConstants.js New extracted glossary constants + icon components.
public/js/components/segments/SegmentFooter.js Switches TAB constants import to new SegmentTabConstants.
public/js/components/onBoarding/SocialButtons.js Uses extracted OnBoardingContext module.
public/js/components/onBoarding/Register.js Uses extracted onboarding step constants + OnBoardingContext module.
public/js/components/onBoarding/PasswordReset.js Uses extracted onboarding step constants + OnBoardingContext module.
public/js/components/onBoarding/OnBoardingContext.js New extracted onboarding context + social URL config.
public/js/components/onBoarding/OnBoarding.js Uses extracted constants/context and re-exports for compatibility.
public/js/components/onBoarding/Login.js Uses extracted onboarding step constants + OnBoardingContext module.
public/js/components/onBoarding/ForgotPassword.js Uses extracted onboarding step constants + OnBoardingContext module.
public/js/components/modals/modalRegistry.js New modal registry that maps MODAL_KEY strings to modal components.
public/js/components/modals/ModalWindow.js Resolves modal keys to components at render time via modal registry.
public/js/components/modals/CopySourceModal.js Moves cookie constant to shared ModalKeys (re-exported).
public/js/components/createProject/UploadGdrive.js Switches to extracted getPrintableFileSize + glossary constants import.
public/js/components/createProject/UploadFileUtils.js New extracted file-size formatting utility.
public/js/components/createProject/UploadFileLocal.js Switches to extracted getPrintableFileSize + glossary constants import.
public/js/components/createProject/UploadFile.js Uses extracted getPrintableFileSize (re-exported for compatibility).
public/js/components/activityLog/FilterColumn.js Uses extracted ActivityLog context and constants modules.
public/js/components/activityLog/ColumnSorting.js Uses extracted ActivityLog context module.
public/js/components/activityLog/ActivityLogTable.js Extracts column constants and uses extracted ActivityLog context.
public/js/components/activityLog/ActivityLogContext.js New extracted ActivityLog context module.
public/js/components/activityLog/ActivityLogConstants.js New extracted ActivityLog table column definitions.
public/js/actions/SegmentActions.js Removes modal component imports in favor of modal keys + adds lazy-require hubs.
public/js/actions/ModalsActions.js Opens modals via MODAL_KEY (no direct component imports).
public/js/actions/CatToolActions.js Switches modal usage to MODAL_KEY and lazy-loads OfflineUtils.
public/img/icons/ChangePassword.js Fixes React SVG attribute casing (clipPath).
package.json Adds madge devDependency and check:circular-deps script.
check-circular-deps.js New script that fails CI when madge detects circular dependencies.

Comment thread public/js/actions/SegmentActions.js Outdated
Comment thread public/js/actions/SegmentActions.js Outdated
Comment thread check-circular-deps.js
- Replace local createContext in TranslationMemoryGlossaryTab with
  import from extracted TranslationMemoryGlossaryTabContext module
  to ensure parent and children share the same context object
- Fix QualityFrameworkTab test waitFor assertions that compared
  array to number (always true), making them actually wait for
  async API data to load
- Add explicit ApplicationWrapperContext import to QualityFrameworkTab
  test to initialize window.eventHandler, previously loaded as
  side effect through ModalsActions transitive import chain
- Remove dead re-exports of extracted context objects from both
  QualityFrameworkTab and TranslationMemoryGlossaryTab
- Remove unused createContext imports
…o canonical sources

- remove 14 dead re-export statements left over from circular dependency
  context extractions (Phase 3A/3C)
- redirect ActivityLog.js to import ACTIVITY_LOG_COLUMNS from
  ActivityLogConstants and ActivityLogContext from ActivityLogContext
- redirect CatTool.js and NewProject.js to import DEFAULT_ENGINE_MEMORY
  from SettingsPanelConstants
- redirect AnalysisTab.test.js to import ANALYSIS_BREAKDOWNS from
  AnalysisTabConstants
- move hoisted imports to top-of-file in AnalysisTab.js and
  DeepLGlossary.js
…orts

- remove dead re-export of COPY_SOURCE_COOKIE from CopySourceModal.js
- remove dead re-export of TERM_FORM_FIELDS and 5 icons from
  SegmentFooterTabGlossary.js
- remove dead re-export of 3 util functions from
  CategoriesSeveritiesTable.js
- redirect QualityFrameworkTab.test.js import to
  CategoriesSeveritiesTableUtils (canonical source)
- remove unused htmlUtils imports from tagUtils.js
- remove unused createRoot import from ModalWindow.js
- remove unused socialUrls import from OnBoarding.js
Copilot AI review requested due to automatic review settings April 27, 2026 10:50
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 108 out of 109 changed files in this pull request and generated 5 comments.

Comment thread public/js/components/createProject/UploadFileUtils.js Outdated
Comment thread public/js/actions/SegmentActions.js
Comment thread public/js/actions/SegmentActions.js
Comment thread public/js/components/modals/modalRegistry.js
Comment thread public/js/components/settingsPanel/SettingsPanelConstants.js
…minate lazy requires

- extract 19 pure Flux dispatchers to segmentDispatchActions.js
- extract getSegmentsQa, startSegmentQACheck to segmentQaActions.js
- extract disableTPOnSegment to tagProjectionActions.js
  (isolated from lxq chain to avoid DMU→lxq.main cycle)
- extract addClassToSegment, removeClassToSegment to
  segmentClassActions.js
- extract updateGlobalWarnings to warningActions.js
- extract notification functions to notificationActions.js
- extract get/setLastSegmentFromLocalStorage to
  segmentLocalStorage.js
- convert SA→DMU, SA→SU, SA→TM lazy requires to static imports
- rewire GlossaryHighlight, QaCheckGlossaryHighlight, searchUtils,
  lxq.main, speech2text, translationMatches, offlineUtils to import
  from leaf modules instead of SegmentActions
- convert CatToolActions→offlineUtils, useSocketLayer→SegmentStore
  to static imports
- restore dispatchCustomEvent as inline method in commonUtils.js
- remove 3 unused lazy-require stubs from SegmentStore

Reduces lazy require() count from 12 to 8, unblocking further
static import conversions for Vite migration.
…c imports

- Extract checkTPEnabled, checkCurrentSegmentTPEnabled, checkTPSupportedLanguage
  to new tagProjectionUtils.js leaf module
- Inline replaceTempTags/restoreTempTags in tagUtils.js to break
  SS→tagUtils→textUtils→commonUtils→SS cycle
- Convert OfflineUtils to direct static import in commonUtils.js
- Update tagProjectionActions.js to import from tagProjectionUtils
- Reduces lazy require() count from 8 to 5 (remaining are intractable)
@github-actions
Copy link
Copy Markdown

🧪 Test-Guard Report

⚠️ WARNING — Test coverage has minor gaps — review recommended.

Coverage Analysis: ❌ FAIL

No changed source files found in coverage report (threshold: 80%)

File Verdict Reason
public/img/icons/ChangePassword.js ❌ fail not in coverage report
public/js/actions/CatToolActions.js ❌ fail not in coverage report
public/js/actions/ModalsActions.js ❌ fail not in coverage report
public/js/actions/SegmentActions.js ❌ fail not in coverage report
public/js/actions/notificationActions.js ❌ fail not in coverage report
public/js/actions/segmentClassActions.js ❌ fail not in coverage report
public/js/actions/segmentDispatchActions.js ❌ fail not in coverage report
public/js/actions/segmentQaActions.js ❌ fail not in coverage report
public/js/actions/tagProjectionActions.js ❌ fail not in coverage report
public/js/actions/warningActions.js ❌ fail not in coverage report
public/js/components/activityLog/ActivityLogConstants.js ❌ fail not in coverage report
public/js/components/activityLog/ActivityLogContext.js ❌ fail not in coverage report
public/js/components/activityLog/ActivityLogTable.js ❌ fail not in coverage report
public/js/components/activityLog/ColumnSorting.js ❌ fail not in coverage report
public/js/components/activityLog/FilterColumn.js ❌ fail not in coverage report
public/js/components/createProject/UploadFile.js ❌ fail not in coverage report
public/js/components/createProject/UploadFileLocal.js ❌ fail not in coverage report
public/js/components/createProject/UploadFileUtils.js ❌ fail not in coverage report
public/js/components/createProject/UploadGdrive.js ❌ fail not in coverage report
public/js/components/header/cattol/search/searchUtils.js ❌ fail not in coverage report
public/js/components/modals/CopySourceModal.js ❌ fail not in coverage report
public/js/components/modals/ModalWindow.js ❌ fail not in coverage report
public/js/components/modals/modalRegistry.js ❌ fail not in coverage report
public/js/components/onBoarding/ForgotPassword.js ❌ fail not in coverage report
public/js/components/onBoarding/Login.js ❌ fail not in coverage report
public/js/components/onBoarding/OnBoarding.js ❌ fail not in coverage report
public/js/components/onBoarding/OnBoardingContext.js ❌ fail not in coverage report
public/js/components/onBoarding/PasswordReset.js ❌ fail not in coverage report
public/js/components/onBoarding/Register.js ❌ fail not in coverage report
public/js/components/onBoarding/SocialButtons.js ❌ fail not in coverage report
public/js/components/segments/GlossaryComponents/GlossaryHighlight.component.js ❌ fail not in coverage report
public/js/components/segments/GlossaryComponents/QaCheckGlossaryHighlight.component.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooter.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/GlossaryConstants.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/GlossaryItem.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/SegmentFooterTabGlossary.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/TermForm.js ❌ fail not in coverage report
public/js/components/segments/SegmentSource.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/decodeTagInfo.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/tagUtils.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/textConstants.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/textUtils.js ❌ fail not in coverage report
public/js/components/segments/utils/translationMatches.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTabConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/AnalysisTab/BreakdownsTable.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/AccordionGroupFiltersParams.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Dita.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParams.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParamsContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Json.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsExcel.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsPowerpoint.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsWord.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Xml.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Yaml.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff12.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff20.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettings.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettingsContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossary.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryCreateRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryCreateRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddCategory.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverity.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverityCell.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTable.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTableUtils.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoryRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/EptThreshold.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifyCategory.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifySeverity.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTabContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityColumn.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplate.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateCreateUpdateControl.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateMoreMenu.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateNameInput.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateSelect.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMCreateResourceRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMKeyRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabUtils.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/CreateUpdateControl.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/MoreMenu.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplateConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/TemplateNameInput.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanel.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTable.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTableContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Tab.js ❌ fail not in coverage report
public/js/components/xliffToTarget/UploadXliff.js ❌ fail not in coverage report
public/js/constants/ModalKeys.js ❌ fail not in coverage report
public/js/constants/OnBoardingConstants.js ❌ fail not in coverage report
public/js/constants/SegmentTabConstants.js ❌ fail not in coverage report
public/js/hooks/useSocketLayer.js ❌ fail not in coverage report
public/js/pages/ActivityLog.js ❌ fail not in coverage report
public/js/pages/CatTool.js ❌ fail not in coverage report
public/js/pages/NewProject.js ❌ fail not in coverage report
public/js/stores/SegmentStore.js ❌ fail not in coverage report
public/js/utils/commonUtils.js ❌ fail not in coverage report
public/js/utils/lxq.main.js ❌ fail not in coverage report
public/js/utils/offlineUtils.js ❌ fail not in coverage report
public/js/utils/segmentLocalStorage.js ❌ fail not in coverage report
public/js/utils/speech2text.js ❌ fail not in coverage report
public/js/utils/tagProjectionUtils.js ❌ fail not in coverage report
public/js/utils/textUtils.js ❌ fail not in coverage report

Test File Matching: ❌ FAIL

File matching: 2 pass, 8 warning, 109 fail

File Verdict Reason
public/img/icons/ChangePassword.js ❌ fail No matching test file found
public/js/actions/CatToolActions.js ❌ fail No matching test file found
public/js/actions/ModalsActions.js ❌ fail No matching test file found
public/js/actions/SegmentActions.js ❌ fail No matching test file found
public/js/actions/notificationActions.js ❌ fail No matching test file found
public/js/actions/segmentClassActions.js ❌ fail No matching test file found
public/js/actions/segmentDispatchActions.js ❌ fail No matching test file found
public/js/actions/segmentQaActions.js ❌ fail No matching test file found
public/js/actions/tagProjectionActions.js ❌ fail No matching test file found
public/js/actions/warningActions.js ❌ fail No matching test file found
public/js/components/activityLog/ActivityLogConstants.js ❌ fail No matching test file found
public/js/components/activityLog/ActivityLogContext.js ❌ fail No matching test file found
public/js/components/activityLog/ActivityLogTable.js ❌ fail No matching test file found
public/js/components/activityLog/ColumnSorting.js ❌ fail No matching test file found
public/js/components/activityLog/FilterColumn.js ❌ fail No matching test file found
public/js/components/createProject/UploadFile.js ❌ fail No matching test file found
public/js/components/createProject/UploadFileLocal.js ⚠️ warning Test file exists (public/js/components/createProject/UploadFileLocal.test.js) but was not modified in this PR
public/js/components/createProject/UploadFileUtils.js ❌ fail No matching test file found
public/js/components/createProject/UploadGdrive.js ⚠️ warning Test file exists (public/js/components/createProject/UploadGdrive.test.js) but was not modified in this PR
public/js/components/header/cattol/search/searchUtils.js ❌ fail No matching test file found
public/js/components/modals/CopySourceModal.js ❌ fail No matching test file found
public/js/components/modals/ModalWindow.js ⚠️ warning Test file exists (public/js/components/modals/ModalWindow.test.js) but was not modified in this PR
public/js/components/modals/modalRegistry.js ❌ fail No matching test file found
public/js/components/onBoarding/ForgotPassword.js ❌ fail No matching test file found
public/js/components/onBoarding/Login.js ❌ fail No matching test file found
public/js/components/onBoarding/OnBoarding.js ❌ fail No matching test file found
public/js/components/onBoarding/OnBoardingContext.js ❌ fail No matching test file found
public/js/components/onBoarding/PasswordReset.js ❌ fail No matching test file found
public/js/components/onBoarding/Register.js ❌ fail No matching test file found
public/js/components/onBoarding/SocialButtons.js ❌ fail No matching test file found
public/js/components/segments/GlossaryComponents/GlossaryHighlight.component.js ❌ fail No matching test file found
public/js/components/segments/GlossaryComponents/QaCheckGlossaryHighlight.component.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooter.js ⚠️ warning Test file exists (public/js/components/segments/SegmentFooter.test.js) but was not modified in this PR
public/js/components/segments/SegmentFooterTabGlossary/GlossaryConstants.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooterTabGlossary/GlossaryItem.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooterTabGlossary/SegmentFooterTabGlossary.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooterTabGlossary/TermForm.js ❌ fail No matching test file found
public/js/components/segments/SegmentSource.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/decodeTagInfo.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/tagUtils.js ⚠️ warning Test file exists (public/js/components/segments/utils/DraftMatecatUtils/tagUtils.test.js) but was not modified in this PR
public/js/components/segments/utils/DraftMatecatUtils/textConstants.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/textUtils.js ❌ fail No matching test file found
public/js/components/segments/utils/translationMatches.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.js ✅ pass Test file modified in PR: public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.test.js
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTabConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/AnalysisTab/BreakdownsTable.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/AccordionGroupFiltersParams.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Dita.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParams.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParamsContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Json.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsExcel.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsPowerpoint.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsWord.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Xml.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Yaml.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff12.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff20.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettings.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettingsContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossary.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryCreateRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryCreateRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.js ⚠️ warning Test file exists (public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.test.js) but was not modified in this PR
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddCategory.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverity.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverityCell.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTable.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTableUtils.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoryRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/EptThreshold.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifyCategory.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifySeverity.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.js ✅ pass Test file modified in PR: public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.test.js
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTabContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityColumn.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplate.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateCreateUpdateControl.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateMoreMenu.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateNameInput.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateSelect.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMCreateResourceRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMKeyRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.js ⚠️ warning Test file exists (public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.test.js) but was not modified in this PR
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabUtils.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/CreateUpdateControl.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/MoreMenu.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.js ⚠️ warning Test file exists (public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.test.js) but was not modified in this PR
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplateConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/TemplateNameInput.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanel.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTable.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTableContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Tab.js ❌ fail No matching test file found
public/js/components/xliffToTarget/UploadXliff.js ❌ fail No matching test file found
public/js/constants/ModalKeys.js ❌ fail No matching test file found
public/js/constants/OnBoardingConstants.js ❌ fail No matching test file found
public/js/constants/SegmentTabConstants.js ❌ fail No matching test file found
public/js/hooks/useSocketLayer.js ❌ fail No matching test file found
public/js/pages/ActivityLog.js ❌ fail No matching test file found
public/js/pages/CatTool.js ❌ fail No matching test file found
public/js/pages/NewProject.js ❌ fail No matching test file found
public/js/stores/SegmentStore.js ❌ fail No matching test file found
public/js/utils/commonUtils.js ❌ fail No matching test file found
public/js/utils/lxq.main.js ❌ fail No matching test file found
public/js/utils/offlineUtils.js ❌ fail No matching test file found
public/js/utils/segmentLocalStorage.js ❌ fail No matching test file found
public/js/utils/speech2text.js ❌ fail No matching test file found
public/js/utils/tagProjectionUtils.js ❌ fail No matching test file found
public/js/utils/textUtils.js ❌ fail No matching test file found

Per-File Evaluation: ⚠️ WARNING

AI analysis failed (Error code: 413 - {'error': {'code': 'tokens_limit_reached', 'message': 'Request body too large for gpt-4.1-mini model. Max size: 8000 tokens.', 'details': 'Request body too large for gpt-4.1-mini model. Max size: 8000 tokens.'}}) — shortcuts resolved; remaining files deferred to L1+L2.

File Verdict Reason
public/img/icons/ChangePassword.js ✅ pass Change is a minor SVG attribute fix, no behavioral change to test.
public/js/actions/CatToolActions.js ✅ pass Refactor imports and notification actions; no new behavior or branches added.
public/js/actions/ModalsActions.js ✅ pass Replaced modal components with keys; no new behavior or branches added.
public/js/actions/SegmentActions.js ✅ pass Mostly import refactor and reorganization; no new behavior or branches added.
public/js/actions/notificationActions.js ⚠️ warning New notification action creators added; no tests shown for these new actions.
public/js/actions/segmentClassActions.js ⚠️ warning New segment class actions added; no tests shown for these new actions.
public/js/actions/segmentDispatchActions.js ⚠️ warning No test files or coverage data provided for dispatcher action creators.
public/js/actions/segmentQaActions.js ⚠️ warning No test files or coverage data provided for async QA actions with API calls.
public/js/actions/tagProjectionActions.js ⚠️ warning No tests or coverage data for tag projection enabling/disabling logic.
public/js/actions/warningActions.js ⚠️ warning No tests or coverage data for global warnings update action.
public/js/components/activityLog/ActivityLogConstants.js ✅ pass Constants only, no behavior to test.
public/js/components/activityLog/ActivityLogContext.js ✅ pass Context creation only, no behavior to test.
public/js/components/activityLog/ActivityLogTable.js ⚠️ warning No coverage data or tests modified for activity log table component.
public/js/components/activityLog/ColumnSorting.js ⚠️ warning No coverage data or tests modified for column sorting component.
public/js/components/activityLog/FilterColumn.js ⚠️ warning No coverage data or tests modified for filter column component.
public/js/components/createProject/UploadFile.js ✅ pass Refactor only, no new behavior; no coverage data.
public/js/components/createProject/UploadFileLocal.js ✅ pass Import changes only, no new behavior; no coverage data.
public/js/components/createProject/UploadFileUtils.js ⚠️ warning New utility function added, no tests or coverage data.
public/js/components/createProject/UploadGdrive.js ✅ pass Import changes only, no new behavior; no coverage data.
public/js/components/header/cattol/search/searchUtils.js ⚠️ warning Modified to use new dispatch actions but no tests or coverage data provided.
public/js/components/modals/CopySourceModal.js ✅ pass Import refactor only, no new behavior; no coverage data.
public/js/components/modals/ModalWindow.js ⚠️ warning Added modal resolution logic, no tests or coverage data provided.
public/js/components/modals/modalRegistry.js ⚠️ warning New modal registry added, no tests or coverage data provided.
public/js/components/onBoarding/ForgotPassword.js ✅ pass Import refactor only, no new behavior; no coverage data.
public/js/components/onBoarding/Login.js ✅ pass Import refactor only, no new behavior; no coverage data.
public/js/components/onBoarding/OnBoarding.js ✅ pass Import refactor only, no new behavior; no coverage data.
public/js/components/onBoarding/OnBoardingContext.js ⚠️ warning New context added, no tests or coverage data provided.
public/js/components/onBoarding/PasswordReset.js ✅ pass Import refactor only, no new behavior; no coverage data.
public/js/components/onBoarding/Register.js ✅ pass Import refactor only, no new behavior; no coverage data.
public/js/components/onBoarding/SocialButtons.js ✅ pass Import refactor only, no new behavior; no coverage data.
public/js/components/segments/GlossaryComponents/GlossaryHighlight.component.js ⚠️ warning Import change and action call updated; no tests shown for new action usage.
public/js/components/segments/GlossaryComponents/QaCheckGlossaryHighlight.component.js ⚠️ warning Similar import and action call update; no test evidence for new action usage.
public/js/components/segments/SegmentFooter.js ✅ pass Replaced constant import; no behavioral change, no test needed.
public/js/components/segments/SegmentFooterTabGlossary/GlossaryConstants.js ⚠️ warning New constants and icons added; no tests shown to cover these UI elements.
public/js/components/segments/SegmentFooterTabGlossary/GlossaryItem.js ✅ pass Import path updated; no behavioral change, no test needed.
public/js/components/segments/SegmentFooterTabGlossary/SegmentFooterTabGlossary.js ✅ pass Moved constants to separate file; no behavioral change, no test needed.
public/js/components/segments/SegmentFooterTabGlossary/TermForm.js ✅ pass Import path updated; no behavioral change, no test needed.
public/js/components/segments/SegmentSource.js ✅ pass Import path updated; no behavioral change, no test needed.
public/js/components/segments/utils/DraftMatecatUtils/decodeTagInfo.js ✅ pass Import path changed; no behavioral change, no test needed.
public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js ⚠️ warning New utility functions added; no tests shown to cover these functions.
public/js/components/segments/utils/DraftMatecatUtils/tagUtils.js ⚠️ warning Inlined tag replacement functions and removed redundant code; no tests shown for new logic.
public/js/components/segments/utils/DraftMatecatUtils/textConstants.js ⚠️ warning New regex constant added; no tests shown to cover usage.
public/js/components/segments/utils/DraftMatecatUtils/textUtils.js ✅ pass Removed duplicate regex constant; no behavioral change, no test needed.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifySeverity.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTabContext.js ✅ pass New context created, no behavior to test directly.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityColumn.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityRow.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplate.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateContext.js ✅ pass New context and constants created, no behavior to test directly.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateCreateUpdateControl.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateMoreMenu.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateNameInput.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateSelect.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMCreateResourceRow.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMKeyRow.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabContext.js ✅ pass New context created, no behavior to test directly.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabUtils.js ⚠️ warning New utility functions added, no direct tests shown for them.
public/js/components/settingsPanel/ProjectTemplate/CreateUpdateControl.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/ProjectTemplate/MoreMenu.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplateConstants.js ✅ pass New constants added, no behavior to test directly.
public/js/components/settingsPanel/ProjectTemplate/TemplateNameInput.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/SettingsPanel.js ✅ pass Only removed unused constant, no behavioral changes to test.
public/js/components/settingsPanel/SettingsPanelConstants.js ✅ pass New constants added, no behavior to test directly.
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelRow.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTable.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTableContext.js ✅ pass New context created, no behavior to test directly.
public/js/components/settingsPanel/Tab.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/components/xliffToTarget/UploadXliff.js ✅ pass Only import path changes, no behavioral changes to test.
public/js/constants/ModalKeys.js ✅ pass New constants added, no behavior to test directly.
public/js/constants/OnBoardingConstants.js ✅ pass New constants added, no behavior to test directly.
public/js/constants/SegmentTabConstants.js ⚠️ warning No tests or coverage data for new constant definitions.
public/js/hooks/useSocketLayer.js ✅ pass Only import style changed, no behavioral change to test.
public/js/pages/ActivityLog.js ✅ pass Only import and context cleanup, no new behavior to test.
public/js/pages/CatTool.js ✅ pass Only import path fix, no behavioral change to test.
public/js/pages/NewProject.js ✅ pass Only import path fix, no behavioral change to test.
public/js/stores/SegmentStore.js ⚠️ warning Significant logic changes with tag projection and segment transformations lack coverage evidence.
public/js/utils/commonUtils.js ⚠️ warning Refactor to lazy load and import helpers, no new behavior tested.
public/js/utils/lxq.main.js ⚠️ warning Refactor to use new action imports, no new behavior tested.
public/js/utils/offlineUtils.js ⚠️ warning Refactor to use new action imports, no new behavior tested.
public/js/utils/segmentLocalStorage.js ⚠️ warning New localStorage helper functions added with no test coverage evidence.
public/js/utils/speech2text.js ⚠️ warning Refactor to use new action imports, no new behavior tested.
public/js/utils/tagProjectionUtils.js ⚠️ warning New tag projection utility functions added with no test coverage evidence.
public/js/utils/textUtils.js ✅ pass Only import path fix, no behavioral change to test.
public/js/components/segments/utils/translationMatches.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTabConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/AnalysisTab/BreakdownsTable.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/AccordionGroupFiltersParams.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Dita.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParams.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParamsContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Json.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsExcel.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsPowerpoint.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsWord.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Xml.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Yaml.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff12.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff20.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettings.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettingsContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossary.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryCreateRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryCreateRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddCategory.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverity.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverityCell.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTable.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTableUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoryRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/EptThreshold.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifyCategory.js ⏭️ skip AI analysis unavailable — deferred to Layer 2

Result: ⚠️ WARNING

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 28, 2026 09:48
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 123 out of 124 changed files in this pull request and generated 5 comments.

Comment on lines +46 to +50
<div
dangerouslySetInnerHTML={{
__html:
'Smart machine translation that learns from your corrections for enhanced quality and productivity thanks to ModernMT\'s basic features. To unlock all features, <a target="_blank" href="https://www.modernmt.com/pricing#translators">click here</a>.',
}}
Copy link

Copilot AI Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The HTML injected here includes an <a target="_blank"> link without rel="noopener noreferrer", which enables reverse-tabnabbing. Add the rel attribute to the link in the injected HTML (or avoid dangerouslySetInnerHTML for this entirely).

Copilot uses AI. Check for mistakes.
Comment on lines 103 to 109
mine: orderTmKeys(mine, keysOrdered),
anonymous: [],
})
}

export const TranslationMemoryGlossaryTabContext = createContext({})
import {TranslationMemoryGlossaryTabContext} from './TranslationMemoryGlossaryTabContext'

Copy link

Copilot AI Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SPECIAL_ROWS_ID/orderTmKeys/getTmDataStructureToSendServer were extracted to TranslationMemoryGlossaryTabUtils.js, but this file still defines and exports its own copies. That duplication is easy to let drift; consider importing these helpers from the new *Utils module here too and removing the local implementations.

Copilot uses AI. Check for mistakes.
Comment on lines +7 to 35
// replaceTempTags/restoreTempTags inlined from textUtils to avoid
// the cycle: SegmentStore → tagUtils → textUtils → commonUtils → SegmentStore
const replaceTempTags = (text) => {
const tags = []
const makeid = (len) => {
let r = ''
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
for (let i = 0; i < len; i++)
r += chars.charAt(Math.floor(Math.random() * chars.length))
return r
}
text = text.replace(
/<(\/)*(g|x|bx|ex|bpt|ept|ph|it|mrk).*?>/gi,
(match) => {
const id = makeid(5)
tags.push({id, match})
return '#_' + id + '_#'
},
)
return {tags, text}
}
const restoreTempTags = (tags, text) =>
text.replace(/#_([a-zA-Z]+?)_#/gi, (match, id) => {
const tag = tags.find((item) => item.id === id)
return tag ? tag.match : match
})
import {isUndefined} from 'lodash'
import getEntities from './getEntities'
import matchTagStructure from './matchTag'
Copy link

Copilot AI Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tagUtils.js now has import statements after executable code (replaceTempTags/restoreTempTags). In ES modules this is a syntax error (imports must come first) and will break bundling/runtime. Move these helper functions below all imports, or extract them to a separate module that can be imported normally.

Copilot uses AI. Check for mistakes.
Comment on lines +74 to +78
const resolvedComponent = resolveModal(component)
this.setState({
...initialState,
title,
component,
component: resolvedComponent,
Copy link

Copilot AI Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

resolveModal() can return undefined for an unknown modal key; ModalWindow then stores that in state and later does React.createElement(..., <InjectedComponent />), which will throw because InjectedComponent is not a valid component type. Add a guard (e.g., don’t open the modal / fall back to a known error modal) when resolvedComponent is falsy.

Copilot uses AI. Check for mistakes.
Comment on lines 1435 to 1438
if (
SegmentStore.consecutiveUnlockSegments.length >= 3 &&
!localStorage.getItem(HIDE_UNLOCK_ALL_SEGMENTS_MODAL_STORAGE)
!localStorage.getItem('unlock-segments-modal' + config.id_job)
) {
Copy link

Copilot AI Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This hardcodes the localStorage key 'unlock-segments-modal' + config.id_job even though UnlockAllSegmentsModal exports HIDE_UNLOCK_ALL_SEGMENTS_MODAL_STORAGE for the same purpose. Import and use the shared constant to avoid accidental drift if the key changes (and to keep the value consistent everywhere).

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown

🧪 Test-Guard Report

⚠️ WARNING — Test coverage has minor gaps — review recommended.

Coverage Analysis: ❌ FAIL

No changed source files found in coverage report (threshold: 80%)

File Verdict Reason
public/img/icons/ChangePassword.js ❌ fail not in coverage report
public/js/actions/CatToolActions.js ❌ fail not in coverage report
public/js/actions/ModalsActions.js ❌ fail not in coverage report
public/js/actions/SegmentActions.js ❌ fail not in coverage report
public/js/actions/notificationActions.js ❌ fail not in coverage report
public/js/actions/segmentClassActions.js ❌ fail not in coverage report
public/js/actions/segmentDispatchActions.js ❌ fail not in coverage report
public/js/actions/segmentQaActions.js ❌ fail not in coverage report
public/js/actions/tagProjectionActions.js ❌ fail not in coverage report
public/js/actions/warningActions.js ❌ fail not in coverage report
public/js/components/activityLog/ActivityLogConstants.js ❌ fail not in coverage report
public/js/components/activityLog/ActivityLogContext.js ❌ fail not in coverage report
public/js/components/activityLog/ActivityLogTable.js ❌ fail not in coverage report
public/js/components/activityLog/ColumnSorting.js ❌ fail not in coverage report
public/js/components/activityLog/FilterColumn.js ❌ fail not in coverage report
public/js/components/createProject/UploadFile.js ❌ fail not in coverage report
public/js/components/createProject/UploadFileLocal.js ❌ fail not in coverage report
public/js/components/createProject/UploadFileUtils.js ❌ fail not in coverage report
public/js/components/createProject/UploadGdrive.js ❌ fail not in coverage report
public/js/components/header/cattol/search/searchUtils.js ❌ fail not in coverage report
public/js/components/modals/CopySourceModal.js ❌ fail not in coverage report
public/js/components/modals/ModalWindow.js ❌ fail not in coverage report
public/js/components/modals/modalRegistry.js ❌ fail not in coverage report
public/js/components/onBoarding/ForgotPassword.js ❌ fail not in coverage report
public/js/components/onBoarding/Login.js ❌ fail not in coverage report
public/js/components/onBoarding/OnBoarding.js ❌ fail not in coverage report
public/js/components/onBoarding/OnBoardingContext.js ❌ fail not in coverage report
public/js/components/onBoarding/PasswordReset.js ❌ fail not in coverage report
public/js/components/onBoarding/Register.js ❌ fail not in coverage report
public/js/components/onBoarding/SocialButtons.js ❌ fail not in coverage report
public/js/components/segments/GlossaryComponents/GlossaryHighlight.component.js ❌ fail not in coverage report
public/js/components/segments/GlossaryComponents/QaCheckGlossaryHighlight.component.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooter.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/GlossaryConstants.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/GlossaryItem.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/SegmentFooterTabGlossary.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/TermForm.js ❌ fail not in coverage report
public/js/components/segments/SegmentSource.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/decodeTagInfo.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/tagUtils.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/textConstants.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/textUtils.js ❌ fail not in coverage report
public/js/components/segments/utils/translationMatches.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTabConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/AnalysisTab/BreakdownsTable.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/AccordionGroupFiltersParams.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Dita.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParams.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParamsContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Json.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsExcel.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsPowerpoint.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsWord.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Xml.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Yaml.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff12.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff20.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettings.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettingsContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossary.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryCreateRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryCreateRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddCategory.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverity.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverityCell.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTable.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTableUtils.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoryRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/EptThreshold.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifyCategory.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifySeverity.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTabContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityColumn.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplate.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateCreateUpdateControl.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateMoreMenu.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateNameInput.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateSelect.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMCreateResourceRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMKeyRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabUtils.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/CreateUpdateControl.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/MoreMenu.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplateConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/TemplateNameInput.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanel.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTable.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTableContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Tab.js ❌ fail not in coverage report
public/js/components/xliffToTarget/UploadXliff.js ❌ fail not in coverage report
public/js/constants/ModalKeys.js ❌ fail not in coverage report
public/js/constants/OnBoardingConstants.js ❌ fail not in coverage report
public/js/constants/SegmentTabConstants.js ❌ fail not in coverage report
public/js/hooks/useSocketLayer.js ❌ fail not in coverage report
public/js/pages/ActivityLog.js ❌ fail not in coverage report
public/js/pages/CatTool.js ❌ fail not in coverage report
public/js/pages/NewProject.js ❌ fail not in coverage report
public/js/stores/SegmentStore.js ❌ fail not in coverage report
public/js/utils/commonUtils.js ❌ fail not in coverage report
public/js/utils/lxq.main.js ❌ fail not in coverage report
public/js/utils/offlineUtils.js ❌ fail not in coverage report
public/js/utils/segmentLocalStorage.js ❌ fail not in coverage report
public/js/utils/speech2text.js ❌ fail not in coverage report
public/js/utils/tagProjectionUtils.js ❌ fail not in coverage report
public/js/utils/textUtils.js ❌ fail not in coverage report

Test File Matching: ❌ FAIL

File matching: 2 pass, 8 warning, 109 fail

File Verdict Reason
public/img/icons/ChangePassword.js ❌ fail No matching test file found
public/js/actions/CatToolActions.js ❌ fail No matching test file found
public/js/actions/ModalsActions.js ❌ fail No matching test file found
public/js/actions/SegmentActions.js ❌ fail No matching test file found
public/js/actions/notificationActions.js ❌ fail No matching test file found
public/js/actions/segmentClassActions.js ❌ fail No matching test file found
public/js/actions/segmentDispatchActions.js ❌ fail No matching test file found
public/js/actions/segmentQaActions.js ❌ fail No matching test file found
public/js/actions/tagProjectionActions.js ❌ fail No matching test file found
public/js/actions/warningActions.js ❌ fail No matching test file found
public/js/components/activityLog/ActivityLogConstants.js ❌ fail No matching test file found
public/js/components/activityLog/ActivityLogContext.js ❌ fail No matching test file found
public/js/components/activityLog/ActivityLogTable.js ❌ fail No matching test file found
public/js/components/activityLog/ColumnSorting.js ❌ fail No matching test file found
public/js/components/activityLog/FilterColumn.js ❌ fail No matching test file found
public/js/components/createProject/UploadFile.js ❌ fail No matching test file found
public/js/components/createProject/UploadFileLocal.js ⚠️ warning Test file exists (public/js/components/createProject/UploadFileLocal.test.js) but was not modified in this PR
public/js/components/createProject/UploadFileUtils.js ❌ fail No matching test file found
public/js/components/createProject/UploadGdrive.js ⚠️ warning Test file exists (public/js/components/createProject/UploadGdrive.test.js) but was not modified in this PR
public/js/components/header/cattol/search/searchUtils.js ❌ fail No matching test file found
public/js/components/modals/CopySourceModal.js ❌ fail No matching test file found
public/js/components/modals/ModalWindow.js ⚠️ warning Test file exists (public/js/components/modals/ModalWindow.test.js) but was not modified in this PR
public/js/components/modals/modalRegistry.js ❌ fail No matching test file found
public/js/components/onBoarding/ForgotPassword.js ❌ fail No matching test file found
public/js/components/onBoarding/Login.js ❌ fail No matching test file found
public/js/components/onBoarding/OnBoarding.js ❌ fail No matching test file found
public/js/components/onBoarding/OnBoardingContext.js ❌ fail No matching test file found
public/js/components/onBoarding/PasswordReset.js ❌ fail No matching test file found
public/js/components/onBoarding/Register.js ❌ fail No matching test file found
public/js/components/onBoarding/SocialButtons.js ❌ fail No matching test file found
public/js/components/segments/GlossaryComponents/GlossaryHighlight.component.js ❌ fail No matching test file found
public/js/components/segments/GlossaryComponents/QaCheckGlossaryHighlight.component.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooter.js ⚠️ warning Test file exists (public/js/components/segments/SegmentFooter.test.js) but was not modified in this PR
public/js/components/segments/SegmentFooterTabGlossary/GlossaryConstants.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooterTabGlossary/GlossaryItem.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooterTabGlossary/SegmentFooterTabGlossary.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooterTabGlossary/TermForm.js ❌ fail No matching test file found
public/js/components/segments/SegmentSource.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/decodeTagInfo.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/tagUtils.js ⚠️ warning Test file exists (public/js/components/segments/utils/DraftMatecatUtils/tagUtils.test.js) but was not modified in this PR
public/js/components/segments/utils/DraftMatecatUtils/textConstants.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/textUtils.js ❌ fail No matching test file found
public/js/components/segments/utils/translationMatches.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.js ✅ pass Test file modified in PR: public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.test.js
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTabConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/AnalysisTab/BreakdownsTable.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/AccordionGroupFiltersParams.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Dita.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParams.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParamsContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Json.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsExcel.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsPowerpoint.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsWord.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Xml.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Yaml.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff12.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff20.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettings.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettingsContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossary.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryCreateRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryCreateRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.js ⚠️ warning Test file exists (public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.test.js) but was not modified in this PR
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddCategory.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverity.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverityCell.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTable.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTableUtils.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoryRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/EptThreshold.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifyCategory.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifySeverity.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.js ✅ pass Test file modified in PR: public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.test.js
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTabContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityColumn.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplate.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateCreateUpdateControl.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateMoreMenu.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateNameInput.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateSelect.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMCreateResourceRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMKeyRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.js ⚠️ warning Test file exists (public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.test.js) but was not modified in this PR
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabUtils.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/CreateUpdateControl.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/MoreMenu.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.js ⚠️ warning Test file exists (public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.test.js) but was not modified in this PR
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplateConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/TemplateNameInput.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanel.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTable.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTableContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Tab.js ❌ fail No matching test file found
public/js/components/xliffToTarget/UploadXliff.js ❌ fail No matching test file found
public/js/constants/ModalKeys.js ❌ fail No matching test file found
public/js/constants/OnBoardingConstants.js ❌ fail No matching test file found
public/js/constants/SegmentTabConstants.js ❌ fail No matching test file found
public/js/hooks/useSocketLayer.js ❌ fail No matching test file found
public/js/pages/ActivityLog.js ❌ fail No matching test file found
public/js/pages/CatTool.js ❌ fail No matching test file found
public/js/pages/NewProject.js ❌ fail No matching test file found
public/js/stores/SegmentStore.js ❌ fail No matching test file found
public/js/utils/commonUtils.js ❌ fail No matching test file found
public/js/utils/lxq.main.js ❌ fail No matching test file found
public/js/utils/offlineUtils.js ❌ fail No matching test file found
public/js/utils/segmentLocalStorage.js ❌ fail No matching test file found
public/js/utils/speech2text.js ❌ fail No matching test file found
public/js/utils/tagProjectionUtils.js ❌ fail No matching test file found
public/js/utils/textUtils.js ❌ fail No matching test file found

Per-File Evaluation: ⚠️ WARNING

AI analysis failed (Error code: 413 - {'error': {'code': 'tokens_limit_reached', 'message': 'Request body too large for gpt-4.1-mini model. Max size: 8000 tokens.', 'details': 'Request body too large for gpt-4.1-mini model. Max size: 8000 tokens.'}}) — shortcuts resolved; remaining files deferred to L1+L2.

File Verdict Reason
public/img/icons/ChangePassword.js ✅ pass Change is a minor SVG attribute fix, no behavioral change to test.
public/js/actions/CatToolActions.js ✅ pass Refactor imports and notification actions; no new behavior or edge cases added.
public/js/actions/ModalsActions.js ✅ pass Replaced modal components with keys; no new behavior or error paths added.
public/js/actions/SegmentActions.js ✅ pass Mostly import and refactor changes; no new logic or branches added.
public/js/actions/notificationActions.js ⚠️ warning New notification action creators added; no tests shown for these new actions.
public/js/actions/segmentClassActions.js ⚠️ warning New segment class actions added; no tests shown for these new actions.
public/js/actions/segmentDispatchActions.js ⚠️ warning No coverage data or test changes; actions dispatch without branching or error handling.
public/js/actions/segmentQaActions.js ⚠️ warning Complex async logic and error handling present; no test changes or coverage data.
public/js/actions/tagProjectionActions.js ⚠️ warning Simple conditional logic; no test changes or coverage data to confirm coverage.
public/js/actions/warningActions.js ⚠️ warning Single dispatch function added; no tests or coverage data to confirm coverage.
public/js/components/activityLog/ActivityLogConstants.js ✅ pass Constants added; no behavior to test.
public/js/components/activityLog/ActivityLogContext.js ✅ pass Context creation only; no behavior to test.
public/js/components/activityLog/ActivityLogTable.js ✅ pass Refactor imports only; no behavior changes or tests needed.
public/js/components/activityLog/ColumnSorting.js ✅ pass Import path change only; no behavior changes or tests needed.
public/js/components/activityLog/FilterColumn.js ✅ pass Import path change only; no behavior changes or tests needed.
public/js/components/createProject/UploadFile.js ✅ pass Removed unused function; no behavior changes or tests needed.
public/js/components/createProject/UploadFileLocal.js ✅ pass Import path changes only; no behavior changes or tests needed.
public/js/components/createProject/UploadFileUtils.js ⚠️ warning New utility function added; no tests or coverage data to confirm coverage.
public/js/components/createProject/UploadGdrive.js ✅ pass Import path changes only; no behavior changes or tests needed.
public/js/components/header/cattol/search/searchUtils.js ⚠️ warning Calls to new dispatch actions added; no test changes or coverage data.
public/js/components/modals/CopySourceModal.js ✅ pass Constant import changed; no behavior changes or tests needed.
public/js/components/modals/ModalWindow.js ⚠️ warning Modal resolution logic added; no tests or coverage data to confirm coverage.
public/js/components/modals/modalRegistry.js ⚠️ warning New modal registry added; no tests or coverage data to confirm coverage.
public/js/components/onBoarding/ForgotPassword.js ✅ pass Import paths changed; no behavior changes or tests needed.
public/js/components/onBoarding/Login.js ✅ pass Import paths changed; no behavior changes or tests needed.
public/js/components/onBoarding/OnBoarding.js ✅ pass Import paths changed; no behavior changes or tests needed.
public/js/components/onBoarding/OnBoardingContext.js ⚠️ warning New context and constants added; no tests or coverage data to confirm coverage.
public/js/components/onBoarding/PasswordReset.js ✅ pass Import paths changed; no behavior changes or tests needed.
public/js/components/onBoarding/Register.js ✅ pass Import paths changed; no behavior changes or tests needed.
public/js/components/onBoarding/SocialButtons.js ✅ pass Import paths changed; no behavior changes or tests needed.
public/js/components/segments/GlossaryComponents/GlossaryHighlight.component.js ✅ pass Tests likely cover glossary term highlighting behavior with updated action import.
public/js/components/segments/GlossaryComponents/QaCheckGlossaryHighlight.component.js ✅ pass Tests likely cover glossary term highlighting in QA check with updated action import.
public/js/components/segments/SegmentFooter.js ✅ pass Change is import refactor; no behavioral change needing tests.
public/js/components/segments/SegmentFooterTabGlossary/GlossaryConstants.js ✅ pass New constants and icons added; no behavior to test directly.
public/js/components/segments/SegmentFooterTabGlossary/GlossaryItem.js ✅ pass Import path fix only; no behavioral change needing tests.
public/js/components/segments/SegmentFooterTabGlossary/SegmentFooterTabGlossary.js ✅ pass Refactor imports and remove inline icons; no new behavior to test.
public/js/components/segments/SegmentFooterTabGlossary/TermForm.js ✅ pass Import path fix only; no behavioral change needing tests.
public/js/components/segments/SegmentSource.js ✅ pass Import path fix only; no behavioral change needing tests.
public/js/components/segments/utils/DraftMatecatUtils/decodeTagInfo.js ✅ pass Import path fix only; no behavioral change needing tests.
public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js ⚠️ warning New utility functions added; no tests shown to cover these utilities.
public/js/components/segments/utils/DraftMatecatUtils/tagUtils.js ⚠️ warning Refactor tag utils with inlined functions; no tests shown for new logic.
public/js/components/segments/utils/DraftMatecatUtils/textConstants.js ⚠️ warning New regex constant added; no tests shown to cover this.
public/js/components/segments/utils/DraftMatecatUtils/textUtils.js ✅ pass Removed duplicate regex constant; no behavioral change needing tests.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifySeverity.js ✅ pass No new behavior or branches introduced; only import path changes.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.js ✅ pass Only import refactor; no behavioral changes to test.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTabContext.js ✅ pass New context created; no behavior to test directly.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityColumn.js ✅ pass Only import path update; no new behavior.
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityRow.js ✅ pass Only import path update; no new behavior.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplate.js ✅ pass Only import refactor; no new behavior introduced.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateContext.js ✅ pass New context and constants created; no behavior to test directly.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateCreateUpdateControl.js ✅ pass Only import path update; no new behavior.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateMoreMenu.js ✅ pass Only import path update; no new behavior.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateNameInput.js ✅ pass Only import path update; no new behavior.
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateSelect.js ✅ pass Only import path update; no new behavior.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMCreateResourceRow.js ✅ pass Only import refactor; no new behavior introduced.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMKeyRow.js ✅ pass Only import refactor; no new behavior introduced.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.js ✅ pass Only import refactor; no new behavior introduced.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabContext.js ✅ pass New context created; no behavior to test directly.
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabUtils.js ⚠️ warning New utility functions added; no direct tests shown but likely covered indirectly.
public/js/components/settingsPanel/ProjectTemplate/CreateUpdateControl.js ✅ pass Only import path update; no new behavior.
public/js/components/settingsPanel/ProjectTemplate/MoreMenu.js ✅ pass Only import path update; no new behavior.
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.js ✅ pass Only import refactor; no new behavior introduced.
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplateConstants.js ✅ pass New constants added; no behavior to test directly.
public/js/components/settingsPanel/ProjectTemplate/TemplateNameInput.js ✅ pass Only import path update; no new behavior.
public/js/components/settingsPanel/SettingsPanel.js ✅ pass Removed unused constant; no behavioral change.
public/js/components/settingsPanel/SettingsPanelConstants.js ✅ pass New constants added; no behavior to test directly.
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelRow.js ✅ pass Only import path update; no new behavior.
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTable.js ✅ pass Only import refactor; no new behavior introduced.
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTableContext.js ✅ pass New context created; no behavior to test directly.
public/js/components/settingsPanel/Tab.js ✅ pass Only import path update; no new behavior.
public/js/components/xliffToTarget/UploadXliff.js ✅ pass Only import path updates; no new behavior introduced.
public/js/constants/ModalKeys.js ✅ pass New constants added; no behavior to test directly.
public/js/constants/OnBoardingConstants.js ✅ pass New constants added; no behavior to test directly.
public/js/constants/SegmentTabConstants.js ⚠️ warning No tests or coverage data for new constant definitions.
public/js/hooks/useSocketLayer.js ✅ pass Only import style changed, no behavioral change to test.
public/js/pages/ActivityLog.js ✅ pass Only import and context cleanup, no new behavior to test.
public/js/pages/CatTool.js ✅ pass Only import path changes, no new behavior to test.
public/js/pages/NewProject.js ✅ pass Only import path changes, no new behavior to test.
public/js/stores/SegmentStore.js ⚠️ warning Behavioral changes with tag projection and segment transformations lack explicit test coverage evidence.
public/js/utils/commonUtils.js ⚠️ warning Refactor to lazy-load actions and utilities, no new behavior tested explicitly.
public/js/utils/lxq.main.js ⚠️ warning Refactor to use new action imports, no new behavior tested explicitly.
public/js/utils/offlineUtils.js ⚠️ warning Refactor to use new action imports, no new behavior tested explicitly.
public/js/utils/segmentLocalStorage.js ⚠️ warning New localStorage utility functions added without test coverage evidence.
public/js/utils/speech2text.js ⚠️ warning Refactor to use new action imports, no new behavior tested explicitly.
public/js/utils/tagProjectionUtils.js ⚠️ warning New tag projection utility functions added without test coverage evidence.
public/js/utils/textUtils.js ✅ pass Only import path changed, no new behavior to test.
public/js/components/segments/utils/translationMatches.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTabConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/AnalysisTab/BreakdownsTable.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/AccordionGroupFiltersParams.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Dita.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParams.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParamsContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Json.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsExcel.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsPowerpoint.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsWord.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Xml.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Yaml.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff12.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff20.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettings.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettingsContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossary.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryCreateRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryCreateRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddCategory.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverity.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverityCell.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTable.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTableUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoryRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/EptThreshold.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifyCategory.js ⏭️ skip AI analysis unavailable — deferred to Layer 2

Result: ⚠️ WARNING

riccio82 and others added 21 commits April 28, 2026 12:05
- @translated/lara: 1.8.0-beta.3 → 1.9.0
* feat: add ed error_code to AI Worker messages

* fixed phpstan

* fixed phpstan

* FE integration

---------

Co-authored-by: pierluigi.dicianni <pierluigi.dicianni@translated.net>
- regenerate phpstan-baseline.neon to absorb 726 pre-existing
  @throws violations across 275 files
- add phpstan-throws-backlog.txt listing all files to fix
  sequentially
- create `.github/PULL_REQUEST_TEMPLATE.md` to standardize pull request descriptions
- add `.github/workflows/pr-readiness-check.yml` GitHub Action to validate mandatory checklist
- implement checklist validation logic in `.github/scripts/pr-readiness-check.js`
- include comprehensive unit tests in `.github/scripts/pr-readiness-check.test.js`

Signed-off-by: domenico <domenico@translated.net>
- update instructions to only require naming the AI agent/tool used
- adjust example to remove implementation + test generation details

🐛 fix(pr-checks): ensure comments are fully removed in section validation

- implement loop to repeatedly strip nested HTML comments in `pr-readiness-check.js`

🔧 chore(tests): exclude `.github/scripts` from jest transformations

- update `jest.config.js` to add `.github/scripts/` to `transformIgnorePatterns`

Signed-off-by: domenico <domenico@translated.net>
- add testPathIgnorePatterns to jest.config.js so Jest does not pick up
  CI validation scripts that use Node built-in test runner
- add lib/View/APIDoc.php and lib/View/templates/_APIDoc.php to
  excludePaths in phpstan.neon (webpack build artifacts)
- remove 5 stale baseline entries referencing excluded files
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
- validate PR title (required gate) and commit messages (hygiene gate)
  against emoji-prefixed conventional-commit spec
- add commit-message-check.js with emoji↔type map, VS16 normalization,
  format/length/case/period validation, merge-commit skip
- add 35 unit tests covering all 12 types, edge cases, and error
  collection
- bypass via `commit-message-exception` label
- add requireEmoji option (default true) to validateCommitMessage so
  PR title stays strict while commit messages accept emoji-less
  conventional-commit format (e.g. "docs(qa): ...")
- auto-skip GitHub web UI patterns (Update/Create/Delete/Rename) in
  relaxed mode
- update workflow to pass requireEmoji: false for commit-messages job
- add 18 new tests for relaxed mode and isGitHubWebEdit (53 total)
…callers

Declare checked exceptions on all methods using Database::transaction(),
which re-throws \Throwable on rollback. Remove 2 stale baseline entries
now covered by the broader @throws declaration.
- run PHPUnit with Xdebug coverage on pull requests
- invoke ostico/test-guard@v1.0.1 with 80% coverage threshold
- enable AI-powered test adequacy analysis
- move test-guard from standalone workflow into _ci-cd.yml
  as a PR-only job that consumes coverage from the tests job
- extract coverage.xml from test container via docker cp
  and upload as "coverage-report" artifact
- add pull-requests:write and statuses:write permissions
  to aws_dev.yml and aws_prod.yml callers
- set per-job permissions in _ci-cd.yml (test-guard needs
  write access, other jobs only need contents:read)
- update docker submodule (php-pcov + --coverage-clover)
- grant models:read permission in PR workflows for repository access

Signed-off-by: domenico <domenico@translated.net>
- update permissions in _ci-cd.yml, aws_prod.yml, and aws_dev.yml
- align with GitHub's recommended permissions model

Signed-off-by: domenico <domenico@translated.net>
- Add Clover reporter to Jest so it writes js-coverage/clover.xml
- Extract both PHP and JS coverage from test container
- Pass both files to test-guard via YAML block scalar
@github-actions
Copy link
Copy Markdown

🧪 Test-Guard Report

❌ FAIL — Some changed source files lack adequate test coverage.

Coverage Analysis: ❌ FAIL

No changed source files found in coverage report (threshold: 80%)

File Verdict Reason
.github/scripts/commit-message-check.js ❌ fail not in coverage report
.github/scripts/pr-readiness-check.js ❌ fail not in coverage report
lib/Model/DataAccess/Database.php ❌ fail not in coverage report
lib/Utils/AsyncTasks/Workers/AIAssistantWorker.php ❌ fail not in coverage report
lib/Utils/AsyncTasks/Workers/Analysis/FastAnalysis.php ❌ fail not in coverage report
public/img/icons/ChangePassword.js ❌ fail not in coverage report
public/js/actions/CatToolActions.js ❌ fail not in coverage report
public/js/actions/ModalsActions.js ❌ fail not in coverage report
public/js/actions/SegmentActions.js ❌ fail not in coverage report
public/js/actions/notificationActions.js ❌ fail not in coverage report
public/js/actions/segmentClassActions.js ❌ fail not in coverage report
public/js/actions/segmentDispatchActions.js ❌ fail not in coverage report
public/js/actions/segmentQaActions.js ❌ fail not in coverage report
public/js/actions/tagProjectionActions.js ❌ fail not in coverage report
public/js/actions/warningActions.js ❌ fail not in coverage report
public/js/components/activityLog/ActivityLogConstants.js ❌ fail not in coverage report
public/js/components/activityLog/ActivityLogContext.js ❌ fail not in coverage report
public/js/components/activityLog/ActivityLogTable.js ❌ fail not in coverage report
public/js/components/activityLog/ColumnSorting.js ❌ fail not in coverage report
public/js/components/activityLog/FilterColumn.js ❌ fail not in coverage report
public/js/components/createProject/UploadFile.js ❌ fail not in coverage report
public/js/components/createProject/UploadFileLocal.js ❌ fail not in coverage report
public/js/components/createProject/UploadFileUtils.js ❌ fail not in coverage report
public/js/components/createProject/UploadGdrive.js ❌ fail not in coverage report
public/js/components/header/cattol/search/searchUtils.js ❌ fail not in coverage report
public/js/components/modals/CopySourceModal.js ❌ fail not in coverage report
public/js/components/modals/ModalWindow.js ❌ fail not in coverage report
public/js/components/modals/modalRegistry.js ❌ fail not in coverage report
public/js/components/onBoarding/ForgotPassword.js ❌ fail not in coverage report
public/js/components/onBoarding/Login.js ❌ fail not in coverage report
public/js/components/onBoarding/OnBoarding.js ❌ fail not in coverage report
public/js/components/onBoarding/OnBoardingContext.js ❌ fail not in coverage report
public/js/components/onBoarding/PasswordReset.js ❌ fail not in coverage report
public/js/components/onBoarding/Register.js ❌ fail not in coverage report
public/js/components/onBoarding/SocialButtons.js ❌ fail not in coverage report
public/js/components/segments/GlossaryComponents/GlossaryHighlight.component.js ❌ fail not in coverage report
public/js/components/segments/GlossaryComponents/QaCheckGlossaryHighlight.component.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooter.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabAiAlternatives.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/GlossaryConstants.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/GlossaryItem.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/SegmentFooterTabGlossary.js ❌ fail not in coverage report
public/js/components/segments/SegmentFooterTabGlossary/TermForm.js ❌ fail not in coverage report
public/js/components/segments/SegmentSource.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/decodeTagInfo.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/tagUtils.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/textConstants.js ❌ fail not in coverage report
public/js/components/segments/utils/DraftMatecatUtils/textUtils.js ❌ fail not in coverage report
public/js/components/segments/utils/translationMatches.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTabConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/AnalysisTab/BreakdownsTable.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/AccordionGroupFiltersParams.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Dita.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParams.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParamsContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Json.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsExcel.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsPowerpoint.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsWord.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Xml.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Yaml.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff12.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff20.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettings.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettingsContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossary.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryCreateRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryCreateRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddCategory.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverity.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverityCell.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTable.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTableUtils.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoryRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/EptThreshold.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifyCategory.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifySeverity.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTabContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityColumn.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplate.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateCreateUpdateControl.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateMoreMenu.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateNameInput.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateSelect.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMCreateResourceRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMKeyRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabUtils.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/CreateUpdateControl.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/MoreMenu.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplateConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/ProjectTemplate/TemplateNameInput.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanel.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelConstants.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelRow.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTable.js ❌ fail not in coverage report
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTableContext.js ❌ fail not in coverage report
public/js/components/settingsPanel/Tab.js ❌ fail not in coverage report
public/js/components/xliffToTarget/UploadXliff.js ❌ fail not in coverage report
public/js/constants/ModalKeys.js ❌ fail not in coverage report
public/js/constants/OnBoardingConstants.js ❌ fail not in coverage report
public/js/constants/SegmentTabConstants.js ❌ fail not in coverage report
public/js/hooks/useSocketLayer.js ❌ fail not in coverage report
public/js/pages/ActivityLog.js ❌ fail not in coverage report
public/js/pages/CatTool.js ❌ fail not in coverage report
public/js/pages/NewProject.js ❌ fail not in coverage report
public/js/stores/SegmentStore.js ❌ fail not in coverage report
public/js/utils/commonUtils.js ❌ fail not in coverage report
public/js/utils/lxq.main.js ❌ fail not in coverage report
public/js/utils/offlineUtils.js ❌ fail not in coverage report
public/js/utils/segmentLocalStorage.js ❌ fail not in coverage report
public/js/utils/speech2text.js ❌ fail not in coverage report
public/js/utils/tagProjectionUtils.js ❌ fail not in coverage report
public/js/utils/textUtils.js ❌ fail not in coverage report

Test File Matching: ❌ FAIL

File matching: 4 pass, 9 warning, 112 fail

File Verdict Reason
.github/scripts/commit-message-check.js ✅ pass Test file modified in PR: .github/scripts/commit-message-check.test.js
.github/scripts/pr-readiness-check.js ✅ pass Test file modified in PR: .github/scripts/pr-readiness-check.test.js
lib/Model/DataAccess/Database.php ❌ fail No matching test file found
lib/Utils/AsyncTasks/Workers/AIAssistantWorker.php ❌ fail No matching test file found
lib/Utils/AsyncTasks/Workers/Analysis/FastAnalysis.php ⚠️ warning Test file exists (tests/unit/TestMyMemory/FastAnalysisTest.php) but was not modified in this PR
public/img/icons/ChangePassword.js ❌ fail No matching test file found
public/js/actions/CatToolActions.js ❌ fail No matching test file found
public/js/actions/ModalsActions.js ❌ fail No matching test file found
public/js/actions/SegmentActions.js ❌ fail No matching test file found
public/js/actions/notificationActions.js ❌ fail No matching test file found
public/js/actions/segmentClassActions.js ❌ fail No matching test file found
public/js/actions/segmentDispatchActions.js ❌ fail No matching test file found
public/js/actions/segmentQaActions.js ❌ fail No matching test file found
public/js/actions/tagProjectionActions.js ❌ fail No matching test file found
public/js/actions/warningActions.js ❌ fail No matching test file found
public/js/components/activityLog/ActivityLogConstants.js ❌ fail No matching test file found
public/js/components/activityLog/ActivityLogContext.js ❌ fail No matching test file found
public/js/components/activityLog/ActivityLogTable.js ❌ fail No matching test file found
public/js/components/activityLog/ColumnSorting.js ❌ fail No matching test file found
public/js/components/activityLog/FilterColumn.js ❌ fail No matching test file found
public/js/components/createProject/UploadFile.js ❌ fail No matching test file found
public/js/components/createProject/UploadFileLocal.js ⚠️ warning Test file exists (public/js/components/createProject/UploadFileLocal.test.js) but was not modified in this PR
public/js/components/createProject/UploadFileUtils.js ❌ fail No matching test file found
public/js/components/createProject/UploadGdrive.js ⚠️ warning Test file exists (public/js/components/createProject/UploadGdrive.test.js) but was not modified in this PR
public/js/components/header/cattol/search/searchUtils.js ❌ fail No matching test file found
public/js/components/modals/CopySourceModal.js ❌ fail No matching test file found
public/js/components/modals/ModalWindow.js ⚠️ warning Test file exists (public/js/components/modals/ModalWindow.test.js) but was not modified in this PR
public/js/components/modals/modalRegistry.js ❌ fail No matching test file found
public/js/components/onBoarding/ForgotPassword.js ❌ fail No matching test file found
public/js/components/onBoarding/Login.js ❌ fail No matching test file found
public/js/components/onBoarding/OnBoarding.js ❌ fail No matching test file found
public/js/components/onBoarding/OnBoardingContext.js ❌ fail No matching test file found
public/js/components/onBoarding/PasswordReset.js ❌ fail No matching test file found
public/js/components/onBoarding/Register.js ❌ fail No matching test file found
public/js/components/onBoarding/SocialButtons.js ❌ fail No matching test file found
public/js/components/segments/GlossaryComponents/GlossaryHighlight.component.js ❌ fail No matching test file found
public/js/components/segments/GlossaryComponents/QaCheckGlossaryHighlight.component.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooter.js ⚠️ warning Test file exists (public/js/components/segments/SegmentFooter.test.js) but was not modified in this PR
public/js/components/segments/SegmentFooterTabAiAlternatives.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooterTabGlossary/GlossaryConstants.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooterTabGlossary/GlossaryItem.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooterTabGlossary/SegmentFooterTabGlossary.js ❌ fail No matching test file found
public/js/components/segments/SegmentFooterTabGlossary/TermForm.js ❌ fail No matching test file found
public/js/components/segments/SegmentSource.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/decodeTagInfo.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/tagUtils.js ⚠️ warning Test file exists (public/js/components/segments/utils/DraftMatecatUtils/tagUtils.test.js) but was not modified in this PR
public/js/components/segments/utils/DraftMatecatUtils/textConstants.js ❌ fail No matching test file found
public/js/components/segments/utils/DraftMatecatUtils/textUtils.js ❌ fail No matching test file found
public/js/components/segments/utils/translationMatches.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.js ✅ pass Test file modified in PR: public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.test.js
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTabConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/AnalysisTab/BreakdownsTable.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/AccordionGroupFiltersParams.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Dita.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParams.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParamsContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Json.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsExcel.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsPowerpoint.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsWord.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Xml.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Yaml.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff12.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff20.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettings.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettingsContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossary.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryCreateRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryCreateRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.js ⚠️ warning Test file exists (public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.test.js) but was not modified in this PR
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddCategory.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverity.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverityCell.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTable.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTableUtils.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoryRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/EptThreshold.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifyCategory.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifySeverity.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.js ✅ pass Test file modified in PR: public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.test.js
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTabContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityColumn.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplate.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateCreateUpdateControl.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateMoreMenu.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateNameInput.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateSelect.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMCreateResourceRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMKeyRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.js ⚠️ warning Test file exists (public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.test.js) but was not modified in this PR
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabUtils.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/CreateUpdateControl.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/MoreMenu.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.js ⚠️ warning Test file exists (public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.test.js) but was not modified in this PR
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplateConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/ProjectTemplate/TemplateNameInput.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanel.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelConstants.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelRow.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTable.js ❌ fail No matching test file found
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTableContext.js ❌ fail No matching test file found
public/js/components/settingsPanel/Tab.js ❌ fail No matching test file found
public/js/components/xliffToTarget/UploadXliff.js ❌ fail No matching test file found
public/js/constants/ModalKeys.js ❌ fail No matching test file found
public/js/constants/OnBoardingConstants.js ❌ fail No matching test file found
public/js/constants/SegmentTabConstants.js ❌ fail No matching test file found
public/js/hooks/useSocketLayer.js ❌ fail No matching test file found
public/js/pages/ActivityLog.js ❌ fail No matching test file found
public/js/pages/CatTool.js ❌ fail No matching test file found
public/js/pages/NewProject.js ❌ fail No matching test file found
public/js/stores/SegmentStore.js ❌ fail No matching test file found
public/js/utils/commonUtils.js ❌ fail No matching test file found
public/js/utils/lxq.main.js ❌ fail No matching test file found
public/js/utils/offlineUtils.js ❌ fail No matching test file found
public/js/utils/segmentLocalStorage.js ❌ fail No matching test file found
public/js/utils/speech2text.js ❌ fail No matching test file found
public/js/utils/tagProjectionUtils.js ❌ fail No matching test file found
public/js/utils/textUtils.js ❌ fail No matching test file found

Per-File Evaluation: ❌ FAIL

AI analysis failed (Error code: 413 - {'error': {'code': 'tokens_limit_reached', 'message': 'Request body too large for gpt-4.1-mini model. Max size: 8000 tokens.', 'details': 'Request body too large for gpt-4.1-mini model. Max size: 8000 tokens.'}}) — shortcuts resolved; remaining files deferred to L1+L2.

File Verdict Reason
lib/Model/DataAccess/Database.php ⏭️ skip shortcut → trivial change (whitespace/comments only)
lib/Utils/AsyncTasks/Workers/Analysis/FastAnalysis.php ⏭️ skip shortcut → trivial change (whitespace/comments only)
.github/scripts/commit-message-check.js ✅ pass Comprehensive tests cover emoji mapping, validation rules, edge cases, and error paths.
.github/scripts/pr-readiness-check.js ✅ pass Extensive tests cover checklist validation, section parsing, and edge cases.
lib/Utils/AsyncTasks/Workers/AIAssistantWorker.php ❌ fail No tests added or modified to cover new error code handling and emitErrorMessage changes.
public/img/icons/ChangePassword.js ✅ pass Change is a minor SVG attribute fix, no behavior to test.
public/js/actions/CatToolActions.js ✅ pass Refactor imports and notification actions; no new behavior or branches added.
public/js/actions/ModalsActions.js ✅ pass Replaced modal components with keys; no new behavior or branches added.
public/js/actions/SegmentActions.js ✅ pass Mostly import refactoring and reorganization; no new behavior or branches added.
public/js/actions/notificationActions.js ⚠️ warning New notification action creators added; no tests modified but coverage unknown.
public/js/actions/segmentClassActions.js ⚠️ warning New segment class actions added; no tests modified but coverage unknown.
public/js/actions/segmentDispatchActions.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/actions/segmentQaActions.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/actions/tagProjectionActions.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/actions/warningActions.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/activityLog/ActivityLogConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/activityLog/ActivityLogContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/activityLog/ActivityLogTable.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/activityLog/ColumnSorting.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/activityLog/FilterColumn.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/createProject/UploadFile.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/createProject/UploadFileLocal.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/createProject/UploadFileUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/createProject/UploadGdrive.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/header/cattol/search/searchUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/modals/CopySourceModal.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/modals/ModalWindow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/modals/modalRegistry.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/onBoarding/ForgotPassword.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/onBoarding/Login.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/onBoarding/OnBoarding.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/onBoarding/OnBoardingContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/onBoarding/PasswordReset.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/onBoarding/Register.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/onBoarding/SocialButtons.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/GlossaryComponents/GlossaryHighlight.component.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/GlossaryComponents/QaCheckGlossaryHighlight.component.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/SegmentFooter.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/SegmentFooterTabAiAlternatives.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/SegmentFooterTabGlossary/GlossaryConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/SegmentFooterTabGlossary/GlossaryItem.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/SegmentFooterTabGlossary/SegmentFooterTabGlossary.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/SegmentFooterTabGlossary/TermForm.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/SegmentSource.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/utils/DraftMatecatUtils/decodeTagInfo.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/utils/DraftMatecatUtils/htmlUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/utils/DraftMatecatUtils/tagUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/utils/DraftMatecatUtils/textConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/utils/DraftMatecatUtils/textUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/segments/utils/translationMatches.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTab.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/AnalysisTab/AnalysisTabConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/AnalysisTab/BreakdownsTable.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/AccordionGroupFiltersParams.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Dita.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParams.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/FiltersParamsContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Json.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsExcel.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsPowerpoint.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/MsWord.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Xml.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/FiltersParams/Yaml.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff12.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/Xliff20.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettings.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/FileImportTab/XliffSettings/XliffSettingsContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossary.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/DeepLGlossary/DeepLGlossaryCreateRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryCreateRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MTGlossary/MTGlossaryRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/MachineTranslationTab/MachineTranslationTab.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddCategory.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverity.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/AddSeverityCell.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTable.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoriesSeveritiesTableUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/CategoryRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/EptThreshold.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifyCategory.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/ModifySeverity.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTab.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/QualityFrameworkTabContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityColumn.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/QualityFrameworkTab/SeverityRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplate.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateCreateUpdateControl.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateMoreMenu.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateNameInput.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/SubTemplates/SubTemplateSelect.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMCreateResourceRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TMKeyRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTab.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Contents/TranslationMemoryGlossaryTab/TranslationMemoryGlossaryTabUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/ProjectTemplate/CreateUpdateControl.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/ProjectTemplate/MoreMenu.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplate.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/ProjectTemplate/ProjectTemplateConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/ProjectTemplate/TemplateNameInput.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/SettingsPanel.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/SettingsPanelConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelRow.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTable.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/SettingsPanelTable/SettingsPanelTableContext.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/settingsPanel/Tab.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/components/xliffToTarget/UploadXliff.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/constants/ModalKeys.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/constants/OnBoardingConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/constants/SegmentTabConstants.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/hooks/useSocketLayer.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/pages/ActivityLog.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/pages/CatTool.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/pages/NewProject.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/stores/SegmentStore.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/utils/commonUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/utils/lxq.main.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/utils/offlineUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/utils/segmentLocalStorage.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/utils/speech2text.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/utils/tagProjectionUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2
public/js/utils/textUtils.js ⏭️ skip AI analysis unavailable — deferred to Layer 2

Result: ❌ FAIL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants