Ever® Gauzy™ - Open Business Management Platform (ERP/CRM/HRM/ATS/PM) - https://gauzy.co
This report summarizes scanner evidence for ever-co/ever-gauzy, a TypeScript project with 8,665 GitHub stars. SynthScan examined 2,348,416 lines of code across 16750 source files, recording 2602 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 2.3 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1512 finding(s).
Are imports declared and package/API names verified? 69 finding(s).
Are wrappers, guards, and repeated structures necessary? 1484 finding(s).
Which changes need focused human review? 2602 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2602 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 3 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 20 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 90 | // ── Container: no card fill, no card radius, no shadow ──────────────────── | COMMENT |
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 105 | // ── The row ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 213 | // ── Active entry ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 243 | // ── Sub-list ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 259 | // ── Icon rail ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 288 | // ── Variants ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 317 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 320 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 424 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …menu-items/concrete/menu-item/menu-item.component.scss | 444 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …e/children-menu-item/children-menu-item.component.scss | 12 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …e/children-menu-item/children-menu-item.component.scss | 16 | // ── Where it sits ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …e/children-menu-item/children-menu-item.component.scss | 45 | // ── How big it is ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …e/children-menu-item/children-menu-item.component.scss | 60 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …re/src/lib/services/make-com/make-com-store.service.ts | 21 | // ─── Setup status state ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …re/src/lib/services/make-com/make-com-store.service.ts | 25 | // ─── Settings state ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …re/src/lib/services/make-com/make-com-store.service.ts | 29 | // ─── Zone state ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …re/src/lib/services/make-com/make-com-store.service.ts | 33 | // ─── Make.com context state ───────────────────────────────────────────── | COMMENT |
| MEDIUM | …re/src/lib/services/make-com/make-com-store.service.ts | 46 | // ─── Resource state ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …re/src/lib/services/make-com/make-com-store.service.ts | 61 | // ─── Setup Status ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …re/src/lib/services/make-com/make-com-store.service.ts | 77 | // ─── Settings ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …re/src/lib/services/make-com/make-com-store.service.ts | 118 | // ─── Zone ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …re/src/lib/services/make-com/make-com-store.service.ts | 155 | // ─── Organizations ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …re/src/lib/services/make-com/make-com-store.service.ts | 185 | // ─── Teams ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …re/src/lib/services/make-com/make-com-store.service.ts | 213 | // ─── Scenarios ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …re/src/lib/services/make-com/make-com-store.service.ts | 241 | // ─── Hooks ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …re/src/lib/services/make-com/make-com-store.service.ts | 269 | // ─── Connections ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …re/src/lib/services/make-com/make-com-store.service.ts | 289 | // ─── Templates ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …re/src/lib/services/make-com/make-com-store.service.ts | 301 | // ─── Store Management ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ore/core/src/lib/services/make-com/make-com.service.ts | 28 | // ─── Settings & Auth ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ore/core/src/lib/services/make-com/make-com.service.ts | 68 | // ─── Setup Status ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ore/core/src/lib/services/make-com/make-com.service.ts | 76 | // ─── Zone Configuration ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ore/core/src/lib/services/make-com/make-com.service.ts | 93 | // ─── Context (Make.com org/team selection) ────────────────────────────── | COMMENT |
| MEDIUM | …ore/core/src/lib/services/make-com/make-com.service.ts | 115 | // ─── Organizations ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ore/core/src/lib/services/make-com/make-com.service.ts | 125 | // ─── Teams ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ore/core/src/lib/services/make-com/make-com.service.ts | 136 | // ─── Connections ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ore/core/src/lib/services/make-com/make-com.service.ts | 159 | // ─── Scenarios ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ore/core/src/lib/services/make-com/make-com.service.ts | 206 | // ─── Hooks (Webhooks) ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ore/core/src/lib/services/make-com/make-com.service.ts | 241 | // ─── Templates ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/lib/services/ai-agent/agent-form-bridge.service.ts | 159 | // ── DOM discovery ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/lib/services/ai-agent/agent-form-bridge.service.ts | 277 | // ── Value setting ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/task-status-select/task-status-select.component.scss | 7 | // ── The status lozenge ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/task-status-select/task-status-select.component.scss | 39 | // ── One row of the dropdown ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/task-status-select/task-status-select.component.scss | 73 | // ── The trigger ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 28 | // ── Tones ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 42 | // ── Section titles (panel header, plain heading) ───────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 60 | // ── Panel ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 112 | // ── Rows ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 222 | // ── People ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 311 | // ── Teams ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 352 | // ── Team members popover ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 442 | // ── Status ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 469 | // ── Plain section (long-form text) ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 475 | // ── Meta footer ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 499 | // ── Rich text / markdown ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 618 | // ── Inline code ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 654 | // ── Code blocks ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/shared/src/lib/record-view/record-view.component.scss | 711 | // ── Quotes and alert panels ────────────────────────────────────────────── | COMMENT |
| 961 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | jest.preset.js | 1 | const nxPreset = require('@nx/jest/preset').default; | COMMENT |
| LOW | jest.preset.js | 21 | // d3-*, internmap -> @swimlane/ngx-charts (desktop-ui-lib's recap module, which the | COMMENT |
| LOW | jest.preset.js | 41 | // transformed there and ~22 Angular suites failed to load. They now inherit this list, which is | COMMENT |
| LOW | jest.preset.js | 61 | ...nxPreset, | COMMENT |
| LOW | docker-compose.caddy.yml | 1 | # Ever Gauzy behind Caddy, with automatic HTTPS (https://caddyserver.com/docs/automatic-https). | COMMENT |
| LOW | eslint.config.js | 81 | // require this file without tripping the boundary rule on itself. | COMMENT |
| LOW | eslint.config.js | 101 | { sourceTag: 'type:core', onlyDependOnLibsWithTags: ['type:core', 'type:shared'] }, | COMMENT |
| LOW | eslint.config.js | 121 | // Same grandfathered-not-endorsed status as `job-proposal`. | COMMENT |
| LOW | eslint.config.js | 141 | { sourceTag: '*', onlyDependOnLibsWithTags: ['*'] } | COMMENT |
| LOW | tools/tsconfig.jest-configs.json | 1 | { | COMMENT |
| LOW | tools/egress-audit/compose.egress-audit.yml | 1 | # cspell:words DOTENV | COMMENT |
| LOW | .do/deploy.template.yaml | 1 | # "Deploy to DigitalOcean" button template (https://docs.digitalocean.com/products/app-platform/how-to/add-deploy-do-but | COMMENT |
| LOW | .devcontainer/codespaces-env.sh | 1 | # shellcheck shell=bash | COMMENT |
| LOW | packages/desktop-lib/src/lib/desktop-screenshot.ts | 141 | organizationId: appInfo.organizationId, | COMMENT |
| LOW | …u/menu-items/concrete/menu-item/menu-item.component.ts | 201 | // Get the user data from the store | COMMENT |
| LOW | …u/menu-items/concrete/menu-item/menu-item.component.ts | 221 | // own toggle below — and getSidebarState() is answered by whichever NbSidebarComponent carries | COMMENT |
| LOW | …menu-items/concrete/menu-item/menu-item.component.scss | 1 | @use 'themes' as *; | COMMENT |
| LOW | …menu-items/concrete/menu-item/menu-item.component.scss | 21 | COMMENT | |
| LOW | …menu-items/concrete/menu-item/menu-item.component.scss | 41 | // Resting label colour, muted. Nested fallback because gauzy-text-color-2 is | COMMENT |
| LOW | …menu-items/concrete/menu-item/menu-item.component.scss | 61 | COMMENT | |
| LOW | …menu-items/concrete/menu-item/menu-item.component.scss | 201 | nb-accordion-item:not(:has(nb-accordion-item-body)) ::ng-deep nb-icon.expansion-indicator { | COMMENT |
| LOW | …menu-items/concrete/menu-item/menu-item.component.scss | 421 | padding-inline-start: $menu-row-inline-padding; | COMMENT |
| LOW | …e/children-menu-item/children-menu-item.component.scss | 1 | // `themes` must be loaded HERE as well: Sass `@use ... as *` inside | COMMENT |
| LOW | …e/children-menu-item/children-menu-item.component.scss | 21 | // box (nb-icon is `width: 1em; height: 1em` and ../menu-item/menu-item.component.scss | COMMENT |
| LOW | …e/children-menu-item/children-menu-item.component.scss | 41 | // — 1rem further out than the chevron it sits under, which is what made the | COMMENT |
| LOW | …e/children-menu-item/children-menu-item.component.scss | 121 | i.fa-plus { | COMMENT |
| LOW | …s/task-status-select/task-status-select.component.scss | 1 | @use 'themes' as *; | COMMENT |
| LOW | …ker/timer-range-picker/timer-range-picker.component.ts | 221 | const start = this.composeInstant(day, this.startTime); | COMMENT |
| LOW | …le-components/company-logo/company-logo.component.scss | 21 | COMMENT | |
| LOW | …able-components/people-list/people-list.component.scss | 1 | @use 'themes' as *; | COMMENT |
| LOW | …able-components/people-list/people-list.component.scss | 101 | border-radius: 50%; | COMMENT |
| LOW | …i-core/shared/src/lib/skeleton/skeleton.component.scss | 1 | @use 'themes' as *; | COMMENT |
| LOW | …g-expense-block/recurring-expense-block.component.scss | 1 | @use 'var' as *; | COMMENT |
| LOW | …g-expense-block/recurring-expense-block.component.scss | 21 | // LABELS live in that template and the VALUES live in this one, and a literal | COMMENT |
| LOW | …g-expense-block/recurring-expense-block.component.scss | 221 | height: fit-content; | COMMENT |
| LOW | …g-expense-block/recurring-expense-block.component.scss | 241 | // 1438px was a guess at the width these columns need, and this pair measures it | COMMENT |
| LOW | …hared/src/lib/status-badge/status-badge.component.scss | 1 | // The pill is normally the tallest thing in its smart-table cell, so its height | COMMENT |
| LOW | …hared/src/lib/status-badge/status-badge.component.scss | 21 | width: 100%; | COMMENT |
| LOW | …hared/src/lib/status-badge/status-badge.component.scss | 41 | // by the `align-items` above. Should a caller ever set a line TALLER than the | COMMENT |
| LOW | …/tags/tags-color-input/tags-color-input.component.scss | 1 | @use 'themes' as *; | COMMENT |
| LOW | …/tags/tags-color-input/tags-color-input.component.scss | 141 | // is the cap: everything shorter shows in full, only a genuinely long name | COMMENT |
| LOW | …ib/tags/tags-color-input/tags-color-input.component.ts | 221 | const containerWidth = selectedContainer.offsetWidth; | COMMENT |
| LOW | …ages/ui-core/shared/src/lib/dashboard/widgets/index.ts | 1 | // IMPORTANT: this barrel deliberately exports ONLY the registration arrays and | COMMENT |
| LOW | …-management/most-viewed-projects-widget.component.scss | 1 | // The row is a plain container on purpose: `ngx-project` brings its own | COMMENT |
| LOW | …/time-tracker/time-tracker/time-tracker.component.scss | 1 | @use 'gauzy/_gauzy-overrides' as *; | COMMENT |
| LOW | …/time-tracker/time-tracker/time-tracker.component.scss | 41 | right: 20px; | COMMENT |
| LOW | …/time-tracker/time-tracker/time-tracker.component.scss | 81 | // The cluster is placed by WIDTH from its static position — the body's | COMMENT |
| LOW | …/time-tracker/time-tracker/time-tracker.component.scss | 301 | // session time lead. | COMMENT |
| LOW | …/time-tracker/time-tracker/time-tracker.component.scss | 401 | } | COMMENT |
| LOW | …/time-tracker/time-tracker/time-tracker.component.scss | 421 | width: 100%; | COMMENT |
| LOW | …/time-tracker/time-tracker/time-tracker.component.scss | 481 | // picker was visibly tighter than the one between the selectors below it. | COMMENT |
| LOW | …/time-tracker/time-tracker/time-tracker.component.scss | 501 | :host .custom-range-picker ::ng-deep { | COMMENT |
| LOW | …/time-tracker/time-tracker/time-tracker.component.scss | 541 | width: 100%; | COMMENT |
| LOW | …ed/src/lib/rich-text-editor/legacy-html-corpus.spec.ts | 21 | const STANDARD: Extensions = createStandardPreset().extensions; | COMMENT |
| LOW | …b/timesheet/gauzy-filters/gauzy-filters.component.scss | 201 | border: none !important; | COMMENT |
| LOW | …shots/screenshots-item/screenshots-item.component.scss | 261 | // Two reasons. `.primitive-overlay` — the wrapper Nebular's own padding is | COMMENT |
| LOW | …shots/screenshots-item/screenshots-item.component.scss | 361 | // width, and the grid track would grow to match. | COMMENT |
| LOW | …ties-report-grid/activities-report-grid.component.scss | 21 | // to shrink (see the `flex: 0 0 auto` note in `report-table.scss`) would make | COMMENT |
| LOW | …ed/src/lib/report/daily-grid/daily-grid.component.scss | 61 | // while the header sits in the card and carries the expand chevron as an extra | COMMENT |
| LOW | …hared/src/lib/modules/currency/currency.component.scss | 1 | // The panel is sized by ng-select itself: appended to `<body>`, it writes | COMMENT |
| 716 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/scripts/check-graphql-composition.js | 72 | function transpileWithWorkspaceTypeScript(file) { | CODE |
| LOW | tools/scripts/check-graphql-schema.js | 295 | function loadTransformedTypeScript(file) { | CODE |
| LOW | tools/electron/app-builder-lib-patch.test.js | 87 | function lockedAppBuilderLibVersions() { | CODE |
| LOW | .scripts/postinstall.js | 167 | function getNativeBuildEnvironment({ | CODE |
| LOW | packages/desktop-lib/src/lib/desktop-screenshot.ts | 540 | export function isScreenshotCaptureAllowed(): boolean { | CODE |
| LOW | packages/desktop-lib/src/lib/desktop-ipc.ts | 1839 | async function sequentialSyncInterruptionsQueue(window: BrowserWindow, knex?) { | CODE |
| LOW | packages/desktop-lib/src/lib/desktop-ipc.ts | 1928 | export async function markLastTimerAsStoppedOffline(): Promise<void> { | CODE |
| LOW | …ages/desktop-lib/src/lib/config/desktop-listen-host.ts | 24 | export function isDesktopLanAccessEnabled(setting?: DesktopLanAccessSetting | null): boolean { | CODE |
| LOW | …ckages/desktop-lib/src/lib/config/ui-runtime-config.ts | 70 | export function buildUiRuntimeConfigScript(apiUrl: string): string { | CODE |
| LOW | …desktop-lib/src/lib/config/desktop-seed-credentials.ts | 72 | export function generateDesktopSeedPassword(): string { | CODE |
| LOW | …desktop-lib/src/lib/config/desktop-seed-credentials.ts | 103 | export function ensureDesktopSeedCredentials( | CODE |
| LOW | …desktop-lib/src/lib/config/desktop-seed-credentials.ts | 146 | export function desktopSeedCredentialsToEnv( | CODE |
| LOW | …desktop-lib/src/lib/config/desktop-seed-credentials.ts | 171 | export function findDesktopSeededAccounts( | CODE |
| LOW⚡ | …desktop-lib/src/lib/config/desktop-seed-credentials.ts | 218 | export function reportsDesktopSeedCompleted(output: string): boolean { | CODE |
| LOW⚡ | …desktop-lib/src/lib/config/desktop-seed-credentials.ts | 227 | export function reportsDesktopSeedStarted(output: string): boolean { | CODE |
| LOW⚡ | …desktop-lib/src/lib/config/desktop-seed-credentials.ts | 236 | export function parsePublishedPasswordAccounts(output: string): string[] { | CODE |
| LOW | …desktop-lib/src/lib/config/desktop-seed-credentials.ts | 255 | export function parseDesktopSeedAccountEmails(output: string): DesktopSeedAccountEmails { | CODE |
| LOW | …ges/desktop-lib/src/lib/network/desktop-network-ipc.ts | 12 | export function registerDesktopNetworkAddressesHandler(): void { | CODE |
| LOW | …sktop-lib/src/lib/network/desktop-network-addresses.ts | 34 | export function listDesktopNetworkAddresses( | CODE |
| LOW | …b/src/lib/screenshot-sound/screenshot-sound.service.ts | 32 | export function resolveScreenshotSoundPath(defaultPath: string): string { | CODE |
| LOW | …p-lib/src/lib/screenshot-sound/screenshot-sound.ipc.ts | 8 | export function registerScreenshotSoundHandlers(): void { | CODE |
| LOW | …p-lib/src/lib/screenshot-sound/screenshot-sound.ipc.ts | 17 | export function removeScreenshotSoundHandlers(): void { | CODE |
| LOW | …s/desktop-lib/src/lib/queues/async-timer-sync-queue.ts | 16 | export function isAsyncTimerDataSyncEnabled(appSetting: { asyncTimerDataSync?: unknown } | null | undefined): boolean { | CODE |
| LOW | …sktop-lib/src/lib/sound-settings/sound-settings.ipc.ts | 9 | export function registerSoundSettingsHandlers(): void { | CODE |
| LOW | …sktop-lib/src/lib/sound-settings/sound-settings.ipc.ts | 15 | export function removeSoundSettingsHandlers(): void { | CODE |
| LOW | …i-core/core/src/lib/utils/agent-restriction-ui.util.ts | 16 | export function applyEEAUKFormRestrictions( | CODE |
| LOW | …i-core/core/src/lib/utils/agent-restriction-ui.util.ts | 50 | export function bindAgentRestrictionListeners( | CODE |
| LOW | …ui-core/core/src/lib/services/auth/checkout-session.ts | 38 | export function readRememberedCheckoutSession(): string | undefined { | CODE |
| LOW | …ui-core/core/src/lib/services/auth/checkout-session.ts | 48 | export function clearRememberedCheckoutSession(): void { | CODE |
| LOW | …rc/lib/services/dashboard/dashboard-context.service.ts | 162 | function adjustDateRangeFutureAllowed(request: IDateRangePicker): ISelectedDateRange { | CODE |
| LOW | …rvices/dashboard/timesheet-statistics-cache.service.ts | 142 | export function normalizeDurationPercentage(activities: IActivitiesStatistics[]): IActivitiesStatistics[] { | CODE |
| LOW | …rvices/quick-actions/quick-actions-preferences.util.ts | 32 | export function sanitizeQuickActionsPreferences( | CODE |
| LOW | …rvices/quick-actions/quick-actions-preferences.util.ts | 79 | export function resolveQuickActionShortcuts( | CODE |
| LOW | …rvices/quick-actions/quick-actions-preferences.util.ts | 151 | export function getAvailableQuickActionIds( | CODE |
| LOW | …rvices/quick-actions/quick-actions-preferences.util.ts | 166 | export function resolveAvailableQuickActionShortcuts( | CODE |
| LOW | …rvices/quick-actions/quick-actions-preferences.util.ts | 259 | export function toQuickActionsPreferences( | CODE |
| LOW | …ces/quick-actions/quick-actions-preferences.service.ts | 10 | function readQuickActionsPreferences(user: IUser | null | undefined): IQuickActionsUiPreferences | null { | CODE |
| LOW | …lib/services/quick-actions/quick-action.definitions.ts | 114 | export function findQuickActionDefinition( | CODE |
| LOW | …lib/services/quick-actions/quick-action.definitions.ts | 125 | export function getDefaultQuickActionShortcuts( | CODE |
| LOW | …b/services/quick-actions/quick-action-shortcut.util.ts | 335 | export function validateQuickActionShortcut( | CODE |
| LOW | …src/lib/services/timesheet/timesheet-filter.service.ts | 10 | export function initialTimesheetFilterState(): ITimeLogFilters { | CODE |
| LOW | …s/ui-core/core/src/lib/services/store/store.service.ts | 76 | export function createInitialPersistState(): PersistState { | CODE |
| LOW | …ib/dashboard/widgets/provide-core-dashboard-widgets.ts | 39 | export function provideCoreDashboardWidgets(): EnvironmentProviders { | CODE |
| LOW | …gets/accounting/accounting-statistics-cache.service.ts | 39 | export function buildAggregateStatisticsRequest( | CODE |
| LOW | …gets/accounting/accounting-statistics-cache.service.ts | 60 | export function buildStatisticsHistoryRequest( | CODE |
| LOW | …project-management/project-management-tasks.service.ts | 81 | export function buildProjectManagementTasksRequest(context: IDashboardWidgetContext): ITasksRequest { | CODE |
| LOW | …/project-management/project-management-widget.utils.ts | 25 | export function projectManagementScopeKey(context: IDashboardWidgetContext | null): string { | CODE |
| LOW | …/project-management/project-management-widget.utils.ts | 140 | export function buildProjectManagementSnapshot(tasks: ITask[], total: number): IProjectManagementSnapshot { | CODE |
| LOW | …c/lib/dashboard/widgets/charts/employee-chart.utils.ts | 90 | export function resolveEmployeeChartPalette( | CODE |
| LOW | …c/lib/dashboard/widgets/charts/employee-chart.utils.ts | 361 | export function buildHorizontalBarChartData( | CODE |
| LOW | …c/lib/dashboard/widgets/charts/employee-chart.utils.ts | 493 | export function buildDoughnutChartOptions(palette: IEmployeeChartPalette): ChartConfiguration['options'] { | CODE |
| LOW | …c/lib/dashboard/widgets/charts/employee-chart.utils.ts | 530 | export function buildHorizontalBarChartOptions(palette: IEmployeeChartPalette): ChartConfiguration['options'] { | CODE |
| LOW | …c/lib/dashboard/widgets/charts/employee-chart.utils.ts | 588 | export function buildStackedBarChartOptions( | CODE |
| LOW | …gets/charts/employee-month-statistics-cache.service.ts | 37 | export function buildMonthStatisticsRequest( | CODE |
| LOW | …hared/src/lib/report/daily-grid/daily-report-export.ts | 226 | export function buildDailyReportExportTable( | CODE |
| LOW | …hared/src/lib/report/export/report-export-file-name.ts | 18 | export function buildReportExportFileName( | CODE |
| LOW | …ed/src/lib/selectors/ng-select-panel-sizing.service.ts | 162 | export function provideNgSelectPanelSizing(): EnvironmentProviders { | CODE |
| LOW | …c/lib/selectors/date-range-picker/date-picker.utils.ts | 11 | export function getAdjustDateRangeFutureAllowed(request: ITimeLogFilters | IDateRangePicker): ISelectedDateRange { | CODE |
| LOW | packages/ui-core/common/src/lib/utils/csv.ts | 40 | export function neutralizeSpreadsheetText(value: string): string { | CODE |
| LOW | packages/ui-core/common/src/lib/utils/shared-utils.ts | 175 | export function convertPrecisionFloatDigit(val: number, digit: number = 6) { | CODE |
| 403 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …es/core/src/lib/token/repositories/token.repository.ts | 110 | const escapedUsageCountColumn = this.typeOrmTokenRepository.manager.connection.driver.escape( | CODE |
| CRITICAL | …rc/lib/tenant/tenant.service.onboarding-resume.spec.ts | 70 | service.commandBus.execute.mock.calls.map(([command]: any) => command.constructor.name); | CODE |
| CRITICAL | …rc/lib/tenant/tenant.service.onboarding-resume.spec.ts | 72 | service.commandBus.execute.mock.calls.map(([c]: any) => c).find((c: any) => c.constructor.name === name); | CODE |
| CRITICAL | …src/lib/expense/expense.service.employee-scope.spec.ts | 125 | const wheres = mikroOrm.mikroOrmRepository.find.mock.calls.map( | CODE |
| CRITICAL | …ject/organization-project.service.manager-flag.spec.ts | 157 | self.typeOrmOrganizationProjectEmployeeRepository.update.mock.calls.find(([id]) => id === rowId)?.[1]; | CODE |
| CRITICAL | packages/core/src/lib/tasks/task.bulk.spec.ts | 161 | expect(batch.events.publish.mock.calls.map(([event]) => event.type)).toEqual([ | CODE |
| CRITICAL⚡ | …istic/statistic.service.profile-activity-query.spec.ts | 202 | ...fixture.knex.raw.mock.calls.map(([sql]) => sql), | CODE |
| CRITICAL⚡ | …istic/statistic.service.profile-activity-query.spec.ts | 203 | ...fixture.builder.whereRaw.mock.calls.map(([sql]: [string]) => sql), | CODE |
| CRITICAL⚡ | …istic/statistic.service.profile-activity-query.spec.ts | 204 | ...fixture.builder.groupByRaw.mock.calls.map(([sql]: [string]) => sql) | CODE |
| CRITICAL⚡ | …istic/statistic.service.profile-activity-query.spec.ts | 210 | ...fixture.knex.raw.mock.calls.flatMap(([, bindings]) => bindings ?? []), | CODE |
| CRITICAL⚡ | …istic/statistic.service.profile-activity-query.spec.ts | 211 | ...fixture.builder.whereRaw.mock.calls.flatMap(([, bindings]) => bindings ?? []), | CODE |
| CRITICAL⚡ | …istic/statistic.service.profile-activity-query.spec.ts | 212 | ...fixture.builder.groupByRaw.mock.calls.flatMap(([, bindings]) => bindings ?? []) | CODE |
| CRITICAL | …istic/statistic.service.profile-activity-query.spec.ts | 334 | const bucketParameterCount = fixture.typeOrmBuilder.setParameter.mock.calls.filter(([name]) => | CODE |
| CRITICAL | …ges/plugins/order/src/lib/order/order-approval.spec.ts | 415 | built.outbox.append.mock.calls.map(([, event]: any[]) => [event.name, event.data.approvalRequested]) | CODE |
| CRITICAL | …rder/src/lib/order-totals/order-totals.service.spec.ts | 1118 | const reads = fixture.repository.find.mock.calls.map(([read]: any[]) => read); | CODE |
| CRITICAL | …rder/src/lib/order-totals/order-totals.service.spec.ts | 1146 | const linePages = fixture.lineService.find.mock.calls.map(([read]: any[]) => read); | CODE |
| CRITICAL | …rc/lib/order-invoicing/order-invoicing.service.spec.ts | 979 | built.outbox.append.mock.calls.map(([, event]: any[]) => [event.name, event.data.quoteInvoiceId]) | CODE |
| CRITICAL | …nts/ever-async-connect/ever-async-connect.component.ts | 162 | const serverUrl = this.form.controls.serverUrl.value.trim(); | CODE |
| CRITICAL | …nts/ever-async-connect/ever-async-connect.component.ts | 176 | if (this.form.controls.serverUrl.value.trim() === serverUrl) this.connectionOk.set(result.ok); | CODE |
| CRITICAL | …nts/ever-async-connect/ever-async-connect.component.ts | 181 | if (this.form.controls.serverUrl.value.trim() !== serverUrl) return; | CODE |
| CRITICAL | …/search/src/lib/graphql/resolvers/write-routes.spec.ts | 350 | expect(stubs.reindex.plan.mock.calls.map((call: any[]) => call[0].scope)).toEqual([ | CODE |
| CRITICAL | …/search/src/lib/graphql/resolvers/write-routes.spec.ts | 355 | expect(stubs.reindex.run.mock.calls.map((call: any[]) => call[0].scope)).toEqual([ | CODE |
| CRITICAL | …/search/src/lib/graphql/resolvers/write-routes.spec.ts | 374 | expect(stubs.reindex.run.mock.calls.map((call: any[]) => call[0].scope)).toEqual([ | CODE |
| CRITICAL | …rc/lib/graphql/resolvers/order-return.resolver.spec.ts | 554 | surface.service.findAll.mock.calls.map((call) => (call as Array<Record<string, unknown>>)[0]); | CODE |
| CRITICAL | apps/agent/src/main/events/event-handler.ts | 152 | this.appWindow.alwaysOnWindow.browserWindow.webContents.send('check_timer_status', Date.now()); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s/@nx/cypress/23.3.0/ai-instructions-for-cypress-16.md | 15 | ## Step 1: Replace `Cypress.env()` | COMMENT |
| LOW | …s/@nx/cypress/23.3.0/ai-instructions-for-cypress-16.md | 45 | ## Step 2: Remove `env` overrides in test configuration | COMMENT |
| LOW | …s/@nx/cypress/23.3.0/ai-instructions-for-cypress-16.md | 65 | ## Step 3: Replace `cy.exec()` with `cy.task()` | COMMENT |
| LOW | …s/@nx/cypress/23.3.0/ai-instructions-for-cypress-16.md | 102 | ## Step 4: Remove `.end()` | COMMENT |
| LOW | …s/@nx/cypress/23.3.0/ai-instructions-for-cypress-16.md | 118 | ## Step 5: Move runtime `Cypress.config()` writes to test configuration | COMMENT |
| LOW | …s/@nx/cypress/23.3.0/ai-instructions-for-cypress-16.md | 139 | ## Step 6: Adapt cookie and storage reads to queries | COMMENT |
| LOW | …s/@nx/cypress/23.3.0/ai-instructions-for-cypress-16.md | 188 | ## Step 7: Review behavior changes that need no code by default | COMMENT |
| LOW | …s/@nx/cypress/23.3.0/ai-instructions-for-cypress-16.md | 199 | ## Step 8: Component testing | COMMENT |
| LOW | …s/@nx/cypress/23.3.0/ai-instructions-for-cypress-16.md | 206 | ## Step 9: Migrate config options held outside the config file | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 75 | // Step 0: Clear the store to avoid conflicts with existing user data | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 78 | // Step 1: Create a new user without tenant using the register service | COMMENT |
| LOW | …e/src/lib/services/workspace/workspace-auth.service.ts | 102 | // Step 2: Login as the new user to get auth token | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 127 | // Step 3: Create tenant using the tenant service (this will onboard the user) | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 134 | // Step 4: Get updated user info (now has tenant and role) | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 138 | // Step 5: Get new access token with updated permissions | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 141 | // Step 6: Create organization using the organizations service (now user has permissions) | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 152 | // Step 7: Update store with new user and workspace data | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 158 | // Step 8: Update workspace states | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 161 | // Step 9: Broadcast workspace creation to other tabs | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 221 | // Step 1: Extract chartjs configuration from theme variables | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 226 | // Step 2: Set the overall chart options | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 231 | // Step 3: Configure legend plugin | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 239 | // Step 4: Configure tooltip plugin | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 255 | // Step 5: Define callback for tooltip labels | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 259 | // Step 5: Add annotation plugin configuration | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 263 | // Step 6: Configure line element | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 270 | // Step 7: Configure x-axis scale | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 293 | // Step 9: Configure hover options | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 297 | // Step 10: Define hover event handler | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 299 | // Step 11: Handle hover behavior | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 323 | // Step 12: Define click event handler | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 329 | // Step 13: Update the chart if it exists | COMMENT |
| LOW | …c/lib/report/charts/line-chart/line-chart.component.ts | 281 | // Step 8: Configure y-axis scale | COMMENT |
| LOW | …token/queries/handlers/validate-token-query.handler.ts | 34 | // Step 1: Verify JWT cryptographic signature and built-in expiry claim. | COMMENT |
| LOW | …token/queries/handlers/validate-token-query.handler.ts | 55 | // Step 2: Database look-up — confirms the token hasn't been revoked, | COMMENT |
| LOW | …token/queries/handlers/validate-token-query.handler.ts | 82 | // Step 3: Domain-method gate — delegates all business rules (status, | COMMENT |
| LOW | …token/queries/handlers/validate-token-query.handler.ts | 98 | // Step 4: Record usage. | COMMENT |
| LOW | …oken/commands/handlers/create-token-command.handler.ts | 54 | // Step 1: Persist a placeholder record so we obtain a stable tokenId | COMMENT |
| LOW | …oken/commands/handlers/create-token-command.handler.ts | 68 | // Step 2: Generate the signed JWT, binding it to the persisted record. | COMMENT |
| LOW | …oken/commands/handlers/create-token-command.handler.ts | 89 | // Step 3: Replace the placeholder hash with the real hash derived from | COMMENT |
| LOW | …candidate/commands/handlers/candidate.hired.handler.ts | 44 | // Step 1: Create an employee for the respective candidate | COMMENT |
| LOW | …candidate/commands/handlers/candidate.hired.handler.ts | 61 | // Step 2: Migrate CANDIDATE role to EMPLOYEE role | COMMENT |
| LOW | …es/core/src/lib/tasks/daily-plan/daily-plan.service.ts | 577 | // Step 1: Fetch minimal data to get the plan's owner, team and organization. | COMMENT |
| LOW | …es/core/src/lib/tasks/daily-plan/daily-plan.service.ts | 593 | // Step 2: Check if current user can manage the plan's owner in the plan's team. | COMMENT |
| LOW | …es/core/src/lib/tasks/daily-plan/daily-plan.service.ts | 611 | // Step 3: Access verified → Fetch full data with bypass | COMMENT |
| LOW | packages/core/src/lib/integration/utils.ts | 103 | // Step 3: Insert entry in join table to associate Integration with IntegrationType | COMMENT |
| LOW | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 730 | // Step 1: Create a query builder for the TimeLog entity | COMMENT |
| LOW | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 968 | // Step 1: Create a query builder for the OrganizationProject entity | COMMENT |
| LOW | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 1127 | // Step 1: Distinct targets with matching time logs | COMMENT |
| LOW⚡ | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 1145 | // Step 2: Target details | COMMENT |
| LOW⚡ | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 1148 | // Step 3: Their time logs with the employee bill rate | COMMENT |
| LOW | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 1161 | // Step 4: Attach the time logs to their target | COMMENT |
| LOW | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 1200 | // Step 1: Create a query builder for the OrganizationClient entity | COMMENT |
| LOW⚡ | …/time-log/commands/handlers/time-log-delete.handler.ts | 38 | // Step 1: Fetch time logs based on the provided IDs | COMMENT |
| LOW⚡ | …/time-log/commands/handlers/time-log-delete.handler.ts | 41 | // Step 2: Delete associated time slots for each time log sequentially | COMMENT |
| LOW⚡ | …/time-log/commands/handlers/time-log-delete.handler.ts | 44 | // Step 3: Perform soft delete or hard delete based on the `forceDelete` flag | COMMENT |
| LOW⚡ | …/time-log/commands/handlers/time-log-delete.handler.ts | 47 | // Step 4: Recalculate timesheet and employee worked hours after deletion | COMMENT |
| LOW⚡ | …lot/commands/handlers/time-slot-bulk-delete.handler.ts | 34 | // Step 1: Fetch time slots based on input parameters | COMMENT |
| LOW⚡ | …lot/commands/handlers/time-slot-bulk-delete.handler.ts | 43 | // Step 2: Handle deletion based on the entireSlots flag | COMMENT |
| LOW | …ugins/integration-hubstaff/src/lib/hubstaff.service.ts | 677 | // Step 1: Execute a command to initiate the synchronization process | COMMENT |
| 49 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 75 | // Step 0: Clear the store to avoid conflicts with existing user data | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 78 | // Step 1: Create a new user without tenant using the register service | COMMENT |
| LOW | …e/src/lib/services/workspace/workspace-auth.service.ts | 102 | // Step 2: Login as the new user to get auth token | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 127 | // Step 3: Create tenant using the tenant service (this will onboard the user) | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 134 | // Step 4: Get updated user info (now has tenant and role) | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 138 | // Step 5: Get new access token with updated permissions | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 141 | // Step 6: Create organization using the organizations service (now user has permissions) | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 152 | // Step 7: Update store with new user and workspace data | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 158 | // Step 8: Update workspace states | COMMENT |
| LOW⚡ | …e/src/lib/services/workspace/workspace-auth.service.ts | 161 | // Step 9: Broadcast workspace creation to other tabs | COMMENT |
| LOW | …project/project-mutation/project-mutation.component.ts | 756 | // Execute the following code block when the observable completes or errors | COMMENT |
| LOW | …project/project-mutation/project-mutation.component.ts | 820 | // Execute the following code block when the observable completes or errors | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 221 | // Step 1: Extract chartjs configuration from theme variables | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 226 | // Step 2: Set the overall chart options | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 231 | // Step 3: Configure legend plugin | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 239 | // Step 4: Configure tooltip plugin | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 255 | // Step 5: Define callback for tooltip labels | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 259 | // Step 5: Add annotation plugin configuration | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 263 | // Step 6: Configure line element | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 270 | // Step 7: Configure x-axis scale | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 293 | // Step 9: Configure hover options | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 297 | // Step 10: Define hover event handler | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 299 | // Step 11: Handle hover behavior | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 323 | // Step 12: Define click event handler | COMMENT |
| LOW⚡ | …c/lib/report/charts/line-chart/line-chart.component.ts | 329 | // Step 13: Update the chart if it exists | COMMENT |
| LOW | …c/lib/report/charts/line-chart/line-chart.component.ts | 281 | // Step 8: Configure y-axis scale | COMMENT |
| LOW | …token/queries/handlers/validate-token-query.handler.ts | 34 | // Step 1: Verify JWT cryptographic signature and built-in expiry claim. | COMMENT |
| LOW | …token/queries/handlers/validate-token-query.handler.ts | 55 | // Step 2: Database look-up — confirms the token hasn't been revoked, | COMMENT |
| LOW | …token/queries/handlers/validate-token-query.handler.ts | 82 | // Step 3: Domain-method gate — delegates all business rules (status, | COMMENT |
| LOW | …token/queries/handlers/validate-token-query.handler.ts | 98 | // Step 4: Record usage. | COMMENT |
| LOW | …oken/commands/handlers/create-token-command.handler.ts | 54 | // Step 1: Persist a placeholder record so we obtain a stable tokenId | COMMENT |
| LOW | …oken/commands/handlers/create-token-command.handler.ts | 68 | // Step 2: Generate the signed JWT, binding it to the persisted record. | COMMENT |
| LOW | …oken/commands/handlers/create-token-command.handler.ts | 89 | // Step 3: Replace the placeholder hash with the real hash derived from | COMMENT |
| LOW | …candidate/commands/handlers/candidate.hired.handler.ts | 44 | // Step 1: Create an employee for the respective candidate | COMMENT |
| LOW | …candidate/commands/handlers/candidate.hired.handler.ts | 61 | // Step 2: Migrate CANDIDATE role to EMPLOYEE role | COMMENT |
| LOW | …es/core/src/lib/tasks/daily-plan/daily-plan.service.ts | 577 | // Step 1: Fetch minimal data to get the plan's owner, team and organization. | COMMENT |
| LOW | …es/core/src/lib/tasks/daily-plan/daily-plan.service.ts | 593 | // Step 2: Check if current user can manage the plan's owner in the plan's team. | COMMENT |
| LOW | …es/core/src/lib/tasks/daily-plan/daily-plan.service.ts | 611 | // Step 3: Access verified → Fetch full data with bypass | COMMENT |
| LOW | packages/core/src/lib/integration/utils.ts | 103 | // Step 3: Insert entry in join table to associate Integration with IntegrationType | COMMENT |
| LOW | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 730 | // Step 1: Create a query builder for the TimeLog entity | COMMENT |
| LOW | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 968 | // Step 1: Create a query builder for the OrganizationProject entity | COMMENT |
| LOW | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 1127 | // Step 1: Distinct targets with matching time logs | COMMENT |
| LOW⚡ | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 1145 | // Step 2: Target details | COMMENT |
| LOW⚡ | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 1148 | // Step 3: Their time logs with the employee bill rate | COMMENT |
| LOW | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 1161 | // Step 4: Attach the time logs to their target | COMMENT |
| LOW | …ore/src/lib/time-tracking/time-log/time-log.service.ts | 1200 | // Step 1: Create a query builder for the OrganizationClient entity | COMMENT |
| LOW⚡ | …/time-log/commands/handlers/time-log-delete.handler.ts | 38 | // Step 1: Fetch time logs based on the provided IDs | COMMENT |
| LOW⚡ | …/time-log/commands/handlers/time-log-delete.handler.ts | 41 | // Step 2: Delete associated time slots for each time log sequentially | COMMENT |
| LOW⚡ | …/time-log/commands/handlers/time-log-delete.handler.ts | 44 | // Step 3: Perform soft delete or hard delete based on the `forceDelete` flag | COMMENT |
| LOW⚡ | …/time-log/commands/handlers/time-log-delete.handler.ts | 47 | // Step 4: Recalculate timesheet and employee worked hours after deletion | COMMENT |
| LOW⚡ | …lot/commands/handlers/time-slot-bulk-delete.handler.ts | 34 | // Step 1: Fetch time slots based on input parameters | COMMENT |
| LOW⚡ | …lot/commands/handlers/time-slot-bulk-delete.handler.ts | 43 | // Step 2: Handle deletion based on the entireSlots flag | COMMENT |
| LOW | …ugins/integration-hubstaff/src/lib/hubstaff.service.ts | 677 | // Step 1: Execute a command to initiate the synchronization process | COMMENT |
| LOW | …omponents/zapier-triggers/zapier-triggers.component.ts | 100 | // Step 1: Get stored OAuth token using integration ID from route | COMMENT |
| LOW | …omponents/zapier-webhooks/zapier-webhooks.component.ts | 88 | // Step 1: Get stored OAuth token using integration ID from route | COMMENT |
| LOW⚡ | …tegration-github/src/lib/github/github-sync.service.ts | 248 | // Step 2: Initialize an array for integration mapping | COMMENT |
| LOW⚡ | …tegration-github/src/lib/github/github-sync.service.ts | 251 | // Step 3: Synchronize data based on entity settings | COMMENT |
| LOW⚡ | …tegration-github/src/lib/github/github-sync.service.ts | 255 | // Step 4: Issue synchronization | COMMENT |
| LOW⚡ | …tegration-github/src/lib/github/github-sync.service.ts | 264 | // Step 5: Label synchronization settings | COMMENT |
| LOW⚡ | …tegration-github/src/lib/github/github-sync.service.ts | 270 | // Step 6: Sync GitHub Issue Labels | COMMENT |
| 47 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …kages/ui-core/core/src/lib/services/job/job.service.ts | 120 | * Get employee job application where proposal generated by AI | COMMENT |
| HIGH | …ed/src/lib/rich-text-editor/legacy-html-corpus.spec.ts | 101 | * #11–14 `Proposal.proposalContent` / `ProposalTemplate.content` — AI-generated and | COMMENT |
| HIGH | …nts/apply-job-manually/apply-job-manually.component.ts | 91 | // After get AI generated proposal successfully | COMMENT |
| HIGH | …nts/apply-job-manually/apply-job-manually.component.ts | 384 | // try to get AI generated proposal for specific employee job application | COMMENT |
| HIGH | …search/src/lib/employee-job/employee-job.controller.ts | 269 | // Retrieve AI-generated proposal for the employee job application using the service | COMMENT |
| HIGH | …ob-search/src/lib/employee-job/employee-job.service.ts | 188 | * Get employee job application where proposal generated by AI | COMMENT |
| HIGH | …tion-ever-works/src/lib/docs/ever-works-docs.mapper.ts | 90 | // An agent's proposal shows in the review queue as AI-generated. | COMMENT |
| HIGH | …ges/plugins/integration-ai/src/lib/gauzy-ai.service.ts | 290 | * Get employee job application where proposal generated by AI | COMMENT |
| HIGH | packages/contracts/src/lib/document.model.ts | 143 | summary?: string; // AI-generated 1–2 sentence summary | CODE |
| HIGH | apps/gauzy-e2e/tests/bdd/steps/documents-hub.steps.ts | 178 | // AI-generated), a failed extraction, or a chat/email capture — none of which CI produces, since | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/ui-core/core/src/lib/auth/cookie-helper.ts | 64 | // More robust domain validation | COMMENT |
| MEDIUM | packages/core/src/lib/webhook/webhook-signature.spec.ts | 158 | // This is what makes a rotation seamless: the endpoint can be reconfigured while deliveries | COMMENT |
| MEDIUM | …/auth/src/lib/mcp/server/oauth-authorization-server.ts | 1857 | // Extract access token (robust parsing) | COMMENT |
| MEDIUM | packages/contracts/src/lib/shared-entity.model.ts | 5 | shareRules: IShareRule | string; // Essentially stores entity fields and relations that are shared | CODE |
| LOW | .github/workflows/deploy-mcp-stage.yml | 108 | # we need this step because for now we just use :latest tag | COMMENT |
| LOW | .github/workflows/deploy-mcp-demo.yml | 109 | # we need this step because for now we just use :latest tag | COMMENT |
| LOW | .github/workflows/deploy-do-stage.yml | 182 | # we need this step because for now we just use :latest tag | COMMENT |
| LOW | .github/workflows/deploy-cw-stage.yml | 172 | # we need this step because for now we just use :latest tag | COMMENT |
| LOW | .github/workflows/deploy-do-prod.yml | 181 | # we need this step because for now we just use :latest tag | COMMENT |
| LOW | .github/workflows/deploy-cw-prod.yml | 171 | # we need this step because for now we just use :latest tag | COMMENT |
| LOW | .github/workflows/deploy-civo-demo.yml | 70 | # we need this step because for now we just use :latest tag | COMMENT |
| LOW | .github/workflows/deploy-cw-demo.yml | 69 | # we need this step because for now we just use :latest tag | COMMENT |
| LOW | .github/workflows/deploy-civo-prod.yml | 171 | # we need this step because for now we just use :latest tag | COMMENT |
| LOW | .github/workflows/deploy-civo-stage.yml | 172 | # we need this step because for now we just use :latest tag | COMMENT |
| LOW | .github/workflows/deploy-do-demo.yml | 85 | # we need this step because for now we just use :latest tag | COMMENT |
| MEDIUM | .github/workflows/egress-audit.yml | 33 | # The static checks run on every pull request that touches code (no install but the harness): | COMMENT |
| MEDIUM | .github/workflows/egress-audit.yml | 38 | # The harness is the egress audit of the SDK's dev tools (`ever-egress-audit` of | COMMENT |
| MEDIUM | .github/workflows/egress-audit.yml | 131 | # harness or route generator): the baseline may then gain entries for those routes, and only for | COMMENT |
| MEDIUM | .github/workflows/egress-audit.yml | 230 | # The standing exception: on growth (exit 1), check-baseline-legal.mjs runs the harness's | COMMENT |
| MEDIUM | .github/workflows/egress-audit.yml | 275 | # and installed with the harness above (no workspace install). | COMMENT |
| MEDIUM | .github/workflows/egress-audit.yml | 383 | # (the script says why, and refuses a harness it was not written for). | COMMENT |
| MEDIUM | .github/workflows/egress-audit.yml | 407 | # The harness's own images (CoreDNS, the sniffer, the namespace holder, the driver and the | COMMENT |
| MEDIUM | .github/workflows/egress-audit.yml | 408 | # browser), read from the installed harness so they follow its pins. | COMMENT |
| LOW | .github/workflows/deploy-mcp-prod.yml | 108 | # we need this step because for now we just use :latest tag | COMMENT |
| LOW | .github/actions/configure-registry/action.yml | 156 | # it, so a second attempt would just add dead time to every release job. | COMMENT |
| MEDIUM | apps/gauzy-e2e/tests/support/pages/Goals.po.ts | 390 | // Two robust signals (Playwright's isVisible is fooled by the toolbar's translateX/overflow hide): | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .do/deploy.template.yaml | 23 | # This file is separate from `.do/app.yaml`, the template our CI deploys from (its $VARS are filled by the workflow). | COMMENT |
| MEDIUM | .github/workflows/desktop-timer-app-stage.yml | 108 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| MEDIUM | .github/workflows/server-api-stage.yml | 109 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| MEDIUM | .github/workflows/server-mcp-prod.yml | 104 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| MEDIUM | .github/workflows/release-demo.yml | 85 | # Create the tag as part of this call, pinned to the commit that was built. | COMMENT |
| MEDIUM | .github/workflows/server-stage.yml | 108 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| MEDIUM | .github/workflows/server-mcp-stage.yml | 109 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| MEDIUM | .github/workflows/desktop-app-stage.yml | 109 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| MEDIUM | .github/workflows/release-stage.yml | 84 | # Create the tag as part of this call, pinned to the commit that was built. | COMMENT |
| MEDIUM | .github/workflows/agent-prod.yml | 104 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| MEDIUM | .github/workflows/agent-stage.yml | 108 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| MEDIUM | .github/workflows/desktop-timer-app-prod.yml | 104 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| MEDIUM | .github/workflows/desktop-app-prod.yml | 104 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| MEDIUM | .github/workflows/release-prod.yml | 128 | # Create the tag as part of this call, pinned to the commit that was built. | COMMENT |
| MEDIUM | .github/workflows/server-prod.yml | 104 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| MEDIUM | .github/workflows/server-api-prod.yml | 104 | # Creating the release here, once, before the matrix starts, means every publisher finds it and | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …src/lib/services/ai-agent/agent-form-bridge.service.ts | 240 | el.getAttribute('placeholder') ?? | CODE |
| LOW | …iterions-form/candidate-criterions-form.component.html | 15 | <p class="placeholder">{{ 'CANDIDATES_PAGE.CRITERIONS.TECHNOLOGY_PLACEHOLDER' | translate }}</p> | CODE |
| LOW | …iterions-form/candidate-criterions-form.component.html | 26 | <p class="placeholder"> | CODE |
| LOW | …wer-select/candidate-interviewer-select.component.html | 6 | [placeholder]="placeholder" | CODE |
| LOW | …age/language-selector/language-selector.component.html | 13 | [placeholder]="placeholder" | CODE |
| LOW | …age/language-selector/language-selector.component.html | 42 | [placeholder]="placeholder" | CODE |
| LOW | …lib/user/forms/fields/password/password.component.html | 13 | [attr.placeholder]="placeholder" | CODE |
| LOW | …red/src/lib/components/avatar/avatar.component.spec.ts | 89 | component.name = 'Jane Doe'; | CODE |
| LOW | …src/lib/rich-text-editor/rich-text-editor.component.ts | 159 | if (changes['placeholder'] && !changes['placeholder'].firstChange) { | CODE |
| LOW | …src/lib/rich-text-editor/rich-text-editor.component.ts | 394 | const extension = this.editor.extensionManager.extensions.find((ext) => ext.name === 'placeholder'); | CODE |
| LOW | …file-uploader-input/file-uploader-input.component.html | 5 | [placeholder]="placeholder" | CODE |
| LOW | …ship-form/edit-employee-membership-form.component.html | 22 | [placeholder]="placeholder" | CODE |
| LOW | …n-screenshot-capture-acknowledgement-migration.spec.ts | 34 | await dataSource.query(`INSERT INTO "user" ("id", "email") VALUES (?, 'admin@example.com')`, [ADMIN]); | CODE |
| LOW | …ages/core/src/lib/core/util/redact-credentials.spec.ts | 151 | const error = Object.assign(new Error('placeholder'), { input: `redis://:${SECRET}@host:6380` }); | CODE |
| LOW | …/core/src/lib/email-check/email-check.resolver.spec.ts | 37 | const EMAIL = 'member@example.org'; | CODE |
| LOW | …src/lib/estimate-email/estimate-email.resolver.spec.ts | 38 | const EMAIL = 'recipient@example.org'; | CODE |
| LOW | …kages/core/src/lib/email-template/compile-mjml.spec.ts | 116 | expect(Handlebars.compile(result.html)({ name: 'John Doe' })).toContain('Hello John Doe'); | CODE |
| LOW | …ndlers/email-template.generate-preview.handler.spec.ts | 82 | expect(Handlebars.compile(ast as any)({ name: 'John Doe' })).toBe('AST-MARKER John Doe'); | CODE |
| LOW | …es/handlers/email-template.generate-preview.handler.ts | 34 | name: 'John Doe', | CODE |
| LOW | …es/handlers/email-template.generate-preview.handler.ts | 45 | interviewerName: 'John Doe', | CODE |
| LOW | …es/core/src/lib/user/user.service.email-change.spec.ts | 564 | ['ada@example.com', 'ada@example.org', true], | CODE |
| LOW | …import/import/import.service.user-role-ceiling.spec.ts | 69 | [IMPORTER]: { id: IMPORTER, roleId: 'role-admin', email: 'admin@example.com' } | CODE |
| LOW | …s/core/src/lib/password-reset/password-reset.entity.ts | 17 | * @example "user@example.com" | COMMENT |
| LOW | …e/src/lib/email-history/email-history.resolver.spec.ts | 53 | email: 'first@example.org', | CODE |
| LOW | …e/src/lib/email-history/email-history.resolver.spec.ts | 66 | email: 'second@example.org', | CODE |
| LOW | …e/src/lib/email-history/email-history.resolver.spec.ts | 298 | const byRecipient = await resolver.emailHistories({ email: { eq: 'first@example.org' } }); | CODE |
| LOW | …ages/core/src/lib/invoice/generate-invoice-pdf.spec.ts | 205 | [InvoiceTypeEnum.BY_EMPLOYEE_HOURS, { employee: { user: { name: 'Jane Doe' } } }, 'Jane Doe'], | CODE |
| LOW | packages/plugins/auth-oidc/src/lib/auth-oidc.config.ts | 31 | export type OidcSettingProblem = 'missing' | 'placeholder' | 'invalid_url' | 'insecure_url'; | CODE |
| LOW | packages/plugins/auth-oidc/src/lib/auth-oidc.config.ts | 159 | unusable.push({ name, problem: value ? 'placeholder' : 'missing' }); | CODE |
| LOW | packages/plugins/posthog-ui/README.md | 196 | name: 'Acme Corp', | CODE |
| LOW | …inbox/src/lib/email/mailboxes/inbox-mailbox.db.spec.ts | 216 | [ORG, TENANT, 'Acme Corp', 'acme', OTHER_ORG, TENANT, 'Other', 'other'] | CODE |
| LOW | …ages/plugins/docs/src/lib/seeds/docs-seeder.service.ts | 209 | content: [{ type: 'text', text: 'Lorem ipsum demo page content.' }] | CODE |
| LOW | …ages/plugins/docs/src/lib/seeds/docs-seeder.service.ts | 213 | contentHtml: '<p>Lorem ipsum demo page content.</p>', | CODE |
| LOW | packages/plugins/ai-chat/src/lib/system-prompt.spec.ts | 21 | const prompt = buildSystemPrompt({ userName: 'John Doe', roleName: 'ADMIN' }); | CODE |
| LOW | packages/plugins/ai-chat/src/lib/system-prompt.spec.ts | 31 | const prompt = buildSystemPrompt({ userName: 'John Doe' }); | CODE |
| LOW | …/plugins/ever-stats/src/lib/ever-stats-builder.spec.ts | 61 | const extra = builder.check({ ...golden, tenant_name: 'Acme Corp' }); | CODE |
| LOW | packages/mcp-server/README.md | 70 | email: 'user@example.com', | CODE |
| LOW | packages/mcp-server/README.md | 90 | authEmail: 'user@example.com', | CODE |
| LOW | …contact-section/billing-contact-section.component.html | 24 | placeholder="John Doe" | CODE |
| LOW | …ib/src/lib/time-tracker/time-tracker.component.spec.ts | 50 | component.userData = { name: 'Jane Doe', employee: { id: 'employee-1' } }; | CODE |
| LOW | …ings/general-setting/general-setting.component.spec.ts | 54 | component.profileForm.patchValue({ name: 'Acme Ltd' }); | CODE |
| LOW | …ings/general-setting/general-setting.component.spec.ts | 58 | expect(tenantService.update).toHaveBeenCalledWith({ name: 'Acme Ltd', imageId: 'image-1', logo: image.fullUrl }); | CODE |
| LOW | …ared/entity-comments/entity-comments.component.spec.ts | 158 | expect(box.getAttribute('placeholder')).toBe('CONTACTS_PAGE.NOTE_PLACEHOLDER'); | CODE |
| LOW | apps/gauzy-e2e/tools/triage-digest.js | 57 | ph: attr(t, 'placeholder'), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 17 | - 🔥🔥🔥 we just released [Ever Works](https://github.com/ever-works/ever-works) - An open agentic runtime that autonomousl | CODE |
| MEDIUM | packages/ui-core/README.md | 12 | ## Code scaffolding | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/core/src/lib/core/seeds/seed-module.ts | 22 | * ## Usage: | COMMENT |
| LOW | packages/core/src/lib/tag-type/tag-type.seed.ts | 123 | * // Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ges/plugins/integration-ai/src/lib/gauzy-ai.service.ts | 513 | // TODO: implement | COMMENT |