GitHub check
256 KB of 384 KB loaded Download the full log (384 KB)
128 KB of earlier output not loaded
โ src/ipc/methods/snapShot.test.ts (3 tests) 23ms
~/packages/source-control-bitbucket$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/preview/GuestInput.test.ts (4 tests) 4ms
โ src/codexMarkdownDirectives.test.ts (22 tests) 72ms
โ src/electron/ElectronShell.test.ts (5 tests) 9ms
โ src/markdownLinks.test.ts (34 tests) 15ms
โ src/backend/tailscaleEndpointProvider.test.ts (3 tests) 32ms
โ src/app/DesktopWebLinks.test.ts (2 tests) 12ms
โ scripts/verify-preload-bundle.test.mjs (7 tests) 50ms
โ src/agentAwareness.test.ts (18 tests) 19ms
โ src/preview/BrowserImport/CookieDatabase.test.ts (2 tests) 71ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/source-control-bitbucket
โ src/preview/PickedElementPayload.test.ts (2 tests) 11ms
โ ../../native/kde-snap-shot/src/activate.test.ts (2 tests) 4ms
โ scripts/browser-secret-native.test.mjs (10 tests) 772ms
โ src/DrainableWorker.test.ts (3 tests) 51ms
โ src/htmlRender.test.ts (11 tests) 20ms
โ src/sourceControl.test.ts (11 tests) 8ms
โ src/imageDimensions.test.ts (8 tests) 17ms
โ src/server/ForgejoSourceControlProvider.test.ts (27 tests) 274ms
Test Files 1 passed (1)
Tests 27 passed (27)
Start at 13:42:47
Duration 2.79s (transform 58%, import 27%, tests 11%, setup 4%)
โ src/snapShot/NativeCaptureFeedback.test.ts (2 tests) 24ms
โ src/preview/BrowserImport/SafariPermission.test.ts (2 tests) 85ms
~/packages/provider-grok$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/snapShot/SnapShotAccessibilityProcess.test.ts (3 tests) 8ms
โ src/terminalOutput.test.ts (16 tests) 1155ms
โ appendTerminalOutput (8)
โ stays bounded across many appends of huge output, including one endless line 1118ms
โ src/composerContextLegacySend.test.ts (8 tests) 32ms
โ src/remote.test.ts (10 tests) 27ms
โ src/preview/BrowserImport/LinuxBrowserSecret.test.ts (1 test) 76ms
โ src/KeyedLock.test.ts (4 tests) 25ms
โ src/logging.test.ts (3 tests) 102ms
โ src/promptLinks.test.ts (8 tests) 15ms
โ src/electron/WindowsForeground.test.ts (3 tests) 17ms
โ src/app/DesktopUserData.test.ts (2 tests) 26ms
โ src/electron/WindowsForegroundFocusThread.test.ts (2 tests) 17ms
โ src/composerContextClipboard.test.ts (6 tests) 336ms
โ composerContextClipboard (6)
โ round-trips selections larger than two million characters 324ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/provider-grok
โ src/app/DesktopAppActivationBroker.test.ts (3 tests) 4ms
โ src/schemaJson.test.ts (8 tests) 38ms
โ gnome-extension/feedbackGeometry.test.js (7 tests) 8ms
โ src/app/DesktopEnvironment.test.ts (2 tests) 51ms
โ src/permissions/MacSettingsWindow.test.ts (2 tests) 22ms
โ src/codexAuthHandoff.test.ts (6 tests) 9ms
โ src/ipc/methods/localEnvironment.test.ts (1 test) 34ms
โ src/devHome.test.ts (5 tests) 57ms
โ src/preview/WebviewPreferences.test.ts (2 tests) 8ms
โ src/app/DesktopPreReadyFileSystem.test.ts (1 test) 22ms
โ ../../native/kde-snap-shot/src/feedbackGeometry.test.ts (2 tests) 15ms
โ src/preview/RecordingInput.test.ts (2 tests) 6ms
โ src/orchestrationV2BoundedSnapshot.test.ts (3 tests) 11ms
โ src/server/usage.test.ts (9 tests) 10ms
โ src/snapShot/WindowsCaptureFeedback.test.ts (1 test) 3ms
โ src/preview/AnnotationKeyboard.test.ts (1 test) 2ms
โ src/Net.test.ts (4 tests) 19ms
โ src/ipc/methods/sshEnvironment.test.ts (1 test) 10ms
โ src/orchestrationTiming.test.ts (11 tests) 3ms
โ src/preview/AnnotationIds.test.ts (1 test) 4ms
โ src/threadLinks.test.ts (8 tests) 4ms
Test Files 103 passed (103)
Tests 836 passed (836)
Start at 13:42:29
Duration 22.43s (import 46%, transform 30%, tests 13%, setup 11%, worker 1%)
Import 519 modules were evaluated 6415 times ยท 59.52s total, 46% of tracked time
~5.95s faster with isolate: false โ shared modules are evaluated once per worker instead of once per file
learn more: https://vitest.dev/guide/improving-performance#test-isolation
~/packages/source-control-gitlab$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/threadFindText.test.ts (8 tests) 69ms
โ src/gitPatchPath.test.ts (22 tests) 10ms
โ src/hostClassification.test.ts (10 tests) 5ms
โ src/composerTrigger.test.ts (25 tests) 7ms
โ src/fileLinks.test.ts (18 tests) 4ms
โ src/semver.test.ts (7 tests) 6ms
โ src/path.test.ts (11 tests) 10ms
โ src/server/bitbucketPullRequestJson.test.ts (22 tests) 35ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/source-control-gitlab
โ src/relayTracing.test.ts (2 tests) 6ms
โ src/orchestrationV2Timeline.test.ts (12 tests) 5ms
โ src/markdownPipeline.test.ts (3 tests) 75ms
โ src/codexArtifactTemplates.test.ts (9 tests) 7ms
โ src/server/BitbucketPullRequestProvider.test.ts (18 tests) 86ms
โ src/server/BitbucketPullRequestApi.test.ts (22 tests) 150ms
โ src/toolActivity.test.ts (4 tests) 7ms
Test Files 3 passed (3)
Tests 62 passed (62)
Start at 13:42:49
Duration 2.67s (transform 53%, import 38%, setup 5%, tests 4%)
โ src/cliArgs.test.ts (8 tests) 7ms
~/packages/provider-cursor$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/filePreview.test.ts (13 tests) 14ms
โ src/codexFileCitations.test.ts (5 tests) 17ms
โ src/server/xaiAcpExtension.test.ts (52 tests) 75ms
โ src/connectAuth.test.ts (3 tests) 3ms
โ src/composerPullRequestMatches.test.ts (3 tests) 8ms
โ src/threadReference.test.ts (5 tests) 3ms
โ src/cliRelease.test.ts (3 tests) 5ms
โ src/relayAuth.test.ts (2 tests) 9ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/provider-cursor
โ src/searchRanking.test.ts (3 tests) 3ms
โ src/delimitedPreview.test.ts (8 tests) 999ms
โ delimited file previews (8)
โ bounds rows, columns and cell length and reports partial content 989ms
โ src/desktopBootstrapToken.test.ts (3 tests) 9ms
โ src/usageFormat.test.ts (4 tests) 29ms
โ src/favicon.test.ts (6 tests) 7ms
โ src/cloneUrl.test.ts (3 tests) 3ms
โ src/githubMarkdownLinks.test.ts (3 tests) 47ms
โ src/oauthScope.test.ts (3 tests) 10ms
โ src/schemaYaml.test.ts (2 tests) 9ms
โ src/thirdPartyLicenses.test.ts (2 tests) 4ms
โ src/desktopAppControl.test.ts (2 tests) 4ms
โ src/t3McpToolPresentation.test.ts (2 tests) 47ms
โ src/server/skills.test.ts (6 tests) 76ms
โ src/server/acpSupport.test.ts (8 tests) 15ms
โ src/threadSearch.test.ts (2 tests) 8ms
โ src/relayUrl.test.ts (4 tests) 15ms
โ src/AgentScope.test.ts (1 test) 10ms
โ src/video.test.ts (2 tests) 3ms
โ src/server/skills.test.ts (5 tests) 117ms
โ src/providerAuthReturnUrl.test.ts (5 tests) 9ms
โ src/terminalLabels.test.ts (2 tests) 5ms
โ src/changedFileKind.test.ts (5 tests) 4ms
โ src/telemetryId.test.ts (1 test) 5ms
โ src/t3ProjectFile.test.ts (2 tests) 4ms
โ src/relayJwt.test.ts (1 test) 4ms
โ src/relaySigning.test.ts (1 test) 12ms
โ src/server/gitLabMergeRequestJson.test.ts (29 tests) 25ms
Test Files 90 passed (90)
Tests 1008 passed | 2 skipped (1010)
Start at 13:42:41
Duration 12.63s (import 41%, transform 29%, setup 15%, tests 14%, worker 1%)
Import 349 modules were evaluated 2797 times ยท 28.22s total, 41% of tracked time
~2.63s faster with isolate: false โ shared modules are evaluated once per worker instead of once per file
learn more: https://vitest.dev/guide/improving-performance#test-isolation
~/packages/client-runtime$ vp test run โ cache disabled
โ src/server/GitLabPullRequestProvider.test.ts (7 tests) 12ms
โ src/server/GitLabCli.test.ts (5 tests) 33ms
โ src/server/GitLabPullRequestCli.legacy.test.ts (14 tests) 25ms
โ src/server/GitLabPullRequestCli.test.ts (41 tests) 80ms
โ src/server/GitLabSourceControlProvider.test.ts (12 tests) 28ms
Test Files 6 passed (6)
Tests 108 passed (108)
Start at 13:42:51
Duration 2.62s (transform 55%, import 38%, setup 5%, tests 1%)
โ src/server/accountUsage.test.ts (9 tests) 604ms
~/packages/tailscale$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/server/driver.test.ts (4 tests) 49ms
Test Files 5 passed (5)
Tests 79 passed (79)
Start at 13:42:50
Duration 4.02s (transform 61%, import 31%, setup 5%, tests 2%)
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/client-runtime
~/packages/effect-acp$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/tailscale
โ src/server/usageLimits.test.ts (9 tests) 46ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/effect-acp
โ src/server/auth.test.ts (10 tests) 37ms
โ src/server/textGeneration.test.ts (8 tests) 88ms
โ src/server/CursorAgentSdk.test.ts (1 test) 12ms
โ src/tailscale.test.ts (7 tests) 54ms
Test Files 1 passed (1)
Tests 7 passed (7)
Start at 13:42:54
Duration 649ms (import 41%, transform 34%, setup 14%, tests 10%, worker 1%)
~/packages/effect-codex-app-server$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/server/transportFailure.test.ts (10 tests) 11ms
โ src/server/status.test.ts (8 tests) 82ms
โ src/server/accountCache.test.ts (2 tests) 4ms
โ src/server/CursorSdk.test.ts (2 tests) 13ms
โ src/server/adapter.test.ts (15 tests) 84ms
โ src/server/credentialStore.test.ts (5 tests) 38ms
โ src/schema.test.ts (2 tests) 32ms
โ src/_internal/stdio.test.ts (1 test) 12ms
โ src/server/driver.test.ts (2 tests) 89ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/effect-codex-app-server
โ src/errors.test.ts (6 tests) 39ms
โ src/agent.test.ts (6 tests) 84ms
โ src/server/CursorSdkCatalog.test.ts (1 test) 21ms
Test Files 14 passed (14)
Tests 87 passed (87)
Start at 13:42:52
Duration 3.64s (transform 45%, import 40%, setup 8%, tests 6%)
~/packages/provider-acp-registry$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/_internal/stdio.test.ts (1 test) 11ms
โ src/_internal/shared.test.ts (4 tests) 23ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/provider-acp-registry
โ src/protocol.test.ts (21 tests) 930ms
โ effect-acp protocol (21)
โ propagates the real child exit code when the input stream ends 378ms
โ does not emit a second process-exit error after a decode failure 451ms
โ src/authorization/layer.test.ts (23 tests) 227ms
โ src/protocol.test.ts (15 tests) 95ms
โ src/schema.test.ts (4 tests) 14ms
โ src/state/runtime.test.ts (23 tests) 128ms
โ src/connection/supervisor.test.ts (30 tests) 275ms
โ src/client.test.ts (2 tests) 216ms
Test Files 5 passed (5)
Tests 26 passed (26)
Start at 13:42:56
Duration 1.66s (transform 57%, import 26%, setup 9%, tests 8%, worker 1%)
โ src/rpc/session.test.ts (14 tests) 341ms
~/packages/provider-core$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/connection/registry.test.ts (41 tests) 355ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/provider-core
โ src/state/server.test.ts (19 tests) 51ms
โ src/operations/commands.test.ts (14 tests) 57ms
โ src/server/usageLimits.test.ts (7 tests) 13ms
โ src/state/threads-sync.test.ts (24 tests) 546ms
โ src/server/AcpRegistryRuntimeCoordinator.test.ts (7 tests) 68ms
โ src/state/shell-sync.test.ts (6 tests) 85ms
โ src/state/pullRequests.test.ts (56 tests) 1443ms
โ returns a successful mutation when source invalidation stalls 1009ms
โ src/server/authenticationState.test.ts (3 tests) 43ms
โ src/voice-input/controller.test.ts (22 tests) 24ms
โ src/state/vcs.test.ts (9 tests) 107ms
โ src/server/ModelCatalog.test.ts (4 tests) 3ms
โ src/state/environmentHttpAuth.test.ts (32 tests) 306ms
โ src/connection/onboarding.test.ts (13 tests) 106ms
โ src/server/auth.test.ts (5 tests) 84ms
โ src/state/entities.test.ts (16 tests) 13ms
โ src/state/orchestrationV2Projection.test.ts (13 tests) 23ms
โ src/state/vcsAction.test.ts (9 tests) 52ms
โ src/server/AcpRegistrySupport.test.ts (31 tests) 893ms
โ src/relay/managedRelay.test.ts (7 tests) 133ms
โ src/relay/discovery.test.ts (7 tests) 122ms
โ src/state/threads-atoms.test.ts (4 tests) 147ms
โ src/server/notification.test.ts (4 tests) 3ms
โ src/server/driver.test.ts (9 tests) 15ms
Test Files 5 passed (5)
Tests 55 passed (55)
Start at 13:42:56
Duration 3.62s (transform 59%, import 29%, tests 8%, setup 4%)
โ src/server/attachmentPrompt.test.ts (2 tests) 8ms
~/packages/provider-acp$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/server/failure.test.ts (10 tests) 22ms
โ src/server/providerAuthFlow.test.ts (17 tests) 87ms
โ src/server/managedProvider.test.ts (9 tests) 95ms
โ src/state/threadCommands.test.ts (19 tests) 59ms
โ src/server/snapshotProbe.test.ts (7 tests) 39ms
โ src/state/threadShell.test.ts (9 tests) 46ms
โ src/connection/routes.test.ts (19 tests) 16ms
โ src/server/maintenanceResolver.test.ts (52 tests) 212ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/provider-acp
โ src/server/instanceEnvironment.test.ts (4 tests) 40ms
โ src/rpc/client.test.ts (8 tests) 83ms
โ src/server/mcpSession.test.ts (2 tests) 2ms
โ src/server/processGroup.test.ts (2 tests) 20ms
โ src/server/collectStreamText.test.ts (2 tests) 60ms
โ src/device/stream.test.ts (14 tests) 61ms
โ src/server/mcpToolPresentation.test.ts (4 tests) 12ms
โ src/server/stderr.test.ts (2 tests) 3ms
โ src/server/threadTitleContext.test.ts (2 tests) 6ms
โ src/server/sessionConfig.test.ts (6 tests) 4ms
โ src/platform/storageDocument.test.ts (13 tests) 36ms
โ src/state/projectGrouping.test.ts (20 tests) 20ms
โ src/server/textGenerationUtils.test.ts (3 tests) 8ms
โ src/server/mcpOverAcpBridge.test.ts (3 tests) 38ms
โ src/server/textGenerationPrompts.test.ts (1 test) 3ms
Test Files 17 passed (17)
Tests 132 passed (132)
Start at 13:42:58
Duration 3.79s (transform 46%, import 40%, setup 10%, tests 3%)
Import 177 modules were evaluated 1007 times ยท 7.95s total, 40% of tracked time
~256ms faster with isolate: false โ shared modules are evaluated once per worker instead of once per file
learn more: https://vitest.dev/guide/improving-performance#test-isolation
~/packages/source-control-github$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/state/commandPermissions.test.ts (14 tests) 65ms
โ src/state/fileMetadata.test.ts (11 tests) 215ms
โ src/server/clientPolicy.test.ts (13 tests) 65ms
โ src/state/threadRelationships.test.ts (11 tests) 11ms
โ src/connection/resolver.test.ts (6 tests) 48ms
โ src/mcpApps/host.test.ts (9 tests) 12ms
โ src/state/threadWorkflows.test.ts (21 tests) 11ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/source-control-github
โ src/state/threadExecution.test.ts (11 tests) 16ms
โ src/state/threadHistoryMerge.test.ts (7 tests) 9ms
โ src/server/runtimeModel.test.ts (47 tests) 786ms
โ AcpRuntimeModel (29)
โ keeps the newest 16 MiB of ACP terminal output at a UTF-8 boundary 425ms
โ src/connection/outdatedHostUpdate.test.ts (3 tests) 48ms
โ src/state/shellReducer.test.ts (14 tests) 18ms
โ src/state/threadSnoozed.test.ts (20 tests) 54ms
โ src/client.test.ts (26 tests) 7510ms
โ effect-acp client (19)
โ transforms fragmented stdout before parsing and preserves UTF-8 546ms
โ preserves stdout transform errors without logging rejected input 502ms
โ reports idle child termination and rejects later requests and notifications 479ms
โ initializes, prompts, receives updates, and handles permission requests 587ms
โ returns structured invalid params without exposing values from typed extension request payloads 730ms
โ preserves ACP v2 structured diff semantics 613ms
โ does not turn unsupported ACP v2 auth methods into agent login 499ms
โ preserves registry env-var authentication extensions 615ms
โ replays buffered notifications to handlers registered after they arrive 840ms
โ routes MCP-over-ACP connect, message, notification, and disconnect callbacks 739ms
โ preserves future content and session-update variants 1052ms
Test Files 6 passed (6)
Tests 62 passed (62)
Start at 13:42:55
Duration 8.66s (tests 60%, transform 19%, import 17%, setup 4%)
โ src/server/nativeLogging.test.ts (3 tests) 23ms
~/packages/provider-muse$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/state/threadSort.test.ts (21 tests) 230ms
โ src/state/projectCommands.test.ts (4 tests) 64ms
stdout | src/state/serverUsage.test.ts > keeps the cached usage summary when the awaited refresh fails
[13:43:04.182] WARN (#49): Could not refresh slow usage sources. {
errorType: 'error',
errorName: 'UsageReadError',
errorTag: 'UsageReadError',
stack: ' at /home/runner/_work/t3code/t3code/packages/client-runtime/src/state/serverUsage.test.ts:289:21\n' +
' at Generator.next (<anonymous>)\n' +
' at ~effect/Effect/successCont (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:979:28)\n' +
' at ~effect/Effect/evaluate (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:991:25)\n' +
' at FiberImpl.runLoop (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:453:97)\n' +
' at FiberImpl.evaluate (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:402:23)\n' +
' at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2474:9\n' +
' at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2526:19\n' +
' at Module.<anonymous> (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2537:31)\n' +
' at Array.<anonymous> (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@effect+vitest@4.0.5_patch_hash=2731c9c3761c595f25ddc625a7d61ca376b389d5b3049ecb837c894_729be65b0f3c6bde0309e4457c6d9256/node_modules/@effect/vitest/dist/internal/internal.js:26:31)'
}
โ src/state/serverUsage.test.ts (2 tests) 71ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/provider-muse
โ src/server/gitHubPullRequestJson.test.ts (49 tests) 41ms
โ src/operations/commands.performance.test.ts (1 test) 119ms
โ src/platform/shellCacheEncoding.test.ts (5 tests) 226ms
โ src/server/usageLimits.test.ts (4 tests) 12ms
โ src/state/terminalSession.test.ts (9 tests) 18ms
โ src/state/threadRequests.test.ts (10 tests) 8ms
โ src/server/itemPresentation.test.ts (6 tests) 20ms
โ src/state/subagentRuntime.test.ts (11 tests) 34ms
โ src/server/sdk.test.ts (12 tests) 133ms
โ src/authorization/remote.test.ts (5 tests) 51ms
โ src/work-log/commandLabel.test.ts (61 tests) 125ms
โ src/server/protocol.test.ts (1 test) 2ms
โ src/state/usage.test.ts (8 tests) 19ms
โ src/state/boundedThreadSnapshotHttp.test.ts (5 tests) 90ms
โ src/server/GitHubCredentials.test.ts (5 tests) 55ms
โ src/server/GitHubRest.test.ts (8 tests) 102ms
โ src/server/gitHubGraphQlClient.test.ts (9 tests) 147ms
โ src/relay/managedRelayState.test.ts (4 tests) 23ms
โ src/device/duoControl.test.ts (12 tests) 19ms
โ src/server/githubStackActions.test.ts (9 tests) 111ms
โ src/projectFaviconCache.test.ts (8 tests) 227ms
โ src/server/GitHubPullRequestProvider.test.ts (17 tests) 70ms
โ src/device/duoViewer.test.ts (2 tests) 36ms
โ src/state/threadSubagents.test.ts (7 tests) 23ms
โ src/state/threadDetail.test.ts (11 tests) 50ms
โ src/pullRequestQuery.test.ts (17 tests) 27ms
โ src/server/modelCatalog.test.ts (1 test) 4ms
โ src/server/GitHubQuota.test.ts (4 tests) 14ms
โ src/work-log/presentation.test.ts (16 tests) 10ms
โ src/server/gitHubRepositoryResolution.test.ts (3 tests) 4ms
โ src/server/maintenance.test.ts (3 tests) 44ms
โ src/server/textGeneration.test.ts (8 tests) 151ms
โ src/preview/serverBrowserStream.test.ts (5 tests) 8ms
โ src/connection/diagnosis.test.ts (7 tests) 14ms
โ src/state/presentation.test.ts (3 tests) 14ms
โ src/server/status.test.ts (3 tests) 253ms
โ src/connection/presentation.test.ts (4 tests) 3ms
โ src/server/GitHubPullRequestApi.test.ts (105 tests) 1098ms
โ GitHubPullRequestApi.layer (104)
โ keeps the pull request being ticked through, not the one looked up first 440ms
โ src/server/clientTerminals.test.ts (10 tests) 4841ms
โ AcpClientTerminals (9)
โ bounds unreleased terminal handles without invalidating existing ids 3738ms
โ bounds aggregate output retained across unreleased terminals 318ms
Test Files 7 passed (7)
Tests 84 passed (84)
Start at 13:43:01
Duration 6.12s (tests 45%, transform 30%, import 17%, setup 8%)
โ src/state/itemSupport.test.ts (2 tests) 3ms
~/oxlint-plugin-t3code$ vp test run --config ../vite.config.ts --dir . โ cache disabled
โ src/pullRequestMarkdown.test.ts (15 tests) 5ms
โ src/server/adapter.test.ts (39 tests) 330ms
Test Files 9 passed (9)
Tests 77 passed (77)
Start at 13:43:04
Duration 2.98s (transform 49%, import 35%, setup 8%, tests 7%)
โ src/device/phoneViewer.test.ts (1 test) 27ms
~/packages/ssh$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/pullRequestLinkInput.test.ts (14 tests) 6ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/oxlint-plugin-t3code
โ src/state/projectEntities.test.ts (2 tests) 18ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/ssh
โ src/device/avcConfig.test.ts (8 tests) 17ms
โ src/state/threadFeedback.test.ts (4 tests) 4ms
โ src/handoff.test.ts (8 tests) 10ms
โ src/platform/orchestrationCache.test.ts (3 tests) 31ms
โ src/providerSkills.test.ts (6 tests) 21ms
โ src/server/GitHubSourceControlProvider.test.ts (29 tests) 2193ms
โ keeps Enterprise operations on the selected remote: git@code.example.test:team/project.git 689ms
โ keeps Enterprise operations on the selected remote: ssh://git@code.example.test/team/project.git 648ms
โ keeps Enterprise operations on the selected remote: https://code.example.test/team/project.git 646ms
Test Files 10 passed (10)
Tests 238 passed (238)
Start at 13:43:02
Duration 5.72s (transform 46%, import 32%, tests 15%, setup 7%)
โ src/auth.test.ts (2 tests) 42ms
โ src/config.test.ts (4 tests) 99ms
~/scripts$ vp test run --config ../vite.config.ts --dir . โ cache disabled
stdout | src/command.test.ts > ssh command > preserves process output: default head
[13:43:08.568] WARN (#40): ssh.command.failed {
alias: 'synthetic-fixture',
hostname: 'synthetic-fixture',
username: null,
port: null,
command: [
'ssh',
'-o',
'BatchMode=yes',
'-o',
'ConnectTimeout=10',
'--',
'synthetic-fixture'
],
exitCode: 1,
stdout: 'HEAD\n' +
'verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbo\n' +
'[truncated]',
stderr: ''
}
โ src/device/phoneScene.test.ts (8 tests) 227ms
โ src/reviewGuideTour.test.ts (7 tests) 11ms
stdout | src/command.test.ts > ssh command > preserves process output: opt-in tail
[13:43:08.683] WARN (#53): ssh.command.failed {
alias: 'synthetic-fixture',
hostname: 'synthetic-fixture',
username: null,
port: null,
command: [
'ssh',
'-o',
'BatchMode=yes',
'-o',
'ConnectTimeout=10',
'--',
'synthetic-fixture'
],
exitCode: 1,
stdout: '[truncated]\n' +
'bose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix {"credential":"[redacted]"}\n' +
'PANIC: emulator SDK is broken\n',
stderr: 'stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure '
}
โ src/operations/projects.test.ts (6 tests) 6ms
โ src/command.test.ts (7 tests) 382ms
โ src/tunnel.test.ts (7 tests) 319ms
Test Files 4 passed (4)
Tests 20 passed (20)
Start at 13:43:07
Duration 1.33s (import 42%, tests 25%, transform 22%, setup 11%)
โ src/threadPullRequestCompatibility.test.ts (10 tests) 10ms
~/apps/mobile$ vp test run --project unit --project react โ cache disabled
RUN v5.0.5 /home/runner/_work/t3code/t3code/scripts
โ src/device/phoneInteraction.test.ts (4 tests) 6ms
โ src/device/duoScene.test.ts (2 tests) 56ms
โ src/state/usageProgress.test.ts (4 tests) 3ms
โ src/device/model.test.ts (4 tests) 22ms
โ src/state/attachments.test.ts (3 tests) 16ms
โ src/state/filesystem.test.ts (8 tests) 18ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/apps/mobile
โ src/connection/errors.test.ts (5 tests) 22ms
โ lib/third-party-licenses.test.ts (19 tests) 402ms
โ src/t3ToolSummary.test.ts (3 tests) 13ms
โ src/mediaSource.test.ts (8 tests) 7ms
โ notify-discord-release.test.ts (15 tests) 309ms
โ src/state/sharedSettings.test.ts (9 tests) 18ms
โ src/state/turnItemPresentation.test.ts (2 tests) 13ms
โ dev-runner.test.ts (31 tests) 321ms
โ src/state/threadSearch.test.ts (4 tests) 59ms
โ src/connection/compatibility.test.ts (4 tests) 15ms
โ src/work-log/toolPresentation.test.ts (4 tests) 18ms
โ merge-update-manifests.test.ts (5 tests) 70ms
โ legend-list-initial-reveal.test.ts (10 tests) 32ms
โ lib/cli-external-packages.test.ts (10 tests) 716ms
โ external package dependency closure (1)
โ keeps every runtime dependency of an external package external too 690ms
โ lib/dev-share.test.ts (5 tests) 15ms
โ src/device/streamFrames.test.ts (1 test) 19ms
โ src/device/modelScene.test.ts (2 tests) 6ms
โ src/state/providerInstanceDisplay.test.ts (10 tests) 11ms
โ src/promptLinks.test.ts (3 tests) 5ms
โ build-npm-launcher.test.ts (1 test) 1522ms
โ build-npm-launcher (1)
โ publishes a launcher that downloads, verifies, caches, and runs the release executable 1480ms
โ react src/components/ui/Dialog.android.test.tsx (1 test) 145ms
โ src/state/serverConfigProjection.test.ts (2 tests) 3ms
โ lib/public-config.test.ts (1 test) 12ms
โ src/state/queryPersistence.test.ts (3 tests) 33ms
โ src/device/deviceMotion.test.ts (2 tests) 14ms
โ react src/native/NativeHeaderToolbar.test.tsx (4 tests) 25ms
โ react src/native/useRestingTopOffset.test.tsx (4 tests) 59ms
โ mobile-native-client.test.ts (2 tests) 116ms
โ update-release-package-versions.test.ts (3 tests) 147ms
โ src/state/customSnooze.test.ts (11 tests) 13ms
โ mock-update-server.test.ts (2 tests) 389ms
โ lib/resolve-catalog.test.ts (2 tests) 62ms
โ sync-reference-repos.test.ts (2 tests) 139ms
โ src/state/auth.test.ts (2 tests) 20ms
โ src/work-log/itemDetail.test.ts (2 tests) 8ms
โ src/state/threadInbox.test.ts (2 tests) 3ms
โ mobile-showcase.test.ts (3 tests) 11ms
โ src/userMessage.test.ts (3 tests) 3ms
โ src/state/usageAccess.test.ts (8 tests) 3ms
โ src/errors/safeLog.test.ts (2 tests) 22ms
โ lib/build-target-arch.test.ts (1 test) 50ms
โ lib/icon-export.test.ts (1 test) 3ms
โ src/markdownImages.test.ts (12 tests) 13ms
โ resolve-previous-release-tag.test.ts (3 tests) 19ms
โ src/filePreview.test.ts (3 tests) 120ms
โ src/errors/transport.test.ts (3 tests) 5ms
โ src/state/assets.test.ts (1 test) 13ms
โ src/mediaReference.test.ts (7 tests) 11ms
โ mobile-native-static-check.test.ts (2 tests) 37ms
โ src/relay/errorPresentation.test.ts (3 tests) 12ms
โ src/state/threadHistoryController.test.ts (1 test) 24ms
โ src/device/duoSnap.test.ts (1 test) 19ms
โ src/device/renderScheduler.test.ts (1 test) 10ms
โ src/errors/errorTrace.test.ts (2 tests) 8ms
โ src/device/androidFoldScene.test.ts (1 test) 134ms
โ src/work-log/scrollAnchor.test.ts (1 test) 2ms
โ src/state/commandOutput.test.ts (1 test) 7ms
โ src/secretRequest.test.ts (2 tests) 10ms
โ src/environment/endpoint.test.ts (1 test) 5ms
โ build-desktop-artifact.test.ts (42 tests) 4643ms
โ build-desktop-artifact (40)
โ rejects overlapping builds from another process until restoration finishes 1315ms
โ builds web, server and desktop with the resolved version, restores changed manifests and preserves edits to matching ones 775ms
โ reports a restore failure while still restoring the remaining manifests 304ms
โ react src/features/settings/components/BranchNamingSettings.test.tsx (4 tests) 41ms
โ react src/state/use-selected-thread-git-actions.test.tsx (1 test) 40ms
โ src/state/archivedThreads.test.ts (1 test) 6ms
Test Files 120 passed (120)
Tests 1101 passed (1101)
Start at 13:42:54
Duration 21.25s (import 51%, transform 29%, setup 12%, tests 7%, worker 1%)
Import 491 modules were evaluated 8710 times ยท 62.74s total, 51% of tracked time
~7.10s faster with isolate: false โ shared modules are evaluated once per worker instead of once per file
learn more: https://vitest.dev/guide/improving-performance#test-isolation
โ unit src/lib/threadActivity.test.ts (35 tests) 156ms
โ unit src/lib/modelOptions.test.ts (29 tests) 31ms
โ unit src/features/threads/threadListV2.test.ts (56 tests) 55ms
โ unit src/state/thread-outbox.test.ts (35 tests) 87ms
โ react src/features/settings/SettingsServerControlsRouteScreen.test.tsx (1 test) 76ms
โ knip-schemas.test.ts (1 test) 8978ms
โ allows types and schemas through the real Knip CLI without hiding runtime or file findings 8977ms
Test Files 21 passed (21)
Tests 161 passed (161)
Start at 13:43:09
Duration 9.59s (tests 49%, import 25%, transform 14%, setup 11%)
Isolate 21 workers spawned ยท ~277ms startup each (spawn + environment, per file)
at least ~554ms faster with isolate: false โ reuses workers across files instead of one per file
โ unit src/features/agent-awareness/remoteRegistration.test.ts (15 tests) 437ms
โ unit src/lib/composerFiles.test.ts (36 tests) 59ms
stderr | src/state/use-composer-drafts.test.ts > mobile composer drafts > restores deleted file chips and releases undo history (uploaded: false)
[composer-attachments] could not remove local file TypeError: file.delete is not a function
at removePersistedComposerAttachmentFile (/home/runner/_work/t3code/t3code/apps/mobile/src/lib/composerImages.ts:223:12)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at releaseUnusedComposerAttachmentFiles (/home/runner/_work/t3code/t3code/apps/mobile/src/state/use-composer-drafts.ts:924:5)
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-file-system@58.0.9_expo@58.0.14_react-native@0.88.0_@babel+core@7.29.7_supports-co_dba9ef97a37b898651a8aa6fe892beee/node_modules/expo-file-system/build/index.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-file-system@58.0.9_expo@58.0.14_react-native@0.88.0_@babel+core@7.29.7_supports-co_dba9ef97a37b898651a8aa6fe892beee/node_modules/expo-file-system/build/Paths.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-file-system@58.0.9_expo@58.0.14_react-native@0.88.0_@babel+core@7.29.7_supports-co_dba9ef97a37b898651a8aa6fe892beee/node_modules/expo-file-system/build/Directory.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-file-system@58.0.9_expo@58.0.14_react-native@0.88.0_@babel+core@7.29.7_supports-co_dba9ef97a37b898651a8aa6fe892beee/node_modules/expo-file-system/build/ExpoFileSystem.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/index.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/ts-declarations/global.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/ts-declarations/EventEmitter.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/ts-declarations/NativeModule.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/ts-declarations/SharedObject.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/ts-declarations/SharedRef.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/sweet/setUpJsLogger.fx.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/errors/CodedError.js" points to missing source files
Sourcemap for "/home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/requireNativeModule.js" points to missing source files
โ unit src/features/sharing/incoming-share-model.test.ts (19 tests) 13ms
stderr | src/state/use-composer-drafts.test.ts > mobile composer drafts > restores deleted file chips and releases undo history (uploaded: true)
[composer-attachments] could not remove local file Error [RolldownError]: Parse failure: Parse failed with 1 error:
Flow is not supported
1: /**
^
2: * Copyright (c) Meta Platforms, Inc. and affiliates.
3: *
At file: /@fs/home/runner/_work/t3code/t3code/node_modules/.pnpm/react-native@0.88.0_@babel+core@7.29.7_supports-color@8.1.1__@react-native+metro-config_4bbd3f1473e0b719a3b6bb196a69f292/node_modules/react-native/index.js:1:0
at error (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/rolldown/shared/logs-D6uA606S.mjs:166:24)
at normalizeParseError (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/rolldown/parse-ast-index.mjs:25:9)
at wrap (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/rolldown/parse-ast-index.mjs:5:39)
at parseAstAsync (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/rolldown/parse-ast-index.mjs:54:9)
at async ssrTransformScript (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/chunks/node.js:21140:9)
at async loadAndTransform (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/chunks/node.js:25564:64) {
cause: undefined,
__vitest_rollup_error__: {
plugin: undefined,
id: '/@fs/home/runner/_work/t3code/t3code/node_modules/.pnpm/react-native@0.88.0_@babel+core@7.29.7_supports-color@8.1.1__@react-native+metro-config_4bbd3f1473e0b719a3b6bb196a69f292/node_modules/react-native/index.js',
loc: {
line: 1,
column: 0,
file: '/@fs/home/runner/_work/t3code/t3code/node_modules/.pnpm/react-native@0.88.0_@babel+core@7.29.7_supports-color@8.1.1__@react-native+metro-config_4bbd3f1473e0b719a3b6bb196a69f292/node_modules/react-native/index.js'
},
frame: '1 | /**\n' +
' | ^\n' +
'2 | * Copyright (c) Meta Platforms, Inc. and affiliates.\n' +
'3 | *'
},
runnerError: Error: RunnerError
at reviveInvokeError (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:553:64)
at Object.invoke (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:568:33)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async VitestModuleRunner.getModuleInformation (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:1217:7)
at async request (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:1234:83)
at /home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/requireNativeModule.ts:1:1
at async VitestModuleEvaluator._runInlinedModule (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/module-evaluator.js:261:4)
at async VitestModuleRunner.directRequest (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:1277:59)
at async VitestModuleRunner.cachedRequest (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:1184:73)
at /home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/sweet/sweet/setUpJsLogger.fx.ts:2:1
}
stderr | src/state/use-composer-drafts.test.ts > mobile composer drafts > restores deleted file chips and releases undo history (uploaded: true)
[composer-attachments] could not verify incoming share ownership {
_tag: 'IncomingShareStorageError',
operation: 'load',
shareId: null,
cause: Error [RolldownError]: Parse failure: Parse failed with 1 error:
Flow is not supported
1: /**
^
2: * Copyright (c) Meta Platforms, Inc. and affiliates.
3: *
At file: /@fs/home/runner/_work/t3code/t3code/node_modules/.pnpm/react-native@0.88.0_@babel+core@7.29.7_supports-color@8.1.1__@react-native+metro-config_4bbd3f1473e0b719a3b6bb196a69f292/node_modules/react-native/index.js:1:0
at error (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/rolldown/shared/logs-D6uA606S.mjs:166:24)
at normalizeParseError (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/rolldown/parse-ast-index.mjs:25:9)
at wrap (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/rolldown/parse-ast-index.mjs:5:39)
at parseAstAsync (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/rolldown/parse-ast-index.mjs:54:9)
at async ssrTransformScript (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/chunks/node.js:21140:9)
at async loadAndTransform (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/chunks/node.js:25564:64) {
cause: undefined,
__vitest_rollup_error__: {
plugin: undefined,
id: '/@fs/home/runner/_work/t3code/t3code/node_modules/.pnpm/react-native@0.88.0_@babel+core@7.29.7_supports-color@8.1.1__@react-native+metro-config_4bbd3f1473e0b719a3b6bb196a69f292/node_modules/react-native/index.js',
loc: [Object],
frame: '1 | /**\n' +
' | ^\n' +
'2 | * Copyright (c) Meta Platforms, Inc. and affiliates.\n' +
'3 | *'
},
runnerError: Error: RunnerError
at reviveInvokeError (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:553:64)
at Object.invoke (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:568:33)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async VitestModuleRunner.getModuleInformation (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:1217:7)
at async request (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:1234:83)
at /home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/requireNativeModule.ts:1:1
at async VitestModuleEvaluator._runInlinedModule (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/module-evaluator.js:261:4)
at async VitestModuleRunner.directRequest (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:1277:59)
at async VitestModuleRunner.cachedRequest (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@voidzero-dev+vite-plus-core@1.3.0_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@volar+_298b27adb89a86e0d0a0a5c4125affc4/node_modules/@voidzero-dev/vite-plus-core/dist/vite/node/module-runner.js:1184:73)
at /home/runner/_work/t3code/t3code/node_modules/.pnpm/expo-modules-core@58.0.22_patch_hash=f0b0fd100550ed76e5c25b4d13eb7c9ff62825f8f197c53edf_6a1c9e707e4caac0e11bcdf133fd5ef6/node_modules/expo-modules-core/build/sweet/sweet/setUpJsLogger.fx.ts:2:1
}
}
โ unit src/lib/attachmentUpload.test.ts (28 tests) 25ms
โ rules/no-real-time-wait-in-tests.test.ts (16 tests) 11542ms
โ t3code/no-real-time-wait-in-tests (15)
โ allows TestClock-driven sleeps and timeout safety nets (1)
โ passes 767ms
โ ignores sleeps inside strings and child-process script templates (1)
โ passes 917ms
โ ignores shared helpers in files that drive the TestClock (1)
โ passes 1039ms
โ ignores bare setTimeout callbacks outside promise executors (1)
โ passes 1376ms
โ reports Effect.sleep under it.live (1)
โ reports the rule diagnostic 860ms
โ reports retry schedules under curried testers (1)
โ reports the rule diagnostic 649ms
โ reports Effect.delay under plain it (1)
โ reports the rule diagnostic 814ms
โ reports it.effect inside an excludeTestServices layer as a real-clock wait (1)
โ reports the rule diagnostic 957ms
โ reports it.effect sleeps in files that never adjust the TestClock (1)
โ reports the rule diagnostic 507ms
โ reports polling helpers even when the file drives the TestClock (1)
โ reports the rule diagnostic 526ms
โ reports promise-wrapped setTimeout in vitest tests (1)
โ reports the rule diagnostic 492ms
โ reports promise-wrapped setTimeout under it.effect as a mixed clock (1)
โ reports the rule diagnostic 462ms
โ reports TestClock sleeps when TestClock.adjust appears only in a comment (1)
โ reports the rule diagnostic 453ms
โ reports timers hidden in module-level helpers (1)
โ reports the rule diagnostic 503ms
โ reports awaited timers/promises sleeps (1)
โ reports the rule diagnostic 596ms
โ ignores non-test files (1)
โ passes 589ms
stderr | src/state/use-composer-drafts.test.ts > mobile composer drafts > preserves saved drafts and attachment files when the draft read fails
[composer-drafts] failed to hydrate drafts {
_tag: 'ComposerDraftPersistenceError',
operation: 'read',
directory: 'composer-drafts',
fileName: 'drafts.json',
cause: Error: storage unavailable
at /home/runner/_work/t3code/t3code/apps/mobile/src/state/use-composer-drafts.test.ts:1977:45
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:2886:64
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:1632:35
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:2801:26
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3338:20
at new Promise (<anonymous>)
at runWithCancel (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3333:10)
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3318:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3276:10)
}
stderr | src/state/use-composer-drafts.test.ts > mobile composer drafts > preserves saved drafts and attachment files when the draft read fails
[composer-drafts] failed to hydrate drafts {
_tag: 'ComposerDraftPersistenceError',
operation: 'read',
directory: 'composer-drafts',
fileName: 'drafts.json',
cause: Error: storage unavailable
at /home/runner/_work/t3code/t3code/apps/mobile/src/state/use-composer-drafts.test.ts:1977:45
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:2886:64
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:1632:35
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:2801:26
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3338:20
at new Promise (<anonymous>)
at runWithCancel (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3333:10)
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3318:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3276:10)
}
stderr | src/state/use-composer-drafts.test.ts > mobile composer drafts > preserves saved drafts and attachment files when the draft decode fails
[composer-drafts] failed to hydrate drafts {
_tag: 'ComposerDraftPersistenceError',
operation: 'decode',
directory: 'composer-drafts',
fileName: 'drafts.json',
cause: {
_tag: 'SchemaError',
message: 'Expected 1\n at ["schemaVersion"]'
}
}
stderr | src/state/use-composer-drafts.test.ts > mobile composer drafts > preserves saved drafts and attachment files when the draft decode fails
[composer-drafts] failed to hydrate drafts {
_tag: 'ComposerDraftPersistenceError',
operation: 'decode',
directory: 'composer-drafts',
fileName: 'drafts.json',
cause: {
_tag: 'SchemaError',
message: 'Expected 1\n at ["schemaVersion"]'
}
}
โ rules/no-test-timeout-or-unreasoned-skip.test.ts (16 tests) 11551ms
โ t3code/no-test-timeout-or-unreasoned-skip (13)
โ allows tests without overrides, conditional skips, and waitFor timeouts (1)
โ passes 705ms
โ allows a skip with a quarantine issue or a GitHub issue URL (1)
โ passes 862ms
โ reports a numeric timeout on it.effect (1)
โ reports the rule diagnostic 923ms
โ reports a timeout through .each and .skipIf chains (1)
โ reports the rule diagnostic 857ms
โ reports retry options, options-first timeouts, and hook timeouts (1)
โ reports the rule diagnostic 934ms
โ reports vi.setConfig timeouts (1)
โ reports the rule diagnostic 978ms
โ reports a skip whose comment has no issue (1)
โ reports the rule diagnostic 826ms
โ reports todo, only, and the x/f aliases (1)
โ reports the rule diagnostic 966ms
โ flags an options-object timeout when the callback is a reference (1)
โ reports the rule diagnostic 520ms
โ allows a computed skip option, which is a platform gate like skipIf (1)
โ passes 485ms
โ flags the suite alias and option-object skips (1)
โ reports the rule diagnostic 581ms
โ flags a skip option without a quarantine issue (1)
โ reports the rule diagnostic 497ms
โ flags a bracket-access skip without a quarantine issue (1)
โ reports the rule diagnostic 528ms
โ still flags an option-object skip in a live file (1)
โ reports the rule diagnostic 660ms
โ allows timeouts in opt-in live provider suites (1)
โ passes 508ms
โ ignores non-test files (1)
โ passes 628ms
stderr | src/state/use-thread-outbox-drain.test.ts > thread outbox drain delivery cleanup > removes an acknowledged outbox item even when the sign-out archive write fails
[thread-outbox] could not update sign-out snapshot after delivery {
messageId: 'archive-write-failure',
error: {
_tag: 'ComposerDraftPersistenceError',
operation: 'write',
directory: 'composer-drafts',
fileName: 'drafts.json',
cause: Error: Draft storage unavailable
at /home/runner/_work/t3code/t3code/apps/mobile/src/state/use-thread-outbox-drain.test.ts:335:37
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:2801:20
}
}
stderr | src/state/use-thread-outbox-drain.test.ts > thread outbox drain delivery cleanup > retries only cleanup after an acknowledged send removal fails
[thread-outbox] failed to remove acknowledged queued message {
environmentId: 'environment-1',
threadId: 'thread-1',
messageId: 'message-acknowledged',
error: {
_tag: 'ThreadOutboxManagerError',
operation: 'remove',
environmentId: 'environment-1',
threadId: 'thread-1',
messageId: 'message-acknowledged',
cause: Error: storage unavailable
at /home/runner/_work/t3code/t3code/apps/mobile/src/state/use-thread-outbox-drain.test.ts:399:55
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:1632:35
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:2801:26
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3338:20
at new Promise (<anonymous>)
at runWithCancel (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3333:10)
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3318:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3276:10)
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3904:64
}
}
stderr | src/state/use-thread-outbox-drain.test.ts > thread outbox delivered creation recovery > retries a failed removal without duplicating recovered draft content
[thread-outbox] could not remove recovered pending task Error: storage unavailable
at /home/runner/_work/t3code/t3code/apps/mobile/src/state/use-thread-outbox-drain.test.ts:557:30
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:1632:35
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:2801:26
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3338:20
at new Promise (<anonymous>)
at runWithCancel (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3333:10)
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3318:20
at new Promise (<anonymous>)
at runWithTimeout (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3276:10)
โ unit src/state/use-thread-outbox-drain.test.ts (23 tests) 43ms
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:3904:64
stderr | src/state/use-thread-outbox-drain.test.ts > thread outbox delivered creation recovery > keeps the queue entry when the recovered draft cannot persist
[thread-outbox] could not hand an edited pending task to the composer {
_tag: 'ComposerDraftPersistenceError',
operation: 'write',
directory: 'composer-drafts',
fileName: 'drafts.json',
cause: Error: disk full
at /home/runner/_work/t3code/t3code/apps/mobile/src/state/use-thread-outbox-drain.test.ts:583:37
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:2801:20
}
stderr | src/state/use-thread-outbox-drain.test.ts > thread outbox recovery rollback > rolls a failed recovery merge back so the retry cannot duplicate the text
[thread-outbox] failed to persist a recovery rollback {
_tag: 'ComposerDraftPersistenceError',
operation: 'write',
directory: 'composer-drafts',
fileName: 'drafts.json',
cause: Error: disk full
at /home/runner/_work/t3code/t3code/apps/mobile/src/state/use-thread-outbox-drain.test.ts:733:37
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:2801:20
}
stderr | src/state/use-thread-outbox-drain.test.ts > thread outbox recovery rollback > rolls a failed recovery merge back so the retry cannot duplicate the text
[thread-outbox] failed to restore an undeliverable message {
_tag: 'ComposerDraftPersistenceError',
operation: 'write',
directory: 'composer-drafts',
fileName: 'drafts.json',
cause: Error: disk full
at /home/runner/_work/t3code/t3code/apps/mobile/src/state/use-thread-outbox-drain.test.ts:733:37
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/run.BPv-BBRv.js:2801:20
}
โ unit src/state/use-composer-drafts.test.ts (74 tests) 882ms
โ mobile composer drafts (74)
โ restores deleted file chips and releases undo history (uploaded: true) 318ms
โ unit src/features/home/useThreadListActions.test.ts (37 tests) 64ms
โ rules/no-polling-loop-in-tests.test.ts (16 tests) 12071ms
โ t3code/no-polling-loop-in-tests (15)
โ allows a fixed-count flush followed by unrelated error handling (1)
โ passes 737ms
โ allows a fixed-N flush with a literal bound (1)
โ passes 684ms
โ allows a fixed-N while flush with a counter bound (1)
โ passes 977ms
โ allows a fixed-N do-while flush against a named bound (1)
โ passes 1178ms
โ allows a loop that takes from a queue (1)
โ passes 1357ms
โ ignores waits inside nested callbacks (1)
โ passes 1116ms
โ reports a budgeted yieldNow poll that dies after the loop (1)
โ reports the rule diagnostic 1031ms
โ reports a while loop spinning on a predicate (1)
โ reports the rule diagnostic 652ms
โ reports a while loop bounded by a length predicate (1)
โ reports the rule diagnostic 448ms
โ reports a comparison against an identifier the loop never advances (1)
โ reports the rule diagnostic 552ms
โ reports a for loop bounded by a length predicate (1)
โ reports the rule diagnostic 542ms
โ reports a sleep poll with a counter bound and an early return (1)
โ reports the rule diagnostic 472ms
โ reports a microtask poll keyed on the loop condition (1)
โ reports the rule diagnostic 623ms
โ reports an awaited setTimeout poll (1)
โ reports the rule diagnostic 552ms
โ reports an awaited Promise.resolve poll that breaks (1)
โ reports the rule diagnostic 581ms
โ ignores non-test files (1)
โ passes 535ms
โ unit src/native/workspace-stack-projection.test.ts (22 tests) 26ms
โ unit src/lib/mobileTheme.test.ts (24 tests) 93ms
โ unit src/state/thread-task-permissions.test.ts (7 tests) 53ms
โ unit src/lib/attachmentDownload.test.ts (19 tests) 71ms
โ unit src/state/use-thread-outbox-drain.permissions.test.ts (12 tests) 12ms
โ unit src/lib/composerContext.test.ts (15 tests) 217ms
โ unit src/lib/composerAttachmentUploadQueue.test.ts (11 tests) 31ms
โ unit src/lib/android-workspace-navigation.test.ts (15 tests) 10ms
โ unit src/features/threads/thread-feed-live-follow.test.ts (28 tests) 18ms
โ unit src/state/composer-attachment-uploads.test.ts (5 tests) 43ms
โ unit src/features/pull-requests/pullRequestList.test.ts (15 tests) 40ms
โ unit src/lib/composerContextClipboard.test.ts (7 tests) 26ms
โ unit src/features/voice-input/voiceInputSession.test.ts (13 tests) 22ms
โ unit src/features/updates/app-updates.test.ts (11 tests) 87ms
โ unit src/connection/environment-cache-store.test.ts (4 tests) 45ms
โ unit src/state/pending-task-editor-writes.test.ts (5 tests) 14ms
โ unit src/features/home/home-thread-navigation.test.ts (6 tests) 15ms
โ unit src/features/diffs/nativeReviewDiffHighlighter.test.ts (11 tests) 453ms
โ unit src/state/thread-outbox-removal.test.ts (5 tests) 21ms
โ rules/require-disposable-render.test.ts (22 tests) 15689ms
โ t3code/require-disposable-render (22)
โ allows the disposable helper (1)
โ passes 860ms
โ rejects react-dom/client (1)
โ reports the rule diagnostic 812ms
โ rejects act from react (1)
โ reports the rule diagnostic 1234ms
โ rejects a renamed act from react (1)
โ reports the rule diagnostic 1168ms
โ rejects setting the act environment (1)
โ reports the rule diagnostic 1116ms
โ rejects setting the act environment by computed key (1)
โ reports the rule diagnostic 900ms
โ rejects stubbing the act environment (1)
โ reports the rule diagnostic 873ms
โ rejects userEvent wrapped in act from react (1)
โ reports the rule diagnostic 682ms
โ rejects userEvent wrapped in the render helper's act (1)
โ reports the rule diagnostic 523ms
โ rejects userEvent wrapped in a renamed render helper act (1)
โ reports the rule diagnostic 593ms
โ rejects a renamed userEvent wrapped in act (1)
โ reports the rule diagnostic 586ms
โ rejects a locator click wrapped in act (1)
โ reports the rule diagnostic 599ms
โ rejects React.act from a namespace import (1)
โ reports the rule diagnostic 550ms
โ rejects userEvent wrapped in React.act (1)
โ reports the rule diagnostic 537ms
โ allows act around a DOM click and userEvent in a function act only defines (1)
โ passes 527ms
โ rejects lifecycle hooks through a test runner namespace (1)
โ reports the rule diagnostic 584ms
โ rejects importing lifecycle hooks from the test runner (1)
โ reports the rule diagnostic 568ms
โ rejects afterEach (1)
โ reports the rule diagnostic 635ms
โ rejects beforeAll (1)
โ reports the rule diagnostic 527ms
โ allows lifecycle hooks outside browser tests (1)
โ passes 651ms
โ allows importing lifecycle hooks outside browser tests (1)
โ passes 569ms
โ still rejects react-dom/client in unit tests (1)
โ reports the rule diagnostic 521ms
โ unit src/features/cloud/linkEnvironment.test.ts (3 tests) 75ms
โ rules/prefer-effect-fn.test.ts (23 tests) 16082ms
โ t3code/prefer-effect-fn (23)
โ allows inline programs and layer construction (1)
โ passes 623ms
โ allows named functions and deliberate untraced functions (1)
โ passes 612ms
โ allows inline combinator callbacks (1)
โ passes 783ms
โ allows inline option and error callbacks (1)
โ passes 859ms
โ allows reference default-value callbacks (1)
โ passes 1373ms
โ reports service members named onSome (1)
โ reports the rule diagnostic 989ms
โ reports service members named onNone (1)
โ reports the rule diagnostic 1108ms
โ reports service members named onSuccess (1)
โ reports the rule diagnostic 661ms
โ reports service members named onFailure (1)
โ reports the rule diagnostic 642ms
โ reports service members named defaultValue (1)
โ reports the rule diagnostic 566ms
โ does not mistake other namespaces or shadowed locals for Effect (1)
โ passes 517ms
โ leaves functions with synchronous setup for manual review (1)
โ passes 536ms
โ reports a named arrow wrapper (1)
โ reports the rule diagnostic 444ms
โ reports a block-bodied wrapper (1)
โ reports the rule diagnostic 597ms
โ reports a declaration with pipe transforms (1)
โ reports the rule diagnostic 683ms
โ reports a function expression (1)
โ reports the rule diagnostic 425ms
โ reports service members (1)
โ reports the rule diagnostic 734ms
โ reports class fields (1)
โ reports the rule diagnostic 714ms
โ recognizes namespace aliases (1)
โ reports the rule diagnostic 679ms
โ recognizes bare-package Effect imports (1)
โ reports the rule diagnostic 522ms
โ recognizes a direct gen import (1)
โ reports the rule diagnostic 655ms
โ reports class methods (1)
โ reports the rule diagnostic 621ms
โ allows getters that expose an effect value (1)
โ passes 684ms
โ unit src/features/threads/checkout-new-task-branch.test.ts (11 tests) 3629ms
โ new-task branch checkout (11)
โ switches to a free branch and clears its historical worktree path 384ms
โ resolves historical branch metadata to its worktree beyond a long query's first page 461ms
โ resolves a non-origin remote to the right worktree when the remote name contains slashes 378ms
โ switches to the selected remote instead of reusing a worktree tracking another remote 619ms
โ unit src/state/use-selected-thread-git-actions.test.ts (11 tests) 18ms
โ unit src/features/threads/threadOrderAvailability.test.ts (7 tests) 530ms
โ computeThreadMoveAvailability matches the reference planner (7)
โ agrees across randomized sections (keys, holes, non-writable rows, hidden keys) 510ms
โ unit src/features/sharing/incoming-share-inbox.test.ts (10 tests) 26ms
โ unit src/lib/composerImages.test.ts (6 tests) 13ms
โ rules/no-mobile-uniwind-theme-escape-hatches.test.ts (24 tests) 16930ms
โ t3code/no-mobile-uniwind-theme-escape-hatches (24)
โ allows semantic mobile theme classes (1)
โ passes 620ms
โ allows unrelated functions with legacy hook names (1)
โ passes 727ms
โ allows unrelated imports with legacy hook names (1)
โ passes 764ms
โ allows erased type-only theme imports (1)
โ passes 1461ms
โ allows appearance words in ordinary copy (1)
โ passes 902ms
โ does not conflate shadowed Uniwind namespaces (1)
โ passes 930ms
โ allows reviewed native interop boundaries (1)
โ passes 818ms
โ still reports appearance variants in reviewed interop boundaries (1)
โ reports the rule diagnostic 845ms
โ reports new React theme subscriptions (1)
โ reports the rule diagnostic 678ms
โ reports the retired theme color hook (1)
โ reports the rule diagnostic 469ms
โ reports guarded hooks imported with TypeScript extensions (1)
โ reports the rule diagnostic 685ms
โ reports unreviewed native interop subscriptions (1)
โ reports the rule diagnostic 591ms
โ reports appearance variants in string literals (1)
โ reports the rule diagnostic 454ms
โ reports appearance variants in template literals (1)
โ reports the rule diagnostic 792ms
โ reports escaped appearance variants in template literals (1)
โ reports the rule diagnostic 465ms
โ reports appearance variants through nested class-map indirection (1)
โ reports the rule diagnostic 617ms
โ reports appearance variants passed to class builders (1)
โ reports the rule diagnostic 684ms
โ reports negative and important appearance variants (1)
โ reports the rule diagnostic 645ms
โ reports namespace CSS variable subscriptions (1)
โ reports the rule diagnostic 521ms
โ reports destructured namespace CSS variable subscriptions (1)
โ reports the rule diagnostic 639ms
โ reports aliased namespace CSS variable subscriptions (1)
โ reports the rule diagnostic 539ms
โ reports object-rest namespace CSS variable subscriptions (1)
โ reports the rule diagnostic 681ms
โ reports namespace access to the retired theme hook (1)
โ reports the rule diagnostic 682ms
โ reports destructured namespace access to the retired theme hook (1)
โ reports the rule diagnostic 653ms
โ unit src/native/composerEditorRevision.test.ts (17 tests) 14ms
โ unit src/features/settings/scheduledTaskDraft.test.ts (12 tests) 20ms
โ unit src/features/home/homeThreadList.test.ts (4 tests) 31ms
โ unit src/dependency-graph.test.ts (2 tests) 12ms
stdout | src/state/preferences.test.ts > mobile preferences state > falls back to empty preferences when secure storage cannot be read
[13:43:26.276] WARN (#35): Could not load mobile preferences. {
_tag: 'MobilePreferencesLoadError',
cause: Error: secure storage unavailable
at /home/runner/_work/t3code/t3code/apps/mobile/src/state/preferences.test.ts:181:20
at Generator.next (<anonymous>)
at ~effect/Effect/successCont (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:979:28)
at ~effect/Effect/evaluate (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:991:25)
at FiberImpl.runLoop (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:453:97)
at FiberImpl.evaluate (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:402:23)
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2474:9
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2526:19
at Module.<anonymous> (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2537:31)
at Array.<anonymous> (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@effect+vitest@4.0.5_patch_hash=2731c9c3761c595f25ddc625a7d61ca376b389d5b3049ecb837c894_729be65b0f3c6bde0309e4457c6d9256/node_modules/@effect/vitest/dist/internal/internal.js:26:31)
}
โ unit src/state/preferences.test.ts (3 tests) 44ms
stdout | src/lib/storage.test.ts > mobile connection storage > loads legacy preferences when SQLite is unavailable
[13:43:26.780] WARN (#16): Database unavailable; loading fallback preferences. {
cause: {
_tag: 'MobileDatabaseError',
operation: 'load-preferences',
cause: Error: database unavailable
at Object.<anonymous> (/home/runner/_work/t3code/t3code/apps/mobile/src/lib/storage.test.ts:49:33)
at Object.Mock [as getFirstAsync] (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/spy.DDMXghXv.js:353:40)
at try (/home/runner/_work/t3code/t3code/apps/mobile/src/persistence/mobile-database.ts:431:18)
at MixedScheduler.<anonymous> (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:785:7)
at ~effect/Effect/evaluate (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:804:38)
at FiberImpl.runLoop (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:453:97)
at FiberImpl.evaluate (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:402:23)
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2474:9
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2526:19
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2537:31
}
}
โ unit src/lib/mediaActions.test.ts (10 tests) 9ms
stdout | src/lib/storage.test.ts > mobile connection storage > falls back to secure storage when SQLite cannot save preferences
[13:43:26.790] WARN (#17): Database unavailable; loading fallback preferences. {
cause: {
_tag: 'MobileDatabaseError',
operation: 'load-preferences',
cause: Error: database unavailable
at Object.<anonymous> (/home/runner/_work/t3code/t3code/apps/mobile/src/lib/storage.test.ts:49:33)
at Object.Mock [as getFirstAsync] (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/spy.DDMXghXv.js:353:40)
at try (/home/runner/_work/t3code/t3code/apps/mobile/src/persistence/mobile-database.ts:431:18)
at MixedScheduler.<anonymous> (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:785:7)
at ~effect/Effect/evaluate (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:804:38)
at FiberImpl.runLoop (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:453:97)
at FiberImpl.evaluate (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:402:23)
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2474:9
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2526:19
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:2537:31
}
}
stdout | src/lib/storage.test.ts > mobile connection storage > falls back to secure storage when SQLite cannot save preferences
[13:43:26.790] WARN (#17): Database unavailable; saving preferences to secure storage. {
cause: {
_tag: 'MobileDatabaseError',
operation: 'save-preferences',
cause: Error: database unavailable
at Object.<anonymous> (/home/runner/_work/t3code/t3code/apps/mobile/src/lib/storage.test.ts:59:33)
at Object.Mock [as runAsync] (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/vitest@5.0.5_@tsc-rs+typescript@0.8.0_@types+node@24.12.4_@vitest+browser-playwright@5._a4090df6c7be8012d869871fb8a7445d/node_modules/vitest/dist/chunks/spy.DDMXghXv.js:353:40)
at try (/home/runner/_work/t3code/t3code/apps/mobile/src/persistence/mobile-database.ts:441:20)
at MixedScheduler.<anonymous> (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:785:7)
at ~effect/Effect/evaluate (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:804:38)
at FiberImpl.runLoop (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:453:97)
at FiberImpl.evaluate (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:402:23)
at AsyncResource.runInAsyncScope (node:async_hooks:226:14)
at FiberImpl.evaluate (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:396:27)
at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:808:17
}
}
โ unit src/lib/storage.test.ts (6 tests) 38ms
โ unit src/state/session.test.ts (4 tests) 7ms
โ unit src/features/threads/thread-provider-instance.test.ts (3 tests) 21ms
โ unit src/features/projects/AddProjectScreen.test.ts (3 tests) 13ms
โ unit src/features/cloud/dpop.test.ts (5 tests) 136ms
โ unit src/features/settings/settings-scoped-server.test.ts (5 tests) 22ms
โ unit src/features/agent-awareness/liveActivityPreferences.test.ts (3 tests) 14ms
โ unit src/features/pull-requests/pullRequestStack.test.ts (8 tests) 19ms
โ unit src/features/threads/new-task-project-selection.test.ts (9 tests) 3ms
โ unit src/features/threads/thread-settings-sheet-state.test.ts (5 tests) 7ms
โ unit src/features/threads/thread-route-state.test.ts (5 tests) 6ms
โ unit src/features/review/reviewModel.test.ts (5 tests) 18ms
โ unit src/features/settings/environment-maintenance.test.ts (7 tests) 25ms
โ unit src/lib/protectedData.test.ts (3 tests) 163ms
โ unit src/widgets/subscriptionUsageSnapshot.test.ts (5 tests) 14ms
โ rules/require-suppression-reason.test.ts (13 tests) 8063ms
โ t3code/require-suppression-reason (13)
โ allows a directive with a -- reason (1)
โ passes 618ms
โ allows a directive explained by the comment above (1)
โ passes 616ms
โ allows stacked directives under one explanation (1)
โ passes 570ms
โ allows a TypeScript directive followed by its reason (1)
โ passes 606ms
โ allows a directive in a JSX comment with a reason (1)
โ passes 566ms
โ ignores enable directives (1)
โ passes 500ms
โ reports a lint directive without a reason (1)
โ reports the rule diagnostic 593ms
โ reports a file-level directive without a reason (1)
โ reports the rule diagnostic 675ms
โ reports a TypeScript directive without a reason (1)
โ reports the rule diagnostic 751ms
โ does not count a comment separated by a blank line (1)
โ reports the rule diagnostic 608ms
โ allows an empty comment line between the reason and the directive (1)
โ passes 660ms
โ does not count an empty comment above (1)
โ reports the rule diagnostic 648ms
โ does not count a trailing comment on the code line above (1)
โ reports the rule diagnostic 627ms
โ unit src/state/remote-environment-projections.test.ts (1 test) 13ms
โ unit src/features/review/reviewCommentSelection.test.ts (6 tests) 19ms
โ unit src/features/voice-input/lazyVoiceRecorder.test.ts (3 tests) 17ms
stdout | plugins/withAndroidFbjniVersion.test.mjs > withAndroidFbjniVersion > applies the force through the registered app config
[react-native-pdf-jsi] Remember to install peer dependencies:
- react-native-blob-util
- @react-native-async-storage/async-storage
- react-native-nitro-modules (required for the Nitro JSI path; the React Native bridge is used when it is not linked)
โ
Clerk iOS plugin loaded
โ
Clerk Android plugin loaded
โ unit plugins/withAndroidFbjniVersion.test.mjs (4 tests) 414ms
โ withAndroidFbjniVersion (4)
โ applies the force through the registered app config 344ms
โ rules/no-test-in-loop.test.ts (8 tests) 4892ms
โ t3code/no-test-in-loop (7)
โ allows it.each and it.effect.each (1)
โ passes 843ms
โ allows loops inside a test body (1)
โ passes 833ms
โ ignores node:test files, which have no .each (1)
โ passes 472ms
โ reports it inside a for...of loop (1)
โ reports the rule diagnostic 504ms
โ reports it.effect inside a for loop nested in describe (1)
โ reports the rule diagnostic 478ms
โ reports test inside a for...in loop (1)
โ reports the rule diagnostic 497ms
โ reports a describe inside a loop once, not the tests inside it (1)
โ reports the rule diagnostic 564ms
โ ignores non-test files (1)
โ passes 662ms
โ unit src/features/review/nativeReviewDiffAdapter.test.ts (2 tests) 471ms
โ buildNativeReviewDiffData row bound (1)
โ caps each huge file excerpt while preserving full counts and ordinary files 442ms
โ unit src/lib/pdfPreview.test.ts (12 tests) 21ms
โ unit src/features/usage/UsageLimitsSection.test.ts (2 tests) 10ms
โ unit src/features/pull-requests/pullRequestDiffPages.test.ts (3 tests) 16ms
โ unit src/features/agent-awareness/notificationNavigation.test.ts (6 tests) 7ms
โ unit src/state/edit-pending-thread-message.test.ts (4 tests) 9ms
โ rules/no-frame-waits-in-browser-tests.test.ts (16 tests) 9648ms
โ t3code/no-frame-waits-in-browser-tests (16)
โ allows retrying assertions and the full fake timer set (1)
โ passes 569ms
โ allows requestAnimationFrame inside mocks (1)
โ passes 736ms
โ allows timers outside a promise executor and other listeners (1)
โ passes 658ms
โ rejects a nextFrame helper (1)
โ reports the rule diagnostic 598ms
โ rejects requestAnimationFrame as the executor (1)
โ reports the rule diagnostic 688ms
โ rejects window.requestAnimationFrame (1)
โ reports the rule diagnostic 490ms
โ allows a pass-through frame executor inside a mock implementation (1)
โ passes 624ms
โ rejects setTimeout passed straight through as the promise executor (1)
โ reports the rule diagnostic 896ms
โ rejects setTimeout inside a promise executor (1)
โ reports the rule diagnostic 418ms
โ rejects setInterval inside a promise executor (1)
โ reports the rule diagnostic 477ms
โ rejects transitionend listeners (1)
โ reports the rule diagnostic 665ms
โ rejects animationend listeners (1)
โ reports the rule diagnostic 528ms
โ rejects vi.useFakeTimers (1)
โ reports the rule diagnostic 600ms
โ rejects a partial fakeTimers set (1)
โ reports the rule diagnostic 539ms
โ rejects a partial vi.useFakeTimers set (1)
โ reports the rule diagnostic 564ms
โ ignores files that are not browser tests (1)
โ passes 548ms
โ unit src/features/workspace/android-workspace-navigation-colors.test.ts (9 tests) 78ms
โ unit src/state/thread-order.test.ts (4 tests) 12ms
โ unit src/state/assets.test.ts (4 tests) 6ms
โ unit src/lib/adaptive-navigation.test.ts (8 tests) 8ms
โ unit src/state/pending-thread-creation.test.ts (4 tests) 11ms
โ unit src/lib/projectFaviconRequests.test.ts (4 tests) 3ms
โ unit src/features/connection/environmentSections.test.ts (3 tests) 6ms
โ unit src/state/attachments.test.ts (2 tests) 4ms
โ unit src/features/shortcuts/appShortcuts.test.ts (7 tests) 9ms
โ unit src/features/workspace/workspace-tabs-state.test.ts (4 tests) 4ms
โ unit src/lib/atomic-file.test.ts (4 tests) 4ms
โ unit src/state/workspace-connection-atoms.test.ts (1 test) 8ms
โ unit src/state/use-thread-pr.test.ts (6 tests) 8ms
โ unit src/lib/markdownMedia.test.ts (12 tests) 18ms
โ unit src/features/pull-requests/pullRequestFileFilters.test.ts (4 tests) 20ms
โ unit src/lib/localAttachmentPreview.test.ts (4 tests) 6ms
โ unit src/lib/copyTextWithHaptic.test.ts (5 tests) 18ms
โ rules/no-raw-mcp-registration.test.ts (20 tests) 12074ms
โ t3code/no-raw-mcp-registration (20)
โ allows the rest of effect/ai and type-only McpServer imports (1)
โ passes 686ms
โ reports importing McpServer from effect/ai (1)
โ reports the rule diagnostic 560ms
โ reports importing McpServer under another name (1)
โ reports the rule diagnostic 757ms
โ reports a namespace import of effect/ai (1)
โ reports the rule diagnostic 710ms
โ reports importing the McpServer module directly (1)
โ reports the rule diagnostic 441ms
โ reports re-exporting McpServer (1)
โ reports the rule diagnostic 573ms
โ reports re-exporting all of effect/ai (1)
โ reports the rule diagnostic 617ms
โ reports a dynamic import of the McpServer module (1)
โ reports the rule diagnostic 734ms
โ reports a dynamic import written as a template (1)
โ reports the rule diagnostic 854ms
โ reports McpServer.toolkit (1)
โ reports the rule diagnostic 667ms
โ reports McpServer.resource and McpServer.prompt (1)
โ reports the rule diagnostic 511ms
โ reports addTool on the McpServer service (1)
โ reports the rule diagnostic 502ms
โ reports a registration method read without calling it (1)
โ reports the rule diagnostic 468ms
โ reports a registration function taken by destructuring (1)
โ reports the rule diagnostic 501ms
โ reports a registration method taken by destructuring (1)
โ reports the rule diagnostic 672ms
โ lets tests import McpServer to build a server (1)
โ passes 495ms
โ reports a registration in a test (1)
โ reports the rule diagnostic 519ms
โ reports a test importing McpServer under another name (1)
โ reports the rule diagnostic 487ms
โ reports a test importing effect/ai as a namespace (1)
โ reports the rule diagnostic 649ms
โ reports a test importing the McpServer module directly (1)
โ reports the rule diagnostic 603ms
โ unit src/lib/reserved-regions.test.ts (5 tests) 3ms
โ unit src/features/terminal/useTerminalGridSync.test.ts (1 test) 13ms
โ unit src/persistence/mobile-database.test.ts (3 tests) 10ms
โ unit src/features/terminal/useTerminalLifecycle.test.ts (3 tests) 14ms
โ unit src/features/pull-requests/pullRequestDiffComments.test.ts (4 tests) 19ms
โ unit src/connection/storage.test.ts (3 tests) 35ms
โ unit src/features/review/incrementalSnippet.test.ts (3 tests) 513ms
โ incremental snippet highlighting (3)
โ matches full highlighting through partial lines, multiline syntax, edits and truncation 386ms
โ unit src/persistence/mobile-storage.test.ts (3 tests) 19ms
โ unit src/connection/background-activity.test.ts (3 tests) 23ms
โ unit src/lib/markdownHtml.test.ts (5 tests) 43ms
โ unit src/lib/layout.test.ts (7 tests) 9ms
โ unit src/features/threads/threadQueueControlPresentation.test.ts (7 tests) 4ms
โ unit src/lib/videoThumbnails.test.ts (2 tests) 63ms
โ unit src/features/threads/pending-thread-feed.test.ts (4 tests) 8ms
โ unit src/features/threads/fileChipMenu.test.ts (9 tests) 6ms
โ rules/no-wall-clock-in-tests.test.ts (8 tests) 4282ms
โ t3code/no-wall-clock-in-tests (7)
โ ignores a computed member with a variable key (1)
โ passes 509ms
โ allows fixed dates and readings that seed mocks (1)
โ passes 497ms
โ reports elapsed-time measurement (1)
โ reports the rule diagnostic 637ms
โ reports Date.now fixtures (1)
โ reports the rule diagnostic 457ms
โ reports new Date() with no arguments (1)
โ reports the rule diagnostic 436ms
โ reports process.hrtime and process.hrtime.bigint (1)
โ reports the rule diagnostic 511ms
โ reports a reading outside the mock's arguments (1)
โ reports the rule diagnostic 632ms
โ ignores non-test files (1)
โ passes 559ms
โ rules/no-inline-schema-compile.test.ts (6 tests) 3558ms
โ t3code/no-inline-schema-compile (6)
โ allows schema compilers hoisted to module scope (1)
โ passes 591ms
โ allows factory helpers that return a precompiled decoder (1)
โ passes 520ms
โ allows schema construction helpers that use encode transformations (1)
โ passes 679ms
โ allows dynamic schema parameters that cannot be hoisted to module scope (1)
โ passes 629ms
โ reports schema compilers inside function bodies (1)
โ reports the rule diagnostic 593ms
โ reports inline schema literals as high confidence findings (1)
โ reports the rule diagnostic 520ms
โ unit src/state/workspaceModel.test.ts (2 tests) 10ms
โ unit src/features/threads/thread-settings-options.test.ts (4 tests) 6ms
โ unit src/lib/composerAttachmentFiles.test.ts (12 tests) 12ms
โ unit src/connection/migration.test.ts (2 tests) 36ms
โ unit src/features/threads/use-composer-command-menu.test.ts (3 tests) 11ms
โ rules/no-unscoped-has.test.ts (42 tests) 26688ms
โ t3code/no-unscoped-has (24)
โ allows :has() on the element itself (1)
โ passes 790ms
โ allows :has() anchored to an attribute (1)
โ passes 548ms
โ allows :has() inside :not() on the element itself (1)
โ passes 669ms
โ allows built-in has-* variants (1)
โ passes 1268ms
โ allows a sibling selector without :has() (1)
โ passes 888ms
โ ignores prose mentioning :has() (1)
โ passes 1052ms
โ ignores :has() inside an arbitrary value (1)
โ passes 783ms
โ allows a negated :has() on the element itself (1)
โ passes 1071ms
โ allows :has() on a group or peer element (1)
โ passes 664ms
โ allows a selector list whose own branch is anchored (1)
โ passes 442ms
โ ignores :has() text in quoted attribute values (1)
โ passes 463ms
โ allows a selector without & on the element itself (1)
โ passes 546ms
โ reports a sibling :has() with nothing anchoring it (1)
โ reports the rule diagnostic 557ms
โ reports a descendant :has() with nothing anchoring it (1)
โ reports the rule diagnostic 547ms
โ reports a universal :has() ancestor (1)
โ reports the rule diagnostic 584ms
โ reports :has() whose only anchor is negated (1)
โ reports the rule diagnostic 538ms
โ reports uppercase :HAS() (1)
โ reports the rule diagnostic 538ms
โ reports a selector-list branch borrowing another branch's anchor (1)
โ reports the rule diagnostic 530ms
โ reports an unanchored branch inside :is() (1)
โ reports the rule diagnostic 775ms
โ reports an unanchored :has() inside a named group variant (1)
โ reports the rule diagnostic 639ms
โ reports a :has() on an ancestor of a selector without & (1)
โ reports the rule diagnostic 509ms
โ reports a :has() on an ancestor of a group (1)
โ reports the rule diagnostic 665ms
โ reports an in-* ancestor :has() (1)
โ reports the rule diagnostic 588ms
โ reports :has() anchored to the document root (1)
โ reports the rule diagnostic 514ms
โ t3code/no-outset-state-indicators (18)
โ valid: inset state rings (1)
โ inset state rings (1)
โ passes 719ms
โ valid: an unconditional inset (1)
โ an unconditional inset (1)
โ passes 781ms
โ valid: an inset in a sibling composer argument (1)
โ an inset in a sibling composer argument (1)
โ passes 521ms
โ valid: an inset in a nested conditional composer (1)
โ an inset in a nested conditional composer (1)
โ passes 595ms
โ valid: outlines covered by the inward default (1)
โ outlines covered by the inward default (1)
โ passes 634ms
โ valid: wider outlines with a matching inward offset (1)
โ wider outlines with a matching inward offset (1)
โ passes 530ms
โ valid: arbitrary pixel outlines with a matching inward offset (1)
โ arbitrary pixel outlines with a matching inward offset (1)
โ passes 782ms
โ valid: arbitrary outline colors (1)
โ arbitrary outline colors (1)
โ passes 534ms
โ valid: decorative rings without a state (1)
โ decorative rings without a state (1)
โ passes 489ms
โ valid: prose (1)
โ prose (1)
โ passes 650ms
โ invalid: state rings without an inset (1)
โ state rings without an inset (1)
โ reports the rule diagnostic 589ms
โ invalid: an inset from another state (1)
โ an inset from another state (1)
โ reports the rule diagnostic 606ms
โ invalid: an inset from another conditional branch (1)
โ an inset from another conditional branch (1)
โ reports the rule diagnostic 420ms
โ invalid: an inset passed to another function (1)
โ an inset passed to another function (1)
โ reports the rule diagnostic 509ms
โ invalid: arbitrary state ring widths (1)
โ arbitrary state ring widths (1)
โ reports the rule diagnostic 524ms
โ invalid: positive outline offsets (1)
โ positive outline offsets (1)
โ reports the rule diagnostic 528ms
โ invalid: arbitrary outline offsets (1)
โ arbitrary outline offsets (1)
โ reports the rule diagnostic 422ms
โ invalid: wide outlines without an inward offset (1)
โ wide outlines without an inward offset (1)
โ reports the rule diagnostic 595ms
โ unit src/features/pull-requests/pullRequestStatus.test.ts (4 tests) 9ms
โ unit src/lib/microphonePriority.test.ts (4 tests) 7ms
โ unit src/features/threads/new-task-context-presentation.test.ts (7 tests) 15ms
โ unit src/features/settings/autoSettleSettingsSync.test.ts (3 tests) 3ms
โ unit src/features/home/workspace-connection-status.test.ts (3 tests) 8ms
โ unit src/features/terminal/terminalMenu.test.ts (5 tests) 35ms
โ unit src/lib/markdownLinks.test.ts (8 tests) 5ms
โ rules/no-manual-effect-runtime-in-tests.test.ts (17 tests) 9904ms
โ t3code/no-manual-effect-runtime-in-tests (14)
โ allows @effect/vitest effect tests (1)
โ passes 558ms
โ reports Effect.runCallback (1)
โ reports the rule diagnostic 561ms
โ reports Effect.runCallbackWith (1)
โ reports the rule diagnostic 561ms
โ reports Effect.runFork (1)
โ reports the rule diagnostic 513ms
โ reports Effect.runForkWith (1)
โ reports the rule diagnostic 589ms
โ reports Effect.runPromise (1)
โ reports the rule diagnostic 689ms
โ reports Effect.runPromiseExit (1)
โ reports the rule diagnostic 423ms
โ reports Effect.runPromiseExitWith (1)
โ reports the rule diagnostic 686ms
โ reports Effect.runPromiseWith (1)
โ reports the rule diagnostic 473ms
โ reports Effect.runSync (1)
โ reports the rule diagnostic 563ms
โ reports Effect.runSyncExit (1)
โ reports the rule diagnostic 606ms
โ reports Effect.runSyncExitWith (1)
โ reports the rule diagnostic 591ms
โ reports Effect.runSyncWith (1)
โ reports the rule diagnostic 713ms
โ reports ManagedRuntime.make (1)
โ reports the rule diagnostic 658ms
โ allows production runtime boundaries (1)
โ passes 428ms
โ t3code/no-manual-effect-runtime-in-tests with maxOccurrences (2)
โ allows occurrences up to the ceiling (1)
โ passes 540ms
โ reports occurrences beyond the ceiling (1)
โ reports the rule diagnostic 686ms
โ unit src/native/voiceTranscription.ios.test.ts (1 test) 23ms
โ unit src/lib/projectFaviconDatabaseCache.test.ts (3 tests) 5ms
โ unit src/features/terminal/terminalInput.test.ts (7 tests) 4ms
โ unit src/features/devices/threadDevicePreviews.test.ts (2 tests) 2ms
โ unit src/features/threads/worktree-setup-state.test.ts (4 tests) 5ms
โ unit src/features/terminal/terminalPaste.test.ts (2 tests) 3ms
โ unit src/state/queries.filesystem.test.ts (1 test) 8ms
โ unit src/features/terminal/terminalLaunchContext.test.ts (3 tests) 3ms
โ unit src/lib/appLinking.test.ts (17 tests) 22ms
โ unit src/state/thread-provider-switching.test.ts (4 tests) 4ms
โ unit src/features/terminal/useTerminalSurfaceBuffer.test.ts (2 tests) 15ms
โ unit src/features/threads/thread-route-hydration.test.ts (3 tests) 5ms
โ unit src/lib/device-type.test.ts (3 tests) 3ms
โ unit src/lib/projectThreadStartTurn.test.ts (3 tests) 3ms
โ unit src/features/settings/scheduled-task-editor-state.test.ts (3 tests) 2ms
โ rules/no-hermes-unsupported-apis.test.ts (22 tests) 12914ms
โ t3code/no-hermes-unsupported-apis (22)
โ allows in-place sort on a copy (1)
โ passes 788ms
โ allows in-place reverse on a copy (1)
โ passes 462ms
โ allows other ES2023 methods Hermes ships (1)
โ passes 727ms
โ ignores property reads that are not calls (1)
โ passes 457ms
โ reports toSorted (1)
โ reports the rule diagnostic 605ms
โ reports toReversed in a chain (1)
โ reports the rule diagnostic 573ms
โ reports toSpliced via computed access with a copy-then-splice remediation (1)
โ reports the rule diagnostic 789ms
โ reports a static template-literal property name (1)
โ reports the rule diagnostic 692ms
โ ignores a template-literal property with substitutions (1)
โ passes 632ms
โ allows supported Intl constructors (1)
โ passes 561ms
โ allows feature detection (1)
โ passes 408ms
โ allows unrelated Segmenter constructors (1)
โ passes 567ms
โ ignores dynamic computed names (1)
โ passes 657ms
โ reports new Intl.Segmenter(undefined, { granularity: 'grapheme' }) (1)
โ reports the rule diagnostic 511ms
โ reports new Intl['Segmenter']() (1)
โ reports the rule diagnostic 543ms
โ reports new Intl[`Segmenter`]() (1)
โ reports the rule diagnostic 411ms
โ reports new globalThis.Intl.Segmenter() (1)
โ reports the rule diagnostic 525ms
โ reports new globalThis['Intl']['Segmenter']() (1)
โ reports the rule diagnostic 660ms
โ reports new global.Intl.Segmenter() (1)
โ reports the rule diagnostic 607ms
โ reports new window.Intl.Segmenter() (1)
โ reports the rule diagnostic 553ms
โ reports Intl.Segmenter() (1)
โ reports the rule diagnostic 621ms
โ reports Intl.Segmenter?.() (1)
โ reports the rule diagnostic 504ms
โ unit src/state/queued-run-edit.test.ts (3 tests) 3ms
โ unit src/features/files/filePath.test.ts (7 tests) 16ms
โ unit src/features/layout/deferred-navigation.test.ts (3 tests) 2ms
โ unit src/features/home/thread-dismissal.test.ts (3 tests) 7ms
โ rules/no-global-process-runtime.test.ts (9 tests) 5314ms
โ t3code/no-global-process-runtime (9)
โ allows injected host process references (1)
โ passes 566ms
โ allows unrelated process members (1)
โ passes 507ms
โ allows unrelated node os imports (1)
โ passes 588ms
โ reports direct platform reads (1)
โ reports the rule diagnostic 483ms
โ reports direct architecture reads (1)
โ reports the rule diagnostic 624ms
โ reports globalThis process platform reads (1)
โ reports the rule diagnostic 660ms
โ reports node os namespace platform reads (1)
โ reports the rule diagnostic 636ms
โ reports renamed node os architecture imports (1)
โ reports the rule diagnostic 564ms
โ reports default node os platform reads (1)
โ reports the rule diagnostic 647ms
โ unit src/features/cloud/managedRelayLayer.test.ts (1 test) 106ms
โ unit src/features/sharing/incoming-share-presentation.test.ts (2 tests) 9ms
โ unit src/features/devices/device-stream-document.test.ts (11 tests) 12ms
โ unit src/features/cloud/CloudAuthProvider.test.ts (1 test) 11ms
โ unit src/features/diagnostics/crash-log-model.test.ts (2 tests) 14ms
โ unit src/features/threads/provider-catalog-refresh.test.ts (2 tests) 30ms
โ unit src/features/pull-requests/pullRequestActivityFilter.test.ts (1 test) 12ms
โ unit src/lib/markdownTableBreaks.test.ts (5 tests) 66ms
โ unit src/features/observability/tracing.test.ts (1 test) 51ms
โ rules/no-rpc-permission-bypass.test.ts (16 tests) 9648ms
โ blocks direct session calls (1)
โ reports the rule diagnostic 593ms
โ blocks extracting the raw client (1)
โ reports the rule diagnostic 558ms
โ blocks replacing the permission guard (1)
โ reports the rule diagnostic 622ms
โ blocks namespace guard access (1)
โ reports the rule diagnostic 631ms
โ blocks raw protocol imports (1)
โ reports the rule diagnostic 557ms
โ allows typed requests (1)
โ passes 476ms
โ allows the transport boundary (1)
โ passes 636ms
โ blocks guard imports through the barrel (1)
โ reports the rule diagnostic 576ms
โ blocks explicit index imports (1)
โ reports the rule diagnostic 595ms
โ blocks raw session access in subscription callbacks (1)
โ reports the rule diagnostic 607ms
โ blocks raw client destructuring (1)
โ reports the rule diagnostic 760ms
โ allows public typed RPC helpers (1)
โ passes 533ms
โ raw client allowance does not permit installing the guard (1)
โ reports the rule diagnostic 642ms
โ permits guard installation when configured (1)
โ passes 580ms
โ guard installation allowance does not permit raw clients (1)
โ reports the rule diagnostic 622ms
โ guard installation allowance does not permit raw protocol imports (1)
โ reports the rule diagnostic 605ms
โ rules/namespace-node-imports.test.ts (5 tests) 2868ms
โ t3code/namespace-node-imports (5)
โ allows canonical Node namespaces (1)
โ passes 471ms
โ does not apply to non-Node packages (1)
โ passes 590ms
โ reports named imports (1)
โ reports the rule diagnostic 440ms
โ reports default imports (1)
โ reports the rule diagnostic 533ms
โ reports non-canonical namespace aliases (1)
โ reports the rule diagnostic 816ms
โ unit scripts/generate-uniwind-themes.test.ts (1 test) 58ms
โ unit src/features/pull-requests/pullRequestEnvironmentFallback.test.ts (3 tests) 4ms
โ unit src/lib/nativeTheme.test.ts (12 tests) 53ms
โ unit src/lib/assetImageSource.test.ts (3 tests) 8ms
โ unit src/features/pull-requests/pullRequestAgentTasks.test.ts (2 tests) 4ms
โ unit src/lib/enrichedLinkPresentation.test.ts (3 tests) 4ms
โ unit src/features/keyboard/commandPaletteItems.test.ts (2 tests) 7ms
โ unit src/lib/markdownMediaSource.test.ts (3 tests) 8ms
โ unit src/features/pull-requests/pullRequestActions.test.ts (2 tests) 5ms
โ rules/no-mobile-pull-request-glyph-literals.test.ts (10 tests) 5700ms
โ t3code/no-mobile-pull-request-glyph-literals (10)
โ allows glyphs picked from the module (1)
โ passes 570ms
โ allows unrelated symbols and copy that mentions pull requests (1)
โ passes 686ms
โ reports a pull request glyph in a JSX attribute (1)
โ reports the rule diagnostic 531ms
โ reports state glyphs chosen inline (1)
โ reports the rule diagnostic 483ms
โ reports glyphs in platform symbol objects (1)
โ reports the rule diagnostic 524ms
โ reports an Android-only pull request glyph (1)
โ reports the rule diagnostic 633ms
โ allows merge as an ordinary string outside an android symbol slot (1)
โ passes 472ms
โ allows merge in an android key outside a platform symbol object (1)
โ passes 500ms
โ reports an Android-only pull request glyph written as a template literal (1)
โ reports the rule diagnostic 534ms
โ reports glyphs in template literals (1)
โ reports the rule diagnostic 751ms
โ unit src/lib/connection.test.ts (1 test) 2ms
โ unit src/features/connection/pairing.test.ts (5 tests) 5ms
โ unit src/lib/markdownInlineFileLinks.test.ts (4 tests) 26ms
โ unit src/features/sharing/incoming-share-storage.test.ts (1 test) 6ms
โ unit src/features/home/swipe-row-activation.test.ts (3 tests) 3ms
โ unit src/features/settings/SettingsRouteScreen.logic.test.ts (2 tests) 4ms
โ unit src/state/asset-url-state.test.ts (3 tests) 4ms
โ rules/prefer-catch-tags.test.ts (6 tests) 3468ms
โ t3code/prefer-catch-tags (6)
โ allows Effect.catchTags (1)
โ passes 435ms
โ ignores catchTag on other modules (1)
โ passes 474ms
โ ignores a local that shadows the namespace (1)
โ passes 598ms
โ reports Effect.catchTag (1)
โ reports the rule diagnostic 597ms
โ reports catchTag through an aliased namespace (1)
โ reports the rule diagnostic 694ms
โ reports a named catchTag import (1)
โ reports the rule diagnostic 645ms
โ unit src/features/pull-requests/botBadgeImages.test.ts (1 test) 2ms
โ unit src/lib/wideMarkdownBlocks.test.ts (2 tests) 10ms
โ unit src/features/review/shikiReviewHighlighter.test.ts (2 tests) 262ms
โ unit src/features/usage/usageEnvironmentSelection.test.ts (4 tests) 4ms
โ unit src/features/pull-requests/pullRequestDescriptionContent.test.ts (1 test) 9ms
โ unit src/lib/serialized-async-queue.test.ts (2 tests) 8ms
โ unit src/features/pull-requests/pullRequestDescription.test.ts (1 test) 41ms
โ unit src/features/threads/composerSendPresentation.test.ts (2 tests) 2ms
โ unit src/lib/openExternalUrl.test.ts (1 test) 18ms
โ rules/no-native-title-tooltip.test.ts (11 tests) 6954ms
โ t3code/no-native-title-tooltip (11)
โ allows intrinsic elements without a title attribute (1)
โ passes 705ms
โ allows title props on custom components (1)
โ passes 605ms
โ allows title on member expression components (1)
โ passes 679ms
โ allows title as an accessible name on embedded content (1)
โ passes 461ms
โ allows the svg title child element (1)
โ passes 763ms
โ allows document.title assignments (1)
โ passes 689ms
โ reports title on a truncating span (1)
โ reports the rule diagnostic 814ms
โ reports title on a button (1)
โ reports the rule diagnostic 548ms
โ reports title on a paragraph (1)
โ reports the rule diagnostic 524ms
โ reports title on a code element (1)
โ reports the rule diagnostic 641ms
โ reports title on an anchor (1)
โ reports the rule diagnostic 448ms
โ unit src/features/sharing/incoming-share-native.test.ts (2 tests) 3ms
โ unit src/features/diffs/nativeReviewDiffSurface.test.ts (1 test) 134ms
โ unit src/features/pull-requests/pullRequestNavigation.test.ts (2 tests) 7ms
โ unit src/features/threads/threadContentPresentation.test.ts (2 tests) 5ms
โ rules/no-em-dash-copy.test.ts (5 tests) 2784ms
โ t3code/no-em-dash-copy (5)
โ allows em dashes in comments and regex literals (1)
โ passes 758ms
โ allows hyphens and en dashes (1)
โ passes 533ms
โ reports a string literal (1)
โ reports the rule diagnostic 619ms
โ reports a template literal (1)
โ reports the rule diagnostic 433ms
โ reports JSX text (1)
โ reports the rule diagnostic 416ms
โ unit src/features/threads/subagent-card-presentation.test.ts (1 test) 2ms
โ unit src/features/cloud/managedRelayTokenStore.test.ts (1 test) 7ms
โ unit src/features/pull-requests/pullRequestReviewDrafts.test.ts (1 test) 6ms
โ unit src/lib/filePreviewGallery.test.ts (1 test) 7ms
โ unit src/features/threads/customSnoozeDate.test.ts (2 tests) 3ms
โ unit src/state/thread-composer-error.test.ts (1 test) 5ms
โ unit src/features/prompt-links/prompt-link-model.test.ts (1 test) 3ms
โ unit src/features/browser/previewPromptText.test.ts (3 tests) 2ms
โ unit src/features/pull-requests/pullRequestMediaSource.test.ts (1 test) 16ms
โ rules/no-hookless-use-function.test.ts (9 tests) 4378ms
โ t3code/no-hookless-use-function (9)
โ allows a hook that calls useState (1)
โ passes 507ms
โ allows a hook that only calls use() (1)
โ passes 469ms
โ allows a hook that calls a member hook (1)
โ passes 595ms
โ allows a plain function (1)
โ passes 492ms
โ allows names that only start with use (1)
โ passes 576ms
โ reports a hook-less function declaration (1)
โ reports the rule diagnostic 589ms
โ reports a hook-less arrow returning a closure (1)
โ reports the rule diagnostic 376ms
โ reports a hook-less function expression (1)
โ reports the rule diagnostic 376ms
โ reports a hook call that only happens inside a nested callback (1)
โ reports the rule diagnostic 348ms
โ rules/no-manual-memo.test.ts (14 tests) 7609ms
โ t3code/no-manual-memo (11)
โ allows plain derived values (1)
โ passes 551ms
โ allows useStableCallback (1)
โ passes 559ms
โ allows other React members (1)
โ passes 518ms
โ allows other directives (1)
โ passes 559ms
โ reports a "use memo" directive (1)
โ reports the rule diagnostic 432ms
โ reports useMemo (1)
โ reports the rule diagnostic 517ms
โ reports useCallback (1)
โ reports the rule diagnostic 656ms
โ reports React.useMemo (1)
โ reports the rule diagnostic 615ms
โ reports "use no memo" (1)
โ reports the rule diagnostic 532ms
โ reports a module-level "use no forget" (1)
โ reports the rule diagnostic 649ms
โ allows the same text as a string value (1)
โ passes 551ms
โ t3code/no-manual-memo with allowMemoHooks (3)
โ allows useMemo (1)
โ passes 484ms
โ allows useCallback (1)
โ passes 517ms
โ still reports "use no memo" (1)
โ reports the rule diagnostic 404ms
โ unit src/features/cloud/publicConfig.test.ts (1 test) 3ms
โ unit src/state/queries.test.ts (1 test) 16ms
โ unit src/lib/nativeComposerTheme.test.ts (1 test) 8ms
โ unit src/features/projects/AddProjectScreen.logic.test.ts (1 test) 2ms
โ unit src/lib/http-response.test.ts (1 test) 5ms
โ unit src/lib/filePreview.test.ts (4 tests) 2ms
โ unit src/lib/mobileThemeRuntime.test.ts (1 test) 3ms
โ unit src/lib/foreground-handoff.test.ts (1 test) 2ms
โ unit src/features/threads/projectThreadCreationValidation.test.ts (2 tests) 2ms
โ unit src/lib/appearancePreferences.test.ts (1 test) 2ms
โ unit src/features/settings/lib/legal-document-url.test.ts (2 tests) 2ms
โ unit src/features/keyboard/hardwareKeyboardCommands.test.ts (2 tests) 2ms
โ rules/no-dom-test-environment.test.ts (12 tests) 4340ms
โ t3code/no-dom-test-environment (12)
โ allows browser tests (1)
โ passes 469ms
โ allows similarly named packages (1)
โ passes 616ms
โ rejects line pragmas (1)
โ reports the rule diagnostic 605ms
โ rejects block pragmas for any environment (1)
โ reports the rule diagnostic 404ms
โ rejects jsdom imports (1)
โ reports the rule diagnostic 357ms
โ rejects happy-dom imports (1)
โ reports the rule diagnostic 390ms
โ rejects emulator subpaths (1)
โ reports the rule diagnostic 302ms
Test Files 25 passed (25)
Tests 366 passed (366)
Start at 13:43:07
Duration 36.80s (tests 96%, import 2%, setup 1%)
โ unit src/reactCompilerCoverage.test.ts (908 tests) 39980ms
โ React Compiler coverage (908)
โ Metro's transformer applies the compiler 2107ms
โ compiles src/Stack.tsx 339ms
โ compiles src/components/ComposerAttachmentStrip.tsx 336ms
โ compiles src/components/ComposerContextAttachment.tsx 349ms
โ compiles src/components/ComposerContextSheet.tsx 488ms
โ compiles src/components/ComposerToolbar.tsx 369ms
โ compiles src/features/archive/ArchivedThreadsScreen.tsx 339ms
โ compiles src/features/browser/PreviewStreamWebView.tsx 345ms
โ compiles src/features/connection/CloudEnvironmentRows.tsx 326ms
โ compiles src/features/devices/DevicePreviewRouteScreen.tsx 450ms
โ compiles src/features/files/ThreadFilesRouteScreen.tsx 727ms
โ compiles src/features/home/HomeScreen.tsx 644ms
โ compiles src/features/home/thread-swipe-actions.tsx 369ms
โ compiles src/features/layout/AdaptiveWorkspaceLayout.tsx 468ms
โ compiles src/features/pull-requests/PullRequestRouteScreen.tsx 573ms
โ compiles src/features/settings/SettingsScheduledTasksRouteScreen.tsx 356ms
โ compiles src/features/terminal/ThreadTerminalRouteScreen.tsx 339ms
โ compiles src/features/threads/NewTaskDraftScreen.tsx 563ms
โ compiles src/features/threads/ThreadComposer.tsx 668ms
โ compiles src/features/threads/ThreadDetailScreen.tsx 1049ms
โ compiles src/features/threads/ThreadFeed.tsx 878ms
โ compiles src/features/threads/new-task-flow-provider.tsx 434ms
โ compiles src/features/threads/thread-work-log.tsx 358ms
โ caches the thread feed derivation 1232ms
Test Files 196 passed (196)
Tests 2167 passed (2167)
Start at 13:43:09
Duration 55.09s (import 35%, transform 29%, tests 24%, setup 8%, environment 4%)
---
vp run: 27/27 successful. (Run `vp run --last-details` for full details)
Post job cleanup.
Cache hit occurred on the primary key electron-Linux-X64-854e11ddd491bd4f350eebb67a74265df119376a3984c8e153cfe5fc8ced6309, not saving cache.
Post job cleanup.
##[start-action display=Cache full pnpm store;id=__a8daa26c-e12b-4519-97eb-9e7d45168f59.__actions_cache]
Post job cleanup.
Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-2baa264059789b1dde4bbc8fdc5b8342f31f2fc8e6176e5c5e486efdd242b36c, not saving cache.
##[end-action id=__a8daa26c-e12b-4519-97eb-9e7d45168f59.__actions_cache;outcome=success;conclusion=success;duration_ms=211]
##[start-action display=Cache Vite+;id=__a8daa26c-e12b-4519-97eb-9e7d45168f59.vp_cache]
Post job cleanup.
Cache hit occurred on the primary key vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0, not saving cache.
##[end-action id=__a8daa26c-e12b-4519-97eb-9e7d45168f59.vp_cache;outcome=success;conclusion=success;duration_ms=108]
Post job cleanup.
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/c03270bc-6115-4b2f-8c4b-8447be6fb6b8' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code
Removing SSH command configuration
[command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
fatal: No url found for submodule path '.repos/alchemy-effect/submodules/distilled' in .gitmodules
Warning: The process '/usr/local/bin/git' failed with exit code 128
A job completed hook has been configured by the self-hosted runner administrator
โธ Run '/job_completed.sh'
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 191
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 426
BLACKSMITH_CHECK_RUN_ID: 120446757318
BLACKSMITH_JOB_DISPLAY_NAME: Test
GITHUB_ACTIONS_CACHE_MODE: write
Docker container cache not activated, skipping hash computation.
No active SSH sessions detected. Proceeding with shutdown immediately.
Cleaning up orphan processes