There can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.
This report summarizes scanner evidence for toeverything/AFFiNE, a TypeScript project with 74,007 GitHub stars. SynthScan examined 1,228,957 lines of code across 8833 source files, recording 859 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 1.2 (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? 762 finding(s).
Are imports declared and package/API names verified? 96 finding(s).
Are wrappers, guards, and repeated structures necessary? 593 finding(s).
Which changes need focused human review? 859 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 859 distinct pattern matches across 12 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 | tools/cli/src/bundle-shared.ts | 16 | export function isRspackSupportedPackageName(name: string) { | CODE |
| LOW | tools/cli/src/bundle-shared.ts | 20 | export function assertRspackSupportedPackageName(name: string) { | CODE |
| LOW | tools/cli/src/bundle.ts | 30 | function assertRspackSupportedPackage(pkg: Package) { | CODE |
| LOW | tools/cli/src/rspack-shared/error-handler.js | 66 | function registerGlobalErrorHandler() { | CODE |
| LOW | tools/cli/src/rspack-shared/error-handler.js | 80 | function unregisterRegisterGlobalErrorHandler(fn) { | CODE |
| LOW | blocksuite/playground/apps/_common/mock-services.ts | 155 | export function mockGenerateDocUrlService(collection: Workspace) { | CODE |
| LOW | blocksuite/playground/apps/starter/utils/collection.ts | 26 | export function createStarterDocCollection( | CODE |
| LOW | blocksuite/framework/std/src/inline/utils/text.ts | 58 | export function invalidateInlineRootTextCache(rootElement: HTMLElement) { | CODE |
| LOW | …ite/framework/std/src/inline/utils/point-conversion.ts | 186 | function getTextPointRoughlyFromElement(element: Element): TextPoint | null { | CODE |
| LOW | …ite/framework/std/src/inline/utils/point-conversion.ts | 193 | function getTextPointRoughlyFromElementByOffset( | CODE |
| LOW | blocksuite/framework/std/src/inline/utils/query.ts | 4 | export function getInlineEditorInsideRoot( | CODE |
| LOW | blocksuite/framework/std/src/inline/range/active.ts | 15 | export function isRangeSyncExcludedTarget(target: EventTarget | null) { | CODE |
| LOW | blocksuite/framework/std/src/inline/range/active.ts | 21 | export function shouldDeactivateEditorOnFocusOut( | CODE |
| LOW | blocksuite/framework/std/src/__tests__/inline/utils.ts | 19 | export async function enterInlineEditorPlayground(page: Page) { | CODE |
| LOW | blocksuite/framework/std/src/__tests__/inline/utils.ts | 41 | export async function getDeltaFromInlineRichText( | CODE |
| LOW | blocksuite/framework/std/src/__tests__/inline/utils.ts | 60 | export async function getInlineRangeFromInlineRichText( | CODE |
| LOW | blocksuite/framework/std/src/gfx/viewport-element.ts | 45 | export function getGestureTransformMinInterval({ | CODE |
| LOW | blocksuite/framework/std/src/gfx/viewport-element.ts | 59 | export function shouldSkipGestureTransformWrite({ | CODE |
| LOW | blocksuite/framework/std/src/gfx/viewport-element.ts | 78 | export function shouldUseLowZoomBlockSurvivalMode({ | CODE |
| LOW | blocksuite/framework/std/src/gfx/viewport.ts | 109 | export function getPostGestureRecoveryDelay({ | CODE |
| LOW | …suite/framework/std/src/clipboard/clipboard-adapter.ts | 22 | export function ClipboardAdapterConfigExtension( | CODE |
| LOW | blocksuite/framework/global/src/gfx/bound.ts | 20 | export function getPointsFromBoundWithRotation( | CODE |
| LOW | blocksuite/framework/global/src/gfx/bound.ts | 108 | export function getCommonBoundWithRotation(bounds: IBound[]): Bound { | CODE |
| LOW | blocksuite/framework/global/src/gfx/math.ts | 504 | export function getPointFromBoundsWithRotation( | CODE |
| LOW | blocksuite/framework/global/src/gfx/curve.ts | 160 | export function getBezierCurveBoundingBox(values: BezierCurveParameters) { | CODE |
| LOW | …suite/framework/store/src/extension/store-extension.ts | 57 | export function isStoreExtensionConstructor( | CODE |
| LOW | blocksuite/framework/store/src/test/index.ts | 7 | export function createAutoIncrementIdGenerator(): IdGenerator { | CODE |
| LOW | …/framework/store/src/__tests__/collection.unit.spec.ts | 72 | function requestIdleCallbackPolyfill( | CODE |
| LOW | blocksuite/framework/store/src/model/store/query.ts | 72 | function setAncestorsToDisplayIfHidden(mode: QueryMode, block: Block) { | CODE |
| LOW | …tion-test/src/__tests__/edgeless/connector-dom.spec.ts | 49 | async function waitForConnectorElementRemoval( | CODE |
| LOW | blocksuite/affine/blocks/embed/src/types.ts | 14 | export function isExternalEmbedBlockComponent( | CODE |
| LOW | …e/affine/blocks/embed/src/embed-youtube-block/utils.ts | 25 | export async function refreshEmbedYoutubeUrlData( | CODE |
| LOW | …te/affine/blocks/embed/src/common/render-linked-doc.ts | 80 | export function getDocContentWithMaxLength(doc: Store, maxlength = 500) { | CODE |
| LOW | …te/affine/blocks/embed/src/common/render-linked-doc.ts | 115 | export function getTitleFromSelectedModels(selectedModels: DraftModel[]) { | CODE |
| LOW | …te/affine/blocks/embed/src/common/render-linked-doc.ts | 150 | export async function convertSelectedBlocksToLinkedDoc( | CODE |
| LOW | …affine/blocks/embed/src/common/adapters/notion-html.ts | 7 | export function createEmbedBlockNotionHtmlAdapterMatcher( | CODE |
| LOW | …te/affine/blocks/embed/src/common/adapters/markdown.ts | 3 | export function createEmbedBlockMarkdownAdapterMatcher( | CODE |
| LOW | …/affine/blocks/embed/src/common/adapters/plain-text.ts | 3 | export function createEmbedBlockPlainTextAdapterMatcher( | CODE |
| LOW | …ksuite/affine/blocks/embed/src/common/adapters/html.ts | 3 | export function createEmbedBlockHtmlAdapterMatcher( | CODE |
| LOW | …c/embed-iframe-block/configs/providers/google-drive.ts | 36 | function isValidGoogleDriveFileUrl(parsedUrl: URL): boolean { | CODE |
| LOW | …c/embed-iframe-block/configs/providers/google-drive.ts | 51 | function isValidGoogleDriveFolderUrl(parsedUrl: URL): boolean { | CODE |
| LOW | …c/embed-iframe-block/configs/providers/google-drive.ts | 65 | function isValidGoogleDrivePathUrl(parsedUrl: URL): boolean { | CODE |
| LOW | …c/embed-iframe-block/configs/providers/google-drive.ts | 116 | function isValidGoogleDriveIframeUrl(url: string): boolean { | CODE |
| LOW | …c/embed-iframe-block/configs/providers/google-drive.ts | 144 | function buildGoogleDriveFileEmbedUrl(fileId: string): string | undefined { | CODE |
| LOW | …c/embed-iframe-block/configs/providers/google-drive.ts | 158 | function buildGoogleDriveFolderEmbedUrl(folderId: string): string | undefined { | CODE |
| LOW | blocksuite/affine/blocks/embed/src/configs/toolbar.ts | 85 | function createBuiltinToolbarConfigForExternal( | CODE |
| LOW | …te/affine/blocks/embed/src/embed-github-block/utils.ts | 76 | export async function refreshEmbedGithubUrlData( | CODE |
| LOW | blocksuite/affine/blocks/attachment/src/utils.ts | 144 | export async function addSiblingAttachmentBlocks( | CODE |
| LOW | blocksuite/affine/blocks/attachment/src/embed.ts | 66 | export function AttachmentEmbedConfigExtension( | CODE |
| LOW | …suite/affine/blocks/code/src/code-preview-extension.ts | 18 | export function CodeBlockPreviewExtension( | CODE |
| LOW | blocksuite/affine/blocks/code/src/clipboard/index.ts | 30 | export function CodeClipboardAdapterConfigExtension( | CODE |
| LOW | blocksuite/affine/blocks/code/src/clipboard/index.ts | 192 | export function getCodeClipboardExtensions(): ExtensionType[] { | CODE |
| LOW | …ffine/blocks/surface/src/renderer/placeholder-style.ts | 4 | export function getSurfacePlaceholderFallback(colorScheme: ColorScheme) { | CODE |
| LOW | …ffine/blocks/surface/src/renderer/placeholder-style.ts | 8 | export function resolveSurfacePlaceholderColor(colorScheme: ColorScheme) { | CODE |
| LOW | …/affine/blocks/surface/src/renderer/canvas-renderer.ts | 128 | export function shouldSyncCanvasBudgetOnViewportUpdate( | CODE |
| LOW | …/affine/blocks/surface/src/renderer/canvas-renderer.ts | 142 | export function shouldUseLowZoomSurvivalMode( | CODE |
| LOW | …/affine/blocks/surface/src/renderer/canvas-renderer.ts | 150 | export function getStackingCanvasBypassState(params: { | CODE |
| LOW | …/affine/blocks/surface/src/renderer/canvas-renderer.ts | 175 | export function shouldBypassStackingCanvasesDuringLowZoomGesture(params: { | CODE |
| LOW | …/affine/blocks/surface/src/renderer/canvas-renderer.ts | 186 | export function getStackingCanvasAttachmentDiff(params: { | CODE |
| LOW | …/affine/blocks/surface/src/renderer/canvas-renderer.ts | 211 | export function getMainCanvasFallbackBounds(params: { | CODE |
| 532 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …suite/playground/apps/_common/components/docs-panel.ts | 111 | this.editor.doc.workspace.slots.docListUpdated.subscribe(() => { | CODE |
| CRITICAL | …/framework/std/src/view/element/gfx-block-component.ts | 90 | instance.gfx.layer.slots.layerUpdated.subscribe(() => { | CODE |
| CRITICAL | …uite/framework/std/src/view/element/block-component.ts | 219 | const disposable = this.std.store.slots.blockUpdated.subscribe( | CODE |
| CRITICAL | blocksuite/framework/std/src/gfx/viewport-element.ts | 341 | this.host.std.view.views.forEach(view => { | CODE |
| CRITICAL | blocksuite/framework/std/src/gfx/viewport-element.ts | 415 | this.host.std.view.views.forEach(view => { | CODE |
| CRITICAL | blocksuite/framework/std/src/gfx/viewport-element.ts | 702 | this.host.std.view.viewUpdated.subscribe(payload => { | CODE |
| CRITICAL | …/affine/blocks/bookmark/src/bookmark-edgeless-block.ts | 35 | this.gfx.selection.slots.updated.subscribe(() => { | CODE |
| CRITICAL | …e/blocks/code/src/code-toolbar/components/more-menu.ts | 16 | this.context.blockComponent.model.propsUpdated.subscribe(({ key }) => { | CODE |
| CRITICAL | …c/src/embed-linked-doc-block/embed-linked-doc-block.ts | 558 | this.store.workspace.slots.docListUpdated.subscribe(() => { | CODE |
| CRITICAL | …c/src/embed-synced-doc-block/embed-synced-doc-block.ts | 532 | this.store.workspace.slots.docListUpdated.subscribe(() => { | CODE |
| CRITICAL | …oc/src/embed-synced-doc-block/init-height-extension.ts | 15 | this.std.store.slots.blockUpdated.subscribe(payload => { | CODE |
| CRITICAL | …affine/blocks/root/src/edgeless/edgeless-root-block.ts | 160 | this.gfx.layer.slots.layerUpdated.subscribe(() => updateLayers()) | CODE |
| CRITICAL | …blocks/root/src/preview/edgeless-root-preview-block.ts | 119 | this._gfx.layer.slots.layerUpdated.subscribe(() => updateLayers()) | CODE |
| CRITICAL | …cksuite/affine/fragments/outline/src/outline-viewer.ts | 205 | this.editor.store.workspace.meta.docMetaUpdated.subscribe(() => { | CODE |
| CRITICAL | …e/affine/fragments/outline/src/card/outline-preview.ts | 55 | const refMeta = block.store.workspace.meta.docMetas.find( | CODE |
| CRITICAL | …affine/shared/src/services/doc-display-meta-service.ts | 171 | const disposable = this.std.workspace.slots.docListUpdated.subscribe( | CODE |
| CRITICAL | …e/affine/inlines/comment/src/inline-comment-manager.ts | 59 | this.std.selection.slots.changed.subscribe(this._handleSelectionChanged) | CODE |
| CRITICAL | blocksuite/affine/gfx/note/src/toolbar/note-menu.ts | 69 | const [_, { insertedLinkType }] = this.edgeless.service.std.command.exec( | CODE |
| CRITICAL | blocksuite/affine/gfx/mindmap/src/view/view.ts | 150 | this.gfx.selection.slots.updated.subscribe(() => { | CODE |
| CRITICAL | …dgets/remote-selection/src/doc/doc-remote-selection.ts | 280 | this.std.store.slots.blockUpdated.subscribe(() => { | CODE |
| CRITICAL | blocksuite/affine/widgets/toolbar/src/toolbar.ts | 514 | context.gfx.selection.slots.updated.subscribe(selections => { | CODE |
| CRITICAL | …ffine/widgets/scroll-anchoring/src/scroll-anchoring.ts | 102 | this.std.store.slots.blockUpdated.subscribe(v => { | CODE |
| CRITICAL | …ffine/widgets/scroll-anchoring/src/scroll-anchoring.ts | 157 | const subscription = this.std.store.slots.blockUpdated.subscribe(v => { | CODE |
| CRITICAL | …s/edgeless-selected-rect/src/edgeless-auto-complete.ts | 688 | this.gfx.selection.slots.updated.subscribe(() => { | CODE |
| CRITICAL | …te/affine/widgets/linked-doc/src/linked-doc-popover.ts | 206 | this.context.inlineEditor.slots.renderComplete.subscribe(() => { | CODE |
| CRITICAL | …te/affine/widgets/linked-doc/src/linked-doc-popover.ts | 226 | this.context.inlineEditor.slots.renderComplete.subscribe(() => { | CODE |
| CRITICAL | …widgets/drag-handle/src/watchers/drag-event-watcher.ts | 1229 | this.std.store.workspace.docs.has(sourceDocId) && | CODE |
| CRITICAL | …ocksuite/affine/widgets/frame-title/src/frame-title.ts | 226 | this.model.props.title.yText.unobserve(updateTitle); | CODE |
| CRITICAL | …ocksuite/affine/widgets/frame-title/src/frame-title.ts | 228 | this.model.props.title.yText.observe(updateTitle); | CODE |
| CRITICAL | …locksuite/ai/runtime/frontend/delegated-editor-host.ts | 96 | this.options.host.store.slots.blockUpdated.subscribe(changed); | CODE |
| CRITICAL | …locksuite/ai/runtime/frontend/delegated-editor-host.ts | 100 | this.options.host.selection.slots.changed.subscribe(() => { | CODE |
| CRITICAL | …rontend/core/src/blocksuite/ai/runtime/chat/runtime.ts | 159 | items: this.snapshot.composer.focus.items.filter( | CODE |
| CRITICAL | …rontend/core/src/blocksuite/ai/runtime/chat/runtime.ts | 602 | items: this.snapshot.composer.scopeSelection.items.filter( | CODE |
| CRITICAL | …frontend/core/src/blocksuite/ai/services/block-diff.ts | 430 | this.std.store.slots.blockUpdated.subscribe(() => { | CODE |
| CRITICAL | packages/frontend/core/src/__tests__/share-page.spec.ts | 244 | sharedWorkspace.engine.doc.waitForDocLoaded.mock.calls.map( | CODE |
| CRITICAL | …modules/navigation-projection/shell-data-projection.ts | 418 | this.workspace.workspace.engine.doc.addPriority(id, 10), | CODE |
| CRITICAL | …d/core/src/modules/comment/services/snapshot-helper.ts | 49 | await this.workspaceService.workspace.engine.blob.get(key); | CODE |
| CRITICAL | …tend/core/src/modules/favorite/services/old/adapter.ts | 125 | transact = this.workspaceService.workspace.docCollection.doc.transact.bind( | CODE |
| CRITICAL | …ore/src/modules/blob-management/entity/unused-blobs.ts | 65 | await this.workspaceService.workspace.engine.doc.waitForSynced(); | CODE |
| CRITICAL | …end/core/src/modules/doc-summary/stores/doc-summary.ts | 37 | const undoSync = this.workspaceService.workspace.engine.doc.addPriority( | CODE |
| CRITICAL | packages/frontend/core/src/modules/db/services/db.ts | 52 | this.workspaceService.workspace.engine.doc.connectDoc(ydoc); | CODE |
| CRITICAL | packages/frontend/core/src/modules/db/services/db.ts | 53 | this.workspaceService.workspace.engine.doc.addPriority( | CODE |
| CRITICAL | packages/frontend/core/src/modules/db/services/db.ts | 84 | this.workspaceService.workspace.engine.doc.connectDoc(ydoc); | CODE |
| CRITICAL | packages/frontend/core/src/modules/db/services/db.ts | 85 | this.workspaceService.workspace.engine.doc.addPriority( | CODE |
| CRITICAL | packages/frontend/core/src/modules/doc/stores/docs.ts | 248 | this.workspaceService.workspace.docCollection.meta.setDocMeta(id, meta); | CODE |
| CRITICAL | packages/frontend/core/src/modules/doc/stores/docs.ts | 294 | return this.workspaceService.workspace.engine.doc.waitForDocLoaded(id); | CODE |
| CRITICAL | packages/frontend/core/src/modules/doc/stores/docs.ts | 298 | return this.workspaceService.workspace.engine.doc.addPriority(id, priority); | CODE |
| CRITICAL | packages/frontend/core/src/modules/doc/entities/doc.ts | 39 | this.workspaceService.workspace.engine.doc.addPriority(this.id, 100) | CODE |
| CRITICAL | packages/frontend/core/src/modules/doc/entities/doc.ts | 43 | this.workspaceService.workspace.engine.indexer.addPriority(this.id, 100) | CODE |
| CRITICAL | packages/frontend/core/src/modules/tag/stores/tag.ts | 48 | this.workspaceService.workspace.docCollection.slots.docListUpdated.subscribe( | CODE |
| CRITICAL | packages/frontend/core/src/modules/tag/stores/tag.ts | 78 | this.workspaceService.workspace.docCollection.meta.setProperties( | CODE |
| CRITICAL | packages/frontend/core/src/modules/tag/stores/tag.ts | 99 | this.workspaceService.workspace.docCollection.doc.transact(() => { | CODE |
| CRITICAL | packages/frontend/core/src/modules/tag/stores/tag.ts | 102 | this.workspaceService.workspace.docCollection.docs.forEach(doc => { | CODE |
| CRITICAL | packages/frontend/core/src/modules/tag/stores/tag.ts | 115 | this.workspaceService.workspace.docCollection.meta.setDocMeta(pageId, { | CODE |
| CRITICAL | …rontend/core/src/modules/media/entities/audio-media.ts | 163 | await this.workspaceService.workspace.engine.blob.get(blobId); | CODE |
| CRITICAL | …va/uniffi/affine_mobile_native/affine_mobile_native.kt | 1427 | private val cleaner = com.sun.jna.internal.Cleaner.getCleaner() | CODE |
| CRITICAL | …end/server/src/core/storage/__tests__/blob-job.spec.ts | 74 | t.context.db.workspace.findMany.resolves([ | CODE |
| CRITICAL | …end/server/src/core/storage/__tests__/blob-job.spec.ts | 96 | t.context.db.workspace.findMany.resolves([]); | CODE |
| CRITICAL | …backend/server/src/__tests__/auth/auth-session.spec.ts | 113 | t.context.runtime.executeAuthSessionCommandV1.secondCall.calledWithExactly({ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | blocksuite/framework/std/src/gfx/viewport-element.ts | 741 | COMMENT | |
| LOW | blocksuite/framework/std/src/gfx/viewport-element.ts | 801 | // for the center shift. Formula: final_pos = container_translate + scale * base_pos | COMMENT |
| LOW | blocksuite/framework/global/src/di/stable-hash.ts | 1 | // copied from https://github.com/shuding/stable-hash | COMMENT |
| LOW | blocksuite/framework/global/src/lit/watch.ts | 41 | this.__dispose?.(); | COMMENT |
| LOW | blocksuite/framework/global/src/lit/signal-watcher.ts | 41 | if (this.isUpdatePending === false || this.isConnected === false) { | COMMENT |
| LOW | …e/affine/blocks/paragraph/src/utils/merge-with-prev.ts | 81 | }).catch(console.error); | COMMENT |
| LOW | blocksuite/affine/blocks/frame/src/frame-manager.ts | 241 | surfaceModel.elementAdded.subscribe(({ id, local }) => { | COMMENT |
| LOW | …cksuite/affine/shared/src/utils/figma-squircle/draw.ts | 21 | // The original code by MartinRGB | COMMENT |
| LOW | …te/affine/components/src/color-picker/custom-button.ts | 41 | content-box, | COMMENT |
| LOW | …cksuite/affine/data-view/src/core/common/properties.ts | 281 | COMMENT | |
| LOW | …/view-presets/table/pc-virtual/controller/selection.ts | 721 | const newSelection = this.focusToArea(selection); | COMMENT |
| LOW | …/view-presets/table/pc-virtual/controller/selection.ts | 761 | // inline: 'nearest', | COMMENT |
| LOW | …/view-presets/table/pc-virtual/controller/selection.ts | 821 | newSelection.rowsSelection.start - 1 | COMMENT |
| LOW | …w/src/view-presets/table/pc-virtual/controller/drag.ts | 1 | // related component | COMMENT |
| LOW | …w/src/view-presets/table/pc-virtual/controller/drag.ts | 21 | // | undefined | COMMENT |
| LOW | …w/src/view-presets/table/pc-virtual/controller/drag.ts | 41 | // } | COMMENT |
| LOW | …w/src/view-presets/table/pc-virtual/controller/drag.ts | 61 | // } | COMMENT |
| LOW | …w/src/view-presets/table/pc-virtual/controller/drag.ts | 141 | // // const event = context.get('pointerState').raw; | COMMENT |
| LOW | …w/src/view-presets/table/pc-virtual/controller/drag.ts | 161 | COMMENT | |
| LOW | tests/affine-cloud-copilot/e2e/basic/chat.spec.ts | 21 | // loggedInPage: page, | COMMENT |
| LOW | tests/blocksuite/e2e/list.spec.ts | 601 | await pressBackspace(page); | COMMENT |
| LOW | tests/affine-local/e2e/links.spec.ts | 821 | await expect(cardTitle).toHaveText('Test Page'); | COMMENT |
| LOW | tests/affine-local/e2e/links.spec.ts | 841 | // await toolbar.getByRole('button', { name: 'Edit' }).click(); | COMMENT |
| LOW | tests/affine-local/e2e/links.spec.ts | 861 | // await page.keyboard.press('Enter'); | COMMENT |
| LOW | tests/affine-mobile/e2e/back-button-visibility.spec.ts | 21 | }); | COMMENT |
| LOW | .cargo/config.toml | 21 | rustflags = ["-C", "link-args=-Wl,-z,nodelete"] | COMMENT |
| LOW | …op/dialogs/setting/general-setting/plans/plan-card.tsx | 121 | const isFree = detail.plan === SubscriptionPlan.Free; | COMMENT |
| LOW | …oks/affine/use-register-blocksuite-editor-commands.tsx | 121 | // icon: <EdgelessIcon />, | COMMENT |
| LOW | …ntend/core/src/modules/journal/suggest-journal-date.ts | 21 | export function suggestJournalDate(query: string): { | COMMENT |
| LOW | packages/frontend/apps/ios/App/IOSApp-Bridging-Header.h | 1 | #ifndef IOSApp_Bridging_Header_h | COMMENT |
| LOW | …end/apps/ios/App/App/uniffi/affine_mobile_native.swift | 61 | // Define reader functionality. Normally this would be defined in a class or | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 1 | // This file was autogenerated by some hot garbage in the `uniffi` crate. | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 41 | RustBuffer errorBuf; | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 241 | #ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_VOID | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 261 | void uniffi_affine_mobile_native_fn_free_docstoragepool(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 281 | uint64_t uniffi_affine_mobile_native_fn_method_docstoragepool_crawl_doc_data(void*_Nonnull ptr, RustBuffer universal_id, | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 301 | uint64_t uniffi_affine_mobile_native_fn_method_docstoragepool_get_blob(void*_Nonnull ptr, RustBuffer universal_id, RustB | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 321 | uint64_t uniffi_affine_mobile_native_fn_method_docstoragepool_get_doc_clocks(void*_Nonnull ptr, RustBuffer universal_id, | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 341 | uint64_t uniffi_affine_mobile_native_fn_method_docstoragepool_get_peer_pushed_clock(void*_Nonnull ptr, RustBuffer univer | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 361 | uint64_t uniffi_affine_mobile_native_fn_method_docstoragepool_index_aggregate(void*_Nonnull ptr, RustBuffer universal_id | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 381 | uint64_t uniffi_affine_mobile_native_fn_method_docstoragepool_index_search(void*_Nonnull ptr, RustBuffer universal_id, R | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 401 | uint64_t uniffi_affine_mobile_native_fn_method_docstoragepool_push_update(void*_Nonnull ptr, RustBuffer universal_id, Ru | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 421 | uint64_t uniffi_affine_mobile_native_fn_method_docstoragepool_set_doc_indexed_clock(void*_Nonnull ptr, RustBuffer univer | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 441 | uint64_t uniffi_affine_mobile_native_fn_method_docstoragepool_set_peer_remote_clock(void*_Nonnull ptr, RustBuffer univer | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 461 | #define UNIFFI_FFIDEF_UNIFFI_AFFINE_MOBILE_NATIVE_FN_FUNC_RENDER_MERMAID_PREVIEW_SVG | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 481 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUSTBUFFER_FREE | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 501 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_U8 | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 521 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_I8 | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 541 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_U16 | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 561 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_I16 | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 581 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_U32 | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 601 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_I32 | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 621 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_U64 | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 641 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_I64 | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 661 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_F32 | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 681 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_F64 | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 701 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_POINTER | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 721 | #define UNIFFI_FFIDEF_FFI_AFFINE_MOBILE_NATIVE_RUST_FUTURE_FREE_RUST_BUFFER | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 761 | #endif | COMMENT |
| LOW | …tend/apps/ios/App/App/uniffi/affine_mobile_nativeFFI.h | 821 | #endif | COMMENT |
| 32 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | blocksuite/framework/sync/src/doc/engine.ts | 127 | // Step 1: start main sync peer | COMMENT |
| LOW⚡ | blocksuite/framework/sync/src/doc/engine.ts | 145 | // Step 2: wait for main sync complete | COMMENT |
| LOW⚡ | blocksuite/framework/sync/src/doc/engine.ts | 148 | // Step 3: start shadow sync peer | COMMENT |
| LOW | blocksuite/framework/sync/src/doc/engine.ts | 170 | // Step 4: continuously sync main and shadow | COMMENT |
| LOW⚡ | blocksuite/framework/sync/src/doc/peer.ts | 243 | // Step 1: load root doc | COMMENT |
| LOW⚡ | blocksuite/framework/sync/src/doc/peer.ts | 246 | // Step 2: load subdocs | COMMENT |
| LOW | blocksuite/framework/store/src/extension/extension.ts | 20 | * ## Step 1: Define the interfaces | COMMENT |
| LOW⚡ | blocksuite/framework/store/src/extension/extension.ts | 33 | * ## Step 2: Create a service identifier | COMMENT |
| LOW⚡ | blocksuite/framework/store/src/extension/extension.ts | 41 | * ## Step 3: Create implementations | COMMENT |
| LOW | blocksuite/framework/store/src/extension/extension.ts | 59 | * ## Step 4: Create an extension factory | COMMENT |
| LOW⚡ | blocksuite/framework/store/src/extension/extension.ts | 74 | * ## Step 5: Create concrete extensions | COMMENT |
| LOW⚡ | blocksuite/framework/store/src/extension/extension.ts | 81 | * ## Step 6: Use the extensions | COMMENT |
| LOW | …ksuite/docs/api/@blocksuite/store/classes/Extension.md | 25 | ## Step 1: Define the interfaces | COMMENT |
| LOW | …ksuite/docs/api/@blocksuite/store/classes/Extension.md | 38 | ## Step 2: Create a service identifier | COMMENT |
| LOW | …ksuite/docs/api/@blocksuite/store/classes/Extension.md | 46 | ## Step 3: Create implementations | COMMENT |
| LOW | …ksuite/docs/api/@blocksuite/store/classes/Extension.md | 64 | ## Step 4: Create an extension factory | COMMENT |
| LOW | …ksuite/docs/api/@blocksuite/store/classes/Extension.md | 79 | ## Step 5: Create concrete extensions | COMMENT |
| LOW | …ksuite/docs/api/@blocksuite/store/classes/Extension.md | 86 | ## Step 6: Use the extensions | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 19 | // Step 1: Open home page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 23 | // Step 2: Create a new page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 28 | // Step 3: Create a database in the page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 31 | // Step 4: Add a text column | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 34 | // Step 5: Create a new page to get its link | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 38 | // Step 6: Go back to database page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 42 | // Step 7: Select and edit the rich text cell | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 45 | // Step 8: Paste the document link | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 57 | // Step 9: Verify the result | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 64 | // Step 1: Open home page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 68 | // Step 2: Create a new page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 72 | // Step 3: Create a database in the page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 75 | // Step 4: Add a text column | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 78 | // Step 5: Create a new page as reference target | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 83 | // Step 6: Select and edit the rich text cell | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 88 | // Step 7: Wait for reference picker and select the page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 94 | // Step 8: Verify the result | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | blocksuite/framework/sync/src/doc/engine.ts | 127 | // Step 1: start main sync peer | COMMENT |
| LOW⚡ | blocksuite/framework/sync/src/doc/engine.ts | 145 | // Step 2: wait for main sync complete | COMMENT |
| LOW⚡ | blocksuite/framework/sync/src/doc/engine.ts | 148 | // Step 3: start shadow sync peer | COMMENT |
| LOW | blocksuite/framework/sync/src/doc/engine.ts | 170 | // Step 4: continuously sync main and shadow | COMMENT |
| LOW⚡ | blocksuite/framework/sync/src/doc/peer.ts | 243 | // Step 1: load root doc | COMMENT |
| LOW⚡ | blocksuite/framework/sync/src/doc/peer.ts | 246 | // Step 2: load subdocs | COMMENT |
| LOW | blocksuite/framework/store/src/extension/extension.ts | 20 | * ## Step 1: Define the interfaces | COMMENT |
| LOW⚡ | blocksuite/framework/store/src/extension/extension.ts | 33 | * ## Step 2: Create a service identifier | COMMENT |
| LOW⚡ | blocksuite/framework/store/src/extension/extension.ts | 41 | * ## Step 3: Create implementations | COMMENT |
| LOW | blocksuite/framework/store/src/extension/extension.ts | 59 | * ## Step 4: Create an extension factory | COMMENT |
| LOW⚡ | blocksuite/framework/store/src/extension/extension.ts | 74 | * ## Step 5: Create concrete extensions | COMMENT |
| LOW⚡ | blocksuite/framework/store/src/extension/extension.ts | 81 | * ## Step 6: Use the extensions | COMMENT |
| LOW | blocksuite/affine/components/src/peek/peekable.ts | 61 | * In edgeless mode, we need to check if the click target is not covered by | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 19 | // Step 1: Open home page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 23 | // Step 2: Create a new page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 28 | // Step 3: Create a database in the page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 31 | // Step 4: Add a text column | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 34 | // Step 5: Create a new page to get its link | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 38 | // Step 6: Go back to database page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 42 | // Step 7: Select and edit the rich text cell | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 45 | // Step 8: Paste the document link | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 57 | // Step 9: Verify the result | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 64 | // Step 1: Open home page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 68 | // Step 2: Create a new page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 72 | // Step 3: Create a database in the page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 75 | // Step 4: Add a text column | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 78 | // Step 5: Create a new page as reference target | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 83 | // Step 6: Select and edit the rich text cell | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 88 | // Step 7: Wait for reference picker and select the page | COMMENT |
| LOW⚡ | …affine-local/e2e/blocksuite/database/rich-text.spec.ts | 94 | // Step 8: Verify the result | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | .github/ISSUE_TEMPLATE/BUG-REPORT.yml | 79 | label: Is your content generated by AI? | CODE |
| HIGH⚡ | .github/ISSUE_TEMPLATE/BUG-REPORT.yml | 81 | (Required) Please confirm that the content you submit was not generated by AI or only minimally edited by AI. | CODE |
| HIGH⚡ | .github/ISSUE_TEMPLATE/BUG-REPORT.yml | 84 | - label: I confirm that the content I submitted was **not** generated by AI / **merely contained minimal** AI ed | CODE |
| HIGH⚡ | .github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml | 39 | label: Is your content generated by AI? | CODE |
| HIGH⚡ | .github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml | 41 | (Required) Please confirm that the content you submit was not generated by AI or only minimally edited by AI. | CODE |
| HIGH⚡ | .github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml | 44 | - label: I confirm that the content I submitted was **not** generated by AI / **merely contained minimal** AI ed | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/integration-test/src/__tests__/utils/doc-generator.ts | 14 | 'Hello World! Lorem ipsum dolor sit amet. Consectetur adipiscing elit. Sed do eiusmod tempor incididunt.' | CODE |
| LOW | …/integration-test/src/__tests__/utils/doc-generator.ts | 14 | 'Hello World! Lorem ipsum dolor sit amet. Consectetur adipiscing elit. Sed do eiusmod tempor incididunt.' | CODE |
| LOW | …te/affine/fragments/frame-panel/src/card/frame-card.ts | 248 | accessor status: 'selected' | 'dragging' | 'placeholder' | 'none' = 'none'; | CODE |
| LOW | …ine/fragments/frame-panel/src/body/frame-panel-body.ts | 274 | ? 'placeholder' | CODE |
| LOW | …uite/affine/inlines/latex/src/latex-node/latex-node.ts | 138 | html`<span class="placeholder">Equation</span>`, | CODE |
| LOW | tests/blocksuite/e2e/clipboard/image.spec.ts | 27 | 'text/html': `<p>Lorem Ipsum placeholder text.</p> | CODE |
| LOW | tests/blocksuite/e2e/clipboard/image.spec.ts | 44 | const str = 'Lorem Ipsum placeholder text.'; | CODE |
| LOW | tests/blocksuite/e2e/clipboard/image.spec.ts | 56 | await assertText(page, 'Lorem Ipsum placeholder text.', 1); | CODE |
| LOW | tests/affine-local/e2e/attachment-preview.spec.ts | 265 | await input.fill('What is Lorem Ipsum'); | CODE |
| LOW | tests/affine-local/e2e/attachment-preview.spec.ts | 267 | await expect(attachmentTitle).toHaveText('What is Lorem Ipsum.pdf'); | CODE |
| LOW | tests/affine-local/e2e/attachment-preview.spec.ts | 282 | await expect(portalName).toHaveText('What is Lorem Ipsum.pdf'); | CODE |
| LOW | …ges/frontend/core/src/components/hooks/use-mutation.ts | 32 | * trigger({ name: 'John Doe' }) | COMMENT |
| LOW | …rontend/core/src/__tests__/auth-native-sign-in.spec.ts | 70 | email: 'user@example.com', | CODE |
| LOW | …obile/components/navigation/virtual-scroller/index.tsx | 903 | if (row.kind === 'placeholder') { | CODE |
| LOW | …/mobile/dialogs/setting/others/delete-account.spec.tsx | 31 | email: 'user@example.com', | CODE |
| LOW | …/mobile/dialogs/setting/others/delete-account.spec.tsx | 257 | email: 'user@example.com', | CODE |
| LOW | …/mobile/dialogs/setting/others/delete-account.spec.tsx | 340 | target: { value: 'user@example.com' }, | CODE |
| LOW | …modules/navigation-projection/navigation-projection.ts | 8 | | 'placeholder'; | CODE |
| LOW | …modules/navigation-projection/navigation-projection.ts | 11 | kind: Exclude<MobileNavigationKind, 'section' | 'placeholder'>; | CODE |
| LOW | …modules/navigation-projection/navigation-projection.ts | 100 | kind: 'placeholder', | CODE |
| LOW | …modules/navigation-projection/navigation-projection.ts | 110 | kind: 'placeholder', | CODE |
| LOW | …es/navigation-projection/navigation-projection.spec.ts | 62 | 'placeholder', | CODE |
| LOW | …es/navigation-projection/navigation-projection.spec.ts | 175 | kind: 'placeholder', | CODE |
| LOW | packages/frontend/admin/src/use-mutation.ts | 32 | * trigger({ name: 'John Doe' }) | COMMENT |
| LOW | packages/backend/native/src/content_policy.rs | 316 | input: "user@example.com", | CODE |
| LOW | packages/backend/native/src/content_policy.rs | 318 | skeleton: "user@example.com", | CODE |
| LOW | packages/backend/server/src/mails/common.ts | 5 | email: 'test@test.com', | CODE |
| LOW | …s/backend/server/src/__tests__/payment/service.spec.ts | 106 | { user: { id: 'user-1', email: 'user@example.com' } } | CODE |
| LOW | …s/backend/server/src/__tests__/payment/service.spec.ts | 170 | { user: { id: 'user-1', email: 'user@example.com' } } | CODE |
| LOW | …ckend/server/src/__tests__/storage/blob-upload.spec.ts | 58 | email: 'user@example.com', | CODE |
| LOW | …ckend/server/src/__tests__/storage/blob-upload.spec.ts | 119 | email: 'user@example.com', | CODE |
| LOW⚡ | …ckages/common/infra/src/orm/core/__tests__/yjs.spec.ts | 575 | address: '123 Main St', | CODE |
| LOW⚡ | …ckages/common/infra/src/orm/core/__tests__/yjs.spec.ts | 580 | expect(doc.address).toBe('123 Main St'); | CODE |
| LOW⚡ | …ckages/common/infra/src/orm/core/__tests__/yjs.spec.ts | 589 | address: '123 Main St', | CODE |
| LOW | …ckages/common/infra/src/orm/core/__tests__/yjs.spec.ts | 603 | address: '123 Main St', | CODE |
| LOW | …ckages/common/infra/src/orm/core/__tests__/yjs.spec.ts | 616 | address: '123 Main St', | CODE |
| LOW | …ckages/common/infra/src/orm/core/__tests__/yjs.spec.ts | 627 | address: '123 Main St', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s/frontend/core/src/modules/workspace/services/repo.ts | 39 | * @returns the workspace reference and a release function, don't forget to call release function when you don't | COMMENT |
| LOW | packages/frontend/i18n/src/i18n.gen.ts | 6950 | * `Meetings allows you to record and transcribe meetings. Don't forget to enable it in AFFiNE settings.` | COMMENT |
| LOW | packages/frontend/i18n/src/resources/en.json | 1729 | "com.affine.settings.workspace.experimental-features.enable-meetings.description": "Meetings allows you to record and | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/set-version.sh | 18 | # Check if file exists | COMMENT |
| LOW | scripts/set-version.sh | 52 | # Check if file exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ages/frontend/core/src/components/properties/table.tsx | 82 | // ───────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/core/src/mobile/pages/workspace/collection/detail.tsx | 39 | // TODO: implement 404 page | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …es/backend/native/src/llm/assets/prompts/built-in.json | 233 | "template": "### Identify needs\nYou are an assistant helping find actions of meeting summary. Use this format, | CODE |