🔥 🔥 🔥 A Free & Self-hostable Airtable Alternative
This report summarizes scanner evidence for nocodb/nocodb, a TypeScript project with 65,396 GitHub stars. SynthScan examined 1,183,125 lines of code across 3491 source files, recording 1393 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 1.6 (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? 633 finding(s).
Are imports declared and package/API names verified? 694 finding(s).
Are wrappers, guards, and repeated structures necessary? 424 finding(s).
Which changes need focused human review? 1393 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 1393 distinct pattern matches across 11 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 |
|---|---|---|---|---|
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3296 | nc_ue47dz5lnghqq4 Slack Slack brings team communication and collaboration into one place so you can get more work done, | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3297 | nc_2enis5bzipn39y Microsoft Teams Microsoft Teams is for everyone · Instantly go from group chat to video call with the | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3298 | nc_wl4r0wn8ui6czq Discord Discord is the easiest way to talk over voice, video, and text. Talk, chat, hang out, and stay | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3299 | nc_o0cyb86587fx2p Whatsapp Twilio With Twilio, unite communications and strengthen customer relationships across your bu | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3300 | nc_6zhcewe1rgii7s Twilio With Twilio, unite communications and strengthen customer relationships across your business – | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3301 | nc_z6zkc3aqd0t0x9 S3 Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3302 | nc_kx9hp5fmld1m1v Minio MinIO is a High Performance Object Storage released under Apache License v2.0. It is API compati | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3303 | nc_vatp4ktlx399ns GCS Google Cloud Storage is a RESTful online file storage web service for storing and accessing data o | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3304 | nc_3mzqbwr0746lef Mattermost Mattermost brings all your team communication into one place, making it searchable and acce | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3305 | nc_bdt98lalossz1t Spaces Store & deliver vast amounts of content with a simple architecture. f \N 0.0.1 \N install \N pl | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3306 | nc_f0iy05qtnwniu4 Backblaze B2 Backblaze B2 is enterprise-grade, S3 compatible storage that companies around the world u | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3307 | nc_iyhlectialukbv Vultr Object Storage Using Vultr Object Storage can give flexibility and cloud storage that allows app | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3308 | nc_lr8pcvg64g5bho OvhCloud Object Storage Upload your files to a space that you can access via HTTPS using the OpenStack | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3309 | nc_3f19m6v5iyudty Linode Object Storage S3-compatible Linode Object Storage makes it easy and more affordable to manage | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3310 | nc_ikemr7ajwzfcr3 UpCloud Object Storage The perfect home for your data. Thanks to the S3-compatible programmable interf | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3311 | nc_tv5fgn17fgvcwh SMTP SMTP email client f \N 0.0.1 \N install \N \N \N Email Email {"title":"Configure Email SMTP","ite | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3312 | nc_hcnsq71s0tr8um MailerSend MailerSend email client f \N 0.0.1 \N install \N plugins/mailersend.svg \N Email Email {"ti | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3313 | nc_z2zas0qdy0cz7e Scaleway Object Storage Scaleway Object Storage is an S3-compatible object store from Scaleway Cloud P | CODE |
| LOW⚡ | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3314 | nc_96vkc0jdyw7los SES Amazon Simple Email Service (SES) is a cost-effective, flexible, and scalable email service that e | CODE |
| LOW | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3279 | 1 \N \N Google Google OAuth2 login. f \N 0.0.1 \N install \N plugins/google.png \N Authentication Google {"title":"Confi | CODE |
| LOW | packages/nocodb/tests/pg-cy-quick/01-cy-quick.sql | 3280 | 3 \N \N Metadata LRU Cache A cache object that deletes the least-recently-used items. t \N 0.0.1 \N install \N plugins/x | CODE |
| LOW | packages/nocodb/src/plugins/smtp/index.ts | 23 | placeholder: 'admin@example.com', | CODE |
| LOW | …codb/src/strategies/google.strategy/google.strategy.ts | 141 | clientID: process.env.NC_GOOGLE_CLIENT_ID ?? 'dummy-id', | CODE |
| LOW | packages/nocodb/src/schema/swagger-v3.json | 684 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v3.json | 737 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v3.json | 16809 | "example": "user@example.com" | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 540 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 644 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 676 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 756 | "email": "user@example.com" | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 1141 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 1293 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 1479 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 6757 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 6823 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 11644 | "name": "John Doe", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 11649 | "street": "123 Main Street", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 11794 | "name": "John Doe", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 11799 | "street": "123 Main Street", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 12047 | "name": "John Doe", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 12052 | "street": "123 Main Street", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 14379 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 14511 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 18449 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 18559 | "email": "user@example.com" | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 19107 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 19569 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 19598 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 19611 | "example": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 20696 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 20748 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger-v2.json | 22242 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger.json | 175 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger.json | 279 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger.json | 316 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger.json | 396 | "email": "user@example.com" | CODE |
| LOW | packages/nocodb/src/schema/swagger.json | 1150 | "email": "user@example.com", | CODE |
| LOW | packages/nocodb/src/schema/swagger.json | 1214 | "example": "user@example.com" | CODE |
| LOW | packages/nocodb/src/schema/swagger.json | 1222 | "email": "user@example.com" | CODE |
| LOW | packages/nocodb/src/schema/swagger.json | 1242 | "email": "user@example.com", | CODE |
| 621 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ocodb/src/filters/global-exception/exception-mapper.ts | 229 | export function unhandledExceptionResponse( | CODE |
| LOW⚡ | packages/nocodb/src/types/column-internal-meta.ts | 34 | export function withAttachmentCleanupMark( | CODE |
| LOW⚡ | packages/nocodb/src/types/column-internal-meta.ts | 38 | export function withAttachmentCleanupMark( | CODE |
| LOW⚡ | packages/nocodb/src/types/column-internal-meta.ts | 42 | export function withAttachmentCleanupMark( | CODE |
| LOW⚡ | packages/nocodb/src/types/column-internal-meta.ts | 46 | export function withAttachmentCleanupMark( | CODE |
| LOW | packages/nocodb/src/types/column-internal-meta.ts | 71 | export function validateColumnInternalMeta( | CODE |
| LOW | packages/nocodb/src/utils/acl.ts | 1191 | export function generateReadablePermissionErr( | CODE |
| LOW | packages/nocodb/src/utils/dataUtils.ts | 173 | export function pickChangedFieldsForUpdatePrev( | CODE |
| LOW | packages/nocodb/src/utils/emailUtils.ts | 109 | export function emailAliasNotAllowedMessage(aliases: string[] = []): string { | CODE |
| LOW | packages/nocodb/src/utils/tsUtils.ts | 48 | export function validateAndStringifyJson<T>(val: T): { | CODE |
| LOW | packages/nocodb/src/mcp/attachment-read.ts | 14 | export async function resolveReadableAttachmentPath( | CODE |
| LOW | …b/src/dbQueryClient/cross-db-utils/applyAggregation.ts | 182 | export async function applyAggregationExpression( | CODE |
| LOW | packages/nocodb/src/models/oauth-token.queries.ts | 13 | export function buildRevokeIfActiveUpdate( | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 860 | function createArrayInstrumentations() { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 1279 | function createInstrumentationGetter(isReadonly, shallow) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 1799 | function callWithAsyncErrorHandling(fn, instance, type, args) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 2265 | function createDevtoolsComponentHook(hook) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 2272 | function createDevtoolsPerformanceHook(hook) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 2431 | function setCurrentRenderingInstance(instance) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 3167 | function normalizeSuspenseChildren(vnode) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 4889 | function exposePropsOnRenderContext(instance) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 4903 | function exposeSetupStateOnRenderContext(instance) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 9799 | function patchStopImmediatePropagation(e, value) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 11028 | function injectCompilerOptionsCheck(app) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 11363 | function createConditionalExpression(test, consequent, alternate, newline = true) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 11506 | function advancePositionWithMutation(pos, source, numberOfCharacters = source.length) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 12792 | function getConstantTypeOfHelperCall(value, context) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 12807 | function getGeneratedPropsConstantType(node, context) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 13108 | function createStructuralDirectiveTransform(name, fn) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 13491 | function genExpressionAsPropertyKey(node, context) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 13703 | function validateBrowserExpression(node, context, asParams = false, asRawStatements = false) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 13899 | function createCodegenNodeForBranch(branch, keyIndex, context) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 13913 | function createChildrenCodegenNode(branch, keyIndex, context) { | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 14996 | function stringifyDynamicPropNames(props) { | CODE |
| LOW | …-upgrader/upgraders/0111002_ncXcdbLTARIndexUpgrader.ts | 15 | async function upgradeModelRelationsIndex( | CODE |
| LOW | …version-upgrader/upgraders/0105003_ncFilterUpgrader.ts | 27 | function removeLikeAndNlikeFilters( | CODE |
| LOW | …version-upgrader/upgraders/0105003_ncFilterUpgrader.ts | 62 | function migrateEmptyAndNullFilters( | CODE |
| LOW | packages/nocodb/src/db/CustomKnex.ts | 783 | function parseNestedConditionAndJoin(obj, qb, pKey?, table?, tableAlias?) { | CODE |
| LOW | packages/nocodb/src/db/linkedRecordDynamicFilter.ts | 57 | async function buildLinkedRecordIdsQuery({ | CODE |
| LOW | packages/nocodb/src/db/linkedRecordDynamicFilter.ts | 239 | export async function resolveLinkedRecordDynamicFilter( | CODE |
| LOW | packages/nocodb/src/db/lookupSortLimit.ts | 238 | export async function applyNestedLookupLevelLimit(param: { | CODE |
| LOW | packages/nocodb/src/db/lookupSortLimit.ts | 262 | export async function buildNestedLookupLevelLimit(param: { | CODE |
| LOW | packages/nocodb/src/db/lookupSortLimit.ts | 359 | export async function applyLookupFilterWindowLimit(param: { | CODE |
| LOW | packages/nocodb/src/db/generateLookupSelectQuery.ts | 41 | export async function getDisplayValueOfRefTable( | CODE |
| LOW | packages/nocodb/src/db/generateLookupSelectQuery.ts | 76 | export async function getRefTableColumnForFilter( | CODE |
| LOW | packages/nocodb/src/db/generateLookupSelectQuery.ts | 124 | export default async function generateLookupSelectQuery({ | CODE |
| LOW | packages/nocodb/src/db/conditionV2.ts | 109 | function oracleNarrowFormulaClobForCompare( | CODE |
| LOW | packages/nocodb/src/db/conditionV2.ts | 1047 | async function resolveDynamicFilterValue( | CODE |
| LOW | packages/nocodb/src/db/conditionV2.ts | 1135 | async function resolveCrossTableDynamicFilter( | CODE |
| LOW | packages/nocodb/src/db/conditionV2.ts | 1238 | export async function extractLinkRelFiltersAndApply(_: { | CODE |
| LOW | packages/nocodb/src/db/sql-client/lib/pg/typeCast.ts | 80 | function generateDateTimeCastQuery( | CODE |
| LOW | packages/nocodb/src/db/sql-client/lib/pg/typeCast.ts | 130 | function generateNumberBoundingQuery( | CODE |
| LOW | packages/nocodb/src/db/functionMappings/commonFns.ts | 273 | function unifyOracleClobCaseBranches( | CODE |
| LOW | packages/nocodb/src/db/links/requestHandler.ts | 7 | export class LinksRequestHandler { | CODE |
| LOW | …kages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts | 652 | async function invalidateSingleQueryPlans( | CODE |
| LOW | …kages/nocodb/src/db/formulav2/formulaQueryBuilderv2.ts | 674 | async function persistFormulaColumnError( | CODE |
| LOW | packages/nocodb/src/db/formulav2/pg-ieee.ts | 16 | export function isNonFiniteFormulaHandlingEnabled(): boolean { | CODE |
| LOW | …s/nocodb/src/db/formulav2/assertParsedTreeFunctions.ts | 46 | export function assertParsedTreeFunctions(node: unknown): void { | CODE |
| LOW | …kages/nocodb/src/db/BaseModelSqlv2/mssql-insert-sql.ts | 30 | export function mssqlBuildBulkInsertWithCapture(_args: { | CODE |
| LOW | packages/nocodb/src/run/cloud.ts | 124 | function setupWorkerSignalHandlers(): void { | CODE |
| 298 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/nocodb/docker/litestream.yml | 21 | # recipients: | COMMENT |
| LOW | …odb/src/middlewares/extract-ids/extract-ids.helpers.ts | 121 | 'filterUpdate', | COMMENT |
| LOW | packages/nocodb/src/mcp/tools/tool-helpers.ts | 121 | COMMENT | |
| LOW | …odb/src/dbQueryClient/cross-db-utils/bulk-aggregate.ts | 61 | // Ops the grid's group-by emits (nc-gui `buildNestedFilterArr`). Each pins a | COMMENT |
| LOW | packages/nocodb/src/models/Source.ts | 381 | COMMENT | |
| LOW | packages/nocodb/src/models/HookFilter.ts | 261 | // filterObj = await ncMeta.metaGet2(context.workspace_id, context.base_id, MetaTable.FILTER_EXP, { | COMMENT |
| LOW | packages/nocodb/src/models/HookFilter.ts | 301 | } | COMMENT |
| LOW | packages/nocodb/src/models/HookFilter.ts | 421 | return result; | COMMENT |
| LOW | packages/nocodb/src/models/HookFilter.ts | 501 | // static async parentFilterList( | COMMENT |
| LOW | packages/nocodb/src/models/HookFilter.ts | 521 | // } | COMMENT |
| LOW | packages/nocodb/src/models/Filter.ts | 721 | COMMENT | |
| LOW | packages/nocodb/src/models/View.ts | 2281 | ); | COMMENT |
| LOW | packages/nocodb/src/models/View.ts | 2461 | // return await ncMeta.metaUpdate( | COMMENT |
| LOW | packages/nocodb/src/models/View.ts | 3381 | COMMENT | |
| LOW | packages/nocodb/src/models/Model.ts | 961 | // from UI | COMMENT |
| LOW | packages/nocodb/src/public/js/vue.global.js | 15261 | // if this is a plain element with a single text child, leave it | COMMENT |
| LOW | …version-upgrader/upgraders/0104004_ncFilterUpgrader.ts | 21 | // - Checkbox columns: | COMMENT |
| LOW | packages/nocodb/src/db/sortV2.ts | 41 | if (!sortList?.length) return; | COMMENT |
| LOW | …kages/nocodb/src/db/relation-update-webhook-handler.ts | 41 | COMMENT | |
| LOW | packages/nocodb/src/db/BaseModelSqlv2.ts | 3161 | ); | COMMENT |
| LOW | packages/nocodb/src/db/BaseModelSqlv2.ts | 4461 | // if timezone info is not found - considered as utc | COMMENT |
| LOW | packages/nocodb/src/db/BaseModelSqlv2.ts | 6421 | // The webhook listener runs asynchronously (it yields on its first await), | COMMENT |
| LOW | packages/nocodb/src/db/genRollupSelectv2.ts | 241 | // doesn't bind them. But `knex.raw(rawObj)` resolves the inner Raw via | COMMENT |
| LOW | packages/nocodb/src/db/generateLookupSelectQuery.ts | 861 | // builder: knex | COMMENT |
| LOW | packages/nocodb/src/db/generateLookupSelectQuery.ts | 881 | ) | COMMENT |
| LOW | packages/nocodb/src/db/generateLookupSelectQuery.ts | 901 | // aggregate so numeric lookups become quoted | COMMENT |
| LOW | packages/nocodb/src/db/conditionV2.ts | 121 | return expr; | COMMENT |
| LOW | packages/nocodb/src/db/conditionV2.ts | 921 | // FieldHandler — only Formula-with-CWC and string-like | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/data.helper.ts | 261 | // if (colType.indexOf(typesArr[i]) !== -1) { | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 841 | (d) => d.aggrDataType === args['aggrDataType'], | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 861 | // * @param {String} - args.columns[].pk - | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 881 | // const result = new Result(); | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 981 | // * | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1001 | // * @param {String} - args.columns[].cdf - | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1021 | // for (let i = 0; i < args.columns.length; ++i) { | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1041 | // args.columns[i], | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1061 | // upQuery += alterTablePK(args.columns, args.originalColumns, upQuery); | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1381 | ); | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1421 | // 'float', | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1461 | return 'enu'; | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1481 | // "longblob", | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1501 | // "mediumint", | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1521 | // "double precision", | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1541 | // "interval day" | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1581 | // if (args.where) { | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/KnexClient.ts | 1601 | // return args; | COMMENT |
| LOW | …es/nocodb/src/db/sql-client/lib/sqlite/SqliteClient.ts | 241 | // // log.debug("SET autocommit = 1:", err); | COMMENT |
| LOW | …es/nocodb/src/db/sql-client/lib/sqlite/SqliteClient.ts | 1601 | // args.columns[i], | COMMENT |
| LOW | …es/nocodb/src/db/sql-client/lib/sqlite/SqliteClient.ts | 2021 | ); | COMMENT |
| LOW | …es/nocodb/src/db/sql-client/lib/sqlite/SqliteClient.ts | 2241 | // } | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/pg/PgClient.ts | 301 | // "string", | COMMENT |
| LOW | packages/nocodb/src/db/sql-client/lib/pg/PgClient.ts | 641 | // async commit() { | COMMENT |
| LOW | …ocodb/src/db/sql-client/lib/mysql/fakerFunctionList.ts | 381 | // name: 'randomize', | COMMENT |
| LOW | …ocodb/src/db/sql-client/lib/mysql/fakerFunctionList.ts | 401 | // value: 'helpers.replaceSymbols', | COMMENT |
| LOW | …ages/nocodb/src/db/sql-client/lib/mysql/MysqlClient.ts | 161 | // "float", | COMMENT |
| LOW | …ages/nocodb/src/db/sql-client/lib/mysql/MysqlClient.ts | 401 | // async commit() { | COMMENT |
| LOW | packages/nocodb/src/db/util/dbVersion.ts | 1 | // Reads the major version preset on the knex client by | COMMENT |
| LOW | packages/nocodb/src/db/sql-data-mapper/index.ts | 1 | // import XKnex, { Knex } from './lib/sql/CustomKnex'; | COMMENT |
| LOW | …ocodb/src/db/sql-data-mapper/__tests__/xSelect.test.js | 161 | // let queryOutput = knex.table('city').select({ | COMMENT |
| LOW | packages/nocodb/src/db/sql-data-mapper/lib/BaseModel.ts | 21 | // | COMMENT |
| 154 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/nocodb/src/db/BaseModelSqlv2.ts | 10783 | // ── V1 BT / V1 OO BT-side ───────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb/src/db/BaseModelSqlv2.ts | 10843 | // ── V1 HM / V1 OO HM-side ───────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb/src/db/BaseModelSqlv2.ts | 10907 | // ── V1 MM + ALL V2 (mm/om/mo/oo/bt) ─────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 22 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 24 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 386 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 388 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 428 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 430 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 476 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 478 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 513 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 515 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 593 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 595 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 639 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 641 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 710 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/pageConfigs.ts | 712 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/elements.ts | 76 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/elements.ts | 78 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/elements.ts | 232 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/elements.ts | 234 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/elements.ts | 302 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/elements.ts | 304 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/elements.ts | 477 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/elements.ts | 480 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/elements.ts | 528 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/interface/elements.ts | 530 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/dashboard/charts.ts | 94 | // ── Right-hand entries only ────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/dashboard/charts.ts | 237 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/dashboard/charts.ts | 240 | // ──────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/v3/record-transform.ts | 44 | // ─── Primary Key Helpers ──────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/v3/record-transform.ts | 78 | // ─── Shared helpers ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/v3/record-transform.ts | 108 | // ─── V2 → V3 ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nocodb-sdk/src/lib/v3/record-transform.ts | 289 | // ─── V3 → V2 ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nc-gui/composables/useBaseSettingsNav.ts | 65 | // ── App section ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nc-gui/composables/useBaseSettingsNav.ts | 102 | // ── Per-pane gates ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nc-gui/composables/useBaseSettingsNav.ts | 191 | // ── The nav ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nc-gui/composables/useImageAnnotations.ts | 98 | // ─── state ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nc-gui/composables/useImageAnnotations.ts | 117 | // ─── derived ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nc-gui/composables/useImageAnnotations.ts | 200 | // ─── actions ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nc-gui/components/smartsheet/Form.vue | 545 | // ─── Grid layout (multi-field rows) ──────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/nc-gui/components/smartsheet/details/Fields.vue | 1429 | // ── Surface deletions ────────────────────────────────────────── | COMMENT |
| MEDIUM | …ckages/nc-gui/components/smartsheet/details/Fields.vue | 1454 | // ── Surface updates affecting the active field ──────────────── | COMMENT |
| MEDIUM | …nc-gui/components/dashboard/FeatureExperimentation.vue | 133 | // ─── Easter eggs ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …es/nc-gui/components/cell/attachment/Preview/Image.vue | 288 | // ─── annotation drawing ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …gui/components/virtual-cell/components/LinkedItems.vue | 125 | // ── Per-link drag-to-reorder (v2 mm on Postgres) ────────────────────────────── | COMMENT |
| MEDIUM | packages/nc-gui/components/nc/Drawer.vue | 50 | // ── Swipe-to-close (scroll-aware, works on entire drawer) ─────────── | COMMENT |
| MEDIUM | packages/nc-gui/components/nc/Drawer.vue | 195 | // ── Scroll-aware fade ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/nc-gui/components/nc/Drawer.vue | 223 | // ── Dynamic body height (avoids flex-1 min-content issues) ────────── | COMMENT |
| MEDIUM | …c-gui/components/nc/form-builder/input/Attachments.vue | 166 | // ── URL popover ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …c-gui/components/nc/form-builder/input/Attachments.vue | 241 | // ── Upload ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …c-gui/components/nc/form-builder/input/Attachments.vue | 342 | // ── Open ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …c-gui/components/nc/form-builder/input/Attachments.vue | 374 | // ── Chip presentation ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docker-compose/1_Auto_Upstall/noco.sh | 19 | # ── Colors ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docker-compose/1_Auto_Upstall/noco.sh | 27 | # ── State (set by prompts or flags) ─────────────────────────────────────────── | COMMENT |
| MEDIUM | docker-compose/1_Auto_Upstall/noco.sh | 48 | # ── Helpers ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docker-compose/1_Auto_Upstall/noco.sh | 113 | # ── Prerequisites ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docker-compose/1_Auto_Upstall/noco.sh | 168 | # ── Prompts ─────────────────────────────────────────────────────────────────── | COMMENT |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | packages/nocodb/src/db/field-handler/index.ts | 358 | this.info.baseModel.model.columns.find((col) => col.id === filter.id); | CODE |
| CRITICAL | …nc-gui/components/cell/RichText/LinkOrImageOptions.vue | 141 | editor.value.view.state.tr.removeStoredMark(linkMark).addStoredMark(linkMark.create({ href: formatedHref })), | CODE |
| CRITICAL | …nc-gui/components/cell/RichText/LinkOrImageOptions.vue | 162 | editor.value.view.dispatch(editor.value.view.state.tr.removeStoredMark(linkMark)) | CODE |
| CRITICAL | …nc-gui/components/cell/RichText/LinkOrImageOptions.vue | 167 | editor.value.view.dispatch(editor.value.view.state.tr.removeMark(markSelection.from, markSelection.to, linkMark)) | CODE |
| CRITICAL | packages/nc-gui/components/ai/PromptWithFields.vue | 151 | tr.replaceSelectionWith(view.state.schema.nodes.mention.create({ id })) | CODE |
| CRITICAL | packages/nc-gui/helpers/tiptap-markdown/Markdown.ts | 27 | return commands.setContent(props.editor.storage.markdown.parser.parse(content), emitUpdate, parseOptions)(props) | CODE |
| CRITICAL | packages/nc-gui/helpers/tiptap-markdown/Markdown.ts | 32 | props.editor.storage.markdown.parser.parse(content, { inline: true }), | CODE |
| CRITICAL⚡ | packages/nc-gui/helpers/tiptap-markdown/Markdown.ts | 44 | const markdown = this.editor.storage.markdown.serializer.serialize(this.editor.state.doc) | CODE |
| CRITICAL⚡ | packages/nc-gui/helpers/tiptap-markdown/Markdown.ts | 51 | return this.editor.storage.markdown.parser.parse(md) | CODE |
| CRITICAL⚡ | packages/nc-gui/helpers/tiptap-markdown/Markdown.ts | 55 | this.editor.options.content = this.editor.storage.markdown.parser.parse(this.editor.options.content) | CODE |
| CRITICAL | …ckages/nc-gui/helpers/tiptap-markdown/util/markdown.ts | 6 | md.inline.State.prototype.scanDelims.call({ src: text, posMax: text.length }) | CODE |
| CRITICAL | …helpers/tiptap-markdown/extensions/tiptap/clipboard.ts | 32 | const parsed = this.editor.storage.markdown.parser.parse(text, { inline: true }) | CODE |
| CRITICAL | …helpers/tiptap-markdown/extensions/tiptap/clipboard.ts | 42 | return this.editor.storage.markdown.serializer.serialize(slice.content) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …/db/BaseModelSqlv2/attachment-url-upload-preparator.ts | 80 | // Step 1: Create FileReference without workspace info and mark as deleted | COMMENT |
| LOW⚡ | …/db/BaseModelSqlv2/attachment-url-upload-preparator.ts | 82 | // Step 2: Create FileReference with workspace info and deleted: false | COMMENT |
| LOW | packages/nocodb/src/helpers/ltarDisplayValueResolver.ts | 180 | // Step 1: case-sensitive exact match (eq) | COMMENT |
| LOW | packages/nocodb/src/helpers/ltarDisplayValueResolver.ts | 199 | // Step 2: case-insensitive fallback for the values eq didn't match | COMMENT |
| LOW | …s/nocodb/src/services/v3/data-attachment-v3.service.ts | 107 | // Step 1: Create FileReference without workspace info and mark as deleted | COMMENT |
| LOW | …s/nocodb/src/services/v3/data-attachment-v3.service.ts | 125 | // Step 2: update fileSize, url due to fileName, fileSize etc | COMMENT |
| LOW | …s/nocodb/src/services/v3/data-attachment-v3.service.ts | 362 | // Step 1: Create FileReference without workspace info and mark as deleted | COMMENT |
| LOW | …s/nocodb/src/services/v3/data-attachment-v3.service.ts | 380 | // Step 2: Create FileReference with workspace info and deleted: false | COMMENT |
| LOW⚡ | packages/nc-gui/composables/useViewColumns.ts | 560 | // Step 1: Apply default filter | COMMENT |
| LOW⚡ | packages/nc-gui/composables/useViewColumns.ts | 563 | // Step 2: Apply search basis options if default filter fails | COMMENT |
| LOW⚡ | packages/nc-gui/composables/useViewColumns.ts | 572 | // Step 1: Apply default filter | COMMENT |
| LOW⚡ | packages/nc-gui/composables/useViewColumns.ts | 575 | // Step 2: Apply search basis options if default filter fails | COMMENT |
| LOW | packages/nc-gui/composables/usePlugin/index.ts | 242 | // Step 1: Load assets for all plugin types | COMMENT |
| LOW⚡ | …ages/nc-gui/components/smartsheet/column/EditOrAdd.vue | 730 | // Step 1: apply default filter | COMMENT |
| LOW⚡ | …ages/nc-gui/components/smartsheet/column/EditOrAdd.vue | 733 | // Step 2: apply search basis options | COMMENT |
| LOW⚡ | …ponents/smartsheet/column/UITypesOptionsWithSearch.vue | 33 | // Step 1: apply default filter | COMMENT |
| LOW⚡ | …ponents/smartsheet/column/UITypesOptionsWithSearch.vue | 36 | // Step 2: apply search basis options | COMMENT |
| LOW | packages/nc-gui/components/template/Editor.vue | 108 | // If it is import data only, then we need to check if the field is editable | COMMENT |
| LOW⚡ | packages/nc-gui/components/nc/List/index.vue | 138 | // Step 1: apply default filter | COMMENT |
| LOW⚡ | packages/nc-gui/components/nc/List/index.vue | 141 | // Step 2: apply search basis options | COMMENT |
| LOW⚡ | packages/nc-integration-scaffolder/src/index.ts | 25 | // Step 1: Read the content of the file | COMMENT |
| LOW⚡ | packages/nc-integration-scaffolder/src/index.ts | 28 | // Step 2: Use TypeScript Compiler API to parse the source file | COMMENT |
| LOW⚡ | packages/nc-integration-scaffolder/src/index.ts | 36 | // Step 3: Traverse the AST to find the abstract class | COMMENT |
| LOW | packages/nc-integration-scaffolder/src/index.ts | 153 | // Step 4: Generate the new class code | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …/db/BaseModelSqlv2/attachment-url-upload-preparator.ts | 80 | // Step 1: Create FileReference without workspace info and mark as deleted | COMMENT |
| LOW⚡ | …/db/BaseModelSqlv2/attachment-url-upload-preparator.ts | 82 | // Step 2: Create FileReference with workspace info and deleted: false | COMMENT |
| LOW | packages/nocodb/src/helpers/ltarDisplayValueResolver.ts | 180 | // Step 1: case-sensitive exact match (eq) | COMMENT |
| LOW | packages/nocodb/src/helpers/ltarDisplayValueResolver.ts | 199 | // Step 2: case-insensitive fallback for the values eq didn't match | COMMENT |
| LOW | …s/nocodb/src/services/v3/data-attachment-v3.service.ts | 107 | // Step 1: Create FileReference without workspace info and mark as deleted | COMMENT |
| LOW | …s/nocodb/src/services/v3/data-attachment-v3.service.ts | 125 | // Step 2: update fileSize, url due to fileName, fileSize etc | COMMENT |
| LOW | …s/nocodb/src/services/v3/data-attachment-v3.service.ts | 362 | // Step 1: Create FileReference without workspace info and mark as deleted | COMMENT |
| LOW | …s/nocodb/src/services/v3/data-attachment-v3.service.ts | 380 | // Step 2: Create FileReference with workspace info and deleted: false | COMMENT |
| LOW⚡ | packages/nc-gui/composables/useViewColumns.ts | 560 | // Step 1: Apply default filter | COMMENT |
| LOW⚡ | packages/nc-gui/composables/useViewColumns.ts | 563 | // Step 2: Apply search basis options if default filter fails | COMMENT |
| LOW⚡ | packages/nc-gui/composables/useViewColumns.ts | 572 | // Step 1: Apply default filter | COMMENT |
| LOW⚡ | packages/nc-gui/composables/useViewColumns.ts | 575 | // Step 2: Apply search basis options if default filter fails | COMMENT |
| LOW | packages/nc-gui/composables/usePlugin/index.ts | 242 | // Step 1: Load assets for all plugin types | COMMENT |
| LOW⚡ | …ages/nc-gui/components/smartsheet/column/EditOrAdd.vue | 730 | // Step 1: apply default filter | COMMENT |
| LOW⚡ | …ages/nc-gui/components/smartsheet/column/EditOrAdd.vue | 733 | // Step 2: apply search basis options | COMMENT |
| LOW⚡ | …ponents/smartsheet/column/UITypesOptionsWithSearch.vue | 33 | // Step 1: apply default filter | COMMENT |
| LOW⚡ | …ponents/smartsheet/column/UITypesOptionsWithSearch.vue | 36 | // Step 2: apply search basis options | COMMENT |
| LOW⚡ | packages/nc-gui/components/nc/List/index.vue | 138 | // Step 1: apply default filter | COMMENT |
| LOW⚡ | packages/nc-gui/components/nc/List/index.vue | 141 | // Step 2: apply search basis options | COMMENT |
| LOW⚡ | packages/nc-integration-scaffolder/src/index.ts | 25 | // Step 1: Read the content of the file | COMMENT |
| LOW⚡ | packages/nc-integration-scaffolder/src/index.ts | 28 | // Step 2: Use TypeScript Compiler API to parse the source file | COMMENT |
| LOW⚡ | packages/nc-integration-scaffolder/src/index.ts | 36 | // Step 3: Traverse the AST to find the abstract class | COMMENT |
| LOW | packages/nc-integration-scaffolder/src/index.ts | 153 | // Step 4: Generate the new class code | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …src/modules/jobs/jobs/at-import/at-import.processor.ts | 2347 | // AI generated text | COMMENT |
| HIGH | …jobs/jobs/at-import/engine/mockResponses/initialize.ts | 86 | window.initData = {"baseUrl":"https:\\u002F\\u002Fairtable.com","browserId":"brwVEsvxsca6PfACz","csrfToken":"dibFITyM--G | CODE |
| HIGH | packages/nocodb/src/helpers/nestedLinkQueryHelpers.ts | 440 | // reappear and the leaves combine as requested. Bare values cover what the | COMMENT |
| HIGH | packages/nc-gui/composables/useViewFilters.ts | 1020 | // Preserve 'logical_op' from the draft when provided (e.g. AI-generated filters may use 'or'), | COMMENT |
| HIGH | packages/nc-gui/lang/en.json | 3766 | "chooseOutputFieldsForAi": "Choose Output Fields To Be Generated by AI", | CODE |
| HIGH | packages/nc-gui/lang/en.json | 3784 | "generatedByAi": "Generated by AI", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …odb/src/middlewares/extract-ids/extract-ids.helpers.ts | 140 | // reason about nuanced transitions (e.g. collab → locked on the new | COMMENT |
| MEDIUM | packages/nocodb/src/utils/duplicate-model.utils.ts | 12 | // need to use class to utilize inheritance | COMMENT |
| MEDIUM | packages/nocodb/src/public/js/vuetify.2.x.min.js | 6 | !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("vue")):"function"==typeof def | CODE |
| LOW | packages/nocodb/src/public/js/vue.global.js | 6784 | // #1689 For inside suspense + suspense resolved case, just call it | COMMENT |
| MEDIUM | …mponents/smartsheet/calendar/DayView/DateTimeField.vue | 428 | // but we window both axes so it stays robust to any distribution. The dragged / resized record is | COMMENT |
| MEDIUM | …s/nc-gui/components/dashboard/TreeView/ProjectNode.vue | 221 | // We do not wait for tables api, so that add new table is seamless. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/nocodb/src/public/js/vue.global.js | 8338 | // #2078 make sure to merge refs during the clone instead of overwriting it | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/nocodb/src/services/columns.service.ts | 7987 | // TODO: implement for snowflake (right now create index does not work with identifier quoting in snowflake - bug?) | COMMENT |