public icon indicating copy to clipboard operation
public copied to clipboard

Live comments (//?) often stale since v3

Open tslocke opened this issue 2 months ago • 24 comments

Hi

Since v3 I'm often seeing an issue where live comments stop responding to code edits and I have to restart Wallaby. I'm sorry I don't have an isolated repro. It happens a lot so I was hoping others have seen it too?

Thanks

{
  editorVersion: '1.99.3',
  pluginVersion: '1.0.470',
  editorType: 'VSCode',
  osVersion: 'darwin 23.5.0',
  nodeVersion: 'v22.14.0',
  coreVersion: '1.0.1891',
  pnp: '<not set>',
  pnpEsm: '<not set>',
  checksum: 'ZjQwMDExY2FjMWExNGFiMmU3NTRiYjYxMDM0M2I1ZWYsMTc3ODM3MTIwMDAwMCww',
  config: {
    diagnostics: {
      vitest: {
        file: {
          config: "import solid from 'vite-plugin-solid'\n" +
            "import tailwindcss from '@tailwindcss/vite'\n" +
            "import { defineConfig } from 'vitest/config'\n" +
            "import { baseConfig } from './vite.config.base'\n" +
            "import { mergeConfig } from 'vite'\n" +
            '\n' +
            'export default mergeConfig(baseConfig, defineConfig({\n' +
            '  plugins: [\n' +
            '    solid(),\n' +
            '    tailwindcss(), \n' +
            '  ],\n' +
            '  test: {\n' +
            '    globals: true,\n' +
            "    environment: 'jsdom'\n" +
            '  }\n' +
            '})) \n'
        },
        config: {
          config: {
            allowOnly: true,
            isolate: true,
            globals: true,
            environment: 'jsdom',
            pool: 'forks',
            clearMocks: false,
            restoreMocks: false,
            mockReset: false,
            unstubGlobals: false,
            unstubEnvs: false,
            include: [ '**/*.{test,spec}.?(c|m)[jt]s?(x)' ],
            exclude: [
              '**/node_modules/**',
              '**/dist/**',
              '**/cypress/**',
              '**/.{idea,git,cache,output,temp}/**',
              '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
            ],
            teardownTimeout: 10000,
            forceRerunTriggers: [ '**/package.json/**', '**/{vitest,vite}.config.*/**', '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
            update: false,
            reporters: [ [ 'default', {} ] ],
            silent: false,
            hideSkippedTests: false,
            api: { middlewareMode: true, token: '51e8da5c-4d0a-49ba-bef3-94eaed385193' },
            ui: false,
            uiBase: '/__vitest__/',
            open: true,
            css: { include: [], modules: { classNameStrategy: 'stable' } },
            coverage: {
              provider: 'v8',
              enabled: false,
              all: true,
              clean: true,
              cleanOnRerun: true,
              reportsDirectory: './coverage',
              exclude: [
                'coverage/**',
                'dist/**',
                '**/node_modules/**',
                '**/[.]**',
                'packages/*/test?(s)/**',
                '**/*.d.ts',
                '**/virtual:*',
                '**/__x00__*',
                '**/\x00*',
                'cypress/**',
                'test?(s)/**',
                'test?(-*).?(c|m)[jt]s?(x)',
                '**/*{.,-}{test,spec,bench,benchmark}?(-d).?(c|m)[jt]s?(x)',
                '**/__tests__/**',
                '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
                '**/vitest.{workspace,projects}.[jt]s?(on)',
                '**/.{eslint,mocha,prettier}rc.{?(c|m)js,yml}',
                'node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                '**/*.{test,spec}.?(c|m)[jt]s?(x)'
              ],
              reportOnFailure: false,
              reporter: [ [ 'text', {} ], [ 'html', {} ], [ 'clover', {} ], [ 'json', {} ] ],
              extension: [
                '.js',     '.cjs',
                '.mjs',    '.ts',
                '.mts',    '.tsx',
                '.jsx',    '.vue',
                '.svelte', '.marko',
                '.astro'
              ],
              allowExternal: false,
              excludeAfterRemap: false,
              ignoreEmptyLines: true,
              processingConcurrency: 8
            },
            fakeTimers: { loopLimit: 10000, shouldClearNativeTimers: true },
            maxConcurrency: 5,
            dangerouslyIgnoreUnhandledErrors: false,
            typecheck: {
              checker: 'tsc',
              include: [ '**/*.{test,spec}-d.?(c|m)[jt]s?(x)' ],
              exclude: [
                '**/node_modules/**',
                '**/dist/**',
                '**/cypress/**',
                '**/.{idea,git,cache,output,temp}/**',
                '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
              ],
              enabled: false
            },
            slowTestThreshold: 300,
            disableConsoleIntercept: false,
            server: {
              deps: {
                external: [ {} ],
                inline: [ {}, {}, {} ],
                inlineFiles: [
                  '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                  'file://<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs'
                ],
                moduleDirectories: [ '/node_modules/' ],
                cacheDir: 'node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709'
              }
            },
            setupFiles: [ '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
            poolOptions: { threads: {}, forks: {} },
            config: '<rootDir>/vitest.config.ts',
            defines: {},
            root: '<rootDir>',
            mode: 'test',
            project: [],
            provide: {},
            name: '',
            inspector: { enabled: false, waitForDebugger: false },
            clearScreen: true,
            fileParallelism: true,
            browser: {
              enabled: false,
              headless: false,
              isolate: true,
              fileParallelism: true,
              ui: true,
              screenshotFailures: false,
              viewport: { width: 414, height: 896 },
              locators: { testIdAttribute: 'data-testid' },
              api: { port: 63315 }
            },
            expect: {},
            deps: {
              moduleDirectories: [ '/node_modules/' ],
              optimizer: { ssr: { enabled: true }, web: { enabled: true } },
              web: { transformAssets: true, transformCss: true, transformGlobPattern: [] }
            },
            globalSetup: [],
            attachmentsDir: '<rootDir>/.vitest-attachments',
            snapshotOptions: { expand: false, snapshotFormat: {}, updateSnapshot: 'new', snapshotEnvironment: null },
            snapshotSerializers: [],
            poolMatchGlobs: [],
            cache: { dir: '<rootDir>/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709' },
            sequence: { groupOrder: 0, hooks: 'stack' },
            environmentMatchGlobs: [],
            testTransformMode: {},
            testTimeout: 5000,
            hookTimeout: 10000
          },
          projects: [
            {
              path: '<rootDir>',
              config: {
                allowOnly: true,
                isolate: true,
                globals: true,
                environment: 'jsdom',
                pool: 'forks',
                clearMocks: false,
                restoreMocks: false,
                mockReset: false,
                unstubGlobals: false,
                unstubEnvs: false,
                include: [ '**/*.{test,spec}.?(c|m)[jt]s?(x)' ],
                exclude: [
                  '**/node_modules/**',
                  '**/dist/**',
                  '**/cypress/**',
                  '**/.{idea,git,cache,output,temp}/**',
                  '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
                ],
                teardownTimeout: 10000,
                forceRerunTriggers: [ '**/package.json/**', '**/{vitest,vite}.config.*/**', '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
                update: false,
                reporters: [ [ 'default', {} ] ],
                silent: false,
                hideSkippedTests: false,
                api: { middlewareMode: true, token: '51e8da5c-4d0a-49ba-bef3-94eaed385193' },
                ui: false,
                uiBase: '/__vitest__/',
                open: true,
                css: { include: [], modules: { classNameStrategy: 'stable' } },
                coverage: {
                  provider: 'v8',
                  enabled: false,
                  all: true,
                  clean: true,
                  cleanOnRerun: true,
                  reportsDirectory: './coverage',
                  exclude: [
                    'coverage/**',
                    'dist/**',
                    '**/node_modules/**',
                    '**/[.]**',
                    'packages/*/test?(s)/**',
                    '**/*.d.ts',
                    '**/virtual:*',
                    '**/__x00__*',
                    '**/\x00*',
                    'cypress/**',
                    'test?(s)/**',
                    'test?(-*).?(c|m)[jt]s?(x)',
                    '**/*{.,-}{test,spec,bench,benchmark}?(-d).?(c|m)[jt]s?(x)',
                    '**/__tests__/**',
                    '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
                    '**/vitest.{workspace,projects}.[jt]s?(on)',
                    '**/.{eslint,mocha,prettier}rc.{?(c|m)js,yml}',
                    'node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                    '**/*.{test,spec}.?(c|m)[jt]s?(x)'
                  ],
                  reportOnFailure: false,
                  reporter: [ [ 'text', {} ], [ 'html', {} ], [ 'clover', {} ], [ 'json', {} ] ],
                  extension: [
                    '.js',     '.cjs',
                    '.mjs',    '.ts',
                    '.mts',    '.tsx',
                    '.jsx',    '.vue',
                    '.svelte', '.marko',
                    '.astro'
                  ],
                  allowExternal: false,
                  excludeAfterRemap: false,
                  ignoreEmptyLines: true,
                  processingConcurrency: 8
                },
                fakeTimers: { loopLimit: 10000, shouldClearNativeTimers: true },
                maxConcurrency: 5,
                dangerouslyIgnoreUnhandledErrors: false,
                typecheck: {
                  checker: 'tsc',
                  include: [ '**/*.{test,spec}-d.?(c|m)[jt]s?(x)' ],
                  exclude: [
                    '**/node_modules/**',
                    '**/dist/**',
                    '**/cypress/**',
                    '**/.{idea,git,cache,output,temp}/**',
                    '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
                  ],
                  enabled: false
                },
                slowTestThreshold: 300,
                disableConsoleIntercept: false,
                server: {
                  deps: {
                    external: [ {} ],
                    inline: [ {}, {}, {} ],
                    inlineFiles: [
                      '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                      'file://<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs'
                    ],
                    moduleDirectories: [ '/node_modules/' ],
                    cacheDir: 'node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709'
                  }
                },
                setupFiles: [ '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
                poolOptions: { threads: {}, forks: {} },
                config: '<rootDir>/vitest.config.ts',
                defines: {},
                root: '<rootDir>',
                mode: 'test',
                project: [],
                provide: {},
                name: '',
                inspector: { enabled: false, waitForDebugger: false },
                clearScreen: true,
                fileParallelism: true,
                browser: {
                  enabled: false,
                  headless: false,
                  isolate: true,
                  fileParallelism: true,
                  ui: true,
                  screenshotFailures: false,
                  viewport: { width: 414, height: 896 },
                  locators: { testIdAttribute: 'data-testid' },
                  api: { port: 63315 }
                },
                expect: {},
                deps: {
                  moduleDirectories: [ '/node_modules/' ],
                  optimizer: { ssr: { enabled: true }, web: { enabled: true } },
                  web: { transformAssets: true, transformCss: true, transformGlobPattern: [] }
                },
                globalSetup: [],
                attachmentsDir: '<rootDir>/.vitest-attachments',
                snapshotOptions: { expand: false, snapshotFormat: {}, updateSnapshot: 'new', snapshotEnvironment: null },
                snapshotSerializers: [],
                poolMatchGlobs: [],
                cache: { dir: '<rootDir>/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709' },
                sequence: { groupOrder: 0, hooks: 'stack' },
                environmentMatchGlobs: [],
                testTransformMode: {},
                testTimeout: 5000,
                hookTimeout: 10000
              }
            }
          ],
          package: {
            version: '3.2.4',
            urls: { hooks: 'file://<homeDir>/.cursor/extensions/wallabyjs.wallaby-vscode-1.0.470-universal/wallaby4716e6/runners/node/hooks.mjs' },
            paths: { root: '<rootDir>/node_modules/vitest', dist: '<rootDir>/node_modules/vitest/dist' }
          }
        }
      }
    },
    testFramework: { version: '[email protected]', configurator: '[email protected]', reporter: '[email protected]', starter: '[email protected]', autoDetected: true },
    preserveComments: false,
    extractComments: false,
    files: [
      { pattern: '**/*.{test,spec}.?(c|m)[jt]s?(x)', ignore: true, trigger: true, load: true, file: true },
      { pattern: '**/node_modules/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/dist/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/cypress/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/.{idea,git,cache,output,temp}/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/*.timestamp-*', ignore: true, trigger: true, load: true, file: true },
      { pattern: '**/*.*', ignore: false, trigger: true, load: true, order: 1 }
    ],
    tests: [
      { pattern: '**/node_modules/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/dist/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/cypress/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/.{idea,git,cache,output,temp}/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/*.{test,spec}.?(c|m)[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 2 }
    ],
    workers: { initial: 0, regular: 0, recycle: false },
    dot: true,
    captureConsoleLog: true,
    filesWithNoCoverageCalculated: [],
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    compilers: {},
    logLimits: { inline: { depth: 5, elements: 5000 }, values: { default: { stringLength: 8192 }, autoExpand: { elements: 5000, stringLength: 8192, depth: 10 } } },
    preprocessors: {},
    maxConsoleMessagesPerTest: 100,
    maxTraceSteps: 999999,
    maxTraceStepsForWatchExpressionPrefetch: 10,
    autoConsoleLog: true,
    delays: { run: 0, edit: 100, update: 0 },
    teardown: undefined,
    hints: {
      ignoreCoverage: '__REGEXP /ignore coverage|istanbul ignore|c8 ignore/',
      ignoreCoverageForFile: '__REGEXP /ignore file coverage/',
      commentAutoLog: '?',
      testFileSelection: { include: '__REGEXP /file\\.only/', exclude: '__REGEXP /file\\.skip/' }
    },
    automaticTestFileSelection: true,
    runSelectedTestsOnly: false,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    env: {
      type: 'node',
      kind: 'vitest',
      params: {},
      runner: '<homeDir>/.fnm/node-versions/v22.14.0/installation/bin/node',
      runnerReason: 'ambient',
      runnerReasonSource: '',
      viewportSize: { width: 800, height: 600 },
      options: { width: 800, height: 600 },
      bundle: true
    },
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    runAllTestsWhenNoAffectedTests: false,
    symlinkNodeModules: true,
    allowedToStreamResults: true,
    allowedToCacheResults: true,
    configCode: 'module.exports = function(wallaby) {\n' +
      '  return {\n' +
      '    autoDetect: true,\n' +
      '    files: [\n' +
      "      'packages/*/src/**/*.{ts,tsx}',\n" +
      "      'packages/*/tests/**/*.{ts,tsx}',\n" +
      "      '!packages/*/tests/**/*.test.{ts,tsx}',\n" +
      '    ],\n' +
      '    tests: [\n' +
      "      'packages/*/tests/**/*.test.{ts,tsx}',\n" +
      "      '!packages/*/tests/e2e/*.test.{ts,tsx}',\n" +
      '    ],\n' +
      '    env: {\n' +
      "      type: 'node',\n" +
      '    },\n' +
      '\n' +
      '    hints: {\n' +
      '      ignoreCoverageForFile: /ignore file coverage/\n' +
      '    },\n' +
      '\n' +
      '    resolveGetters: true,\n' +
      '\n' +
      '    logLimits: {\n' +
      '      inline: {\n' +
      '        depth: 20,\n' +
      '      },\n' +
      '      values: {\n' +
      '        default: {\n' +
      '          stringLength: 3000,\n' +
      '        },\n' +
      '        autoExpand: {\n' +
      '          stringLength: 8192,\n' +
      '          elements: 5000,\n' +
      '          depth: 10,\n' +
      '        }\n' +
      '      },\n' +
      '    },\n' +
      '  \n' +
      '  }\n' +
      '} \n'
  },
  packageJSON: { dependencies: undefined, devDependencies: { '@types/node': '^24.0.10', jsdom: '^26.1.0', typescript: '^5.8.3', vite: '^7.0.2', 'vite-tsconfig-paths': '^5.1.4', vitest: '^3.2.4' } },
  fs: { numberOfFiles: 202 },
  debug: [
    '2025-10-16T09:03:39.494Z project waiting for initial run signal\n',
    '2025-10-16T09:03:39.498Z model Initialization Completed: 141ms\n',
    '2025-10-16T09:03:39.542Z config Attempting automatic configuration for vitest\n',
    '2025-10-16T09:03:39.544Z vitest/config Detected Vitest (3.2.4).\n',
    '2025-10-16T09:03:39.550Z ui.service Starting UI service on port: 55000\n',
    '2025-10-16T09:03:39.551Z ui.service UI service started on port: 55000\n',
    '2025-10-16T09:03:40.125Z config Finished attempting automatic configuration for vitest (583ms)\n',
    '2025-10-16T09:03:40.126Z config Using node.js runner from ambient environment: <homeDir>/.fnm/node-versions/v22.14.0/installation/bin/node\n',
    '2025-10-16T09:03:40.126Z project Wallaby Node version: v22.14.0\n',
    '2025-10-16T09:03:40.126Z project Wallaby config: <rootDir>/wallaby.js\n',
    '2025-10-16T09:03:40.153Z fs File system starting\n',
    '2025-10-16T09:03:40.180Z fs File system scan completed\n',
    '2025-10-16T09:03:40.182Z project File cache: <homeDir>/.cursor/extensions/wallabyjs.wallaby-vscode-1.0.470-universal/projects/805c66fc3325d269\n',
    '2025-10-16T09:03:40.187Z workers Parallelism for initial run: 6, for regular run: 3\n',
    '2025-10-16T09:03:40.188Z workers Web server is listening at 61331\n',
    '2025-10-16T09:03:40.189Z project File cache requires some updates, waiting required files from IDE\n',
    '2025-10-16T09:03:40.193Z project Stopping process pool\n',
    '2025-10-16T09:03:40.195Z runManager Test run started; run priority: 3\n',
    '2025-10-16T09:03:40.196Z projectData Invalidated run result cache for 1 test file(s)\n',
    '2025-10-16T09:03:40.196Z runManager Running all tests\n',
    '2025-10-16T09:03:40.198Z workers Planning to run 1 queued test files (full run)\n',
    '2025-10-16T09:03:40.199Z workers [worker #0] New run (tier 1, regular): 1 test files, time estimate 1698.56 ms\n',
    '2025-10-16T09:03:40.200Z workers Starting run worker instance #0\n',
    '2025-10-16T09:03:40.200Z workers Started run worker instance (immediate) #0\n',
    '2025-10-16T09:03:40.200Z nodeRunner Starting sandbox [worker #0, session #0wipl]\n',
    '2025-10-16T09:03:40.260Z nodeRunner Preparing sandbox [worker #0, session #0wipl]\n',
    '2025-10-16T09:03:40.260Z nodeRunner Prepared sandbox [worker #0, session #0wipl]\n',
    '2025-10-16T09:03:40.261Z workers [worker #0, session #0wipl] Running tests in sandbox\n',
    '2025-10-16T09:03:40.620Z fs No metadata for added file found: node_modules/.vite-temp/vitest.config.ts.timestamp-1760605420506-d38653b8ddbcb.mjs\n',
    '2025-10-16T09:03:40.720Z fs No metadata for deleted file found: node_modules/.vite-temp/vitest.config.ts.timestamp-1760605420506-d38653b8ddbcb.mjs\n',
    "2025-10-16T09:03:40.725Z workers 'Scheduling Vitest Run (0wipl): 2025-10-16T09:03:40.725Z'\n",
    '2025-10-16T09:03:41.780Z workers [0wipl.1] Test executed: generates stable view keys\n',
    '2025-10-16T09:03:41.780Z workers [0wipl.1] Test executed: generates different keys for different view types\n',
    '2025-10-16T09:03:41.780Z workers [0wipl.1] Test executed: view.createChild\n',
    '2025-10-16T09:03:41.780Z workers [0wipl.1] Test executed: view.element returns undefined if element does not exist\n',
    '2025-10-16T09:03:41.781Z workers [0wipl.1] Test executed: parent-child relationships\n',
    '2025-10-16T09:03:41.781Z workers [0wipl.1] Test executed: view.elementId\n',
    '2025-10-16T09:03:41.781Z workers [0wipl.1] Test executed: view.element\n',
    '2025-10-16T09:03:41.781Z workers [0wipl.1] Test executed: view sibling relationships\n',
    '2025-10-16T09:03:41.782Z workers [0wipl.1] Test executed: view.selectable\n',
    '2025-10-16T09:03:41.782Z workers [0wipl.1] Test executed: view.caretFocussable\n',
    '2025-10-16T09:03:41.782Z workers [0wipl.1] Test executed: view.isActive\n',
    '2025-10-16T09:03:41.782Z workers [0wipl.1] Test executed: view.isSelected\n',
    '2025-10-16T09:03:41.782Z workers [0wipl.1] Test executed: viewStore.view(viewKey)\n',
    '2025-10-16T09:03:41.782Z workers [0wipl.1] Test executed: viewStore.view(element)\n',
    '2025-10-16T09:03:41.782Z workers [0wipl.1] Test executed: viewStore.viewForElement\n',
    '2025-10-16T09:03:41.782Z workers [0wipl.1] Test executed: viewStore.viewCount\n',
    '2025-10-16T09:03:41.782Z workers [0wipl.1] Test executed: viewStore.main\n',
    '2025-10-16T09:03:41.783Z workers [0wipl.1] Test executed: viewStore.main throws error when main view is missing\n',
    '2025-10-16T09:03:41.783Z workers [0wipl.1] Test executed: view deregistration with separate store\n',
    '2025-10-16T09:03:41.783Z workers [0wipl.1] Test executed: .select\n',
    '2025-10-16T09:03:41.783Z workers [0wipl.1] Test executed: .select does nothing if not selectable\n',
    '2025-10-16T09:03:41.783Z workers [0wipl.1] Test executed: .selectUp\n',
    '2025-10-16T09:03:41.783Z workers [0wipl.1] Test executed: .selectDown\n',
    '2025-10-16T09:03:41.783Z workers [0wipl.1] Test executed: .selectLeft\n',
    '2025-10-16T09:03:41.783Z workers [0wipl.1] Test executed: .selectRight\n',
    '2025-10-16T09:03:41.783Z workers [0wipl.1] Test executed: .prependItem\n',
    '2025-10-16T09:03:41.783Z workers [0wipl.1] Test executed: .insertItemBefore\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: .insertItemAfter\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: .indent\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: .outdent\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: .swapWithPrevious\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: .swapWithNext\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: .duplicate\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: view.firstCaretView\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: view.viewAt\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: view.waitingViewAt\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: view.selectAt\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: view.fold\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: view.unfold\n',
    '2025-10-16T09:03:41.784Z workers [0wipl.1] Test executed: view.changeView\n',
    '2025-10-16T09:03:41.785Z workers [0wipl.1] Test executed: view.appendField\n',
    '2025-10-16T09:03:41.785Z workers [0wipl.1] Test executed: view.prependField\n',
    '2025-10-16T09:03:41.785Z workers [0wipl.1] Test executed: view.insertFieldBefore\n',
    '2025-10-16T09:03:41.785Z workers [0wipl.1] Test executed: view.insertFieldAfter\n',
    '2025-10-16T09:03:41.785Z workers [0wipl.1] Test executed: view.cut\n',
    '2025-10-16T09:03:41.785Z workers [0wipl.1] Test executed: view.copy\n',
    '2025-10-16T09:03:41.785Z workers [0wipl.1] Test executed: view.paste\n',
    '2025-10-16T09:03:41.785Z workers [0wipl.1] Test executed: view.startChangeType\n',
    '2025-10-16T09:03:41.785Z workers [0wipl.1] Test executed: view.changeType\n',
    '2025-10-16T09:03:41.785Z workers [0wipl.1] Test executed: view.wrap\n',
    '2025-10-16T09:03:41.786Z workers [0wipl.1] Test executed: view.selectNew\n',
    '2025-10-16T09:03:41.786Z workers [0wipl.1] Test executed: view.makeChildView\n',
    '2025-10-16T09:03:41.786Z workers [0wipl.1] Test executed: viewStore.activeView\n',
    '2025-10-16T09:03:41.786Z workers [0wipl.1] Test executed: viewStore.selectedView\n',
    '2025-10-16T09:03:41.786Z workers [0wipl.1] Test executed: viewStore.movementMode\n',
    '2025-10-16T09:03:41.786Z workers [0wipl.1] Test executed: view element ID pattern view:<view-key>\n',
    '2025-10-16T09:03:41.786Z workers [0wipl.1] Test executed: view element DOM integration\n',
    '2025-10-16T09:03:41.786Z workers [0wipl.1] Test executed: view key digest includes parent key\n',
    '2025-10-16T09:03:41.787Z workers [0wipl.1] Test executed: view key digest includes block ID\n',
    '2025-10-16T09:03:41.787Z workers [0wipl.1] Test executed: view key digest includes view type\n',
    '2025-10-16T09:03:41.787Z workers [0wipl.1] Test executed: view key uniqueness within parent/block/type\n',
    '2025-10-16T09:03:41.787Z workers [0wipl.1] Test executed: field view creation with block ID + field ID\n',
    '2025-10-16T09:03:41.787Z workers [0wipl.1] Test executed: item view creation with block ID + index\n',
    '2025-10-16T09:03:41.787Z workers [0wipl.1] Test executed: view hierarchy mirrors DOM hierarchy\n',
    '2025-10-16T09:03:41.787Z workers [0wipl.1] Test executed: selected view derived from browser focus\n',
    '2025-10-16T09:03:41.787Z workers [0wipl.1] Test executed: view hierarchy derived from DOM structure\n',
    '2025-10-16T09:03:41.787Z workers [0wipl.1] Loaded unknown number of test(s)\n',
    '2025-10-16T09:03:41.808Z workers [0wipl.1] Test executed: .appendItem\n',
    "2025-10-16T09:03:41.822Z workers 'Vitest Run Complete (0wipl): 2025-10-16T09:03:41.822Z'\n",
    '2025-10-16T09:03:41.823Z workers [0wipl] Run 67 test(s), skipped 0 test(s)\n',
    '2025-10-16T09:03:41.823Z workers [0wipl] Sandbox is responsive, closing it\n',
    '2025-10-16T09:03:41.824Z workers No queued test files to run\n',
    '2025-10-16T09:03:41.824Z workers Processing buffered results (idle), buffer size: 1, buffer time: 0ms\n',
    '2025-10-16T09:03:41.825Z workers Handling first result of full run\n',
    '2025-10-16T09:03:41.825Z runManager Test run finished\n',
    '2025-10-16T09:03:41.826Z project Processed console.log entries\n',
    '2025-10-16T09:03:41.826Z project Processed loading sequences\n',
    '2025-10-16T09:03:41.827Z project Processed executed tests\n',
    '2025-10-16T09:03:41.831Z project Processed code coverage\n',
    '2025-10-16T09:03:41.879Z runManager Test run result processed and sent to IDE\n',
    '2025-10-16T09:03:41.888Z fs No metadata for added file found: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n'
  ]
}

tslocke avatar Oct 16 '25 09:10 tslocke

I'm also seeing the test run spinner going for a long time sometimes. Possibly the same problem.

tslocke avatar Oct 16 '25 09:10 tslocke

And If I add a '.only' on a test I find it's often quicker to restart wallaby. This is all very familiar for a year or two ago with v2.

tslocke avatar Oct 16 '25 09:10 tslocke

often seeing an issue where live comments stop responding to code edits also seeing the test run spinner going for a long time sometimes

Can you please copy the Wallaby diagnostics report when the issue occurs and share it? The report you included earlier is from a successful start of Wallaby with no further edits or issues.

ArtemGovorov avatar Oct 16 '25 09:10 ArtemGovorov

Here's a report taken while the spinner is running and running.

Too long for a github comment I think.

https://gist.github.com/tslocke/fd9b15abf3fbdcabdfe4f5fe2bad10ab

tslocke avatar Oct 16 '25 12:10 tslocke

Thanks for the updated diagnostics report. Could you please update to the latest version of Wallaby core, v1.0.1892. We believe this will fix your issue.

smcenlly avatar Oct 17 '25 00:10 smcenlly

I haven't seen the stuck spinner so far today. I am still seeing stale live comments. This report is from one of those.

{
  editorVersion: '1.99.3',
  pluginVersion: '1.0.470',
  editorType: 'VSCode',
  osVersion: 'darwin 23.5.0',
  nodeVersion: 'v22.14.0',
  coreVersion: '1.0.1893',
  pnp: '<not set>',
  pnpEsm: '<not set>',
  checksum: 'ZjQwMDExY2FjMWExNGFiMmU3NTRiYjYxMDM0M2I1ZWYsMTc3ODM3MTIwMDAwMCww',
  config: {
    diagnostics: {
      vitest: {
        file: {
          config: "import solid from 'vite-plugin-solid'\n" +
            "import tailwindcss from '@tailwindcss/vite'\n" +
            "import { defineConfig } from 'vitest/config'\n" +
            "import { baseConfig } from './vite.config.base'\n" +
            "import { mergeConfig } from 'vite'\n" +
            '\n' +
            'export default mergeConfig(baseConfig, defineConfig({\n' +
            '  plugins: [\n' +
            '    solid(),\n' +
            '    tailwindcss(), \n' +
            '  ],\n' +
            '  test: {\n' +
            '    globals: true,\n' +
            "    environment: 'jsdom'\n" +
            '  }\n' +
            '})) \n'
        },
        config: {
          config: {
            allowOnly: true,
            isolate: true,
            globals: true,
            environment: 'jsdom',
            pool: 'forks',
            clearMocks: false,
            restoreMocks: false,
            mockReset: false,
            unstubGlobals: false,
            unstubEnvs: false,
            include: [ '**/*.{test,spec}.?(c|m)[jt]s?(x)' ],
            exclude: [
              '**/node_modules/**',
              '**/dist/**',
              '**/cypress/**',
              '**/.{idea,git,cache,output,temp}/**',
              '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
            ],
            teardownTimeout: 10000,
            forceRerunTriggers: [ '**/package.json/**', '**/{vitest,vite}.config.*/**', '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
            update: false,
            reporters: [ [ 'default', {} ] ],
            silent: false,
            hideSkippedTests: false,
            api: { middlewareMode: true, token: '23ca489b-c123-4d0d-8ecf-c447b5c6faeb' },
            ui: false,
            uiBase: '/__vitest__/',
            open: true,
            css: { include: [], modules: { classNameStrategy: 'stable' } },
            coverage: {
              provider: 'v8',
              enabled: false,
              all: true,
              clean: true,
              cleanOnRerun: true,
              reportsDirectory: './coverage',
              exclude: [
                'coverage/**',
                'dist/**',
                '**/node_modules/**',
                '**/[.]**',
                'packages/*/test?(s)/**',
                '**/*.d.ts',
                '**/virtual:*',
                '**/__x00__*',
                '**/\x00*',
                'cypress/**',
                'test?(s)/**',
                'test?(-*).?(c|m)[jt]s?(x)',
                '**/*{.,-}{test,spec,bench,benchmark}?(-d).?(c|m)[jt]s?(x)',
                '**/__tests__/**',
                '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
                '**/vitest.{workspace,projects}.[jt]s?(on)',
                '**/.{eslint,mocha,prettier}rc.{?(c|m)js,yml}',
                'node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                '**/*.{test,spec}.?(c|m)[jt]s?(x)'
              ],
              reportOnFailure: false,
              reporter: [ [ 'text', {} ], [ 'html', {} ], [ 'clover', {} ], [ 'json', {} ] ],
              extension: [
                '.js',     '.cjs',
                '.mjs',    '.ts',
                '.mts',    '.tsx',
                '.jsx',    '.vue',
                '.svelte', '.marko',
                '.astro'
              ],
              allowExternal: false,
              excludeAfterRemap: false,
              ignoreEmptyLines: true,
              processingConcurrency: 8
            },
            fakeTimers: { loopLimit: 10000, shouldClearNativeTimers: true },
            maxConcurrency: 5,
            dangerouslyIgnoreUnhandledErrors: false,
            typecheck: {
              checker: 'tsc',
              include: [ '**/*.{test,spec}-d.?(c|m)[jt]s?(x)' ],
              exclude: [
                '**/node_modules/**',
                '**/dist/**',
                '**/cypress/**',
                '**/.{idea,git,cache,output,temp}/**',
                '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
              ],
              enabled: false
            },
            slowTestThreshold: 300,
            disableConsoleIntercept: false,
            server: {
              deps: {
                external: [ {} ],
                inline: [ {}, {}, {} ],
                inlineFiles: [
                  '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                  'file://<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs'
                ],
                moduleDirectories: [ '/node_modules/' ],
                cacheDir: 'node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709'
              }
            },
            setupFiles: [ '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
            poolOptions: { threads: {}, forks: {} },
            config: '<rootDir>/vitest.config.ts',
            defines: {},
            root: '<rootDir>',
            mode: 'test',
            project: [],
            provide: {},
            name: '',
            inspector: { enabled: false, waitForDebugger: false },
            clearScreen: true,
            fileParallelism: true,
            browser: {
              enabled: false,
              headless: false,
              isolate: true,
              fileParallelism: true,
              ui: true,
              screenshotFailures: false,
              viewport: { width: 414, height: 896 },
              locators: { testIdAttribute: 'data-testid' },
              api: { port: 63315 }
            },
            expect: {},
            deps: {
              moduleDirectories: [ '/node_modules/' ],
              optimizer: { ssr: { enabled: true }, web: { enabled: true } },
              web: { transformAssets: true, transformCss: true, transformGlobPattern: [] }
            },
            globalSetup: [],
            attachmentsDir: '<rootDir>/.vitest-attachments',
            snapshotOptions: { expand: false, snapshotFormat: {}, updateSnapshot: 'new', snapshotEnvironment: null },
            snapshotSerializers: [],
            poolMatchGlobs: [],
            cache: { dir: '<rootDir>/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709' },
            sequence: { groupOrder: 0, hooks: 'stack' },
            environmentMatchGlobs: [],
            testTransformMode: {},
            testTimeout: 5000,
            hookTimeout: 10000
          },
          projects: [
            {
              path: '<rootDir>',
              config: {
                allowOnly: true,
                isolate: true,
                globals: true,
                environment: 'jsdom',
                pool: 'forks',
                clearMocks: false,
                restoreMocks: false,
                mockReset: false,
                unstubGlobals: false,
                unstubEnvs: false,
                include: [ '**/*.{test,spec}.?(c|m)[jt]s?(x)' ],
                exclude: [
                  '**/node_modules/**',
                  '**/dist/**',
                  '**/cypress/**',
                  '**/.{idea,git,cache,output,temp}/**',
                  '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
                ],
                teardownTimeout: 10000,
                forceRerunTriggers: [ '**/package.json/**', '**/{vitest,vite}.config.*/**', '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
                update: false,
                reporters: [ [ 'default', {} ] ],
                silent: false,
                hideSkippedTests: false,
                api: { middlewareMode: true, token: '23ca489b-c123-4d0d-8ecf-c447b5c6faeb' },
                ui: false,
                uiBase: '/__vitest__/',
                open: true,
                css: { include: [], modules: { classNameStrategy: 'stable' } },
                coverage: {
                  provider: 'v8',
                  enabled: false,
                  all: true,
                  clean: true,
                  cleanOnRerun: true,
                  reportsDirectory: './coverage',
                  exclude: [
                    'coverage/**',
                    'dist/**',
                    '**/node_modules/**',
                    '**/[.]**',
                    'packages/*/test?(s)/**',
                    '**/*.d.ts',
                    '**/virtual:*',
                    '**/__x00__*',
                    '**/\x00*',
                    'cypress/**',
                    'test?(s)/**',
                    'test?(-*).?(c|m)[jt]s?(x)',
                    '**/*{.,-}{test,spec,bench,benchmark}?(-d).?(c|m)[jt]s?(x)',
                    '**/__tests__/**',
                    '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
                    '**/vitest.{workspace,projects}.[jt]s?(on)',
                    '**/.{eslint,mocha,prettier}rc.{?(c|m)js,yml}',
                    'node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                    '**/*.{test,spec}.?(c|m)[jt]s?(x)'
                  ],
                  reportOnFailure: false,
                  reporter: [ [ 'text', {} ], [ 'html', {} ], [ 'clover', {} ], [ 'json', {} ] ],
                  extension: [
                    '.js',     '.cjs',
                    '.mjs',    '.ts',
                    '.mts',    '.tsx',
                    '.jsx',    '.vue',
                    '.svelte', '.marko',
                    '.astro'
                  ],
                  allowExternal: false,
                  excludeAfterRemap: false,
                  ignoreEmptyLines: true,
                  processingConcurrency: 8
                },
                fakeTimers: { loopLimit: 10000, shouldClearNativeTimers: true },
                maxConcurrency: 5,
                dangerouslyIgnoreUnhandledErrors: false,
                typecheck: {
                  checker: 'tsc',
                  include: [ '**/*.{test,spec}-d.?(c|m)[jt]s?(x)' ],
                  exclude: [
                    '**/node_modules/**',
                    '**/dist/**',
                    '**/cypress/**',
                    '**/.{idea,git,cache,output,temp}/**',
                    '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
                  ],
                  enabled: false
                },
                slowTestThreshold: 300,
                disableConsoleIntercept: false,
                server: {
                  deps: {
                    external: [ {} ],
                    inline: [ {}, {}, {} ],
                    inlineFiles: [
                      '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                      'file://<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs'
                    ],
                    moduleDirectories: [ '/node_modules/' ],
                    cacheDir: 'node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709'
                  }
                },
                setupFiles: [ '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
                poolOptions: { threads: {}, forks: {} },
                config: '<rootDir>/vitest.config.ts',
                defines: {},
                root: '<rootDir>',
                mode: 'test',
                project: [],
                provide: {},
                name: '',
                inspector: { enabled: false, waitForDebugger: false },
                clearScreen: true,
                fileParallelism: true,
                browser: {
                  enabled: false,
                  headless: false,
                  isolate: true,
                  fileParallelism: true,
                  ui: true,
                  screenshotFailures: false,
                  viewport: { width: 414, height: 896 },
                  locators: { testIdAttribute: 'data-testid' },
                  api: { port: 63315 }
                },
                expect: {},
                deps: {
                  moduleDirectories: [ '/node_modules/' ],
                  optimizer: { ssr: { enabled: true }, web: { enabled: true } },
                  web: { transformAssets: true, transformCss: true, transformGlobPattern: [] }
                },
                globalSetup: [],
                attachmentsDir: '<rootDir>/.vitest-attachments',
                snapshotOptions: { expand: false, snapshotFormat: {}, updateSnapshot: 'new', snapshotEnvironment: null },
                snapshotSerializers: [],
                poolMatchGlobs: [],
                cache: { dir: '<rootDir>/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709' },
                sequence: { groupOrder: 0, hooks: 'stack' },
                environmentMatchGlobs: [],
                testTransformMode: {},
                testTimeout: 5000,
                hookTimeout: 10000
              }
            }
          ],
          package: {
            version: '3.2.4',
            urls: { hooks: 'file://<homeDir>/.cursor/extensions/wallabyjs.wallaby-vscode-1.0.470-universal/wallaby265e63/runners/node/hooks.mjs' },
            paths: { root: '<rootDir>/node_modules/vitest', dist: '<rootDir>/node_modules/vitest/dist' }
          }
        }
      }
    },
    testFramework: { version: '[email protected]', configurator: '[email protected]', reporter: '[email protected]', starter: '[email protected]', autoDetected: true },
    preserveComments: false,
    extractComments: false,
    files: [
      { pattern: '**/*.{test,spec}.?(c|m)[jt]s?(x)', ignore: true, trigger: true, load: true, file: true },
      { pattern: '**/node_modules/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/dist/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/cypress/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/.{idea,git,cache,output,temp}/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/*.timestamp-*', ignore: true, trigger: true, load: true, file: true },
      { pattern: '**/*.*', ignore: false, trigger: true, load: true, order: 1 }
    ],
    tests: [
      { pattern: '**/node_modules/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/dist/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/cypress/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/.{idea,git,cache,output,temp}/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/*.{test,spec}.?(c|m)[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 2 }
    ],
    workers: { initial: 0, regular: 0, recycle: false },
    dot: true,
    captureConsoleLog: true,
    filesWithNoCoverageCalculated: [],
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    compilers: {},
    logLimits: { inline: { depth: 5, elements: 5000 }, values: { default: { stringLength: 8192 }, autoExpand: { elements: 5000, stringLength: 8192, depth: 10 } } },
    preprocessors: {},
    maxConsoleMessagesPerTest: 100,
    maxTraceSteps: 999999,
    maxTraceStepsForWatchExpressionPrefetch: 10,
    autoConsoleLog: true,
    delays: { run: 0, edit: 100, update: 0 },
    teardown: undefined,
    hints: {
      ignoreCoverage: '__REGEXP /ignore coverage|istanbul ignore|c8 ignore/',
      ignoreCoverageForFile: '__REGEXP /ignore file coverage/',
      commentAutoLog: '?',
      testFileSelection: { include: '__REGEXP /file\\.only/', exclude: '__REGEXP /file\\.skip/' }
    },
    automaticTestFileSelection: true,
    runSelectedTestsOnly: false,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    env: {
      type: 'node',
      kind: 'vitest',
      params: {},
      runner: '<homeDir>/.fnm/node-versions/v22.14.0/installation/bin/node',
      runnerReason: 'ambient',
      runnerReasonSource: '',
      viewportSize: { width: 800, height: 600 },
      options: { width: 800, height: 600 },
      bundle: true
    },
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    runAllTestsWhenNoAffectedTests: false,
    symlinkNodeModules: true,
    allowedToStreamResults: true,
    allowedToCacheResults: true,
    configCode: 'module.exports = function(wallaby) {\n' +
      '  return {\n' +
      '    autoDetect: true,\n' +
      '    files: [\n' +
      "      'packages/*/src/**/*.{ts,tsx}',\n" +
      "      'packages/*/tests/**/*.{ts,tsx}',\n" +
      "      '!packages/*/tests/**/*.test.{ts,tsx}',\n" +
      '    ],\n' +
      '    tests: [\n' +
      "      'packages/*/tests/**/*.test.{ts,tsx}',\n" +
      "      '!packages/*/tests/e2e/*.test.{ts,tsx}',\n" +
      '    ],\n' +
      '    env: {\n' +
      "      type: 'node',\n" +
      '    },\n' +
      '\n' +
      '    hints: {\n' +
      '      ignoreCoverageForFile: /ignore file coverage/\n' +
      '    },\n' +
      '\n' +
      '    resolveGetters: true,\n' +
      '\n' +
      '    logLimits: {\n' +
      '      inline: {\n' +
      '        depth: 20,\n' +
      '      },\n' +
      '      values: {\n' +
      '        default: {\n' +
      '          stringLength: 3000,\n' +
      '        },\n' +
      '        autoExpand: {\n' +
      '          stringLength: 8192,\n' +
      '          elements: 5000,\n' +
      '          depth: 10,\n' +
      '        }\n' +
      '      },\n' +
      '    },\n' +
      '  \n' +
      '  }\n' +
      '} \n'
  },
  packageJSON: { dependencies: undefined, devDependencies: { '@types/node': '^24.0.10', jsdom: '^26.1.0', typescript: '^5.8.3', vite: '^7.0.2', 'vite-tsconfig-paths': '^5.1.4', vitest: '^3.2.4' } },
  fs: { numberOfFiles: 202 },
  debug: [
    '2025-10-17T11:39:05.226Z project waiting for initial run signal\n',
    '2025-10-17T11:39:05.229Z model Initialization Completed: 146ms\n',
    '2025-10-17T11:39:05.287Z config Attempting automatic configuration for vitest\n',
    '2025-10-17T11:39:05.288Z vitest/config Detected Vitest (3.2.4).\n',
    '2025-10-17T11:39:05.295Z ui.service Starting UI service on port: 55000\n',
    '2025-10-17T11:39:05.298Z ui.service UI service started on port: 55000\n',
    '2025-10-17T11:39:06.026Z config Finished attempting automatic configuration for vitest (739ms)\n',
    '2025-10-17T11:39:06.029Z config Using node.js runner from ambient environment: <homeDir>/.fnm/node-versions/v22.14.0/installation/bin/node\n',
    '2025-10-17T11:39:06.030Z project Wallaby Node version: v22.14.0\n',
    '2025-10-17T11:39:06.030Z project Wallaby config: <rootDir>/wallaby.js\n',
    '2025-10-17T11:39:06.101Z fs File system starting\n',
    '2025-10-17T11:39:06.138Z fs File system scan completed\n',
    '2025-10-17T11:39:06.141Z project File cache: <homeDir>/.cursor/extensions/wallabyjs.wallaby-vscode-1.0.470-universal/projects/805c66fc3325d269\n',
    '2025-10-17T11:39:06.148Z workers Parallelism for initial run: 6, for regular run: 3\n',
    '2025-10-17T11:39:06.148Z workers Web server is listening at 58745\n',
    '2025-10-17T11:39:06.150Z project Stopping process pool\n',
    '2025-10-17T11:39:06.150Z project File cache is up-to-date, starting initial test run\n',
    '2025-10-17T11:39:06.158Z runManager Test run started; run priority: 3\n',
    '2025-10-17T11:39:06.161Z projectData Invalidated run result cache for 1 test file(s)\n',
    '2025-10-17T11:39:06.162Z runManager Running all tests\n',
    '2025-10-17T11:39:06.165Z workers Planning to run 1 queued test files (full run)\n',
    '2025-10-17T11:39:06.165Z workers [worker #0] New run (tier 1, regular): 1 test files, time estimate 2196.48 ms\n',
    '2025-10-17T11:39:06.167Z workers Starting run worker instance #0\n',
    '2025-10-17T11:39:06.167Z workers Started run worker instance (immediate) #0\n',
    '2025-10-17T11:39:06.167Z vitestRunner Starting sandbox [worker #0, session #1moby]\n',
    '2025-10-17T11:39:06.350Z vitestRunner Preparing sandbox [worker #0, session #1moby]\n',
    '2025-10-17T11:39:06.350Z vitestRunner Prepared sandbox [worker #0, session #1moby]\n',
    '2025-10-17T11:39:06.350Z workers [worker #0, session #1moby] Running tests in sandbox\n',
    '2025-10-17T11:39:06.772Z fs No metadata for added file found: node_modules/.vite-temp/vitest.config.ts.timestamp-1760701146659-ea393f6de26cb.mjs\n',
    '2025-10-17T11:39:06.873Z fs No metadata for deleted file found: node_modules/.vite-temp/vitest.config.ts.timestamp-1760701146659-ea393f6de26cb.mjs\n',
    "2025-10-17T11:39:06.876Z workers 'Scheduling Vitest Run (1moby): 2025-10-17T11:39:06.876Z'\n",
    '2025-10-17T11:39:07.358Z fs No metadata for added file found: .git/index\n',
    '2025-10-17T11:39:07.359Z fs File changed: .git/index\n',
    '2025-10-17T11:39:07.359Z fs No metadata for changed file found: .git/index\n',
    '2025-10-17T11:39:08.336Z workers [1moby.1] Test executed: generates stable view keys\n',
    '2025-10-17T11:39:08.336Z workers [1moby.1] Test executed: generates different keys for different view types\n',
    '2025-10-17T11:39:08.336Z workers [1moby.1] Test executed: view.createChild\n',
    '2025-10-17T11:39:08.336Z workers [1moby.1] Test executed: view.element returns undefined if element does not exist\n',
    '2025-10-17T11:39:08.336Z workers [1moby.1] Test executed: parent-child relationships\n',
    '2025-10-17T11:39:08.336Z workers [1moby.1] Test executed: view.elementId\n',
    '2025-10-17T11:39:08.337Z workers [1moby.1] Test executed: view.element\n',
    '2025-10-17T11:39:08.337Z workers [1moby.1] Test executed: view sibling relationships\n',
    '2025-10-17T11:39:08.337Z workers [1moby.1] Test executed: view.selectable\n',
    '2025-10-17T11:39:08.337Z workers [1moby.1] Test executed: view.caretFocussable\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: view.isActive\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: view.isSelected\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: viewStore.view(viewKey)\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: viewStore.view(element)\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: viewStore.viewForElement\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: viewStore.main\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: viewStore.main throws error when main view is missing\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: view deregistration with separate store\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: .select\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: .select does nothing if not selectable\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: .selectUp\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: .selectDown\n',
    '2025-10-17T11:39:08.338Z workers [1moby.1] Test executed: .selectLeft\n',
    '2025-10-17T11:39:08.339Z workers [1moby.1] Test executed: .selectRight\n',
    '2025-10-17T11:39:08.339Z workers [1moby.1] Test executed: .prependItem\n',
    '2025-10-17T11:39:08.339Z workers [1moby.1] Test executed: .insertItemBefore\n',
    '2025-10-17T11:39:08.339Z workers [1moby.1] Test executed: .insertItemAfter\n',
    '2025-10-17T11:39:08.339Z workers [1moby.1] Test executed: .swapWithPrevious\n',
    '2025-10-17T11:39:08.339Z workers [1moby.1] Test executed: .swapWithNext\n',
    '2025-10-17T11:39:08.339Z workers [1moby.1] Test executed: .indent\n',
    '2025-10-17T11:39:08.339Z workers [1moby.1] Test executed: .outdent\n',
    '2025-10-17T11:39:08.339Z workers [1moby.1] Test executed: .duplicate\n',
    '2025-10-17T11:39:08.339Z workers [1moby.1] Test executed: view.set\n',
    '2025-10-17T11:39:08.340Z workers [1moby.1] Test executed: view.set (overwrite existing field)\n',
    '2025-10-17T11:39:08.340Z workers [1moby.1] Test executed: view.deleteField\n',
    '2025-10-17T11:39:08.341Z workers [1moby.1] Test executed: view.deleteField (delete first field)\n',
    '2025-10-17T11:39:08.341Z workers [1moby.1] Test executed: view.appendField\n',
    '2025-10-17T11:39:08.341Z workers [1moby.1] Test executed: view.prependField\n',
    '2025-10-17T11:39:08.341Z workers [1moby.1] Test executed: view.insertFieldBefore\n',
    '2025-10-17T11:39:08.341Z workers [1moby.1] Test executed: view.insertFieldAfter\n',
    '2025-10-17T11:39:08.342Z workers [1moby.1] Test executed: view.firstCaretView\n',
    '2025-10-17T11:39:08.342Z workers [1moby.1] Test executed: view.viewAt\n',
    '2025-10-17T11:39:08.342Z workers [1moby.1] Test executed: view.waitingViewAt\n',
    '2025-10-17T11:39:08.342Z workers [1moby.1] Test executed: view.selectAt\n',
    '2025-10-17T11:39:08.342Z workers [1moby.1] Test executed: view.fold\n',
    '2025-10-17T11:39:08.342Z workers [1moby.1] Test executed: view.unfold\n',
    '2025-10-17T11:39:08.342Z workers [1moby.1] Test executed: view.changeView\n',
    '2025-10-17T11:39:08.342Z workers [1moby.1] Test executed: view.cut\n',
    '2025-10-17T11:39:08.343Z workers [1moby.1] Test executed: view.copy\n',
    '2025-10-17T11:39:08.343Z workers [1moby.1] Test executed: view.paste\n',
    '2025-10-17T11:39:08.343Z workers [1moby.1] Test executed: view.startChangeType\n',
    '2025-10-17T11:39:08.343Z workers [1moby.1] Test executed: view.changeType\n',
    '2025-10-17T11:39:08.343Z workers [1moby.1] Test executed: view.wrap\n',
    '2025-10-17T11:39:08.344Z workers [1moby.1] Test executed: view.selectNew\n',
    '2025-10-17T11:39:08.344Z workers [1moby.1] Test executed: view.makeChildView\n',
    '2025-10-17T11:39:08.344Z workers [1moby.1] Test executed: viewStore.activeView\n',
    '2025-10-17T11:39:08.344Z workers [1moby.1] Test executed: viewStore.selectedView\n',
    '2025-10-17T11:39:08.344Z workers [1moby.1] Test executed: viewStore.movementMode\n',
    '2025-10-17T11:39:08.344Z workers [1moby.1] Test executed: view element ID pattern view:<view-key>\n',
    '2025-10-17T11:39:08.344Z workers [1moby.1] Test executed: view element DOM integration\n',
    '2025-10-17T11:39:08.344Z workers [1moby.1] Test executed: view key digest includes parent key\n',
    '2025-10-17T11:39:08.344Z workers [1moby.1] Test executed: view key digest includes block ID\n',
    '2025-10-17T11:39:08.344Z workers [1moby.1] Test executed: view key digest includes view type\n',
    '2025-10-17T11:39:08.344Z workers [1moby.1] Test executed: view key uniqueness within parent/block/type\n',
    '2025-10-17T11:39:08.345Z workers [1moby.1] Test executed: field view creation with block ID + field ID\n',
    '2025-10-17T11:39:08.345Z workers [1moby.1] Test executed: item view creation with block ID + index\n',
    '2025-10-17T11:39:08.345Z workers [1moby.1] Test executed: view hierarchy mirrors DOM hierarchy\n',
    '2025-10-17T11:39:08.345Z workers [1moby.1] Test executed: selected view derived from browser focus\n',
    '2025-10-17T11:39:08.345Z workers [1moby.1] Test executed: view hierarchy derived from DOM structure\n',
    '2025-10-17T11:39:08.345Z workers [1moby.1] Loaded unknown number of test(s)\n',
    '2025-10-17T11:39:08.387Z workers [1moby.1] Test executed: .appendItem\n',
    "2025-10-17T11:39:08.404Z workers 'Vitest Run Complete (1moby): 2025-10-17T11:39:08.404Z'\n",
    '2025-10-17T11:39:08.404Z workers [1moby] Run 70 test(s), skipped 0 test(s)\n',
    '2025-10-17T11:39:08.405Z workers [1moby] Sandbox is responsive, closing it\n',
    '2025-10-17T11:39:08.406Z workers No queued test files to run\n',
    '2025-10-17T11:39:08.407Z workers Processing buffered results (idle), buffer size: 1, buffer time: 0ms\n',
    '2025-10-17T11:39:08.407Z workers Handling first result of full run\n',
    '2025-10-17T11:39:08.408Z runManager Test run finished\n',
    '2025-10-17T11:39:08.409Z project Processed console.log entries\n',
    '2025-10-17T11:39:08.410Z project Processed loading sequences\n',
    '2025-10-17T11:39:08.410Z project Processed executed tests\n',
    '2025-10-17T11:39:08.415Z project Processed code coverage\n',
    '2025-10-17T11:39:08.466Z runManager Test run result processed and sent to IDE\n',
    '2025-10-17T11:39:08.505Z fs No metadata for added file found: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-17T11:39:12.136Z fs File changed in editor: packages/inio/src/app/solid-object-view.ts\n',
    '2025-10-17T11:39:12.141Z runManager Test run started; run priority: 2\n',
    '2025-10-17T11:39:12.141Z testTask Test files from affected: 1, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2025-10-17T11:39:12.141Z testTask Running only selected or not excluded tests\n',
    '2025-10-17T11:39:12.142Z workers Planning to run 1 queued test files (regular run)\n',
    '2025-10-17T11:39:12.142Z workers [worker #0] New run (tier 2, regular): 1 test files, time estimate 910.98 ms\n',
    '2025-10-17T11:39:12.142Z vitestRunner Starting sandbox [worker #0, session #w9k2b]\n',
    '2025-10-17T11:39:12.143Z vitestRunner Preparing sandbox [worker #0, session #w9k2b]\n',
    '2025-10-17T11:39:12.143Z vitestRunner Prepared sandbox [worker #0, session #w9k2b]\n',
    '2025-10-17T11:39:12.143Z workers [worker #0, session #w9k2b] Running tests in sandbox\n',
    "2025-10-17T11:39:12.246Z workers 'Scheduling Vitest Run (w9k2b): 2025-10-17T11:39:12.145Z'\n",
    '2025-10-17T11:39:13.214Z workers [w9k2b.1] Test executed: generates stable view keys\n',
    '2025-10-17T11:39:13.214Z workers [w9k2b.1] Test executed: generates different keys for different view types\n',
    '2025-10-17T11:39:13.214Z workers [w9k2b.1] Test executed: view.createChild\n',
    '2025-10-17T11:39:13.214Z workers [w9k2b.1] Test executed: view.element returns undefined if element does not exist\n',
    '2025-10-17T11:39:13.214Z workers [w9k2b.1] Test executed: parent-child relationships\n',
    '2025-10-17T11:39:13.214Z workers [w9k2b.1] Test executed: view.elementId\n',
    '2025-10-17T11:39:13.215Z workers [w9k2b.1] Test executed: view.element\n',
    '2025-10-17T11:39:13.215Z workers [w9k2b.1] Test executed: view sibling relationships\n',
    '2025-10-17T11:39:13.215Z workers [w9k2b.1] Test executed: view.selectable\n',
    '2025-10-17T11:39:13.215Z workers [w9k2b.1] Test executed: view.caretFocussable\n',
    '2025-10-17T11:39:13.215Z workers [w9k2b.1] Test executed: view.isActive\n',
    '2025-10-17T11:39:13.215Z workers [w9k2b.1] Test executed: view.isSelected\n',
    '2025-10-17T11:39:13.215Z workers [w9k2b.1] Test executed: viewStore.view(viewKey)\n',
    '2025-10-17T11:39:13.215Z workers [w9k2b.1] Test executed: viewStore.view(element)\n',
    '2025-10-17T11:39:13.215Z workers [w9k2b.1] Test executed: viewStore.viewForElement\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: viewStore.main\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: viewStore.main throws error when main view is missing\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: view deregistration with separate store\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: .select\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: .select does nothing if not selectable\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: .selectUp\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: .selectDown\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: .selectLeft\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: .selectRight\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: .prependItem\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: .insertItemBefore\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: .insertItemAfter\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: .swapWithPrevious\n',
    '2025-10-17T11:39:13.216Z workers [w9k2b.1] Test executed: .swapWithNext\n',
    '2025-10-17T11:39:13.217Z workers [w9k2b.1] Test executed: .indent\n',
    '2025-10-17T11:39:13.217Z workers [w9k2b.1] Test executed: .outdent\n',
    '2025-10-17T11:39:13.217Z workers [w9k2b.1] Test executed: .duplicate\n',
    '2025-10-17T11:39:13.217Z workers [w9k2b.1] Test executed: view.set\n',
    '2025-10-17T11:39:13.217Z workers [w9k2b.1] Test executed: view.set (overwrite existing field)\n',
    '2025-10-17T11:39:13.218Z workers [w9k2b.1] Test executed: view.deleteField\n',
    '2025-10-17T11:39:13.218Z workers [w9k2b.1] Test executed: view.deleteField (delete first field)\n',
    '2025-10-17T11:39:13.218Z workers [w9k2b.1] Test executed: view.appendField\n',
    '2025-10-17T11:39:13.218Z workers [w9k2b.1] Test executed: view.prependField\n',
    '2025-10-17T11:39:13.218Z workers [w9k2b.1] Test executed: view.insertFieldBefore\n',
    '2025-10-17T11:39:13.218Z workers [w9k2b.1] Test executed: view.insertFieldAfter\n',
    '2025-10-17T11:39:13.218Z workers [w9k2b.1] Test executed: view.firstCaretView\n',
    '2025-10-17T11:39:13.218Z workers [w9k2b.1] Test executed: view.viewAt\n',
    '2025-10-17T11:39:13.218Z workers [w9k2b.1] Test executed: view.waitingViewAt\n',
    '2025-10-17T11:39:13.218Z workers [w9k2b.1] Test executed: view.selectAt\n',
    '2025-10-17T11:39:13.218Z workers [w9k2b.1] Test executed: view.fold\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view.unfold\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view.changeView\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view.cut\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view.copy\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view.paste\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view.startChangeType\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view.changeType\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view.wrap\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view.selectNew\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view.makeChildView\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: viewStore.activeView\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: viewStore.selectedView\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: viewStore.movementMode\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view element ID pattern view:<view-key>\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view element DOM integration\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view key digest includes parent key\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view key digest includes block ID\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view key digest includes view type\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: view key uniqueness within parent/block/type\n',
    '2025-10-17T11:39:13.219Z workers [w9k2b.1] Test executed: field view creation with block ID + field ID\n',
    '2025-10-17T11:39:13.220Z workers [w9k2b.1] Test executed: item view creation with block ID + index\n',
    '2025-10-17T11:39:13.220Z workers [w9k2b.1] Test executed: view hierarchy mirrors DOM hierarchy\n',
    '2025-10-17T11:39:13.220Z workers [w9k2b.1] Test executed: selected view derived from browser focus\n',
    '2025-10-17T11:39:13.220Z workers [w9k2b.1] Test executed: view hierarchy derived from DOM structure\n',
    '2025-10-17T11:39:13.221Z workers [w9k2b.1] Loaded unknown number of test(s)\n',
    '2025-10-17T11:39:13.256Z workers [w9k2b.1] Test executed: .appendItem\n',
    "2025-10-17T11:39:13.269Z workers 'Vitest Run Complete (w9k2b): 2025-10-17T11:39:13.269Z'\n",
    '2025-10-17T11:39:13.269Z workers [w9k2b] Run 70 test(s), skipped 0 test(s)\n',
    '2025-10-17T11:39:13.269Z workers [w9k2b] Sandbox is responsive, closing it\n',
    '2025-10-17T11:39:13.270Z workers No queued test files to run\n',
    '2025-10-17T11:39:13.270Z workers Processing buffered results (idle), buffer size: 1, buffer time: 0ms\n',
    '2025-10-17T11:39:13.270Z runManager Test run finished\n',
    '2025-10-17T11:39:13.270Z project Processed console.log entries\n',
    '2025-10-17T11:39:13.270Z project Processed loading sequences\n',
    '2025-10-17T11:39:13.270Z project Processed executed tests\n',
    '2025-10-17T11:39:13.272Z project Processed code coverage\n',
    '2025-10-17T11:39:13.282Z runManager Test run result processed and sent to IDE\n',
    '2025-10-17T11:39:13.302Z fs File changed: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-17T11:39:13.302Z fs No metadata for changed file found: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n'
  ]
}

tslocke avatar Oct 17 '25 11:10 tslocke

Is it possible to downgrade to v2? I'm using VS Code.

tslocke avatar Oct 17 '25 11:10 tslocke

Are you able to share a screenshot of the stale comments or/and describe the steps you're taking to see the problem? Based on your diagnostics report, it looks like you were able to reproduce it fairly readily? If possible, are you able to share a project (or sample project) that has the problem so we can attempt to reproduce it ourselves? You can share with me via GitHub, or send to us at [email protected].


To use a previous version of Wallaby, you may follow our offline installation instructions. The previous version prior to Wallaby v3 was 1.0.1869.

We normally recommend staying on the latest version since that’s where all our updates, fixes, and improvements go. That said, we completely understand wanting to get things working smoothly again.

We really appreciate your patience and help while we look into what’s going on with v3.

smcenlly avatar Oct 17 '25 23:10 smcenlly

@tslocke From your diagnostics report, it looks like the repo where you’re seeing live comment issues is very similar to this one you shared earlier: https://github.com/tslocke/wallaby-3540. We’ve tried various live comment scenarios in that repo, and everything seems to work as expected. Could you please check if you can reproduce the issue in that repo?

ArtemGovorov avatar Oct 18 '25 05:10 ArtemGovorov

I'm also still seeing very slow (stuck?) re-runs on edits. Here's a report after one of those.

I'll try to find some time to isolate to a repo I can share.

{
  editorVersion: '1.99.3',
  pluginVersion: '1.0.470',
  editorType: 'VSCode',
  osVersion: 'darwin 23.5.0',
  nodeVersion: 'v22.14.0',
  coreVersion: '1.0.1897',
  pnp: '<not set>',
  pnpEsm: '<not set>',
  checksum: 'ZjQwMDExY2FjMWExNGFiMmU3NTRiYjYxMDM0M2I1ZWYsMTc3ODM3MTIwMDAwMCww',
  config: {
    diagnostics: {
      vitest: {
        file: {
          config: "import solid from 'vite-plugin-solid'\n" +
            "import tailwindcss from '@tailwindcss/vite'\n" +
            "import { defineConfig } from 'vitest/config'\n" +
            "import { baseConfig } from './vite.config.base'\n" +
            "import { mergeConfig } from 'vite'\n" +
            '\n' +
            'export default mergeConfig(baseConfig, defineConfig({\n' +
            '  plugins: [\n' +
            '    solid(),\n' +
            '    tailwindcss(), \n' +
            '  ],\n' +
            '  test: {\n' +
            '    globals: true,\n' +
            "    environment: 'jsdom'\n" +
            '  }\n' +
            '})) \n'
        },
        config: {
          config: {
            allowOnly: true,
            isolate: true,
            globals: true,
            environment: 'jsdom',
            pool: 'forks',
            clearMocks: false,
            restoreMocks: false,
            mockReset: false,
            unstubGlobals: false,
            unstubEnvs: false,
            include: [ '**/*.{test,spec}.?(c|m)[jt]s?(x)' ],
            exclude: [
              '**/node_modules/**',
              '**/dist/**',
              '**/cypress/**',
              '**/.{idea,git,cache,output,temp}/**',
              '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
            ],
            teardownTimeout: 10000,
            forceRerunTriggers: [ '**/package.json/**', '**/{vitest,vite}.config.*/**', '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
            update: false,
            reporters: [ [ 'default', {} ] ],
            silent: false,
            hideSkippedTests: false,
            api: { middlewareMode: true, token: 'a2f868e5-d308-48d3-bf78-778f2fa881af' },
            ui: false,
            uiBase: '/__vitest__/',
            open: true,
            css: { include: [], modules: { classNameStrategy: 'stable' } },
            coverage: {
              provider: 'v8',
              enabled: false,
              all: true,
              clean: true,
              cleanOnRerun: true,
              reportsDirectory: './coverage',
              exclude: [
                'coverage/**',
                'dist/**',
                '**/node_modules/**',
                '**/[.]**',
                'packages/*/test?(s)/**',
                '**/*.d.ts',
                '**/virtual:*',
                '**/__x00__*',
                '**/\x00*',
                'cypress/**',
                'test?(s)/**',
                'test?(-*).?(c|m)[jt]s?(x)',
                '**/*{.,-}{test,spec,bench,benchmark}?(-d).?(c|m)[jt]s?(x)',
                '**/__tests__/**',
                '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
                '**/vitest.{workspace,projects}.[jt]s?(on)',
                '**/.{eslint,mocha,prettier}rc.{?(c|m)js,yml}',
                'node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                '**/*.{test,spec}.?(c|m)[jt]s?(x)'
              ],
              reportOnFailure: false,
              reporter: [ [ 'text', {} ], [ 'html', {} ], [ 'clover', {} ], [ 'json', {} ] ],
              extension: [
                '.js',     '.cjs',
                '.mjs',    '.ts',
                '.mts',    '.tsx',
                '.jsx',    '.vue',
                '.svelte', '.marko',
                '.astro'
              ],
              allowExternal: false,
              excludeAfterRemap: false,
              ignoreEmptyLines: true,
              processingConcurrency: 8
            },
            fakeTimers: { loopLimit: 10000, shouldClearNativeTimers: true },
            maxConcurrency: 5,
            dangerouslyIgnoreUnhandledErrors: false,
            typecheck: {
              checker: 'tsc',
              include: [ '**/*.{test,spec}-d.?(c|m)[jt]s?(x)' ],
              exclude: [
                '**/node_modules/**',
                '**/dist/**',
                '**/cypress/**',
                '**/.{idea,git,cache,output,temp}/**',
                '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
              ],
              enabled: false
            },
            slowTestThreshold: 300,
            disableConsoleIntercept: false,
            server: {
              deps: {
                external: [ {} ],
                inline: [ {}, {}, {} ],
                inlineFiles: [
                  '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                  'file://<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs'
                ],
                moduleDirectories: [ '/node_modules/' ],
                cacheDir: 'node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709'
              }
            },
            setupFiles: [ '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
            poolOptions: { threads: {}, forks: {} },
            config: '<rootDir>/vitest.config.ts',
            defines: {},
            root: '<rootDir>',
            mode: 'test',
            project: [],
            provide: {},
            name: '',
            inspector: { enabled: false, waitForDebugger: false },
            clearScreen: true,
            fileParallelism: true,
            browser: {
              enabled: false,
              headless: false,
              isolate: true,
              fileParallelism: true,
              ui: true,
              screenshotFailures: false,
              viewport: { width: 414, height: 896 },
              locators: { testIdAttribute: 'data-testid' },
              api: { port: 63315 }
            },
            expect: {},
            deps: {
              moduleDirectories: [ '/node_modules/' ],
              optimizer: { ssr: { enabled: true }, web: { enabled: true } },
              web: { transformAssets: true, transformCss: true, transformGlobPattern: [] }
            },
            globalSetup: [],
            attachmentsDir: '<rootDir>/.vitest-attachments',
            snapshotOptions: { expand: false, snapshotFormat: {}, updateSnapshot: 'new', snapshotEnvironment: null },
            snapshotSerializers: [],
            poolMatchGlobs: [],
            cache: { dir: '<rootDir>/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709' },
            sequence: { groupOrder: 0, hooks: 'stack' },
            environmentMatchGlobs: [],
            testTransformMode: {},
            testTimeout: 5000,
            hookTimeout: 10000
          },
          projects: [
            {
              path: '<rootDir>',
              config: {
                allowOnly: true,
                isolate: true,
                globals: true,
                environment: 'jsdom',
                pool: 'forks',
                clearMocks: false,
                restoreMocks: false,
                mockReset: false,
                unstubGlobals: false,
                unstubEnvs: false,
                include: [ '**/*.{test,spec}.?(c|m)[jt]s?(x)' ],
                exclude: [
                  '**/node_modules/**',
                  '**/dist/**',
                  '**/cypress/**',
                  '**/.{idea,git,cache,output,temp}/**',
                  '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
                ],
                teardownTimeout: 10000,
                forceRerunTriggers: [ '**/package.json/**', '**/{vitest,vite}.config.*/**', '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
                update: false,
                reporters: [ [ 'default', {} ] ],
                silent: false,
                hideSkippedTests: false,
                api: { middlewareMode: true, token: 'a2f868e5-d308-48d3-bf78-778f2fa881af' },
                ui: false,
                uiBase: '/__vitest__/',
                open: true,
                css: { include: [], modules: { classNameStrategy: 'stable' } },
                coverage: {
                  provider: 'v8',
                  enabled: false,
                  all: true,
                  clean: true,
                  cleanOnRerun: true,
                  reportsDirectory: './coverage',
                  exclude: [
                    'coverage/**',
                    'dist/**',
                    '**/node_modules/**',
                    '**/[.]**',
                    'packages/*/test?(s)/**',
                    '**/*.d.ts',
                    '**/virtual:*',
                    '**/__x00__*',
                    '**/\x00*',
                    'cypress/**',
                    'test?(s)/**',
                    'test?(-*).?(c|m)[jt]s?(x)',
                    '**/*{.,-}{test,spec,bench,benchmark}?(-d).?(c|m)[jt]s?(x)',
                    '**/__tests__/**',
                    '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
                    '**/vitest.{workspace,projects}.[jt]s?(on)',
                    '**/.{eslint,mocha,prettier}rc.{?(c|m)js,yml}',
                    'node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                    '**/*.{test,spec}.?(c|m)[jt]s?(x)'
                  ],
                  reportOnFailure: false,
                  reporter: [ [ 'text', {} ], [ 'html', {} ], [ 'clover', {} ], [ 'json', {} ] ],
                  extension: [
                    '.js',     '.cjs',
                    '.mjs',    '.ts',
                    '.mts',    '.tsx',
                    '.jsx',    '.vue',
                    '.svelte', '.marko',
                    '.astro'
                  ],
                  allowExternal: false,
                  excludeAfterRemap: false,
                  ignoreEmptyLines: true,
                  processingConcurrency: 8
                },
                fakeTimers: { loopLimit: 10000, shouldClearNativeTimers: true },
                maxConcurrency: 5,
                dangerouslyIgnoreUnhandledErrors: false,
                typecheck: {
                  checker: 'tsc',
                  include: [ '**/*.{test,spec}-d.?(c|m)[jt]s?(x)' ],
                  exclude: [
                    '**/node_modules/**',
                    '**/dist/**',
                    '**/cypress/**',
                    '**/.{idea,git,cache,output,temp}/**',
                    '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
                  ],
                  enabled: false
                },
                slowTestThreshold: 300,
                disableConsoleIntercept: false,
                server: {
                  deps: {
                    external: [ {} ],
                    inline: [ {}, {}, {} ],
                    inlineFiles: [
                      '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                      'file://<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs'
                    ],
                    moduleDirectories: [ '/node_modules/' ],
                    cacheDir: 'node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709'
                  }
                },
                setupFiles: [ '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
                poolOptions: { threads: {}, forks: {} },
                config: '<rootDir>/vitest.config.ts',
                defines: {},
                root: '<rootDir>',
                mode: 'test',
                project: [],
                provide: {},
                name: '',
                inspector: { enabled: false, waitForDebugger: false },
                clearScreen: true,
                fileParallelism: true,
                browser: {
                  enabled: false,
                  headless: false,
                  isolate: true,
                  fileParallelism: true,
                  ui: true,
                  screenshotFailures: false,
                  viewport: { width: 414, height: 896 },
                  locators: { testIdAttribute: 'data-testid' },
                  api: { port: 63315 }
                },
                expect: {},
                deps: {
                  moduleDirectories: [ '/node_modules/' ],
                  optimizer: { ssr: { enabled: true }, web: { enabled: true } },
                  web: { transformAssets: true, transformCss: true, transformGlobPattern: [] }
                },
                globalSetup: [],
                attachmentsDir: '<rootDir>/.vitest-attachments',
                snapshotOptions: { expand: false, snapshotFormat: {}, updateSnapshot: 'new', snapshotEnvironment: null },
                snapshotSerializers: [],
                poolMatchGlobs: [],
                cache: { dir: '<rootDir>/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709' },
                sequence: { groupOrder: 0, hooks: 'stack' },
                environmentMatchGlobs: [],
                testTransformMode: {},
                testTimeout: 5000,
                hookTimeout: 10000
              }
            }
          ],
          package: {
            version: '3.2.4',
            urls: { hooks: 'file://<homeDir>/.cursor/extensions/wallabyjs.wallaby-vscode-1.0.470-universal/wallaby402520/runners/node/hooks.mjs' },
            paths: { root: '<rootDir>/node_modules/vitest', dist: '<rootDir>/node_modules/vitest/dist' }
          }
        }
      }
    },
    testFramework: 'vitest',
    preserveComments: false,
    extractComments: false,
    files: [
      { pattern: '**/*.{test,spec}.?(c|m)[jt]s?(x)', ignore: true, trigger: true, load: true, file: true },
      { pattern: '**/node_modules/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/dist/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/cypress/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/.{idea,git,cache,output,temp}/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/*.timestamp-*', ignore: true, trigger: true, load: true, file: true },
      { pattern: '**/*.*', ignore: false, trigger: true, load: true, order: 1 }
    ],
    tests: [
      { pattern: '**/node_modules/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/dist/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/cypress/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/.{idea,git,cache,output,temp}/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/*.{test,spec}.?(c|m)[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 2 }
    ],
    workers: { initial: 0, regular: 0, recycle: false },
    dot: true,
    captureConsoleLog: true,
    filesWithNoCoverageCalculated: [],
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    compilers: {},
    logLimits: { inline: { depth: 5, elements: 5000 }, values: { default: { stringLength: 8192 }, autoExpand: { elements: 5000, stringLength: 8192, depth: 10 } } },
    preprocessors: {},
    maxConsoleMessagesPerTest: 100,
    maxTraceSteps: 999999,
    maxTraceStepsForWatchExpressionPrefetch: 10,
    autoConsoleLog: true,
    delays: { run: 0, edit: 100, update: 0 },
    teardown: undefined,
    hints: {
      ignoreCoverage: '__REGEXP /ignore coverage|istanbul ignore|c8 ignore/',
      ignoreCoverageForFile: '__REGEXP /ignore file coverage/',
      commentAutoLog: '?',
      testFileSelection: { include: '__REGEXP /file\\.only/', exclude: '__REGEXP /file\\.skip/' }
    },
    automaticTestFileSelection: true,
    runSelectedTestsOnly: false,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    env: {
      type: 'node',
      kind: 'vitest',
      params: {},
      runner: '<homeDir>/.fnm/node-versions/v22.14.0/installation/bin/node',
      runnerReason: 'ambient',
      runnerReasonSource: '',
      viewportSize: { width: 800, height: 600 },
      options: { width: 800, height: 600 },
      bundle: true
    },
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    runAllTestsWhenNoAffectedTests: false,
    symlinkNodeModules: true,
    allowedToStreamResults: true,
    allowedToCacheResults: true,
    configCode: 'module.exports = function(wallaby) {\n' +
      '  return {\n' +
      '    autoDetect: true,\n' +
      '    files: [\n' +
      "      'packages/*/src/**/*.{ts,tsx}',\n" +
      "      'packages/*/tests/**/*.{ts,tsx}',\n" +
      "      '!packages/*/tests/**/*.test.{ts,tsx}',\n" +
      '    ],\n' +
      '    tests: [\n' +
      "      'packages/*/tests/**/*.test.{ts,tsx}',\n" +
      "      '!packages/*/tests/e2e/*.test.{ts,tsx}',\n" +
      '    ],\n' +
      '    env: {\n' +
      "      type: 'node',\n" +
      '    },\n' +
      '\n' +
      '    hints: {\n' +
      '      ignoreCoverageForFile: /ignore file coverage/\n' +
      '    },\n' +
      '\n' +
      '    resolveGetters: true,\n' +
      '\n' +
      '    logLimits: {\n' +
      '      inline: {\n' +
      '        depth: 20,\n' +
      '      },\n' +
      '      values: {\n' +
      '        default: {\n' +
      '          stringLength: 3000,\n' +
      '        },\n' +
      '        autoExpand: {\n' +
      '          stringLength: 8192,\n' +
      '          elements: 5000,\n' +
      '          depth: 10,\n' +
      '        }\n' +
      '      },\n' +
      '    },\n' +
      '  \n' +
      '  }\n' +
      '} \n',
    _internalIntegrationVersion: '0.14.0'
  },
  packageJSON: { dependencies: undefined, devDependencies: { '@types/node': '^24.0.10', jsdom: '^26.1.0', typescript: '^5.8.3', vite: '^7.0.2', 'vite-tsconfig-paths': '^5.1.4', vitest: '^3.2.4' } },
  fs: { numberOfFiles: 202 },
  debug: [
    '2025-10-20T09:57:03.601Z project waiting for initial run signal\n',
    '2025-10-20T09:57:03.657Z model Initialization Completed: 628ms\n',
    '2025-10-20T09:57:03.740Z config Attempting automatic configuration for vitest\n',
    '2025-10-20T09:57:03.742Z vitest/config Detected Vitest (3.2.4).\n',
    '2025-10-20T09:57:03.750Z ui.service Starting UI service on port: 55000\n',
    '2025-10-20T09:57:03.751Z ui.service UI service started on port: 55000\n',
    '2025-10-20T09:57:04.909Z config Finished attempting automatic configuration for vitest (1169ms)\n',
    '2025-10-20T09:57:04.909Z config Using node.js runner from ambient environment: <homeDir>/.fnm/node-versions/v22.14.0/installation/bin/node\n',
    '2025-10-20T09:57:04.910Z project Wallaby Node version: v22.14.0\n',
    '2025-10-20T09:57:04.910Z project Wallaby config: <rootDir>/wallaby.js\n',
    '2025-10-20T09:57:04.917Z fs File system starting\n',
    '2025-10-20T09:57:04.946Z fs File system scan completed\n',
    '2025-10-20T09:57:04.948Z project File cache: <homeDir>/.cursor/extensions/wallabyjs.wallaby-vscode-1.0.470-universal/projects/805c66fc3325d269\n',
    '2025-10-20T09:57:04.955Z workers Parallelism for initial run: 6, for regular run: 3\n',
    '2025-10-20T09:57:04.956Z workers Web server is listening at 53825\n',
    '2025-10-20T09:57:04.957Z project File cache requires some updates, waiting required files from IDE\n',
    '2025-10-20T09:57:04.964Z project Stopping process pool\n',
    '2025-10-20T09:57:04.966Z runManager Test run started; run priority: 3\n',
    '2025-10-20T09:57:04.967Z projectData Invalidated run result cache for 2 test file(s)\n',
    '2025-10-20T09:57:04.968Z runManager Running all tests\n',
    '2025-10-20T09:57:04.970Z workers Planning to run 14 queued test files (full run)\n',
    '2025-10-20T09:57:04.970Z workers [worker #0] New run (tier 1, regular, no group): 1 test files, time estimate 0 ms\n',
    '2025-10-20T09:57:04.970Z workers [worker #1] New run (tier 2, regular, no group): 3 test files, time estimate 0 ms\n',
    '2025-10-20T09:57:04.970Z workers [worker #2] New run (tier 2, regular, no group): 3 test files, time estimate 0 ms\n',
    '2025-10-20T09:57:04.970Z workers [worker #3] New run (tier 3, regular, no group): 3 test files, time estimate 0 ms\n',
    '2025-10-20T09:57:04.970Z workers [worker #4] New run (tier 3, regular, no group): 2 test files, time estimate 0 ms\n',
    '2025-10-20T09:57:04.970Z workers [worker #5] New run (tier 3, regular, no group): 2 test files, time estimate 0 ms\n',
    '2025-10-20T09:57:04.988Z workers Starting run worker instance #0\n',
    '2025-10-20T09:57:04.988Z workers Started run worker instance (immediate) #0\n',
    '2025-10-20T09:57:04.988Z vitestRunner Starting sandbox [worker #0, session #r6vhy]\n',
    '2025-10-20T09:57:04.988Z workers Starting run worker instance #1\n',
    '2025-10-20T09:57:04.988Z workers Started run worker instance (immediate) #1\n',
    '2025-10-20T09:57:04.988Z vitestRunner Starting sandbox [worker #1, session #my949]\n',
    '2025-10-20T09:57:04.988Z workers Starting run worker instance #2\n',
    '2025-10-20T09:57:04.988Z workers Started run worker instance (immediate) #2\n',
    '2025-10-20T09:57:04.988Z vitestRunner Starting sandbox [worker #2, session #rle4e]\n',
    '2025-10-20T09:57:04.988Z workers Starting run worker instance #3\n',
    '2025-10-20T09:57:04.988Z workers Started run worker instance (immediate) #3\n',
    '2025-10-20T09:57:04.988Z vitestRunner Starting sandbox [worker #3, session #wbhh0]\n',
    '2025-10-20T09:57:04.988Z workers Starting run worker instance #4\n',
    '2025-10-20T09:57:04.988Z workers Started run worker instance (immediate) #4\n',
    '2025-10-20T09:57:04.988Z vitestRunner Starting sandbox [worker #4, session #dc5s5]\n',
    '2025-10-20T09:57:04.988Z workers Starting run worker instance #5\n',
    '2025-10-20T09:57:04.988Z workers Started run worker instance (immediate) #5\n',
    '2025-10-20T09:57:04.988Z vitestRunner Starting sandbox [worker #5, session #lbc3o]\n',
    '2025-10-20T09:57:05.146Z vitestRunner Preparing sandbox [worker #0, session #r6vhy]\n',
    '2025-10-20T09:57:05.146Z vitestRunner Preparing sandbox [worker #1, session #my949]\n',
    '2025-10-20T09:57:05.146Z vitestRunner Preparing sandbox [worker #2, session #rle4e]\n',
    '2025-10-20T09:57:05.146Z vitestRunner Preparing sandbox [worker #3, session #wbhh0]\n',
    '2025-10-20T09:57:05.146Z vitestRunner Preparing sandbox [worker #4, session #dc5s5]\n',
    '2025-10-20T09:57:05.146Z vitestRunner Preparing sandbox [worker #5, session #lbc3o]\n',
    '2025-10-20T09:57:05.147Z vitestRunner Prepared sandbox [worker #0, session #r6vhy]\n',
    '2025-10-20T09:57:05.147Z vitestRunner Prepared sandbox [worker #1, session #my949]\n',
    '2025-10-20T09:57:05.147Z vitestRunner Prepared sandbox [worker #2, session #rle4e]\n',
    '2025-10-20T09:57:05.147Z vitestRunner Prepared sandbox [worker #3, session #wbhh0]\n',
    '2025-10-20T09:57:05.147Z vitestRunner Prepared sandbox [worker #4, session #dc5s5]\n',
    '2025-10-20T09:57:05.147Z vitestRunner Prepared sandbox [worker #5, session #lbc3o]\n',
    '2025-10-20T09:57:05.147Z workers [worker #0, session #r6vhy] Running tests in sandbox\n',
    '2025-10-20T09:57:05.149Z workers [worker #1, session #my949] Running tests in sandbox\n',
    '2025-10-20T09:57:05.150Z workers [worker #2, session #rle4e] Running tests in sandbox\n',
    '2025-10-20T09:57:05.151Z workers [worker #3, session #wbhh0] Running tests in sandbox\n',
    '2025-10-20T09:57:05.152Z workers [worker #4, session #dc5s5] Running tests in sandbox\n',
    '2025-10-20T09:57:05.154Z workers [worker #5, session #lbc3o] Running tests in sandbox\n',
    '2025-10-20T09:57:05.245Z workers Processing buffered results (regular), buffer size: 4, buffer time: 251ms\n',
    '2025-10-20T09:57:05.245Z workers Handling first result of full run\n',
    '2025-10-20T09:57:05.245Z runManager Test run finished\n',
    '2025-10-20T09:57:05.246Z project Processed console.log entries\n',
    '2025-10-20T09:57:05.246Z project Processed loading sequences\n',
    '2025-10-20T09:57:05.246Z project Processed executed tests\n',
    '2025-10-20T09:57:05.246Z project Processed code coverage\n',
    '2025-10-20T09:57:05.248Z runManager Test run result processed and sent to IDE\n',
    '2025-10-20T09:57:05.544Z fs No metadata for added file found: node_modules/.vite-temp/vitest.config.ts.timestamp-1760954225433-eed6e94b77c24.mjs\n',
    '2025-10-20T09:57:05.645Z fs No metadata for deleted file found: node_modules/.vite-temp/vitest.config.ts.timestamp-1760954225433-eed6e94b77c24.mjs\n',
    "2025-10-20T09:57:05.740Z workers 'Scheduling Vitest Run (r6vhy): 2025-10-20T09:57:05.638Z'\n",
    '2025-10-20T09:57:05.742Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    "2025-10-20T09:57:05.744Z workers 'Scheduling Vitest Run (dc5s5): 2025-10-20T09:57:05.643Z'\n",
    '2025-10-20T09:57:05.744Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    "2025-10-20T09:57:05.747Z workers 'Scheduling Vitest Run (rle4e): 2025-10-20T09:57:05.644Z'\n",
    "2025-10-20T09:57:05.747Z workers 'Scheduling Vitest Run (lbc3o): 2025-10-20T09:57:05.646Z'\n",
    "2025-10-20T09:57:05.748Z workers 'Scheduling Vitest Run (my949): 2025-10-20T09:57:05.648Z'\n",
    "2025-10-20T09:57:05.749Z workers 'Scheduling Vitest Run (wbhh0): 2025-10-20T09:57:05.649Z'\n",
    '2025-10-20T09:57:06.833Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.173Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.200Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.255Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.257Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.275Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.291Z workers [my949.1] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:07.292Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.297Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.304Z workers [my949.1] Test executed: should create empty block with no arguments\n',
    '2025-10-20T09:57:07.304Z workers [my949.1] Test executed: should create block with fields\n',
    '2025-10-20T09:57:07.304Z workers [my949.1] Test executed: should create block with items\n',
    '2025-10-20T09:57:07.304Z workers [my949.1] Test executed: should create block with custom order\n',
    '2025-10-20T09:57:07.304Z workers [my949.1] Test executed: should set and get fields\n',
    '2025-10-20T09:57:07.307Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.315Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.324Z workers [my949.1] Test executed: should delete fields\n',
    '2025-10-20T09:57:07.324Z workers [my949.1] Test executed: should handle non-existent fields\n',
    '2025-10-20T09:57:07.324Z workers [my949.1] Test executed: should access fields via v property\n',
    '2025-10-20T09:57:07.324Z workers [my949.1] Test executed: should iterate over fields\n',
    '2025-10-20T09:57:07.325Z workers [my949.1] Test executed: should iterate over field names\n',
    '2025-10-20T09:57:07.325Z workers [my949.1] Test executed: should iterate over items\n',
    '2025-10-20T09:57:07.325Z workers [my949.1] Test executed: should push and pop items\n',
    '2025-10-20T09:57:07.325Z workers [my949.1] Test executed: should shift and unshift items\n',
    '2025-10-20T09:57:07.325Z workers [my949.1] Test executed: should slice items\n',
    '2025-10-20T09:57:07.325Z workers [my949.1] Test executed: should concat items\n',
    '2025-10-20T09:57:07.325Z workers [my949.1] Test executed: should set and get metadata\n',
    '2025-10-20T09:57:07.325Z workers [my949.1] Test executed: should set metadata via setMeta\n',
    '2025-10-20T09:57:07.327Z workers [my949.1] Test executed: should compare blocks with same fields\n',
    '2025-10-20T09:57:07.328Z workers [my949.1] Test executed: should detect different field values\n',
    '2025-10-20T09:57:07.329Z workers [rle4e.1] Test executed: call with scriptlet switch\n',
    '2025-10-20T09:57:07.329Z workers [rle4e.1] Test executed: call with scriptlet switch\n',
    '2025-10-20T09:57:07.329Z workers [rle4e.1] Test executed: content on renamed call\n',
    '2025-10-20T09:57:07.329Z workers [rle4e.1] Test executed: def with mixin root\n',
    '2025-10-20T09:57:07.329Z workers [rle4e.1] Test executed: autohide\n',
    '2025-10-20T09:57:07.329Z workers [rle4e.1] Test executed: autohide placeholder\n',
    '2025-10-20T09:57:07.330Z workers [rle4e.1] Test executed: autohide on attribute\n',
    '2025-10-20T09:57:07.330Z workers [rle4e.1] Test executed: meta nodes are not rendered\n',
    '2025-10-20T09:57:07.331Z workers [my949.1] Test executed: should compare blocks with items\n',
    '2025-10-20T09:57:07.331Z workers [rle4e.1] Test executed: combine sets\n',
    '2025-10-20T09:57:07.331Z workers [rle4e.1] Test executed: merge switches\n',
    '2025-10-20T09:57:07.331Z workers [rle4e.1] Test executed: form field\n',
    '2025-10-20T09:57:07.331Z workers [rle4e.1] Test executed: mixed mods and builds\n',
    '2025-10-20T09:57:07.331Z workers [rle4e.1] Test executed: render files\n',
    '2025-10-20T09:57:07.331Z workers [rle4e.1] Test executed: block with blank line\n',
    '2025-10-20T09:57:07.331Z workers [rle4e.1] Test executed: Target content in top-level content\n',
    '2025-10-20T09:57:07.332Z workers [rle4e.1] Test executed: Target content in nested content content\n',
    '2025-10-20T09:57:07.332Z workers [rle4e.1] Test executed: switch next to scriptlet\n',
    '2025-10-20T09:57:07.333Z workers [rle4e.1] Test executed: scriptlet with local function\n',
    '2025-10-20T09:57:07.333Z workers [rle4e.1] Test executed: $name special mod\n',
    '2025-10-20T09:57:07.334Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.334Z workers [my949.1] Test executed: should detect different items\n',
    '2025-10-20T09:57:07.334Z workers [my949.1] Test executed: should return false for non-blocks\n',
    '2025-10-20T09:57:07.335Z workers [rle4e.1] Test executed: $name special with mixin mod\n',
    '2025-10-20T09:57:07.335Z workers [rle4e.1] Test executed: Use $name as default name\n',
    '2025-10-20T09:57:07.335Z workers [rle4e.1] Test executed: nested calls and with merges\n',
    '2025-10-20T09:57:07.335Z workers [my949.1] Test executed: should merge fields and items from another block\n',
    '2025-10-20T09:57:07.336Z workers [rle4e.1] Test executed: multiple merges\n',
    '2025-10-20T09:57:07.336Z workers [rle4e.1] Test executed: three levels of merge\n',
    '2025-10-20T09:57:07.336Z workers [rle4e.1] Test executed: nested content placeholders\n',
    '2025-10-20T09:57:07.336Z workers [rle4e.1] Test executed: placeholder before close bracket\n',
    '2025-10-20T09:57:07.336Z workers [rle4e.1] Test executed: call in set becomes set content\n',
    '2025-10-20T09:57:07.336Z workers [rle4e.1] Test executed: add classes\n',
    '2025-10-20T09:57:07.336Z workers [rle4e.1] Test executed: target inside top-level node of same name\n',
    '2025-10-20T09:57:07.336Z workers [my949.1] Test executed: should overwrite existing fields\n',
    '2025-10-20T09:57:07.336Z workers [rle4e.1] Test executed: inline and block content\n',
    '2025-10-20T09:57:07.336Z workers [rle4e.1] Test executed: embedded label\n',
    '2025-10-20T09:57:07.336Z workers [rle4e.1] Test executed: embedded label in switches\n',
    '2025-10-20T09:57:07.336Z workers [rle4e.1] Test executed: html class prefix\n',
    '2025-10-20T09:57:07.337Z workers [rle4e.1] Test executed: text template mode\n',
    '2025-10-20T09:57:07.337Z workers [rle4e.1] Test executed: simple mixin\n',
    '2025-10-20T09:57:07.337Z workers [rle4e.1] Test executed: button with primary mixin\n',
    '2025-10-20T09:57:07.338Z workers [my949.1] Test executed: should append items rather than overwrite them\n',
    '2025-10-20T09:57:07.338Z workers [my949.1] Test executed: should handle $targets specially by merging them\n',
    '2025-10-20T09:57:07.338Z workers [rle4e.1] Test executed: button with primary mixin in text\n',
    '2025-10-20T09:57:07.338Z workers [rle4e.1] Test executed: nav item active mixin\n',
    '2025-10-20T09:57:07.338Z workers [rle4e.1] Test executed: nav item double mixin\n',
    '2025-10-20T09:57:07.338Z workers [rle4e.1] Test executed: deep mixin with contextual part\n',
    '2025-10-20T09:57:07.338Z workers [rle4e.1] Test executed: mixin with two customisers\n',
    '2025-10-20T09:57:07.339Z workers [rle4e.1] Test executed: part def static metadata\n',
    '2025-10-20T09:57:07.339Z workers [rle4e.1] Test executed: global store\n',
    '2025-10-20T09:57:07.339Z workers [my949.1] Test executed: should create $targets if other has targets but this does not\n',
    '2025-10-20T09:57:07.339Z workers [rle4e.1] Test executed: for with where clause\n',
    '2025-10-20T09:57:07.339Z workers [rle4e.1] Test executed: conditional mods\n',
    '2025-10-20T09:57:07.339Z workers [rle4e.1] Test executed: conditional content\n',
    '2025-10-20T09:57:07.339Z workers [rle4e.1] Test executed: conditional content with else\n',
    '2025-10-20T09:57:07.339Z workers [rle4e.1] Test executed: Replace sub-component and customise\n',
    '2025-10-20T09:57:07.341Z workers [my949.1] Test executed: should handle meta blocks by assigning to existing mutable meta\n',
    '2025-10-20T09:57:07.342Z workers [my949.1] Test executed: should create new meta block when current meta is not mutable\n',
    '2025-10-20T09:57:07.344Z workers [my949.1] Test executed: should handle empty blocks gracefully\n',
    '2025-10-20T09:57:07.345Z workers [rle4e.1] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:07.346Z workers [my949.1] Test executed: should handle mixed value types\n',
    '2025-10-20T09:57:07.348Z workers [my949.1] Test executed: should preserve field order when adding new fields\n',
    '2025-10-20T09:57:07.357Z workers [rle4e.1] Test executed: simple call\n',
    '2025-10-20T09:57:07.361Z workers [rle4e.1] Test executed: mixin call\n',
    '2025-10-20T09:57:07.367Z workers [rle4e.1] Test executed: simple call with mods\n',
    '2025-10-20T09:57:07.372Z workers [rle4e.1] Test executed: merge into field\n',
    '2025-10-20T09:57:07.375Z workers [rle4e.1] Test executed: merge content\n',
    '2025-10-20T09:57:07.378Z workers [rle4e.1] Test executed: merge targetted field\n',
    '2025-10-20T09:57:07.378Z workers [rle4e.1] Test executed: merge item into a targetted tag\n',
    '2025-10-20T09:57:07.386Z workers [rle4e.1] Test executed: merge item into a targetted tag inside mixin\n',
    '2025-10-20T09:57:07.386Z workers [rle4e.1] Test executed: replace a targetted tag\n',
    '2025-10-20T09:57:07.389Z workers [rle4e.1] Test executed: set field on a targetted tag\n',
    '2025-10-20T09:57:07.389Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.392Z workers [rle4e.1] Test executed: content with target\n',
    '2025-10-20T09:57:07.394Z workers [rle4e.1] Test executed: content with target in sub-block\n',
    '2025-10-20T09:57:07.529Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.576Z workers [wbhh0.1] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:07.584Z workers [wbhh0.1] Test executed: .items should be undefined for non-existent block\n',
    '2025-10-20T09:57:07.591Z workers [wbhh0.1] Test executed: .items should return child blocks in order\n',
    '2025-10-20T09:57:07.592Z workers [wbhh0.1] Test executed: should insert a single block\n',
    '2025-10-20T09:57:07.593Z workers [wbhh0.1] Test executed: should insert multiple blocks\n',
    '2025-10-20T09:57:07.606Z workers [wbhh0.1] Test executed: should handle parent-child relationships with ordering\n',
    '2025-10-20T09:57:07.606Z workers [wbhh0.1] Test executed: should insert child in correct order among existing children\n',
    '2025-10-20T09:57:07.607Z workers [wbhh0.1] Test executed: should update block fields\n',
    '2025-10-20T09:57:07.607Z workers [wbhh0.1] Test executed: should reorder child when updating order\n',
    '2025-10-20T09:57:07.611Z workers [wbhh0.1] Test executed: should delete block\n',
    '2025-10-20T09:57:07.624Z workers [wbhh0.1] Test executed: should handle deleting non-existent block gracefully\n',
    '2025-10-20T09:57:07.625Z workers [wbhh0.1] Test executed: should retrieve block by id\n',
    '2025-10-20T09:57:07.629Z workers [wbhh0.1] Test executed: should return undefined for non-existent block\n',
    '2025-10-20T09:57:07.653Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.657Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.697Z workers [lbc3o.1] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:07.729Z workers [lbc3o.1] Test executed: insert a block\n',
    '2025-10-20T09:57:07.743Z workers [r6vhy.1] Test executed: .selectUp\n',
    '2025-10-20T09:57:07.743Z workers [r6vhy.1] Test executed: .selectDown\n',
    '2025-10-20T09:57:07.743Z workers [r6vhy.1] Test executed: .selectLeft\n',
    '2025-10-20T09:57:07.743Z workers [r6vhy.1] Test executed: .selectRight\n',
    '2025-10-20T09:57:07.743Z workers [r6vhy.1] Test executed: .indent\n',
    '2025-10-20T09:57:07.743Z workers [r6vhy.1] Test executed: .outdent\n',
    '2025-10-20T09:57:07.745Z workers [r6vhy.1] Test executed: .duplicate\n',
    '2025-10-20T09:57:07.745Z workers [r6vhy.1] Test executed: view.firstCaretView\n',
    '2025-10-20T09:57:07.745Z workers [r6vhy.1] Test executed: view.viewAt\n',
    '2025-10-20T09:57:07.745Z workers [r6vhy.1] Test executed: view.waitingViewAt\n',
    '2025-10-20T09:57:07.745Z workers [r6vhy.1] Test executed: view.selectAt\n',
    '2025-10-20T09:57:07.745Z workers [r6vhy.1] Test executed: view.fold\n',
    '2025-10-20T09:57:07.745Z workers [r6vhy.1] Test executed: view.unfold\n',
    '2025-10-20T09:57:07.745Z workers [r6vhy.1] Test executed: view.changeView\n',
    '2025-10-20T09:57:07.745Z workers [r6vhy.1] Test executed: view.cut\n',
    '2025-10-20T09:57:07.745Z workers [r6vhy.1] Test executed: view.copy\n',
    '2025-10-20T09:57:07.746Z workers [lbc3o.1] Test executed: insert multiple blocks in one transaction\n',
    '2025-10-20T09:57:07.761Z workers [lbc3o.1] Test executed: insert a link between blocks\n',
    '2025-10-20T09:57:07.762Z workers [r6vhy.1] Test executed: view.paste\n',
    '2025-10-20T09:57:07.762Z workers [r6vhy.1] Test executed: view.startChangeType\n',
    '2025-10-20T09:57:07.762Z workers [r6vhy.1] Test executed: view.changeType\n',
    '2025-10-20T09:57:07.762Z workers [r6vhy.1] Test executed: view.wrap\n',
    '2025-10-20T09:57:07.764Z workers [r6vhy.1] Test executed: view.selectNew\n',
    '2025-10-20T09:57:07.764Z workers [r6vhy.1] Test executed: view.makeChildView\n',
    '2025-10-20T09:57:07.764Z workers [r6vhy.1] Test executed: viewStore.activeView\n',
    '2025-10-20T09:57:07.768Z workers [r6vhy.1] Test executed: viewStore.selectedView\n',
    '2025-10-20T09:57:07.768Z workers [r6vhy.1] Test executed: viewStore.movementMode\n',
    '2025-10-20T09:57:07.768Z workers [r6vhy.1] Test executed: view element ID pattern view:<view-key>\n',
    '2025-10-20T09:57:07.768Z workers [r6vhy.1] Test executed: view element DOM integration\n',
    '2025-10-20T09:57:07.768Z workers [r6vhy.1] Test executed: view key digest includes parent key\n',
    '2025-10-20T09:57:07.768Z workers [r6vhy.1] Test executed: view key digest includes block ID\n',
    '2025-10-20T09:57:07.768Z workers [r6vhy.1] Test executed: view key digest includes view type\n',
    '2025-10-20T09:57:07.770Z workers [r6vhy.1] Test executed: view key uniqueness within parent/block/type\n',
    '2025-10-20T09:57:07.770Z workers [r6vhy.1] Test executed: field view creation with block ID + field ID\n',
    '2025-10-20T09:57:07.770Z workers [r6vhy.1] Test executed: item view creation with block ID + index\n',
    '2025-10-20T09:57:07.770Z workers [r6vhy.1] Test executed: view hierarchy mirrors DOM hierarchy\n',
    '2025-10-20T09:57:07.770Z workers [r6vhy.1] Test executed: selected view derived from browser focus\n',
    '2025-10-20T09:57:07.770Z workers [r6vhy.1] Test executed: view hierarchy derived from DOM structure\n',
    '2025-10-20T09:57:07.777Z workers [lbc3o.1] Test executed: insert a user\n',
    '2025-10-20T09:57:07.780Z workers [lbc3o.1] Test executed: update and add block fields\n',
    '2025-10-20T09:57:07.784Z workers [r6vhy.1] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:07.793Z workers [lbc3o.1] Test executed: update page name and order\n',
    '2025-10-20T09:57:07.802Z workers [lbc3o.1] Test executed: update book name\n',
    '2025-10-20T09:57:07.816Z workers [lbc3o.1] Test executed: update link target\n',
    '2025-10-20T09:57:07.838Z workers [lbc3o.1] Test executed: update multiple records in one transaction\n',
    '2025-10-20T09:57:07.838Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:07.846Z workers [lbc3o.1] Test executed: update block with preceding field\n',
    '2025-10-20T09:57:07.847Z workers [r6vhy.1] Test executed: generates stable view keys\n',
    '2025-10-20T09:57:07.952Z workers [lbc3o.1] Test executed: delete a block\n',
    '2025-10-20T09:57:07.953Z workers [lbc3o.1] Test executed: delete multiple records in one transaction\n',
    '2025-10-20T09:57:07.954Z workers [lbc3o.1] Test executed: insert and update in same transaction\n',
    '2025-10-20T09:57:07.956Z workers [lbc3o.1] Test executed: insert and delete in same transaction\n',
    '2025-10-20T09:57:07.957Z workers [lbc3o.1] Test executed: update and delete in same transaction\n',
    '2025-10-20T09:57:08.003Z workers [r6vhy.1] Test executed: generates different keys for different view types\n',
    '2025-10-20T09:57:08.004Z workers [lbc3o.1] Test executed: insert, update, and delete in same transaction\n',
    '2025-10-20T09:57:08.008Z workers [lbc3o.1] Test executed: create nested block hierarchy\n',
    '2025-10-20T09:57:08.022Z workers [lbc3o.1] Test executed: create page with multiple blocks\n',
    '2025-10-20T09:57:08.022Z workers [lbc3o.1] Test executed: delete non-existent record\n',
    '2025-10-20T09:57:08.023Z workers [r6vhy.1] Test executed: view.createChild\n',
    '2025-10-20T09:57:08.024Z workers [lbc3o.1] Test executed: delete block with children\n',
    '2025-10-20T09:57:08.024Z workers [lbc3o.1] Test executed: insert block with mixed field types\n',
    '2025-10-20T09:57:08.025Z workers [lbc3o.1] Test executed: update block fields with partial data\n',
    '2025-10-20T09:57:08.029Z workers [lbc3o.1] Test executed: insert block with fieldOrder array\n',
    '2025-10-20T09:57:08.059Z workers [r6vhy.1] Test executed: view.element returns undefined if element does not exist\n',
    '2025-10-20T09:57:08.087Z workers [r6vhy.1] Test executed: parent-child relationships\n',
    '2025-10-20T09:57:08.112Z workers [dc5s5.1] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:08.118Z workers [r6vhy.1] Test executed: view.elementId\n',
    '2025-10-20T09:57:08.131Z model [WARN] Number of console messages exceeded maximum allowed value (100), so messages recording has been stopped for the current test.\n' +
      'You may increase the limit by adding `maxConsoleMessagesPerTest` setting to your config file.\n',
    '2025-10-20T09:57:08.136Z workers [r6vhy.1] Test executed: view.element\n',
    '2025-10-20T09:57:08.151Z workers [r6vhy.1] Test executed: view sibling relationships\n',
    '2025-10-20T09:57:08.152Z workers [dc5s5.1] Test executed: renders block tag name and field values to DOM\n',
    '2025-10-20T09:57:08.163Z workers [r6vhy.1] Test executed: view.selectable\n',
    '2025-10-20T09:57:08.166Z workers [r6vhy.1] Test executed: view.caretFocussable\n',
    '2025-10-20T09:57:08.170Z workers [r6vhy.1] Test executed: view.isActive\n',
    '2025-10-20T09:57:08.171Z workers [r6vhy.1] Test executed: view.isSelected\n',
    '2025-10-20T09:57:08.172Z workers [r6vhy.1] Test executed: viewStore.view(viewKey)\n',
    '2025-10-20T09:57:08.173Z workers [r6vhy.1] Test executed: viewStore.view(element)\n',
    '2025-10-20T09:57:08.175Z workers [r6vhy.1] Test executed: viewStore.viewForElement\n',
    '2025-10-20T09:57:08.177Z workers [r6vhy.1] Test executed: viewStore.main\n',
    '2025-10-20T09:57:08.178Z workers [r6vhy.1] Test executed: viewStore.main throws error when main view is missing\n',
    '2025-10-20T09:57:08.181Z workers [r6vhy.1] Test executed: view deregistration with separate store\n',
    '2025-10-20T09:57:08.182Z workers [dc5s5.1] Test executed: renders typed fields with metadata\n',
    '2025-10-20T09:57:08.184Z workers [r6vhy.1] Test executed: .select\n',
    '2025-10-20T09:57:08.185Z workers [r6vhy.1] Test executed: .select does nothing if not selectable\n',
    '2025-10-20T09:57:08.188Z workers [r6vhy.1] Test executed: .appendItem\n',
    '2025-10-20T09:57:08.190Z workers [r6vhy.1] Test executed: .prependItem\n',
    '2025-10-20T09:57:08.193Z workers [r6vhy.1] Test executed: .insertItemBefore\n',
    '2025-10-20T09:57:08.194Z workers [r6vhy.1] Test executed: .insertItemAfter\n',
    '2025-10-20T09:57:08.195Z workers [r6vhy.1] Test executed: .swapWithPrevious\n',
    '2025-10-20T09:57:08.196Z workers [r6vhy.1] Test executed: .swapWithNext\n',
    '2025-10-20T09:57:08.199Z workers [r6vhy.1] Test executed: view.set\n',
    '2025-10-20T09:57:08.210Z workers [r6vhy.1] Test executed: view.set (overwrite existing field)\n',
    '2025-10-20T09:57:08.211Z workers [r6vhy.1] Test executed: view.deleteField\n',
    '2025-10-20T09:57:08.214Z workers [r6vhy.1] Test executed: view.deleteField (delete first field)\n',
    '2025-10-20T09:57:08.243Z workers [r6vhy.1] Test executed: view.appendField\n',
    '2025-10-20T09:57:08.247Z workers [r6vhy.1] Test executed: view.prependField\n',
    '2025-10-20T09:57:08.271Z workers [r6vhy.1] Test executed: view.insertFieldBefore\n',
    '2025-10-20T09:57:08.272Z workers [r6vhy.1] Test executed: view.insertFieldAfter\n',
    "2025-10-20T09:57:08.330Z workers 'Vitest Run Complete (r6vhy): 2025-10-20T09:57:08.328Z'\n",
    '2025-10-20T09:57:08.331Z workers [r6vhy] Run 70 test(s), skipped 0 test(s)\n',
    '2025-10-20T09:57:08.333Z workers [r6vhy] Sandbox is responsive, closing it\n',
    '2025-10-20T09:57:08.335Z workers No queued test files to run\n',
    '2025-10-20T09:57:08.413Z fs No metadata for added file found: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-20T09:57:08.587Z workers Processing buffered results (regular), buffer size: 1, buffer time: 251ms\n',
    '2025-10-20T09:57:08.588Z runManager Test run finished\n',
    '2025-10-20T09:57:08.589Z project Processed console.log entries\n',
    '2025-10-20T09:57:08.589Z project Processed loading sequences\n',
    '2025-10-20T09:57:08.590Z project Processed executed tests\n',
    '2025-10-20T09:57:08.595Z project Processed code coverage\n',
    '2025-10-20T09:57:08.628Z runManager Test run result processed and sent to IDE\n',
    '2025-10-20T09:57:08.735Z workers [my949.2] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:08.745Z workers [my949.2] Test executed: should get direct field values\n',
    '2025-10-20T09:57:08.746Z workers [my949.2] Test executed: should get linked blocks via _id fields\n',
    '2025-10-20T09:57:08.747Z workers [my949.2] Test executed: should return undefined for non-existent fields\n',
    '2025-10-20T09:57:08.750Z workers [my949.2] Test executed: should check field existence\n',
    '2025-10-20T09:57:08.754Z workers [my949.2] Test executed: should get meta block\n',
    '2025-10-20T09:57:08.757Z workers [my949.2] Test executed: should return undefined when no meta\n',
    '2025-10-20T09:57:08.763Z workers [my949.2] Test executed: should iterate over items (currently empty)\n',
    '2025-10-20T09:57:08.766Z workers [my949.2] Test executed: should iterate over field names\n',
    '2025-10-20T09:57:08.769Z workers [my949.2] Test executed: should respect order when specified\n',
    '2025-10-20T09:57:08.807Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T09:57:08.845Z workers [rle4e.2] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:08.872Z workers [wbhh0.2] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:08.878Z workers [wbhh0.2] Test executed: should detect development mode\n',
    '2025-10-20T09:57:08.880Z workers [wbhh0.2] Test executed: should detect production mode\n',
    '2025-10-20T09:57:08.881Z workers [wbhh0.2] Test executed: should detect test mode\n',
    '2025-10-20T09:57:08.885Z workers [wbhh0.2] Test executed: should detect blank values\n',
    '2025-10-20T09:57:08.889Z workers [rle4e.2] Test executed: selects the correct block when clicking on it\n',
    '2025-10-20T09:57:08.889Z workers [wbhh0.2] Test executed: should detect non-blank values\n',
    '2025-10-20T09:57:08.889Z workers [wbhh0.2] Test executed: should handle objects with isBlank property\n',
    '2025-10-20T09:57:08.893Z workers [wbhh0.2] Test executed: should return true for non-blank values\n',
    '2025-10-20T09:57:08.895Z workers [wbhh0.2] Test executed: should return false for blank values\n',
    '2025-10-20T09:57:08.898Z workers [wbhh0.2] Test executed: should return value if present\n',
    '2025-10-20T09:57:08.899Z workers [rle4e.2] Test executed: shows visual selection state with different styling\n',
    '2025-10-20T09:57:08.900Z workers [wbhh0.2] Test executed: should return undefined if blank\n',
    '2025-10-20T09:57:08.933Z workers [wbhh0.2] Test executed: should return value if not null\n',
    '2025-10-20T09:57:08.985Z workers [wbhh0.2] Test executed: should throw error if null or undefined\n',
    '2025-10-20T09:57:08.989Z workers [wbhh0.2] Test executed: should create a Set from array\n',
    '2025-10-20T09:57:08.990Z workers [wbhh0.2] Test executed: should return arrays as-is\n',
    '2025-10-20T09:57:08.992Z workers [wbhh0.2] Test executed: should convert iterables to arrays\n',
    '2025-10-20T09:57:08.994Z workers [rle4e.2] Test executed: maintains selection when editing fields in selected block\n',
    '2025-10-20T09:57:08.994Z workers [wbhh0.2] Test executed: should return empty array for nullish values\n',
    '2025-10-20T09:57:08.994Z workers [wbhh0.2] Test executed: should convert arrays to sets\n',
    '2025-10-20T09:57:08.999Z workers [wbhh0.2] Test executed: should return sets as-is\n',
    '2025-10-20T09:57:09.004Z workers [wbhh0.2] Test executed: should return empty set for nullish\n',
    '2025-10-20T09:57:09.005Z workers [wbhh0.2] Test executed: should remove duplicates from array\n',
    '2025-10-20T09:57:09.018Z workers [wbhh0.2] Test executed: should map over object values\n',
    '2025-10-20T09:57:09.021Z workers [wbhh0.2] Test executed: should handle null/undefined objects\n',
    '2025-10-20T09:57:09.021Z workers [wbhh0.2] Test executed: should map over object keys\n',
    '2025-10-20T09:57:09.024Z workers [wbhh0.2] Test executed: should filter object by predicate\n',
    '2025-10-20T09:57:09.026Z workers [wbhh0.2] Test executed: should assign unless nullish\n',
    '2025-10-20T09:57:09.027Z workers [wbhh0.2] Test executed: should assign present values\n',
    '2025-10-20T09:57:09.030Z workers [wbhh0.2] Test executed: should detect changes between objects\n',
    '2025-10-20T09:57:09.031Z workers [wbhh0.2] Test executed: should return null for no changes\n',
    '2025-10-20T09:57:09.032Z workers [wbhh0.2] Test executed: should keep truthy results from mapping\n',
    '2025-10-20T09:57:09.036Z workers [wbhh0.2] Test executed: should work with objects\n',
    '2025-10-20T09:57:09.038Z workers [wbhh0.2] Test executed: should return first truthy result\n',
    '2025-10-20T09:57:09.040Z workers [wbhh0.2] Test executed: should return undefined if no match\n',
    '2025-10-20T09:57:09.041Z workers [wbhh0.2] Test executed: should remove item from array\n',
    '2025-10-20T09:57:09.058Z workers [wbhh0.2] Test executed: should return same array if item not found\n',
    '2025-10-20T09:57:09.058Z workers [wbhh0.2] Test executed: should check if array contains item\n',
    '2025-10-20T09:57:09.058Z workers [wbhh0.2] Test executed: should sort array by key function\n',
    '2025-10-20T09:57:09.058Z workers [wbhh0.2] Test executed: should separate array into matching and non-matching\n',
    '2025-10-20T09:57:09.058Z workers [wbhh0.2] Test executed: should create URL-friendly slugs\n',
    '2025-10-20T09:57:09.058Z workers [wbhh0.2] Test executed: should handle HTML tags\n',
    '2025-10-20T09:57:09.066Z workers [wbhh0.2] Test executed: should normalize unicode\n',
    '2025-10-20T09:57:09.066Z workers [wbhh0.2] Test executed: should remove HTML tags\n',
    '2025-10-20T09:57:09.069Z workers [wbhh0.2] Test executed: should escape HTML characters\n',
    '2025-10-20T09:57:09.069Z workers [wbhh0.2] Test executed: should create consistent hash\n',
    '2025-10-20T09:57:09.072Z workers [wbhh0.2] Test executed: should create different hashes for different inputs\n',
    '2025-10-20T09:57:09.072Z workers [wbhh0.2] Test executed: should chain function calls\n',
    '2025-10-20T09:57:09.072Z workers [wbhh0.2] Test executed: should run side effect and return value\n',
    '2025-10-20T09:57:09.072Z workers [wbhh0.2] Test executed: should throw error with message\n',
    '2025-10-20T09:57:09.074Z workers [wbhh0.2] Test executed: should return value if not nullish\n',
    '2025-10-20T09:57:09.075Z workers [wbhh0.2] Test executed: should throw if nullish\n',
    '2025-10-20T09:57:09.079Z workers [wbhh0.2] Test executed: should detect plain objects\n',
    '2025-10-20T09:57:09.079Z workers [wbhh0.2] Test executed: should check instance types\n',
    '2025-10-20T09:57:09.084Z workers [wbhh0.2] Test executed: should remove nullish values\n',
    '2025-10-20T09:57:09.084Z workers [wbhh0.2] Test executed: should remove blank values\n',
    '2025-10-20T09:57:09.118Z workers [wbhh0.2] Test executed: should format prices with currencies\n',
    '2025-10-20T09:57:09.122Z workers [wbhh0.2] Test executed: should find set differences\n',
    '2025-10-20T09:57:09.125Z workers [wbhh0.2] Test executed: should await each item in sequence\n',
    '2025-10-20T09:57:09.127Z workers [wbhh0.2] Test executed: should map and await all promises\n',
    '2025-10-20T09:57:09.127Z workers [wbhh0.2] Test executed: should return empty array for null\n',
    '2025-10-20T09:57:09.130Z workers [wbhh0.2] Test executed: should map over key-value pairs\n',
    '2025-10-20T09:57:09.130Z workers [wbhh0.2] Test executed: should map and transform object entries\n',
    '2025-10-20T09:57:09.135Z workers [wbhh0.2] Test executed: should filter object by key predicate\n',
    '2025-10-20T09:57:09.135Z workers [wbhh0.2] Test executed: should filter object by value predicate\n',
    '2025-10-20T09:57:09.135Z workers [wbhh0.2] Test executed: should map array to object\n',
    '2025-10-20T09:57:09.135Z workers [wbhh0.2] Test executed: should handle nullish array\n',
    '2025-10-20T09:57:09.135Z workers [wbhh0.2] Test executed: should move key to new name\n',
    '2025-10-20T09:57:09.138Z workers [wbhh0.2] Test executed: should iterate over array\n',
    '2025-10-20T09:57:09.140Z workers [wbhh0.2] Test executed: should handle null array\n',
    '2025-10-20T09:57:09.142Z workers [wbhh0.2] Test executed: should iterate over object pairs\n',
    '2025-10-20T09:57:09.144Z workers [wbhh0.2] Test executed: should handle null object\n',
    '2025-10-20T09:57:09.146Z workers [wbhh0.2] Test executed: should iterate over values\n',
    '2025-10-20T09:57:09.150Z workers [wbhh0.2] Test executed: should iterate over keys\n',
    '2025-10-20T09:57:09.150Z workers [wbhh0.2] Test executed: should remove items from array in place\n',
    '2025-10-20T09:57:09.151Z workers [wbhh0.2] Test executed: should filter out matching items\n',
    '2025-10-20T09:57:09.155Z workers [wbhh0.2] Test executed: should handle null array\n',
    '2025-10-20T09:57:09.156Z workers [wbhh0.2] Test executed: should extend array with more items\n',
    '2025-10-20T09:57:09.158Z workers [wbhh0.2] Test executed: should handle null extension\n',
    '2025-10-20T09:57:09.158Z workers [wbhh0.2] Test executed: should return first truthy result\n',
    '2025-10-20T09:57:09.163Z workers [wbhh0.2] Test executed: should return null if no match\n',
    '2025-10-20T09:57:09.163Z workers [wbhh0.2] Test executed: should return some key from object\n',
    '2025-10-20T09:57:09.163Z workers [wbhh0.2] Test executed: should return null for empty object\n',
    '2025-10-20T09:57:09.166Z workers [wbhh0.2] Test executed: should create union of two collections\n',
    '2025-10-20T09:57:09.166Z workers [wbhh0.2] Test executed: should handle null collections\n',
    '2025-10-20T09:57:09.168Z workers [wbhh0.2] Test executed: should create difference of two collections\n',
    '2025-10-20T09:57:09.170Z workers [wbhh0.2] Test executed: should handle null collections\n',
    '2025-10-20T09:57:09.172Z workers [wbhh0.2] Test executed: should compare objects by specified attributes\n',
    '2025-10-20T09:57:09.173Z workers [wbhh0.2] Test executed: should compare objects ignoring specified attributes\n',
    '2025-10-20T09:57:09.179Z workers [wbhh0.2] Test executed: should find maximum by key function\n',
    '2025-10-20T09:57:09.179Z workers [wbhh0.2] Test executed: should sort by order property\n',
    '2025-10-20T09:57:09.180Z workers [wbhh0.2] Test executed: should handle missing order property\n',
    '2025-10-20T09:57:09.181Z workers [wbhh0.2] Test executed: should find index starting from position\n',
    '2025-10-20T09:57:09.184Z workers [wbhh0.2] Test executed: should return null if not found\n',
    '2025-10-20T09:57:09.184Z workers [wbhh0.2] Test executed: should remove null values from array\n',
    '2025-10-20T09:57:09.186Z workers [wbhh0.2] Test executed: should remove null values from object\n',
    '2025-10-20T09:57:09.194Z workers [wbhh0.2] Test executed: should remove undefined values\n',
    '2025-10-20T09:57:09.194Z workers [wbhh0.2] Test executed: should remove falsy values\n',
    '2025-10-20T09:57:09.194Z workers [wbhh0.2] Test executed: should apply defaults for missing properties\n',
    '2025-10-20T09:57:09.194Z workers [wbhh0.2] Test executed: should group objects by key\n',
    '2025-10-20T09:57:09.195Z workers [wbhh0.2] Test executed: should detect plain objects\n',
    '2025-10-20T09:57:09.196Z workers [wbhh0.2] Test executed: should deep assign objects\n',
    '2025-10-20T09:57:09.198Z workers [wbhh0.2] Test executed: should check if object has only allowed keys\n',
    '2025-10-20T09:57:09.199Z workers [wbhh0.2] Test executed: should split key format strings\n',
    '2025-10-20T09:57:09.203Z workers [wbhh0.2] Test executed: should detect key format strings\n',
    '2025-10-20T09:57:09.203Z workers [wbhh0.2] Test executed: should convert dashes to spaces\n',
    '2025-10-20T09:57:09.204Z workers [wbhh0.2] Test executed: should create script-friendly names\n',
    '2025-10-20T09:57:09.207Z workers [wbhh0.2] Test executed: should remove common indentation\n',
    '2025-10-20T09:57:09.207Z workers [wbhh0.2] Test executed: should remove indentation based on first line\n',
    '2025-10-20T09:57:09.208Z workers [wbhh0.2] Test executed: should return function result on success\n',
    '2025-10-20T09:57:09.210Z workers [wbhh0.2] Test executed: should return fallback on error\n',
    '2025-10-20T09:57:09.211Z workers [wbhh0.2] Test executed: should return undefined fallback by default\n',
    '2025-10-20T09:57:09.212Z workers [wbhh0.2] Test executed: should ensure nested object structure\n',
    '2025-10-20T09:57:09.215Z workers [wbhh0.2] Test executed: should not overwrite existing values\n',
    '2025-10-20T09:57:09.272Z workers [lbc3o.2] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:09.285Z workers [lbc3o.2] Test executed: basic\n',
    '2025-10-20T09:57:09.290Z workers [lbc3o.2] Test executed: with metadata\n',
    '2025-10-20T09:57:09.292Z workers [lbc3o.2] Test executed: existing field order\n',
    '2025-10-20T09:57:09.294Z workers [lbc3o.2] Test executed: basic field updates\n',
    '2025-10-20T09:57:09.294Z workers [lbc3o.2] Test executed: system field updates with $ prefix\n',
    '2025-10-20T09:57:09.294Z workers [dc5s5.2] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:09.296Z workers [lbc3o.2] Test executed: field removal with null values\n',
    '2025-10-20T09:57:09.298Z workers [dc5s5.2] Test executed: should add insert operation\n',
    '2025-10-20T09:57:09.299Z workers [dc5s5.2] Test executed: should handle multiple inserts to same table\n',
    '2025-10-20T09:57:09.300Z workers [lbc3o.2] Test executed: field ordering with new fields\n',
    '2025-10-20T09:57:09.302Z workers [dc5s5.2] Test executed: should add update operation\n',
    '2025-10-20T09:57:09.302Z workers [dc5s5.2] Test executed: should add delete operation\n',
    '2025-10-20T09:57:09.303Z workers [dc5s5.2] Test executed: should not duplicate delete ids\n',
    '2025-10-20T09:57:09.303Z workers [lbc3o.2] Test executed: partial field ordering with $fieldOrder\n',
    '2025-10-20T09:57:09.306Z workers [dc5s5.2] Test executed: should handle multiple deletes\n',
    '2025-10-20T09:57:09.312Z workers [lbc3o.2] Test executed: partial field ordering with new fields\n',
    '2025-10-20T09:57:09.316Z workers [lbc3o.2] Test executed: complete field replacement maintains order\n',
    '2025-10-20T09:57:09.317Z workers [lbc3o.2] Test executed: insert block with system fields and field ordering\n',
    '2025-10-20T09:57:09.325Z workers [lbc3o.2] Test executed: complex partial field ordering algorithm\n',
    '2025-10-20T09:57:09.327Z workers [lbc3o.2] Test executed: primitive block with $value field\n',
    '2025-10-20T09:57:09.329Z workers [lbc3o.2] Test executed: mixed null field removal and new field addition\n',
    '2025-10-20T09:57:09.334Z fs File changed: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-20T09:57:09.334Z fs No metadata for changed file found: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    "2025-10-20T09:57:09.423Z workers 'Vitest Run Complete (dc5s5): 2025-10-20T09:57:09.323Z'\n",
    '2025-10-20T09:57:09.424Z workers [dc5s5] Run 8 test(s), skipped 0 test(s)\n',
    '2025-10-20T09:57:09.424Z workers [dc5s5] Sandbox is responsive, closing it\n',
    '2025-10-20T09:57:09.425Z workers No queued test files to run\n',
    '2025-10-20T09:57:09.430Z fs File changed: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-20T09:57:09.430Z fs No metadata for changed file found: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    "2025-10-20T09:57:09.449Z workers 'Vitest Run Complete (lbc3o): 2025-10-20T09:57:09.347Z'\n",
    '2025-10-20T09:57:09.449Z workers [lbc3o] Run 37 test(s), skipped 0 test(s)\n',
    '2025-10-20T09:57:09.449Z workers [lbc3o] Sandbox is responsive, closing it\n',
    '2025-10-20T09:57:09.455Z workers No queued test files to run\n',
    '2025-10-20T09:57:09.614Z workers [my949.3] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:09.622Z workers [my949.3] Test executed: a simple list\n',
    '2025-10-20T09:57:09.624Z workers [my949.3] Test executed: a simple record\n',
    '2025-10-20T09:57:09.626Z workers [my949.3] Test executed: list + record\n',
    '2025-10-20T09:57:09.627Z workers [my949.3] Test executed: switch syntax shorthand\n',
    '2025-10-20T09:57:09.629Z workers [my949.3] Test executed: token syntax shorthand\n',
    '2025-10-20T09:57:09.630Z workers [my949.3] Test executed: tagged record shorthand\n',
    '2025-10-20T09:57:09.633Z workers [my949.3] Test executed: tagged block\n',
    '2025-10-20T09:57:09.634Z workers [my949.3] Test executed: string with indentation\n',
    '2025-10-20T09:57:09.638Z workers [my949.3] Test executed: indented text block\n',
    '2025-10-20T09:57:09.639Z workers [my949.3] Test executed: nested blocks\n',
    '2025-10-20T09:57:09.639Z workers [my949.3] Test executed: empty block\n',
    '2025-10-20T09:57:09.643Z workers [my949.3] Test executed: mixed number types\n',
    '2025-10-20T09:57:09.645Z workers [my949.3] Test executed: strings with quotes\n',
    '2025-10-20T09:57:09.646Z workers [my949.3] Test executed: text content\n',
    '2025-10-20T09:57:09.648Z workers [my949.3] Test executed: mixin call\n',
    '2025-10-20T09:57:09.650Z workers [my949.3] Test executed: def\n',
    '2025-10-20T09:57:09.651Z workers [my949.3] Test executed: merge field\n',
    '2025-10-20T09:57:09.652Z workers [my949.3] Test executed: merge content\n',
    '2025-10-20T09:57:09.653Z workers [my949.3] Test executed: field with target\n',
    '2025-10-20T09:57:09.654Z workers [my949.3] Test executed: item with target\n',
    '2025-10-20T09:57:09.656Z workers [my949.3] Test executed: item with target in mixin\n',
    '2025-10-20T09:57:09.658Z workers [my949.3] Test executed: items target\n',
    '2025-10-20T09:57:09.661Z workers [my949.3] Test executed: metadata\n',
    '2025-10-20T09:57:09.668Z workers [rle4e.3] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:09.672Z workers [rle4e.3] Test executed: accesses fields as properties\n',
    '2025-10-20T09:57:09.672Z workers [rle4e.3] Test executed: returns the source block via .s\n',
    '2025-10-20T09:57:09.674Z workers [rle4e.3] Test executed: for...of iterates items\n',
    '2025-10-20T09:57:09.675Z workers [rle4e.3] Test executed: for...in iterates field names\n',
    '2025-10-20T09:57:09.677Z workers [rle4e.3] Test executed: Object.keys returns field names\n',
    '2025-10-20T09:57:09.679Z workers [rle4e.3] Test executed: Object.getOwnPropertyDescriptor returns correct descriptor for fields\n',
    '2025-10-20T09:57:09.681Z workers [rle4e.3] Test executed: Iterating the block yields items\n',
    '2025-10-20T09:57:09.683Z workers [rle4e.3] Test executed: does not enumerate array indices as keys\n',
    '2025-10-20T09:57:09.686Z workers [rle4e.3] Test executed: works with nested blocks\n',
    "2025-10-20T09:57:09.702Z workers 'Vitest Run Complete (my949): 2025-10-20T09:57:09.672Z'\n",
    '2025-10-20T09:57:09.702Z workers [my949] Run 64 test(s), skipped 0 test(s)\n',
    '2025-10-20T09:57:09.703Z workers [my949] Sandbox is responsive, closing it\n',
    '2025-10-20T09:57:09.704Z workers No queued test files to run\n',
    '2025-10-20T09:57:09.784Z fs File changed: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-20T09:57:09.784Z fs No metadata for changed file found: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    "2025-10-20T09:57:09.798Z workers 'Vitest Run Complete (rle4e): 2025-10-20T09:57:09.697Z'\n",
    '2025-10-20T09:57:09.798Z workers [rle4e] Run 72 test(s), skipped 0 test(s)\n',
    '2025-10-20T09:57:09.798Z workers [rle4e] Sandbox is responsive, closing it\n',
    '2025-10-20T09:57:09.799Z workers No queued test files to run\n',
    '2025-10-20T09:57:09.897Z workers [wbhh0.3] Loaded unknown number of test(s)\n',
    '2025-10-20T09:57:09.923Z workers [wbhh0.3] Test executed: updates store when text field is edited\n',
    '2025-10-20T09:57:09.930Z workers [wbhh0.3] Test executed: updates store when number field is edited\n',
    '2025-10-20T09:57:09.936Z workers [wbhh0.3] Test executed: updates store when boolean field is toggled\n',
    '2025-10-20T09:57:09.943Z workers [wbhh0.3] Test executed: updates multiple fields independently\n',
    '2025-10-20T09:57:09.947Z workers [wbhh0.3] Test executed: handles empty number field correctly\n',
    '2025-10-20T09:57:09.962Z workers [wbhh0.3] Test executed: edit fields with confirm\n',
    '2025-10-20T09:57:09.983Z fs File changed: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-20T09:57:09.983Z fs No metadata for changed file found: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-20T09:57:10.050Z workers Processing buffered results (regular), buffer size: 4, buffer time: 625ms\n',
    '2025-10-20T09:57:10.051Z runManager Test run finished\n',
    '2025-10-20T09:57:10.052Z project Processed console.log entries\n',
    '2025-10-20T09:57:10.052Z project Processed loading sequences\n',
    '2025-10-20T09:57:10.052Z project Test name duplicate: call with scriptlet switch\n',
    '2025-10-20T09:57:10.053Z project Processed executed tests\n',
    '2025-10-20T09:57:10.057Z project Processed code coverage\n',
    '2025-10-20T09:57:10.086Z runManager Test run result processed and sent to IDE\n',
    "2025-10-20T09:57:10.092Z workers 'Vitest Run Complete (wbhh0): 2025-10-20T09:57:09.971Z'\n",
    '2025-10-20T09:57:10.092Z workers [wbhh0] Run 129 test(s), skipped 0 test(s)\n',
    '2025-10-20T09:57:10.093Z workers [wbhh0] Sandbox is responsive, closing it\n',
    '2025-10-20T09:57:10.094Z workers No queued test files to run\n',
    '2025-10-20T09:57:10.094Z workers Processing buffered results (idle), buffer size: 1, buffer time: 0ms\n',
    '2025-10-20T09:57:10.095Z runManager Test run finished\n',
    '2025-10-20T09:57:10.096Z project Processed console.log entries\n',
    '2025-10-20T09:57:10.097Z project Processed loading sequences\n',
    '2025-10-20T09:57:10.099Z project Processed executed tests\n',
    '2025-10-20T09:57:10.106Z project Processed code coverage\n',
    '2025-10-20T09:57:10.127Z runManager Test run result processed and sent to IDE\n',
    '2025-10-20T09:57:10.128Z workers Recycling run worker instance #3\n',
    '2025-10-20T09:57:10.128Z workers Recycling run worker instance #4\n',
    '2025-10-20T09:57:10.128Z workers Recycling run worker instance #5\n',
    '2025-10-20T10:00:55.394Z fs File changed in editor: packages/inio/src/app/books/block-store.ts\n',
    '2025-10-20T10:00:55.451Z runManager Test run started; run priority: 2\n',
    '2025-10-20T10:00:55.452Z testTask Test files from affected: 8, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2025-10-20T10:00:55.454Z workers Planning to run 8 queued test files (regular run)\n',
    '2025-10-20T10:00:55.454Z workers [worker #0] New run (tier 2, regular, no group): 1 test files, time estimate 368.76 ms\n',
    '2025-10-20T10:00:55.455Z workers [worker #1] New run (tier 3, regular, no group): 3 test files, time estimate 290.05 ms\n',
    '2025-10-20T10:00:55.455Z workers [worker #2] New run (tier 3, regular, no group): 4 test files, time estimate 294.40999999999997 ms\n',
    '2025-10-20T10:00:55.455Z vitestRunner Starting sandbox [worker #0, session #ymssj]\n',
    '2025-10-20T10:00:55.455Z vitestRunner Starting sandbox [worker #1, session #3j2iw]\n',
    '2025-10-20T10:00:55.455Z vitestRunner Starting sandbox [worker #2, session #scbrv]\n',
    '2025-10-20T10:00:55.456Z vitestRunner Preparing sandbox [worker #0, session #ymssj]\n',
    '2025-10-20T10:00:55.456Z vitestRunner Preparing sandbox [worker #1, session #3j2iw]\n',
    '2025-10-20T10:00:55.456Z vitestRunner Preparing sandbox [worker #2, session #scbrv]\n',
    '2025-10-20T10:00:55.456Z vitestRunner Prepared sandbox [worker #0, session #ymssj]\n',
    '2025-10-20T10:00:55.456Z vitestRunner Prepared sandbox [worker #1, session #3j2iw]\n',
    '2025-10-20T10:00:55.456Z vitestRunner Prepared sandbox [worker #2, session #scbrv]\n',
    '2025-10-20T10:00:55.456Z workers [worker #0, session #ymssj] Running tests in sandbox\n',
    '2025-10-20T10:00:55.463Z workers [worker #1, session #3j2iw] Running tests in sandbox\n',
    '2025-10-20T10:00:55.468Z workers [worker #2, session #scbrv] Running tests in sandbox\n',
    '2025-10-20T10:00:55.569Z fs File changed in editor: packages/inio/src/app/books/block-store.ts\n',
    '2025-10-20T10:00:55.572Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    "2025-10-20T10:00:55.573Z workers 'Scheduling Vitest Run (ymssj): 2025-10-20T10:00:55.473Z'\n",
    '2025-10-20T10:00:55.574Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T10:00:55.574Z workers Requeuing out of order messages from Test Runner for sequential processing\n',
    '2025-10-20T10:00:55.575Z runManager Test run started; run priority: 2\n',
    '2025-10-20T10:00:55.576Z testTask Test files from affected: 8, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2025-10-20T10:00:55.577Z workers [worker #2] Cancelled run\n',
    '2025-10-20T10:00:55.577Z workers [worker #1] Cancelled run\n',
    '2025-10-20T10:00:55.578Z workers [worker #0] Cancelled run\n',
    '2025-10-20T10:00:55.578Z workers Planning to run 8 queued test files (regular run)\n',
    '2025-10-20T10:00:55.578Z workers [worker #0] New run (tier 1, regular, no group): 3 test files, time estimate 460.96999999999997 ms\n',
    '2025-10-20T10:00:55.579Z workers [worker #1] New run (tier 3, regular, no group): 2 test files, time estimate 240.02 ms\n',
    '2025-10-20T10:00:55.579Z workers [worker #2] New run (tier 3, regular, no group): 3 test files, time estimate 252.23000000000002 ms\n',
    '2025-10-20T10:00:55.579Z vitestRunner Starting sandbox [worker #0, session #69vak]\n',
    '2025-10-20T10:00:55.579Z vitestRunner Starting sandbox [worker #1, session #cottb]\n',
    '2025-10-20T10:00:55.580Z vitestRunner Starting sandbox [worker #2, session #xsv68]\n',
    "2025-10-20T10:00:55.580Z workers 'Scheduling Vitest Run (3j2iw): 2025-10-20T10:00:55.479Z'\n",
    "2025-10-20T10:00:55.580Z workers 'Scheduling Vitest Run (scbrv): 2025-10-20T10:00:55.480Z'\n",
    '2025-10-20T10:00:55.580Z vitestRunner Preparing sandbox [worker #0, session #69vak]\n',
    '2025-10-20T10:00:55.580Z vitestRunner Preparing sandbox [worker #1, session #cottb]\n',
    '2025-10-20T10:00:55.580Z vitestRunner Preparing sandbox [worker #2, session #xsv68]\n',
    '2025-10-20T10:00:55.580Z vitestRunner Prepared sandbox [worker #0, session #69vak]\n',
    '2025-10-20T10:00:55.580Z vitestRunner Prepared sandbox [worker #1, session #cottb]\n',
    '2025-10-20T10:00:55.580Z vitestRunner Prepared sandbox [worker #2, session #xsv68]\n',
    '2025-10-20T10:00:55.580Z workers [worker #0, session #69vak] Running tests in sandbox\n',
    '2025-10-20T10:00:55.580Z workers [69vak] Sandbox is waiting for worker cleanup\n',
    '2025-10-20T10:00:55.580Z workers [worker #1, session #cottb] Running tests in sandbox\n',
    '2025-10-20T10:00:55.580Z workers [cottb] Sandbox is waiting for worker cleanup\n',
    '2025-10-20T10:00:55.580Z workers [worker #2, session #xsv68] Running tests in sandbox\n',
    '2025-10-20T10:00:55.580Z workers [xsv68] Sandbox is waiting for worker cleanup\n',
    '2025-10-20T10:00:55.580Z workers [scbrv] Sandbox is responsive, closing it\n',
    '2025-10-20T10:00:55.584Z workers [3j2iw] Sandbox is responsive, closing it\n',
    '2025-10-20T10:00:55.589Z workers [ymssj] Sandbox is responsive, closing it\n',
    "2025-10-20T10:00:55.696Z workers 'Vitest Run Abandoned (ymssj): 2025-10-20T10:00:55.603Z'\n",
    "2025-10-20T10:00:55.696Z workers 'Scheduling Vitest Run (69vak): 2025-10-20T10:00:55.603Z'\n",
    "2025-10-20T10:00:55.696Z workers 'Resetting Vitest tinyPool (69vak)'\n",
    '2025-10-20T10:00:55.712Z fs File changed: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-20T10:00:55.712Z fs No metadata for changed file found: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-20T10:00:55.785Z fs File changed in editor: packages/inio/src/app/books/block-store.ts\n',
    '2025-10-20T10:00:55.788Z runManager Test run started; run priority: 2\n',
    '2025-10-20T10:00:55.788Z testTask Test files from affected: 8, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2025-10-20T10:00:55.789Z workers [worker #0] Cancelled run\n',
    '2025-10-20T10:00:55.789Z workers [worker #2] Cancelled run\n',
    '2025-10-20T10:00:55.789Z workers [worker #1] Cancelled run\n',
    '2025-10-20T10:00:55.789Z workers Planning to run 8 queued test files (regular run)\n',
    '2025-10-20T10:00:55.789Z workers [worker #0] New run (tier 1, regular, no group): 3 test files, time estimate 229.01 ms\n',
    '2025-10-20T10:00:55.789Z workers [worker #1] New run (tier 2, regular, no group): 1 test files, time estimate 368.76 ms\n',
    '2025-10-20T10:00:55.789Z workers [worker #2] New run (tier 3, regular, no group): 4 test files, time estimate 355.45000000000005 ms\n',
    '2025-10-20T10:00:55.789Z vitestRunner Starting sandbox [worker #0, session #8k84g]\n',
    '2025-10-20T10:00:55.789Z vitestRunner Starting sandbox [worker #1, session #ptmd5]\n',
    '2025-10-20T10:00:55.789Z vitestRunner Starting sandbox [worker #2, session #tgi5f]\n',
    '2025-10-20T10:00:55.790Z vitestRunner Preparing sandbox [worker #0, session #8k84g]\n',
    '2025-10-20T10:00:55.790Z vitestRunner Preparing sandbox [worker #1, session #ptmd5]\n',
    '2025-10-20T10:00:55.790Z vitestRunner Preparing sandbox [worker #2, session #tgi5f]\n',
    '2025-10-20T10:00:55.790Z vitestRunner Prepared sandbox [worker #0, session #8k84g]\n',
    '2025-10-20T10:00:55.790Z vitestRunner Prepared sandbox [worker #1, session #ptmd5]\n',
    '2025-10-20T10:00:55.790Z vitestRunner Prepared sandbox [worker #2, session #tgi5f]\n',
    '2025-10-20T10:00:55.790Z workers [worker #0, session #8k84g] Running tests in sandbox\n',
    '2025-10-20T10:00:55.790Z workers [8k84g] Sandbox is waiting for worker cleanup\n',
    '2025-10-20T10:00:55.790Z workers [worker #1, session #ptmd5] Running tests in sandbox\n',
    '2025-10-20T10:00:55.790Z workers [ptmd5] Sandbox is waiting for worker cleanup\n',
    '2025-10-20T10:00:55.790Z workers [worker #2, session #tgi5f] Running tests in sandbox\n',
    '2025-10-20T10:00:55.790Z workers [tgi5f] Sandbox is waiting for worker cleanup\n',
    '2025-10-20T10:00:55.790Z workers [69vak] Sandbox is responsive, closing it\n',
    '2025-10-20T10:00:55.794Z workers [xsv68] Sandbox is responsive, closing it\n',
    '2025-10-20T10:00:55.796Z workers [cottb] Sandbox is responsive, closing it\n',
    '2025-10-20T10:00:56.031Z fs File changed in editor: packages/inio/src/app/books/block-store.ts\n',
    '2025-10-20T10:00:56.034Z runManager Test run started; run priority: 2\n',
    '2025-10-20T10:00:56.034Z testTask Test files from affected: 8, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2025-10-20T10:00:56.035Z workers [worker #0] Cancelled run\n',
    '2025-10-20T10:00:56.035Z workers [worker #2] Cancelled run\n',
    '2025-10-20T10:00:56.035Z workers [worker #1] Cancelled run\n',
    '2025-10-20T10:00:56.035Z workers Planning to run 8 queued test files (regular run)\n',
    '2025-10-20T10:00:56.035Z workers [worker #0] New run (tier 1, regular, no group): 3 test files, time estimate 460.96999999999997 ms\n',
    '2025-10-20T10:00:56.035Z workers [worker #1] New run (tier 3, regular, no group): 2 test files, time estimate 240.02 ms\n',
    '2025-10-20T10:00:56.035Z workers [worker #2] New run (tier 3, regular, no group): 3 test files, time estimate 252.23000000000002 ms\n',
    '2025-10-20T10:00:56.035Z vitestRunner Starting sandbox [worker #0, session #65gg6]\n',
    '2025-10-20T10:00:56.035Z vitestRunner Starting sandbox [worker #1, session #y16wp]\n',
    '2025-10-20T10:00:56.035Z vitestRunner Starting sandbox [worker #2, session #iyuwf]\n',
    '2025-10-20T10:00:56.036Z vitestRunner Preparing sandbox [worker #0, session #65gg6]\n',
    '2025-10-20T10:00:56.036Z vitestRunner Preparing sandbox [worker #1, session #y16wp]\n',
    '2025-10-20T10:00:56.036Z vitestRunner Preparing sandbox [worker #2, session #iyuwf]\n',
    '2025-10-20T10:00:56.036Z vitestRunner Prepared sandbox [worker #0, session #65gg6]\n',
    '2025-10-20T10:00:56.036Z vitestRunner Prepared sandbox [worker #1, session #y16wp]\n',
    '2025-10-20T10:00:56.036Z vitestRunner Prepared sandbox [worker #2, session #iyuwf]\n',
    '2025-10-20T10:00:56.036Z workers [worker #0, session #65gg6] Running tests in sandbox\n',
    '2025-10-20T10:00:56.036Z workers [65gg6] Sandbox is waiting for worker cleanup\n',
    '2025-10-20T10:00:56.036Z workers [worker #1, session #y16wp] Running tests in sandbox\n',
    '2025-10-20T10:00:56.036Z workers [y16wp] Sandbox is waiting for worker cleanup\n',
    '2025-10-20T10:00:56.036Z workers [worker #2, session #iyuwf] Running tests in sandbox\n',
    '2025-10-20T10:00:56.036Z workers [iyuwf] Sandbox is waiting for worker cleanup\n',
    '2025-10-20T10:00:56.036Z workers [8k84g] Sandbox is responsive, closing it\n',
    '2025-10-20T10:00:56.037Z workers [tgi5f] Sandbox is responsive, closing it\n',
    '2025-10-20T10:00:56.039Z workers [ptmd5] Sandbox is responsive, closing it\n'
  ]
}

tslocke avatar Oct 20 '25 10:10 tslocke

I'm also sometimes seeing the "X" for general error in the status bar, in place of the pass/fail numbers, when there's actually no problem. This is a report from one of those. Restarting Wallaby gave a full green run.

https://gist.github.com/tslocke/22f5c1921f961d256cb1671306098766

tslocke avatar Oct 20 '25 11:10 tslocke

We're still in the process of analysing what's caused the behavior that you're seeing.

We have made some changes that may stop the problem from occurring, but it's more of a stop-gap change while we identify the root cause of your problem. This is available in the latest version of Wallaby core, v1.0.1899.

smcenlly avatar Oct 21 '25 06:10 smcenlly

A bit of background: Wallaby's v3 release shipped with some large-scale changes to our Vitest integration. These changes shift responsibility for determining test execution order from Vitest to Wallaby and provide a more responsive test execution experience. Unfortunately, while all our existing integration tests passed, there were some combinations of settings and scenarios that led to races or clean-up failures that impacted some workflows, yours included.

Since our last update, our team has been reviewing and retesting our Vitest integration. We identified a number of problems that may have affected you and addressed those issues:

  • FIXED – The AbortSignal for the worker run was being re-created for each test file in a worker; now the same abort signal is reused until the worker completes or is cancelled. This could cause race conditions, hung executions, or attempts to continue running with an invalid test context.
  • FIXED – Wallaby v3 Vitest integration was missing an internal worker message sequence number used to avoid out-of-sequence IPC messaging. This could result in a ~100 ms delay in message processing and a loss of stack trace information when processing error messages.
  • FIXED – Issue when using pool: 'threads' and isolate: false where subsequent tests in a worker would fail to load.
  • FIXED – Issue when cancelling and rescheduling an in-progress worker where the cancelled test run context would be overridden with the new context. This could lead to inconsistent or incorrect results being executed for the cancelled test run.
  • IMPROVED/FIXED – How Vitest workers are terminated. Previously, execution could hang, preventing further work from being scheduled.
  • IMPROVED – Worker process health check previously relied on a specific “healthy” message but now uses any received IPC message as proof of process health. This improves latency and processing times.

We're not sure if you downgraded to the version prior to v2. If you did, we'd appreciate if you could try v3 again to confirm that the issues we’ve addressed have fixed your problem. We’ve also made some updates to Wallaby for VS Code to make this easier to test.

The Wallaby VS Code extension (1.0.473) has a new command, Wallaby.js: Install Specific Core Version. This command can be used to install (and use) a specific version of Wallaby core. After using it, Wallaby will not automatically update unless you use this command again, or use Wallaby.js: Force Core Update. Please note: this command requires wallaby.noAutomaticInstall to be set to false or removed.

To test the latest version:

  1. In your VS Code settings, remove the wallaby.noAutomaticInstall setting (you would have added this as part of our offline installation instructions to use a previous version of Wallaby).
  2. Run the Wallaby.js: Force Core Update command to update to the latest version.
  3. Confirm that your project runs as expected.

If the latest version does not work: If the latest version doesn’t work for you, you can revert to the v2 version after testing the latest version:

  1. Run the Wallaby.js: Install Specific Core Version command.
  2. When prompted which version to install, select the version before v3 (or any version you prefer):
Image

We hope the new Wallaby.js: Install Specific Core Version command makes it simple and painless for you to test the latest version or revert if needed. Once your issues are fully resolved, you should be able to stay on the latest version of Wallaby again for all future fixes, updates, and improvements without concern.

smcenlly avatar Oct 23 '25 05:10 smcenlly

Hi @smcenlly I didn't downgrade in the end. I've not worked on that project for a few days. I will add a comment when I do, probably tomorrow.

tslocke avatar Oct 27 '25 13:10 tslocke

In this report I ran a test, it failed, I made an edit, it passed, but the red expected blah blah is still showing. Restating Wallaby fixes it.

Image Image
{
  editorVersion: '1.99.3',
  pluginVersion: '1.0.474',
  editorType: 'VSCode',
  osVersion: 'darwin 23.5.0',
  nodeVersion: 'v22.14.0',
  coreVersion: { version: '1.0.1905', pinned: undefined },
  pnp: '<not set>',
  pnpEsm: '<not set>',
  checksum: 'ZjQwMDExY2FjMWExNGFiMmU3NTRiYjYxMDM0M2I1ZWYsMTc3ODM3MTIwMDAwMCww',
  config: {
    diagnostics: {
      vitest: {
        file: {
          config: "import solid from 'vite-plugin-solid'\n" +
            "import tailwindcss from '@tailwindcss/vite'\n" +
            "import { defineConfig } from 'vitest/config'\n" +
            "import { baseConfig } from './vite.config.base'\n" +
            "import { mergeConfig } from 'vite'\n" +
            '\n' +
            'export default mergeConfig(baseConfig, defineConfig({\n' +
            '  plugins: [\n' +
            '    solid(),\n' +
            '    tailwindcss(), \n' +
            '  ],\n' +
            '  test: {\n' +
            '    globals: true,\n' +
            "    environment: 'jsdom'\n" +
            '  }\n' +
            '})) \n'
        },
        config: {
          config: {
            allowOnly: true,
            isolate: true,
            globals: true,
            environment: 'jsdom',
            pool: 'forks',
            clearMocks: false,
            restoreMocks: false,
            mockReset: false,
            unstubGlobals: false,
            unstubEnvs: false,
            include: [ '**/*.{test,spec}.?(c|m)[jt]s?(x)' ],
            exclude: [
              '**/node_modules/**',
              '**/dist/**',
              '**/cypress/**',
              '**/.{idea,git,cache,output,temp}/**',
              '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
            ],
            teardownTimeout: 10000,
            forceRerunTriggers: [ '**/package.json/**', '**/{vitest,vite}.config.*/**', '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
            update: false,
            reporters: [ [ 'default', {} ] ],
            silent: false,
            hideSkippedTests: false,
            api: { middlewareMode: true, token: '4d3660fe-075d-4aa8-b622-8d503b8095e7' },
            ui: false,
            uiBase: '/__vitest__/',
            open: true,
            css: { include: [], modules: { classNameStrategy: 'stable' } },
            coverage: {
              provider: 'v8',
              enabled: false,
              all: true,
              clean: true,
              cleanOnRerun: true,
              reportsDirectory: './coverage',
              exclude: [
                'coverage/**',
                'dist/**',
                '**/node_modules/**',
                '**/[.]**',
                'packages/*/test?(s)/**',
                '**/*.d.ts',
                '**/virtual:*',
                '**/__x00__*',
                '**/\x00*',
                'cypress/**',
                'test?(s)/**',
                'test?(-*).?(c|m)[jt]s?(x)',
                '**/*{.,-}{test,spec,bench,benchmark}?(-d).?(c|m)[jt]s?(x)',
                '**/__tests__/**',
                '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
                '**/vitest.{workspace,projects}.[jt]s?(on)',
                '**/.{eslint,mocha,prettier}rc.{?(c|m)js,yml}',
                'node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                '**/*.{test,spec}.?(c|m)[jt]s?(x)'
              ],
              reportOnFailure: false,
              reporter: [ [ 'text', {} ], [ 'html', {} ], [ 'clover', {} ], [ 'json', {} ] ],
              extension: [
                '.js',     '.cjs',
                '.mjs',    '.ts',
                '.mts',    '.tsx',
                '.jsx',    '.vue',
                '.svelte', '.marko',
                '.astro'
              ],
              allowExternal: false,
              excludeAfterRemap: false,
              ignoreEmptyLines: true,
              processingConcurrency: 8
            },
            fakeTimers: { loopLimit: 10000, shouldClearNativeTimers: true },
            maxConcurrency: 5,
            dangerouslyIgnoreUnhandledErrors: false,
            typecheck: {
              checker: 'tsc',
              include: [ '**/*.{test,spec}-d.?(c|m)[jt]s?(x)' ],
              exclude: [
                '**/node_modules/**',
                '**/dist/**',
                '**/cypress/**',
                '**/.{idea,git,cache,output,temp}/**',
                '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
              ],
              enabled: false
            },
            slowTestThreshold: 300,
            disableConsoleIntercept: false,
            server: {
              deps: {
                external: [ {} ],
                inline: [ {}, {}, {} ],
                inlineFiles: [
                  '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                  'file://<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs'
                ],
                moduleDirectories: [ '/node_modules/' ],
                cacheDir: 'node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709'
              }
            },
            setupFiles: [ '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
            poolOptions: { threads: {}, forks: {} },
            config: '<rootDir>/vitest.config.ts',
            defines: {},
            root: '<rootDir>',
            mode: 'test',
            project: [],
            provide: {},
            name: '',
            inspector: { enabled: false, waitForDebugger: false },
            clearScreen: true,
            fileParallelism: true,
            browser: {
              enabled: false,
              headless: false,
              isolate: true,
              fileParallelism: true,
              ui: true,
              screenshotFailures: false,
              viewport: { width: 414, height: 896 },
              locators: { testIdAttribute: 'data-testid' },
              api: { port: 63315 }
            },
            expect: {},
            deps: {
              moduleDirectories: [ '/node_modules/' ],
              optimizer: { ssr: { enabled: true }, web: { enabled: true } },
              web: { transformAssets: true, transformCss: true, transformGlobPattern: [] }
            },
            globalSetup: [],
            attachmentsDir: '<rootDir>/.vitest-attachments',
            snapshotOptions: { expand: false, snapshotFormat: {}, updateSnapshot: 'new', snapshotEnvironment: null },
            snapshotSerializers: [],
            poolMatchGlobs: [],
            cache: { dir: '<rootDir>/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709' },
            sequence: { groupOrder: 0, hooks: 'stack' },
            environmentMatchGlobs: [],
            testTransformMode: {},
            testTimeout: 5000,
            hookTimeout: 10000
          },
          projects: [
            {
              path: '<rootDir>',
              config: {
                allowOnly: true,
                isolate: true,
                globals: true,
                environment: 'jsdom',
                pool: 'forks',
                clearMocks: false,
                restoreMocks: false,
                mockReset: false,
                unstubGlobals: false,
                unstubEnvs: false,
                include: [ '**/*.{test,spec}.?(c|m)[jt]s?(x)' ],
                exclude: [
                  '**/node_modules/**',
                  '**/dist/**',
                  '**/cypress/**',
                  '**/.{idea,git,cache,output,temp}/**',
                  '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
                ],
                teardownTimeout: 10000,
                forceRerunTriggers: [ '**/package.json/**', '**/{vitest,vite}.config.*/**', '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
                update: false,
                reporters: [ [ 'default', {} ] ],
                silent: false,
                hideSkippedTests: false,
                api: { middlewareMode: true, token: '4d3660fe-075d-4aa8-b622-8d503b8095e7' },
                ui: false,
                uiBase: '/__vitest__/',
                open: true,
                css: { include: [], modules: { classNameStrategy: 'stable' } },
                coverage: {
                  provider: 'v8',
                  enabled: false,
                  all: true,
                  clean: true,
                  cleanOnRerun: true,
                  reportsDirectory: './coverage',
                  exclude: [
                    'coverage/**',
                    'dist/**',
                    '**/node_modules/**',
                    '**/[.]**',
                    'packages/*/test?(s)/**',
                    '**/*.d.ts',
                    '**/virtual:*',
                    '**/__x00__*',
                    '**/\x00*',
                    'cypress/**',
                    'test?(s)/**',
                    'test?(-*).?(c|m)[jt]s?(x)',
                    '**/*{.,-}{test,spec,bench,benchmark}?(-d).?(c|m)[jt]s?(x)',
                    '**/__tests__/**',
                    '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
                    '**/vitest.{workspace,projects}.[jt]s?(on)',
                    '**/.{eslint,mocha,prettier}rc.{?(c|m)js,yml}',
                    'node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                    '**/*.{test,spec}.?(c|m)[jt]s?(x)'
                  ],
                  reportOnFailure: false,
                  reporter: [ [ 'text', {} ], [ 'html', {} ], [ 'clover', {} ], [ 'json', {} ] ],
                  extension: [
                    '.js',     '.cjs',
                    '.mjs',    '.ts',
                    '.mts',    '.tsx',
                    '.jsx',    '.vue',
                    '.svelte', '.marko',
                    '.astro'
                  ],
                  allowExternal: false,
                  excludeAfterRemap: false,
                  ignoreEmptyLines: true,
                  processingConcurrency: 8
                },
                fakeTimers: { loopLimit: 10000, shouldClearNativeTimers: true },
                maxConcurrency: 5,
                dangerouslyIgnoreUnhandledErrors: false,
                typecheck: {
                  checker: 'tsc',
                  include: [ '**/*.{test,spec}-d.?(c|m)[jt]s?(x)' ],
                  exclude: [
                    '**/node_modules/**',
                    '**/dist/**',
                    '**/cypress/**',
                    '**/.{idea,git,cache,output,temp}/**',
                    '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*'
                  ],
                  enabled: false
                },
                slowTestThreshold: 300,
                disableConsoleIntercept: false,
                server: {
                  deps: {
                    external: [ {} ],
                    inline: [ {}, {}, {} ],
                    inlineFiles: [
                      '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs',
                      'file://<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs'
                    ],
                    moduleDirectories: [ '/node_modules/' ],
                    cacheDir: 'node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709'
                  }
                },
                setupFiles: [ '<rootDir>/node_modules/@testing-library/jest-dom/dist/vitest.mjs' ],
                poolOptions: { threads: {}, forks: {} },
                config: '<rootDir>/vitest.config.ts',
                defines: {},
                root: '<rootDir>',
                mode: 'test',
                project: [],
                provide: {},
                name: '',
                inspector: { enabled: false, waitForDebugger: false },
                clearScreen: true,
                fileParallelism: true,
                browser: {
                  enabled: false,
                  headless: false,
                  isolate: true,
                  fileParallelism: true,
                  ui: true,
                  screenshotFailures: false,
                  viewport: { width: 414, height: 896 },
                  locators: { testIdAttribute: 'data-testid' },
                  api: { port: 63315 }
                },
                expect: {},
                deps: {
                  moduleDirectories: [ '/node_modules/' ],
                  optimizer: { ssr: { enabled: true }, web: { enabled: true } },
                  web: { transformAssets: true, transformCss: true, transformGlobPattern: [] }
                },
                globalSetup: [],
                attachmentsDir: '<rootDir>/.vitest-attachments',
                snapshotOptions: { expand: false, snapshotFormat: {}, updateSnapshot: 'new', snapshotEnvironment: null },
                snapshotSerializers: [],
                poolMatchGlobs: [],
                cache: { dir: '<rootDir>/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709' },
                sequence: { groupOrder: 0, hooks: 'stack' },
                environmentMatchGlobs: [],
                testTransformMode: {},
                testTimeout: 5000,
                hookTimeout: 10000
              }
            }
          ],
          package: {
            version: '3.2.4',
            urls: { hooks: 'file://<homeDir>/.cursor/extensions/wallabyjs.wallaby-vscode-1.0.474-universal/wallabya8d255/runners/node/hooks.mjs' },
            paths: { root: '<rootDir>/node_modules/vitest', dist: '<rootDir>/node_modules/vitest/dist' }
          }
        }
      }
    },
    testFramework: 'vitest',
    preserveComments: false,
    extractComments: false,
    files: [
      { pattern: '**/*.{test,spec}.?(c|m)[jt]s?(x)', ignore: true, trigger: true, load: true, file: true },
      { pattern: '**/node_modules/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/dist/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/cypress/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/.{idea,git,cache,output,temp}/**', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*', ignore: true, trigger: true, load: true, file: true, test: true },
      { pattern: '**/*.timestamp-*', ignore: true, trigger: true, load: true, file: true },
      { pattern: '**/*.*', ignore: false, trigger: true, load: true, order: 1 }
    ],
    tests: [
      { pattern: '**/node_modules/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/dist/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/cypress/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/.{idea,git,cache,output,temp}/**', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*', ignore: true, trigger: true, load: true, test: true, file: false },
      { pattern: '**/*.{test,spec}.?(c|m)[jt]s?(x)', ignore: false, trigger: true, load: true, test: true, order: 2 }
    ],
    workers: { initial: 0, regular: 0, recycle: false },
    dot: true,
    captureConsoleLog: true,
    filesWithNoCoverageCalculated: [],
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    compilers: {},
    logLimits: { inline: { depth: 5, elements: 5000 }, values: { default: { stringLength: 8192 }, autoExpand: { elements: 5000, stringLength: 8192, depth: 10 } } },
    preprocessors: {},
    maxConsoleMessagesPerTest: 100,
    maxTraceSteps: 999999,
    maxTraceStepsForWatchExpressionPrefetch: 10,
    autoConsoleLog: true,
    delays: { run: 0, edit: 100, update: 0 },
    teardown: undefined,
    hints: {
      ignoreCoverage: '__REGEXP /ignore coverage|istanbul ignore|c8 ignore/',
      ignoreCoverageForFile: '__REGEXP /ignore file coverage/',
      commentAutoLog: '?',
      testFileSelection: { include: '__REGEXP /file\\.only/', exclude: '__REGEXP /file\\.skip/' }
    },
    automaticTestFileSelection: true,
    runSelectedTestsOnly: false,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    env: {
      type: 'node',
      kind: 'vitest',
      params: {},
      runner: '<homeDir>/.fnm/node-versions/v22.14.0/installation/bin/node',
      runnerReason: 'ambient',
      runnerReasonSource: '',
      viewportSize: { width: 800, height: 600 },
      options: { width: 800, height: 600 },
      bundle: true
    },
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    runAllTestsWhenNoAffectedTests: false,
    symlinkNodeModules: true,
    allowedToStreamResults: true,
    allowedToCacheResults: true,
    configCode: 'module.exports = function(wallaby) {\n' +
      '  return {\n' +
      '    autoDetect: true,\n' +
      '    files: [\n' +
      "      'packages/*/src/**/*.{ts,tsx}',\n" +
      "      'packages/*/tests/**/*.{ts,tsx}',\n" +
      "      '!packages/*/tests/**/*.test.{ts,tsx}',\n" +
      '    ],\n' +
      '    tests: [\n' +
      "      'packages/*/tests/**/*.test.{ts,tsx}',\n" +
      "      '!packages/*/tests/e2e/*.test.{ts,tsx}',\n" +
      '    ],\n' +
      '    env: {\n' +
      "      type: 'node',\n" +
      '    },\n' +
      '\n' +
      '    hints: {\n' +
      '      ignoreCoverageForFile: /ignore file coverage/\n' +
      '    },\n' +
      '\n' +
      '    resolveGetters: true,\n' +
      '\n' +
      '    logLimits: {\n' +
      '      inline: {\n' +
      '        depth: 20,\n' +
      '      },\n' +
      '      values: {\n' +
      '        default: {\n' +
      '          stringLength: 3000,\n' +
      '        },\n' +
      '        autoExpand: {\n' +
      '          stringLength: 8192,\n' +
      '          elements: 5000,\n' +
      '          depth: 10,\n' +
      '        }\n' +
      '      },\n' +
      '    },\n' +
      '  \n' +
      '  }\n' +
      '} \n',
    _internalIntegrationVersion: '0.14.0'
  },
  packageJSON: { dependencies: undefined, devDependencies: { '@types/node': '^24.0.10', jsdom: '^26.1.0', typescript: '^5.8.3', vite: '^7.0.2', 'vite-tsconfig-paths': '^5.1.4', vitest: '^3.2.4' } },
  fs: { numberOfFiles: 205 },
  debug: [
    '2025-10-28T11:10:43.316Z project waiting for initial run signal\n',
    '2025-10-28T11:10:43.319Z model Initialization Completed: 205ms\n',
    '2025-10-28T11:10:43.363Z config Attempting automatic configuration for vitest\n',
    '2025-10-28T11:10:43.364Z vitest/config Detected Vitest (3.2.4).\n',
    '2025-10-28T11:10:43.371Z ui.service Starting UI service on port: 55000\n',
    '2025-10-28T11:10:43.372Z ui.service UI service started on port: 55000\n',
    '2025-10-28T11:10:43.919Z config Finished attempting automatic configuration for vitest (556ms)\n',
    '2025-10-28T11:10:43.919Z config Using node.js runner from ambient environment: <homeDir>/.fnm/node-versions/v22.14.0/installation/bin/node\n',
    '2025-10-28T11:10:43.920Z project Wallaby Node version: v22.14.0\n',
    '2025-10-28T11:10:43.920Z project Wallaby config: <rootDir>/wallaby.js\n',
    '2025-10-28T11:10:43.946Z fs File system starting\n',
    '2025-10-28T11:10:43.972Z fs File system scan completed\n',
    '2025-10-28T11:10:43.975Z project File cache: <homeDir>/.cursor/extensions/wallabyjs.wallaby-vscode-1.0.474-universal/projects/805c66fc3325d269\n',
    '2025-10-28T11:10:43.980Z workers Parallelism for initial run: 6, for regular run: 3\n',
    '2025-10-28T11:10:43.980Z workers Web server is listening at 56876\n',
    '2025-10-28T11:10:43.981Z project File cache requires some updates, waiting required files from IDE\n',
    '2025-10-28T11:10:43.985Z project Stopping process pool\n',
    '2025-10-28T11:10:43.986Z runManager Test run started; run priority: 3\n',
    '2025-10-28T11:10:43.988Z projectData Invalidated run result cache for 1 test file(s)\n',
    '2025-10-28T11:10:43.988Z runManager Running all tests\n',
    '2025-10-28T11:10:43.990Z workers Planning to run 1 queued test file(s) (full run)\n',
    '2025-10-28T11:10:43.990Z workers [worker #0] New run (tier 1, regular, no group): 1 test files, time estimate 1413.89 ms\n',
    '2025-10-28T11:10:43.991Z workers Starting run worker instance #0\n',
    '2025-10-28T11:10:43.991Z workers Started run worker instance (immediate) #0\n',
    '2025-10-28T11:10:43.991Z vitestRunner Starting sandbox [worker #0, session #d747p]\n',
    '2025-10-28T11:10:44.052Z vitestRunner Preparing sandbox [worker #0, session #d747p]\n',
    '2025-10-28T11:10:44.052Z vitestRunner Prepared sandbox [worker #0, session #d747p]\n',
    '2025-10-28T11:10:44.052Z workers [worker #0, session #d747p] Running tests in sandbox\n',
    '2025-10-28T11:10:44.336Z fs No metadata for added file found: node_modules/.vite-temp/vitest.config.ts.timestamp-1761649844291-c948766220ca1.mjs\n',
    '2025-10-28T11:10:44.465Z fs No metadata for deleted file found: node_modules/.vite-temp/vitest.config.ts.timestamp-1761649844291-c948766220ca1.mjs\n',
    "2025-10-28T11:10:44.495Z workers 'Scheduling Vitest Run (d747p): 2025-10-28T11:10:44.494Z'\n",
    '2025-10-28T11:10:45.351Z workers [d747p.1] Test executed: a simple list\n',
    '2025-10-28T11:10:45.351Z workers [d747p.1] Test executed: a simple record\n',
    '2025-10-28T11:10:45.351Z workers [d747p.1] Test executed: list + record\n',
    '2025-10-28T11:10:45.351Z workers [d747p.1] Test executed: switch syntax shorthand\n',
    '2025-10-28T11:10:45.352Z workers [d747p.1] Test executed: token syntax shorthand\n',
    '2025-10-28T11:10:45.352Z workers [d747p.1] Test executed: tagged record shorthand\n',
    '2025-10-28T11:10:45.352Z workers [d747p.1] Test executed: tagged block\n',
    '2025-10-28T11:10:45.353Z workers [d747p.1] Test executed: string with indentation\n',
    '2025-10-28T11:10:45.353Z workers [d747p.1] Test executed: indented text block\n',
    '2025-10-28T11:10:45.353Z workers [d747p.1] Test executed: nested blocks\n',
    '2025-10-28T11:10:45.354Z workers [d747p.1] Test executed: empty block\n',
    '2025-10-28T11:10:45.354Z workers [d747p.1] Test executed: mixed number types\n',
    '2025-10-28T11:10:45.354Z workers [d747p.1] Test executed: strings with quotes\n',
    '2025-10-28T11:10:45.355Z workers [d747p.1] Test executed: text content\n',
    '2025-10-28T11:10:45.355Z workers [d747p.1] Test executed: mixin call\n',
    '2025-10-28T11:10:45.355Z workers [d747p.1] Test executed: def\n',
    '2025-10-28T11:10:45.355Z workers [d747p.1] Test executed: merge field\n',
    '2025-10-28T11:10:45.355Z workers [d747p.1] Test executed: merge content\n',
    '2025-10-28T11:10:45.355Z workers [d747p.1] Test executed: field with target\n',
    '2025-10-28T11:10:45.355Z workers [d747p.1] Test executed: item with target\n',
    '2025-10-28T11:10:45.355Z workers [d747p.1] Test executed: item with target in mixin\n',
    '2025-10-28T11:10:45.355Z workers [d747p.1] Test executed: items target\n',
    '2025-10-28T11:10:45.355Z workers [d747p.1] Test executed: metadata\n',
    '2025-10-28T11:10:45.355Z workers [d747p.1] Loaded unknown number of test(s)\n',
    '2025-10-28T11:10:45.366Z workers [d747p.1] Test executed: template literal substitution with function\n',
    "2025-10-28T11:10:45.379Z workers 'Vitest Run Complete (d747p): 2025-10-28T11:10:45.379Z'\n",
    '2025-10-28T11:10:45.380Z workers [d747p] Run 24 test(s), skipped 0 test(s)\n',
    '2025-10-28T11:10:45.380Z workers [d747p] Sandbox is responsive, closing it\n',
    '2025-10-28T11:10:45.381Z workers No queued test files to run\n',
    '2025-10-28T11:10:45.381Z workers Processing buffered results (idle), buffer size: 1, buffer time: 0ms\n',
    '2025-10-28T11:10:45.381Z workers Handling first result of full run\n',
    '2025-10-28T11:10:45.382Z runManager Test run finished\n',
    '2025-10-28T11:10:45.382Z project Processed console.log entries\n',
    '2025-10-28T11:10:45.383Z project Processed loading sequences\n',
    '2025-10-28T11:10:45.383Z project Processed executed tests\n',
    '2025-10-28T11:10:45.385Z project Processed code coverage\n',
    '2025-10-28T11:10:45.411Z runManager Test run result processed and sent to IDE\n',
    '2025-10-28T11:10:45.490Z fs No metadata for added file found: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-28T11:10:48.459Z fs File changed in editor: packages/clarity/tests/reader.test.ts\n',
    '2025-10-28T11:10:48.464Z runManager Test run started; run priority: 2\n',
    '2025-10-28T11:10:48.464Z testTask Test files from affected: 1, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2025-10-28T11:10:48.464Z testTask Running only selected or not excluded tests\n',
    '2025-10-28T11:10:48.465Z workers Planning to run 1 queued test file(s) (regular run)\n',
    '2025-10-28T11:10:48.465Z workers [worker #0] New run (tier 2, regular, no group): 1 test files, time estimate 482.96 ms\n',
    '2025-10-28T11:10:48.466Z vitestRunner Starting sandbox [worker #0, session #distg]\n',
    '2025-10-28T11:10:48.466Z vitestRunner Preparing sandbox [worker #0, session #distg]\n',
    '2025-10-28T11:10:48.466Z vitestRunner Prepared sandbox [worker #0, session #distg]\n',
    '2025-10-28T11:10:48.466Z workers [worker #0, session #distg] Running tests in sandbox\n',
    "2025-10-28T11:10:48.469Z workers 'Scheduling Vitest Run (distg): 2025-10-28T11:10:48.469Z'\n",
    '2025-10-28T11:10:48.926Z workers [distg.1] Test executed: a simple list\n',
    '2025-10-28T11:10:48.926Z workers [distg.1] Test executed: a simple record\n',
    '2025-10-28T11:10:48.926Z workers [distg.1] Test executed: list + record\n',
    '2025-10-28T11:10:48.926Z workers [distg.1] Test executed: switch syntax shorthand\n',
    '2025-10-28T11:10:48.926Z workers [distg.1] Test executed: token syntax shorthand\n',
    '2025-10-28T11:10:48.926Z workers [distg.1] Test executed: tagged record shorthand\n',
    '2025-10-28T11:10:48.926Z workers [distg.1] Test executed: tagged block\n',
    '2025-10-28T11:10:48.926Z workers [distg.1] Test executed: string with indentation\n',
    '2025-10-28T11:10:48.926Z workers [distg.1] Test executed: indented text block\n',
    '2025-10-28T11:10:48.926Z workers [distg.1] Test executed: nested blocks\n',
    '2025-10-28T11:10:48.926Z workers [distg.1] Test executed: empty block\n',
    '2025-10-28T11:10:48.927Z workers [distg.1] Test executed: mixed number types\n',
    '2025-10-28T11:10:48.927Z workers [distg.1] Test executed: strings with quotes\n',
    '2025-10-28T11:10:48.927Z workers [distg.1] Test executed: text content\n',
    '2025-10-28T11:10:48.927Z workers [distg.1] Test executed: mixin call\n',
    '2025-10-28T11:10:48.927Z workers [distg.1] Test executed: def\n',
    '2025-10-28T11:10:48.927Z workers [distg.1] Test executed: merge field\n',
    '2025-10-28T11:10:48.927Z workers [distg.1] Test executed: merge content\n',
    '2025-10-28T11:10:48.928Z workers [distg.1] Test executed: field with target\n',
    '2025-10-28T11:10:48.928Z workers [distg.1] Test executed: item with target\n',
    '2025-10-28T11:10:48.928Z workers [distg.1] Test executed: item with target in mixin\n',
    '2025-10-28T11:10:48.928Z workers [distg.1] Test executed: items target\n',
    '2025-10-28T11:10:48.928Z workers [distg.1] Test executed: metadata\n',
    '2025-10-28T11:10:48.928Z workers [distg.1] Loaded unknown number of test(s)\n',
    '2025-10-28T11:10:48.935Z workers [distg.1] Test executed: template literal substitution with function\n',
    "2025-10-28T11:10:48.945Z workers 'Vitest Run Complete (distg): 2025-10-28T11:10:48.944Z'\n",
    '2025-10-28T11:10:48.945Z workers [distg] Run 24 test(s), skipped 0 test(s)\n',
    '2025-10-28T11:10:48.945Z workers [distg] Sandbox is responsive, closing it\n',
    '2025-10-28T11:10:48.945Z workers No queued test files to run\n',
    '2025-10-28T11:10:48.945Z workers Processing buffered results (idle), buffer size: 1, buffer time: 0ms\n',
    '2025-10-28T11:10:48.945Z runManager Test run finished\n',
    '2025-10-28T11:10:48.945Z project Processed console.log entries\n',
    '2025-10-28T11:10:48.945Z project Processed loading sequences\n',
    '2025-10-28T11:10:48.946Z project Processed executed tests\n',
    '2025-10-28T11:10:48.946Z project Processed code coverage\n',
    '2025-10-28T11:10:48.955Z runManager Test run result processed and sent to IDE\n',
    '2025-10-28T11:10:49.056Z fs File changed: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n',
    '2025-10-28T11:10:49.056Z fs No metadata for changed file found: node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json\n'
  ]
}

tslocke avatar Oct 28 '25 11:10 tslocke

We have a few questions to follow up on your latest comment:

  1. Can you reliably reproduce this issue? I'm guessing not or you would have mentioned, but wanted to check as it would help us if we can reproduce the problem.
  2. In your screenshot, you show ❌ 0 ✔️ 1; is this from the same session as your diagnostics report? We were expecting to see more tests reported against the tick / cross.
  3. Are the indicators next to the inline messages (i.e. coverage indicators) still red, or did they turn green?
  4. What do you see in the Overview panel for the test? Is it passing, or still failing? Is there an error stack/message?
  5. Do you see any errors / related information in the Wallaby Console output (Wallaby Side View - Status tab)?
  6. If you see the error again, can you please inspect the Cursor Developer tools console for errors (run the Developer: Toggle Developer Tools command next time you have the problem.
  7. Could you please share your Cursor version using the Help: About command?

smcenlly avatar Oct 29 '25 01:10 smcenlly

Hi. I didn't get a chance to work on my project where I use Wallaby all of last week. I'm back on it now. Right now I can't reproduce the issue. If I do see comments getting stuck again I'll try to answer all of your questions. For now I can just answer two:

  1. Yes I could reliably repro that one, but I can't now
  2. Yes it was from the same session.

tslocke avatar Nov 10 '25 08:11 tslocke

Oh also:

Version: 1.7.54 VSCode Version: 1.99.3 Commit: 5c17eb2968a37f66bc6662f48d6356a100b67be0 Date: 2025-10-21T19:07:38.476Z Electron: 34.5.8 Chromium: 132.0.6834.210 Node.js: 20.19.1 V8: 13.2.152.41-electron.0 OS: Darwin arm64 23.5.0

tslocke avatar Nov 10 '25 08:11 tslocke

Hi, sorry to report the stale comments bug is definitely still happening. I'll try to get some more useful info. Just giving you a quick heads-up for now.

tslocke avatar Nov 12 '25 08:11 tslocke

The bug is rare now but it does happen. It's hard to reproduce. I saw it just now and captured the diagnostics. It's 30k lines : /

No idea if this is useful but here you go

https://gist.github.com/tslocke/a0fe908ac63acf2f7a9a7505d917cf6d

tslocke avatar Nov 17 '25 09:11 tslocke

Please see https://github.com/wallabyjs/public/issues/3578#issuecomment-3544858612, it should address the issue.

ArtemGovorov avatar Nov 18 '25 03:11 ArtemGovorov

Hi, I don't see the connection with the ticket you linked? This one is about log messages from old test runs still showing, and needing to restart Wallaby to clear them.

tslocke avatar Nov 18 '25 07:11 tslocke

Apologies, you’re right. It’s a different issue, so I’m reopening it. I saw the [WARN] Number of console messages exceeded maximum allowed value (100) warning in the diagnostics report and mistakenly thought it was related.

ArtemGovorov avatar Nov 18 '25 08:11 ArtemGovorov

While we couldn't reproduce your issue, we've made some changes in the latest version of Wallaby core (v1.0.1929) related to processing when .only is used in your tests. We think this may help resolve your issue.

Could you please update to the latest version of Wallaby core and let us know if you see the problem again?

smcenlly avatar Nov 19 '25 01:11 smcenlly