GitHub check
256 KB of 390 KB loaded Download the full log (390 KB)
134 KB of earlier output not loaded
9%, import 25%, tests 12%, setup 4%)
โ src/snapShot/NativeCaptureFeedback.test.ts (2 tests) 61ms
~/packages/source-control-bitbucket$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/sourceControl.test.ts (11 tests) 17ms
โ src/DrainableWorker.test.ts (3 tests) 40ms
โ src/imageDimensions.test.ts (8 tests) 14ms
~/packages/provider-grok$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/preview/BrowserImport/SafariPermission.test.ts (2 tests) 80ms
โ src/composerContextLegacySend.test.ts (8 tests) 30ms
โ src/htmlRender.test.ts (11 tests) 25ms
โ src/remote.test.ts (10 tests) 32ms
โ src/KeyedLock.test.ts (4 tests) 20ms
โ src/snapShot/SnapShotAccessibilityProcess.test.ts (3 tests) 8ms
โ src/electron/WindowsForegroundFocusThread.test.ts (2 tests) 19ms
โ src/preview/BrowserImport/LinuxBrowserSecret.test.ts (1 test) 106ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/provider-grok
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/source-control-bitbucket
โ src/logging.test.ts (3 tests) 179ms
โ src/promptLinks.test.ts (8 tests) 57ms
โ src/app/DesktopEnvironment.test.ts (2 tests) 59ms
โ src/electron/WindowsForeground.test.ts (3 tests) 74ms
โ src/app/DesktopUserData.test.ts (2 tests) 81ms
โ src/app/DesktopAppActivationBroker.test.ts (3 tests) 28ms
โ src/permissions/MacSettingsWindow.test.ts (2 tests) 18ms
โ src/composerContextClipboard.test.ts (6 tests) 642ms
โ composerContextClipboard (6)
โ round-trips selections larger than two million characters 609ms
โ gnome-extension/feedbackGeometry.test.js (7 tests) 11ms
โ src/schemaJson.test.ts (8 tests) 30ms
โ src/orchestrationV2BoundedSnapshot.test.ts (3 tests) 18ms
โ src/codexAuthHandoff.test.ts (6 tests) 23ms
โ src/ipc/methods/localEnvironment.test.ts (1 test) 27ms
โ src/preview/WebviewPreferences.test.ts (2 tests) 6ms
โ src/server/usage.test.ts (9 tests) 30ms
โ src/app/DesktopPreReadyFileSystem.test.ts (1 test) 40ms
โ src/threadLinks.test.ts (8 tests) 26ms
โ ../../native/kde-snap-shot/src/feedbackGeometry.test.ts (2 tests) 26ms
โ src/snapShot/WindowsCaptureFeedback.test.ts (1 test) 9ms
โ src/preview/RecordingInput.test.ts (2 tests) 8ms
โ src/devHome.test.ts (5 tests) 47ms
โ src/preview/AnnotationIds.test.ts (1 test) 10ms
โ src/threadFindText.test.ts (8 tests) 62ms
โ src/preview/AnnotationKeyboard.test.ts (1 test) 7ms
โ src/ipc/methods/sshEnvironment.test.ts (1 test) 11ms
Test Files 103 passed (103)
Tests 832 passed (832)
Start at 11:40:16
Duration 32.14s (import 48%, transform 26%, tests 13%, setup 12%, worker 1%)
Import 519 modules were evaluated 6400 times ยท 91.37s total, 48% of tracked time
~9.15s 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
โ src/gitPatchPath.test.ts (22 tests) 12ms
~/packages/source-control-gitlab$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/Net.test.ts (4 tests) 36ms
โ src/orchestrationTiming.test.ts (11 tests) 9ms
โ src/hostClassification.test.ts (10 tests) 21ms
โ src/fileLinks.test.ts (18 tests) 12ms
โ src/composerTrigger.test.ts (25 tests) 13ms
โ src/path.test.ts (11 tests) 7ms
โ src/semver.test.ts (7 tests) 8ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/source-control-gitlab
โ src/orchestrationV2Timeline.test.ts (12 tests) 9ms
โ src/codexArtifactTemplates.test.ts (9 tests) 5ms
โ src/markdownPipeline.test.ts (3 tests) 84ms
โ src/relayTracing.test.ts (2 tests) 32ms
โ src/server/xaiAcpExtension.test.ts (52 tests) 62ms
โ src/toolActivity.test.ts (4 tests) 5ms
โ src/cliArgs.test.ts (8 tests) 8ms
โ src/server/bitbucketPullRequestJson.test.ts (22 tests) 87ms
โ src/server/BitbucketPullRequestApi.test.ts (22 tests) 139ms
โ src/filePreview.test.ts (13 tests) 29ms
โ src/server/BitbucketPullRequestProvider.test.ts (17 tests) 98ms
โ src/codexFileCitations.test.ts (5 tests) 15ms
Test Files 3 passed (3)
Tests 61 passed (61)
Start at 11:40:46
Duration 3.14s (transform 54%, import 37%, setup 5%, tests 4%)
~/packages/provider-cursor$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/threadReference.test.ts (5 tests) 4ms
โ src/composerPullRequestMatches.test.ts (3 tests) 17ms
โ src/delimitedPreview.test.ts (8 tests) 1240ms
โ delimited file previews (8)
โ bounds rows, columns and cell length and reports partial content 1222ms
โ src/connectAuth.test.ts (3 tests) 19ms
โ src/cliRelease.test.ts (3 tests) 5ms
โ src/desktopBootstrapToken.test.ts (3 tests) 11ms
โ 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) 5ms
โ src/cloneUrl.test.ts (3 tests) 4ms
โ src/githubMarkdownLinks.test.ts (3 tests) 115ms
โ src/usageFormat.test.ts (4 tests) 15ms
โ src/desktopAppControl.test.ts (2 tests) 10ms
โ src/favicon.test.ts (6 tests) 6ms
โ src/oauthScope.test.ts (3 tests) 25ms
โ src/schemaYaml.test.ts (2 tests) 27ms
โ src/t3McpToolPresentation.test.ts (2 tests) 30ms
โ src/server/skills.test.ts (6 tests) 113ms
โ src/server/acpSupport.test.ts (8 tests) 40ms
โ src/thirdPartyLicenses.test.ts (2 tests) 7ms
โ src/server/skills.test.ts (5 tests) 170ms
โ src/AgentScope.test.ts (1 test) 18ms
โ src/relayUrl.test.ts (4 tests) 15ms
โ src/threadSearch.test.ts (2 tests) 9ms
โ src/providerAuthReturnUrl.test.ts (5 tests) 13ms
โ src/video.test.ts (2 tests) 8ms
โ src/changedFileKind.test.ts (5 tests) 8ms
โ src/telemetryId.test.ts (1 test) 4ms
โ src/terminalLabels.test.ts (2 tests) 4ms
โ src/relayJwt.test.ts (1 test) 4ms
โ src/t3ProjectFile.test.ts (2 tests) 4ms
โ src/relaySigning.test.ts (1 test) 2ms
Test Files 90 passed (90)
Tests 1008 passed | 2 skipped (1010)
Start at 11:40:32
Duration 19.49s (import 44%, transform 30%, setup 14%, tests 12%, worker 1%)
Import 349 modules were evaluated 2805 times ยท 47.60s total, 44% of tracked time
~4.42s 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/gitLabMergeRequestJson.test.ts (29 tests) 66ms
โ src/server/accountUsage.test.ts (9 tests) 742ms
โ src/server/GitLabPullRequestCli.test.ts (41 tests) 58ms
โ src/server/driver.test.ts (4 tests) 61ms
Test Files 5 passed (5)
Tests 79 passed (79)
Start at 11:40:46
Duration 5.96s (transform 61%, import 31%, setup 6%, tests 2%)
โ src/server/GitLabPullRequestCli.legacy.test.ts (14 tests) 40ms
โ src/server/GitLabCli.test.ts (5 tests) 42ms
โ src/server/GitLabPullRequestProvider.test.ts (7 tests) 23ms
โ src/server/GitLabSourceControlProvider.test.ts (12 tests) 21ms
Test Files 6 passed (6)
Tests 108 passed (108)
Start at 11:40:49
Duration 3.63s (transform 57%, import 35%, setup 6%, tests 1%)
~/packages/tailscale$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
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
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/effect-acp
โ src/server/usageLimits.test.ts (9 tests) 113ms
โ src/tailscale.test.ts (7 tests) 19ms
Test Files 1 passed (1)
Tests 7 passed (7)
Start at 11:40:53
Duration 552ms (import 41%, transform 31%, setup 23%, tests 4%, worker 1%)
~/packages/effect-codex-app-server$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/server/auth.test.ts (10 tests) 63ms
โ src/server/CursorAgentSdk.test.ts (1 test) 20ms
โ src/server/textGeneration.test.ts (8 tests) 60ms
โ src/_internal/stdio.test.ts (1 test) 16ms
โ src/server/transportFailure.test.ts (10 tests) 4ms
โ src/server/status.test.ts (8 tests) 12ms
โ src/schema.test.ts (2 tests) 20ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/effect-codex-app-server
โ src/errors.test.ts (6 tests) 35ms
โ src/server/CursorSdk.test.ts (2 tests) 16ms
โ src/server/accountCache.test.ts (2 tests) 3ms
โ src/agent.test.ts (6 tests) 112ms
โ src/server/driver.test.ts (2 tests) 111ms
โ src/server/adapter.test.ts (15 tests) 296ms
โ src/server/credentialStore.test.ts (5 tests) 91ms
โ src/server/CursorSdkCatalog.test.ts (1 test) 11ms
Test Files 14 passed (14)
Tests 87 passed (87)
Start at 11:40:50
Duration 4.32s (transform 48%, import 36%, setup 8%, tests 7%)
~/packages/provider-acp-registry$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/provider-acp-registry
โ src/_internal/stdio.test.ts (1 test) 9ms
โ src/_internal/shared.test.ts (4 tests) 24ms
โ src/protocol.test.ts (15 tests) 237ms
โ src/protocol.test.ts (21 tests) 1352ms
โ effect-acp protocol (21)
โ propagates the real child exit code when the input stream ends 507ms
โ does not emit a second process-exit error after a decode failure 648ms
โ src/schema.test.ts (4 tests) 16ms
โ src/authorization/layer.test.ts (23 tests) 404ms
โ src/client.test.ts (2 tests) 213ms
Test Files 5 passed (5)
Tests 26 passed (26)
Start at 11:40:54
Duration 2.17s (transform 49%, import 32%, setup 11%, tests 8%)
~/packages/provider-core$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/state/runtime.test.ts (23 tests) 159ms
โ src/connection/supervisor.test.ts (30 tests) 359ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/provider-core
โ src/connection/registry.test.ts (41 tests) 483ms
โ src/rpc/session.test.ts (14 tests) 637ms
โ src/server/usageLimits.test.ts (7 tests) 34ms
โ src/state/server.test.ts (19 tests) 121ms
โ src/state/threads-sync.test.ts (24 tests) 420ms
โ src/server/ModelCatalog.test.ts (4 tests) 5ms
โ src/server/AcpRegistryRuntimeCoordinator.test.ts (7 tests) 83ms
โ src/state/pullRequests.test.ts (56 tests) 1853ms
โ returns a successful mutation when source invalidation stalls 1015ms
โ src/voice-input/controller.test.ts (22 tests) 91ms
โ src/operations/commands.test.ts (14 tests) 107ms
โ src/server/authenticationState.test.ts (3 tests) 173ms
โ src/state/shell-sync.test.ts (6 tests) 123ms
โ src/state/vcs.test.ts (9 tests) 98ms
โ src/state/environmentHttpAuth.test.ts (32 tests) 448ms
โ src/state/orchestrationV2Projection.test.ts (13 tests) 26ms
โ src/connection/onboarding.test.ts (13 tests) 123ms
โ src/server/auth.test.ts (5 tests) 167ms
โ src/state/entities.test.ts (16 tests) 47ms
โ src/state/vcsAction.test.ts (9 tests) 73ms
โ src/server/notification.test.ts (4 tests) 7ms
โ src/server/attachmentPrompt.test.ts (2 tests) 15ms
โ src/relay/managedRelay.test.ts (7 tests) 93ms
โ src/server/AcpRegistrySupport.test.ts (31 tests) 1443ms
โ src/server/managedProvider.test.ts (9 tests) 60ms
โ src/server/failure.test.ts (10 tests) 42ms
โ src/server/providerAuthFlow.test.ts (17 tests) 128ms
โ src/server/snapshotProbe.test.ts (7 tests) 18ms
โ src/server/mcpSession.test.ts (2 tests) 32ms
โ src/relay/discovery.test.ts (7 tests) 207ms
โ src/server/driver.test.ts (9 tests) 46ms
Test Files 5 passed (5)
Tests 55 passed (55)
Start at 11:40:55
Duration 5.32s (transform 60%, import 28%, tests 10%, setup 2%)
โ src/state/threads-atoms.test.ts (4 tests) 247ms
โ src/server/maintenanceResolver.test.ts (52 tests) 245ms
โ src/server/instanceEnvironment.test.ts (4 tests) 30ms
~/packages/provider-acp$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/server/processGroup.test.ts (2 tests) 20ms
โ src/server/collectStreamText.test.ts (2 tests) 16ms
โ src/rpc/client.test.ts (8 tests) 111ms
โ src/connection/routes.test.ts (19 tests) 40ms
โ src/server/mcpToolPresentation.test.ts (4 tests) 5ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/provider-acp
โ src/server/threadTitleContext.test.ts (2 tests) 9ms
โ src/state/threadCommands.test.ts (19 tests) 169ms
โ src/server/textGenerationUtils.test.ts (3 tests) 15ms
โ src/state/threadShell.test.ts (9 tests) 75ms
โ src/device/stream.test.ts (14 tests) 80ms
โ src/server/stderr.test.ts (2 tests) 16ms
โ src/server/textGenerationPrompts.test.ts (1 test) 6ms
Test Files 17 passed (17)
Tests 132 passed (132)
Start at 11:40:56
Duration 5.02s (transform 48%, import 40%, setup 9%, tests 3%, worker 1%)
Import 177 modules were evaluated 1003 times ยท 10.54s total, 40% of tracked time
~341ms 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/server/sessionConfig.test.ts (6 tests) 11ms
โ src/state/projectGrouping.test.ts (20 tests) 19ms
โ src/platform/storageDocument.test.ts (13 tests) 43ms
โ src/server/clientPolicy.test.ts (13 tests) 79ms
โ src/server/mcpOverAcpBridge.test.ts (3 tests) 64ms
โ src/state/fileMetadata.test.ts (11 tests) 266ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/source-control-github
โ src/state/threadRelationships.test.ts (11 tests) 14ms
โ src/state/threadWorkflows.test.ts (21 tests) 19ms
โ src/connection/resolver.test.ts (6 tests) 128ms
โ src/state/commandPermissions.test.ts (14 tests) 76ms
โ src/mcpApps/host.test.ts (9 tests) 36ms
โ src/client.test.ts (26 tests) 8825ms
โ effect-acp client (19)
โ transforms fragmented stdout before parsing and preserves UTF-8 644ms
โ preserves stdout transform errors without logging rejected input 565ms
โ reports idle child termination and rejects later requests and notifications 631ms
โ initializes, prompts, receives updates, and handles permission requests 984ms
โ returns structured invalid params without exposing values from typed extension request payloads 1116ms
โ preserves ACP v2 structured diff semantics 765ms
โ does not turn unsupported ACP v2 auth methods into agent login 762ms
โ preserves registry env-var authentication extensions 689ms
โ replays buffered notifications to handlers registered after they arrive 675ms
โ routes MCP-over-ACP connect, message, notification, and disconnect callbacks 900ms
โ preserves future content and session-update variants 818ms
โ src/state/threadExecution.test.ts (11 tests) 27ms
Test Files 6 passed (6)
Tests 62 passed (62)
Start at 11:40:53
Duration 10.21s (tests 64%, transform 19%, import 14%, setup 3%)
โ src/state/threadHistoryMerge.test.ts (7 tests) 20ms
~/packages/provider-muse$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/server/runtimeModel.test.ts (47 tests) 748ms
โ AcpRuntimeModel (29)
โ keeps the newest 16 MiB of ACP terminal output at a UTF-8 boundary 335ms
โ src/connection/outdatedHostUpdate.test.ts (3 tests) 26ms
โ src/server/gitHubPullRequestJson.test.ts (49 tests) 87ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/provider-muse
โ src/state/shellReducer.test.ts (14 tests) 15ms
โ src/state/threadSnoozed.test.ts (20 tests) 27ms
โ src/state/projectCommands.test.ts (4 tests) 79ms
โ src/state/threadSort.test.ts (21 tests) 200ms
โ src/server/usageLimits.test.ts (4 tests) 12ms
โ src/server/nativeLogging.test.ts (3 tests) 65ms
โ src/server/itemPresentation.test.ts (6 tests) 18ms
stdout | src/state/serverUsage.test.ts > keeps the cached usage summary when the awaited refresh fails
[11:41:04.853] 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) 161ms
โ src/server/sdk.test.ts (12 tests) 245ms
โ src/operations/commands.performance.test.ts (1 test) 198ms
โ src/state/threadRequests.test.ts (10 tests) 11ms
โ src/server/protocol.test.ts (1 test) 2ms
โ src/state/terminalSession.test.ts (9 tests) 26ms
โ src/platform/shellCacheEncoding.test.ts (5 tests) 187ms
โ src/server/gitHubGraphQlClient.test.ts (9 tests) 140ms
โ src/server/GitHubCredentials.test.ts (5 tests) 66ms
โ src/server/GitHubRest.test.ts (8 tests) 103ms
โ src/authorization/remote.test.ts (5 tests) 82ms
โ src/state/subagentRuntime.test.ts (11 tests) 25ms
โ src/server/githubStackActions.test.ts (9 tests) 128ms
โ src/server/GitHubPullRequestProvider.test.ts (17 tests) 59ms
โ src/work-log/commandLabel.test.ts (61 tests) 105ms
โ src/state/usage.test.ts (8 tests) 22ms
โ src/state/boundedThreadSnapshotHttp.test.ts (5 tests) 82ms
โ src/server/GitHubQuota.test.ts (4 tests) 19ms
โ src/server/gitHubRepositoryResolution.test.ts (3 tests) 4ms
โ src/device/duoViewer.test.ts (2 tests) 24ms
โ src/projectFaviconCache.test.ts (8 tests) 209ms
โ src/server/modelCatalog.test.ts (1 test) 9ms
โ src/device/duoControl.test.ts (12 tests) 22ms
โ src/relay/managedRelayState.test.ts (4 tests) 14ms
โ src/pullRequestQuery.test.ts (17 tests) 6ms
โ src/state/threadSubagents.test.ts (7 tests) 28ms
โ src/state/threadDetail.test.ts (11 tests) 39ms
โ src/server/maintenance.test.ts (3 tests) 63ms
โ src/server/textGeneration.test.ts (8 tests) 76ms
โ src/server/GitHubPullRequestApi.test.ts (105 tests) 1060ms
โ GitHubPullRequestApi.layer (104)
โ keeps the pull request being ticked through, not the one looked up first 343ms
โ src/server/status.test.ts (3 tests) 212ms
โ src/server/adapter.test.ts (39 tests) 252ms
Test Files 9 passed (9)
Tests 77 passed (77)
Start at 11:41:04
Duration 3.25s (transform 51%, import 35%, setup 8%, tests 6%)
โ src/server/clientTerminals.test.ts (10 tests) 4787ms
โ AcpClientTerminals (9)
โ bounds unreleased terminal handles without invalidating existing ids 3921ms
โ src/work-log/presentation.test.ts (16 tests) 15ms
Test Files 7 passed (7)
Tests 84 passed (84)
Start at 11:41:01
~/oxlint-plugin-t3code$ vp test run --config ../vite.config.ts --dir . โ cache disabled
Duration 5.90s (tests 44%, transform 31%, import 17%, setup 8%)
~/packages/ssh$ vp test run --config ../../vite.config.ts --dir . โ cache disabled
โ src/state/itemSupport.test.ts (2 tests) 3ms
โ src/connection/diagnosis.test.ts (7 tests) 7ms
โ src/connection/presentation.test.ts (4 tests) 13ms
โ src/preview/serverBrowserStream.test.ts (5 tests) 7ms
โ src/state/presentation.test.ts (3 tests) 14ms
โ src/pullRequestMarkdown.test.ts (15 tests) 5ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/oxlint-plugin-t3code
RUN v5.0.5 /home/runner/_work/t3code/t3code/packages/ssh
โ src/pullRequestLinkInput.test.ts (14 tests) 19ms
โ src/device/phoneViewer.test.ts (1 test) 57ms
โ src/server/GitHubSourceControlProvider.test.ts (29 tests) 2068ms
โ keeps Enterprise operations on the selected remote: git@code.example.test:team/project.git 634ms
โ keeps Enterprise operations on the selected remote: ssh://git@code.example.test/team/project.git 626ms
โ keeps Enterprise operations on the selected remote: https://code.example.test/team/project.git 638ms
Test Files 10 passed (10)
Tests 238 passed (238)
Start at 11:41:02
Duration 5.59s (transform 48%, import 31%, tests 14%, setup 7%)
โ src/device/avcConfig.test.ts (8 tests) 9ms
~/scripts$ vp test run --config ../vite.config.ts --dir . โ cache disabled
โ src/auth.test.ts (2 tests) 48ms
โ src/config.test.ts (4 tests) 59ms
โ src/state/projectEntities.test.ts (2 tests) 28ms
stdout | src/command.test.ts > ssh command > preserves process output: default head
[11:41:08.531] 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: ''
}
stdout | src/command.test.ts > ssh command > preserves process output: opt-in tail
[11:41:08.622] 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/handoff.test.ts (8 tests) 4ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/scripts
โ src/command.test.ts (7 tests) 326ms
โ src/state/threadFeedback.test.ts (4 tests) 17ms
โ src/tunnel.test.ts (7 tests) 267ms
Test Files 4 passed (4)
Tests 20 passed (20)
Start at 11:41:07
Duration 1.14s (import 39%, transform 24%, tests 23%, setup 13%, worker 1%)
~/apps/mobile$ vp test run --project unit --project react โ cache disabled
โ src/providerSkills.test.ts (6 tests) 3ms
โ src/platform/orchestrationCache.test.ts (3 tests) 25ms
โ src/reviewGuideTour.test.ts (7 tests) 9ms
โ src/device/phoneScene.test.ts (8 tests) 140ms
โ src/operations/projects.test.ts (6 tests) 8ms
RUN v5.0.5 /home/runner/_work/t3code/t3code/apps/mobile
โ src/threadPullRequestCompatibility.test.ts (10 tests) 22ms
โ lib/third-party-licenses.test.ts (19 tests) 340ms
โ src/device/phoneInteraction.test.ts (4 tests) 35ms
โ src/state/usageProgress.test.ts (4 tests) 25ms
โ src/device/duoScene.test.ts (2 tests) 43ms
โ src/state/attachments.test.ts (3 tests) 15ms
โ notify-discord-release.test.ts (15 tests) 364ms
โ src/device/model.test.ts (4 tests) 14ms
โ dev-runner.test.ts (31 tests) 277ms
โ legend-list-initial-reveal.test.ts (10 tests) 101ms
โ merge-update-manifests.test.ts (5 tests) 102ms
โ react src/native/NativeHeaderToolbar.test.tsx (4 tests) 114ms
โ src/state/filesystem.test.ts (8 tests) 23ms
โ react src/native/useRestingTopOffset.test.tsx (4 tests) 74ms
โ src/state/threadSearch.test.ts (4 tests) 37ms
โ src/connection/errors.test.ts (5 tests) 19ms
โ build-npm-launcher.test.ts (1 test) 1422ms
โ build-npm-launcher (1)
โ publishes a launcher that downloads, verifies, caches, and runs the release executable 1415ms
โ react src/components/ui/Dialog.android.test.tsx (1 test) 152ms
โ src/mediaSource.test.ts (8 tests) 37ms
โ src/state/turnItemPresentation.test.ts (2 tests) 9ms
โ src/t3ToolSummary.test.ts (3 tests) 16ms
โ src/state/sharedSettings.test.ts (9 tests) 24ms
โ mobile-native-client.test.ts (2 tests) 131ms
โ update-release-package-versions.test.ts (3 tests) 154ms
โ src/connection/compatibility.test.ts (4 tests) 25ms
โ lib/dev-share.test.ts (5 tests) 104ms
โ lib/cli-external-packages.test.ts (10 tests) 1944ms
โ external package dependency closure (1)
โ keeps every runtime dependency of an external package external too 1894ms
โ src/work-log/toolPresentation.test.ts (4 tests) 13ms
โ src/device/streamFrames.test.ts (1 test) 31ms
โ mock-update-server.test.ts (2 tests) 197ms
โ src/device/modelScene.test.ts (2 tests) 46ms
โ lib/public-config.test.ts (1 test) 10ms
โ lib/resolve-catalog.test.ts (2 tests) 3ms
โ src/state/providerInstanceDisplay.test.ts (10 tests) 13ms
โ src/promptLinks.test.ts (3 tests) 3ms
โ lib/build-target-arch.test.ts (1 test) 14ms
โ src/state/serverConfigProjection.test.ts (2 tests) 24ms
โ mobile-showcase.test.ts (3 tests) 15ms
โ src/state/queryPersistence.test.ts (3 tests) 51ms
โ sync-reference-repos.test.ts (2 tests) 99ms
โ resolve-previous-release-tag.test.ts (3 tests) 21ms
โ src/device/deviceMotion.test.ts (2 tests) 5ms
โ lib/icon-export.test.ts (1 test) 15ms
โ src/state/usageAccess.test.ts (8 tests) 8ms
โ src/state/customSnooze.test.ts (11 tests) 5ms
โ src/state/auth.test.ts (2 tests) 3ms
โ src/state/threadInbox.test.ts (2 tests) 5ms
โ mobile-native-static-check.test.ts (2 tests) 16ms
โ src/markdownImages.test.ts (12 tests) 9ms
โ src/errors/safeLog.test.ts (2 tests) 6ms
โ src/userMessage.test.ts (3 tests) 10ms
โ src/filePreview.test.ts (3 tests) 89ms
โ src/work-log/itemDetail.test.ts (2 tests) 5ms
โ build-desktop-artifact.test.ts (42 tests) 4853ms
โ build-desktop-artifact (40)
โ rejects overlapping builds from another process until restoration finishes 1947ms
โ builds web, server and desktop with the resolved version, restores changed manifests and preserves edits to matching ones 609ms
โ reports a restore failure while still restoring the remaining manifests 307ms
โ src/errors/transport.test.ts (3 tests) 6ms
โ src/relay/errorPresentation.test.ts (3 tests) 10ms
โ react src/features/settings/components/BranchNamingSettings.test.tsx (4 tests) 81ms
โ src/mediaReference.test.ts (7 tests) 15ms
โ react src/state/use-selected-thread-git-actions.test.tsx (1 test) 54ms
โ src/device/duoSnap.test.ts (1 test) 12ms
โ src/device/androidFoldScene.test.ts (1 test) 74ms
โ src/device/renderScheduler.test.ts (1 test) 3ms
โ src/state/threadHistoryController.test.ts (1 test) 24ms
โ src/state/assets.test.ts (1 test) 26ms
โ src/errors/errorTrace.test.ts (2 tests) 8ms
โ src/state/commandOutput.test.ts (1 test) 14ms
โ src/work-log/scrollAnchor.test.ts (1 test) 5ms
โ src/environment/endpoint.test.ts (1 test) 4ms
โ src/secretRequest.test.ts (2 tests) 4ms
โ src/state/archivedThreads.test.ts (1 test) 9ms
Test Files 120 passed (120)
Tests 1101 passed (1101)
Start at 11:40:52
Duration 24.32s (import 51%, transform 30%, setup 11%, tests 7%, worker 1%)
Import 491 modules were evaluated 8715 times ยท 71.98s total, 51% of tracked time
~8.14s 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) 118ms
โ unit src/lib/modelOptions.test.ts (29 tests) 45ms
โ unit src/features/threads/threadListV2.test.ts (56 tests) 111ms
โ unit src/state/thread-outbox.test.ts (35 tests) 48ms
โ react src/features/settings/SettingsServerControlsRouteScreen.test.tsx (1 test) 41ms
โ unit src/features/agent-awareness/remoteRegistration.test.ts (15 tests) 359ms
โ knip-schemas.test.ts (1 test) 10163ms
โ allows types and schemas through the real Knip CLI without hiding runtime or file findings 10162ms
Test Files 21 passed (21)
Tests 161 passed (161)
Start at 11:41:08
Duration 10.94s (tests 51%, import 24%, transform 14%, setup 10%)
โ unit src/lib/composerFiles.test.ts (36 tests) 64ms
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
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
โ unit src/features/sharing/incoming-share-model.test.ts (19 tests) 40ms
โ unit src/features/home/useThreadListActions.test.ts (37 tests) 82ms
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"]'
}
}
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)
โ unit src/state/use-thread-outbox-drain.test.ts (23 tests) 58ms
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)
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
}
โ rules/no-polling-loop-in-tests.test.ts (16 tests) 12829ms
โ t3code/no-polling-loop-in-tests (15)
โ allows a fixed-count flush followed by unrelated error handling (1)
โ passes 619ms
โ allows a fixed-N flush with a literal bound (1)
โ passes 795ms
โ allows a fixed-N while flush with a counter bound (1)
โ passes 1213ms
โ allows a fixed-N do-while flush against a named bound (1)
โ passes 1210ms
โ allows a loop that takes from a queue (1)
โ passes 1166ms
โ ignores waits inside nested callbacks (1)
โ passes 731ms
โ reports a budgeted yieldNow poll that dies after the loop (1)
โ reports the rule diagnostic 884ms
โ reports a while loop spinning on a predicate (1)
โ reports the rule diagnostic 1130ms
โ reports a while loop bounded by a length predicate (1)
โ reports the rule diagnostic 922ms
โ reports a comparison against an identifier the loop never advances (1)
โ reports the rule diagnostic 650ms
โ reports a for loop bounded by a length predicate (1)
โ reports the rule diagnostic 651ms
โ reports a sleep poll with a counter bound and an early return (1)
โ reports the rule diagnostic 485ms
โ reports a microtask poll keyed on the loop condition (1)
โ reports the rule diagnostic 492ms
โ reports an awaited setTimeout poll (1)
โ reports the rule diagnostic 690ms
โ reports an awaited Promise.resolve poll that breaks (1)
โ reports the rule diagnostic 597ms
โ ignores non-test files (1)
โ passes 529ms
โ unit src/native/workspace-stack-projection.test.ts (22 tests) 11ms
โ unit src/state/use-composer-drafts.test.ts (74 tests) 952ms
โ mobile composer drafts (74)
โ restores deleted file chips and releases undo history (uploaded: true) 328ms
โ rules/no-real-time-wait-in-tests.test.ts (16 tests) 13760ms
โ unit src/lib/mobileTheme.test.ts (24 tests) 315ms
โ t3code/no-real-time-wait-in-tests (15)
โ allows TestClock-driven sleeps and timeout safety nets (1)
โ passes 478ms
โ ignores sleeps inside strings and child-process script templates (1)
โ passes 850ms
โ ignores shared helpers in files that drive the TestClock (1)
โ passes 1402ms
โ ignores bare setTimeout callbacks outside promise executors (1)
โ passes 1364ms
โ reports Effect.sleep under it.live (1)
โ reports the rule diagnostic 1130ms
โ reports retry schedules under curried testers (1)
โ reports the rule diagnostic 1204ms
โ reports Effect.delay under plain it (1)
โ reports the rule diagnostic 698ms
โ reports it.effect inside an excludeTestServices layer as a real-clock wait (1)
โ reports the rule diagnostic 762ms
โ reports it.effect sleeps in files that never adjust the TestClock (1)
โ reports the rule diagnostic 1021ms
โ reports polling helpers even when the file drives the TestClock (1)
โ reports the rule diagnostic 760ms
โ reports promise-wrapped setTimeout in vitest tests (1)
โ reports the rule diagnostic 699ms
โ reports promise-wrapped setTimeout under it.effect as a mixed clock (1)
โ reports the rule diagnostic 564ms
โ reports TestClock sleeps when TestClock.adjust appears only in a comment (1)
โ reports the rule diagnostic 694ms
โ reports timers hidden in module-level helpers (1)
โ reports the rule diagnostic 665ms
โ reports awaited timers/promises sleeps (1)
โ reports the rule diagnostic 524ms
โ ignores non-test files (1)
โ passes 904ms
โ unit src/state/thread-task-permissions.test.ts (7 tests) 82ms
โ rules/no-test-timeout-or-unreasoned-skip.test.ts (16 tests) 13939ms
โ t3code/no-test-timeout-or-unreasoned-skip (13)
โ allows tests without overrides, conditional skips, and waitFor timeouts (1)
โ passes 674ms
โ allows a skip with a quarantine issue or a GitHub issue URL (1)
โ passes 1193ms
โ reports a numeric timeout on it.effect (1)
โ reports the rule diagnostic 1177ms
โ reports a timeout through .each and .skipIf chains (1)
โ reports the rule diagnostic 1420ms
โ reports retry options, options-first timeouts, and hook timeouts (1)
โ reports the rule diagnostic 1092ms
โ reports vi.setConfig timeouts (1)
โ reports the rule diagnostic 983ms
โ reports a skip whose comment has no issue (1)
โ reports the rule diagnostic 838ms
โ reports todo, only, and the x/f aliases (1)
โ reports the rule diagnostic 718ms
โ flags an options-object timeout when the callback is a reference (1)
โ reports the rule diagnostic 985ms
โ allows a computed skip option, which is a platform gate like skipIf (1)
โ passes 656ms
โ flags the suite alias and option-object skips (1)
โ reports the rule diagnostic 630ms
โ flags a skip option without a quarantine issue (1)
โ reports the rule diagnostic 608ms
โ flags a bracket-access skip without a quarantine issue (1)
โ reports the rule diagnostic 744ms
โ still flags an option-object skip in a live file (1)
โ reports the rule diagnostic 647ms
โ allows timeouts in opt-in live provider suites (1)
โ passes 601ms
โ ignores non-test files (1)
โ passes 918ms
โ unit src/lib/attachmentDownload.test.ts (19 tests) 64ms
โ unit src/lib/composerAttachmentUploadQueue.test.ts (11 tests) 44ms
โ unit src/lib/android-workspace-navigation.test.ts (15 tests) 32ms
โ unit src/state/use-thread-outbox-drain.permissions.test.ts (12 tests) 125ms
โ unit src/lib/composerContext.test.ts (15 tests) 615ms
โ unit src/features/pull-requests/pullRequestList.test.ts (15 tests) 131ms
โ unit src/features/threads/thread-feed-live-follow.test.ts (28 tests) 19ms
โ unit src/state/composer-attachment-uploads.test.ts (5 tests) 38ms
โ unit src/features/voice-input/voiceInputSession.test.ts (13 tests) 49ms
โ unit src/lib/composerContextClipboard.test.ts (7 tests) 47ms
โ unit src/connection/environment-cache-store.test.ts (4 tests) 70ms
โ unit src/features/threads/checkout-new-task-branch.test.ts (11 tests) 4581ms
โ new-task branch checkout (11)
โ switches to a free branch and clears its historical worktree path 355ms
โ does not release the selection while checkout is still pending 313ms
โ returns checkout failure without selecting the branch or losing dirty files 323ms
โ reuses an occupied picker worktree when the project root is a symlink 318ms
โ resolves historical branch metadata to its worktree beyond a long query's first page 553ms
โ resolves a non-origin remote to the right worktree when the remote name contains slashes 619ms
โ switches to the selected remote instead of reusing a worktree tracking another remote 794ms
โ rejects historical worktree reuse when project root is unsafe (nested: true) 348ms
โ rejects picker worktree reuse when project root is unsafe (nested: false) 346ms
โ keeps a nested project's cwd when historical metadata names the already-current branch 345ms
โ rules/require-disposable-render.test.ts (22 tests) 17673ms
โ t3code/require-disposable-render (22)
โ allows the disposable helper (1)
โ passes 1005ms
โ rejects react-dom/client (1)
โ reports the rule diagnostic 728ms
โ rejects act from react (1)
โ reports the rule diagnostic 946ms
โ rejects a renamed act from react (1)
โ reports the rule diagnostic 900ms
โ rejects setting the act environment (1)
โ reports the rule diagnostic 969ms
โ rejects setting the act environment by computed key (1)
โ reports the rule diagnostic 874ms
โ rejects stubbing the act environment (1)
โ reports the rule diagnostic 974ms
โ rejects userEvent wrapped in act from react (1)
โ reports the rule diagnostic 872ms
โ rejects userEvent wrapped in the render helper's act (1)
โ reports the rule diagnostic 649ms
โ rejects userEvent wrapped in a renamed render helper act (1)
โ reports the rule diagnostic 800ms
โ rejects a renamed userEvent wrapped in act (1)
โ reports the rule diagnostic 656ms
โ rejects a locator click wrapped in act (1)
โ reports the rule diagnostic 510ms
โ rejects React.act from a namespace import (1)
โ reports the rule diagnostic 491ms
โ rejects userEvent wrapped in React.act (1)
โ reports the rule diagnostic 618ms
โ allows act around a DOM click and userEvent in a function act only defines (1)
โ passes 749ms
โ rejects lifecycle hooks through a test runner namespace (1)
โ reports the rule diagnostic 759ms
โ rejects importing lifecycle hooks from the test runner (1)
โ reports the rule diagnostic 658ms
โ rejects afterEach (1)
โ reports the rule diagnostic 1010ms
โ rejects beforeAll (1)
โ reports the rule diagnostic 834ms
โ allows lifecycle hooks outside browser tests (1)
โ passes 874ms
โ allows importing lifecycle hooks outside browser tests (1)
โ passes 830ms
โ still rejects react-dom/client in unit tests (1)
โ reports the rule diagnostic 902ms
โ unit src/features/updates/app-updates.test.ts (11 tests) 105ms
โ unit src/state/pending-task-editor-writes.test.ts (5 tests) 17ms
โ unit src/features/home/home-thread-navigation.test.ts (6 tests) 33ms
โ unit src/features/diffs/nativeReviewDiffHighlighter.test.ts (11 tests) 778ms
โ unit src/state/thread-outbox-removal.test.ts (5 tests) 14ms
โ unit src/features/threads/threadOrderAvailability.test.ts (7 tests) 695ms
โ computeThreadMoveAvailability matches the reference planner (7)
โ agrees across randomized sections (keys, holes, non-writable rows, hidden keys) 686ms
โ unit src/state/use-selected-thread-git-actions.test.ts (11 tests) 43ms
โ unit src/features/cloud/linkEnvironment.test.ts (3 tests) 180ms
โ rules/prefer-effect-fn.test.ts (23 tests) 20210ms
โ t3code/prefer-effect-fn (23)
โ allows inline programs and layer construction (1)
โ passes 574ms
โ allows named functions and deliberate untraced functions (1)
โ passes 809ms
โ allows inline combinator callbacks (1)
โ passes 1512ms
โ allows inline option and error callbacks (1)
โ passes 1562ms
โ allows reference default-value callbacks (1)
โ passes 847ms
โ reports service members named onSome (1)
โ reports the rule diagnostic 1147ms
โ reports service members named onNone (1)
โ reports the rule diagnostic 868ms
โ reports service members named onSuccess (1)
โ reports the rule diagnostic 1079ms
โ reports service members named onFailure (1)
โ reports the rule diagnostic 820ms
โ reports service members named defaultValue (1)
โ reports the rule diagnostic 599ms
โ does not mistake other namespaces or shadowed locals for Effect (1)
โ passes 549ms
โ leaves functions with synchronous setup for manual review (1)
โ passes 497ms
โ reports a named arrow wrapper (1)
โ reports the rule diagnostic 697ms
โ reports a block-bodied wrapper (1)
โ reports the rule diagnostic 566ms
โ reports a declaration with pipe transforms (1)
โ reports the rule diagnostic 612ms
โ reports a function expression (1)
โ reports the rule diagnostic 738ms
โ reports service members (1)
โ reports the rule diagnostic 875ms
โ reports class fields (1)
โ reports the rule diagnostic 1255ms
โ recognizes namespace aliases (1)
โ reports the rule diagnostic 993ms
โ recognizes bare-package Effect imports (1)
โ reports the rule diagnostic 791ms
โ recognizes a direct gen import (1)
โ reports the rule diagnostic 771ms
โ reports class methods (1)
โ reports the rule diagnostic 999ms
โ allows getters that expose an effect value (1)
โ passes 931ms
โ rules/no-mobile-uniwind-theme-escape-hatches.test.ts (24 tests) 20407ms
โ t3code/no-mobile-uniwind-theme-escape-hatches (24)
โ allows semantic mobile theme classes (1)
โ passes 627ms
โ allows unrelated functions with legacy hook names (1)
โ passes 905ms
โ allows unrelated imports with legacy hook names (1)
โ passes 946ms
โ allows erased type-only theme imports (1)
โ passes 1007ms
โ allows appearance words in ordinary copy (1)
โ passes 1206ms
โ does not conflate shadowed Uniwind namespaces (1)
โ passes 1137ms
โ allows reviewed native interop boundaries (1)
โ passes 1360ms
โ still reports appearance variants in reviewed interop boundaries (1)
โ reports the rule diagnostic 947ms
โ reports new React theme subscriptions (1)
โ reports the rule diagnostic 786ms
โ reports the retired theme color hook (1)
โ reports the rule diagnostic 665ms
โ reports guarded hooks imported with TypeScript extensions (1)
โ reports the rule diagnostic 529ms
โ reports unreviewed native interop subscriptions (1)
โ reports the rule diagnostic 627ms
โ reports appearance variants in string literals (1)
โ reports the rule diagnostic 771ms
โ reports appearance variants in template literals (1)
โ reports the rule diagnostic 639ms
โ reports escaped appearance variants in template literals (1)
โ reports the rule diagnostic 522ms
โ reports appearance variants through nested class-map indirection (1)
โ reports the rule diagnostic 592ms
โ reports appearance variants passed to class builders (1)
โ reports the rule diagnostic 893ms
โ reports negative and important appearance variants (1)
โ reports the rule diagnostic 926ms
โ reports namespace CSS variable subscriptions (1)
โ reports the rule diagnostic 1113ms
โ reports destructured namespace CSS variable subscriptions (1)
โ reports the rule diagnostic 908ms
โ reports aliased namespace CSS variable subscriptions (1)
โ reports the rule diagnostic 878ms
โ reports object-rest namespace CSS variable subscriptions (1)
โ reports the rule diagnostic 710ms
โ reports namespace access to the retired theme hook (1)
โ reports the rule diagnostic 895ms
โ reports destructured namespace access to the retired theme hook (1)
โ reports the rule diagnostic 747ms
โ unit src/lib/composerImages.test.ts (6 tests) 14ms
โ unit src/features/sharing/incoming-share-inbox.test.ts (10 tests) 31ms
โ unit src/native/composerEditorRevision.test.ts (17 tests) 57ms
โ unit src/dependency-graph.test.ts (2 tests) 29ms
โ unit src/features/home/homeThreadList.test.ts (4 tests) 25ms
โ unit src/features/settings/scheduledTaskDraft.test.ts (12 tests) 24ms
stdout | src/state/preferences.test.ts > mobile preferences state > falls back to empty preferences when secure storage cannot be read
[11:41:31.118] 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) 52ms
โ unit src/state/session.test.ts (4 tests) 14ms
โ unit src/lib/mediaActions.test.ts (10 tests) 29ms
stdout | src/lib/storage.test.ts > mobile connection storage > loads legacy preferences when SQLite is unavailable
[11:41:31.757] 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
}
}
stdout | src/lib/storage.test.ts > mobile connection storage > falls back to secure storage when SQLite cannot save preferences
[11:41:31.780] 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
[11:41:31.784] 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) 106ms
โ unit src/features/threads/thread-provider-instance.test.ts (3 tests) 47ms
โ unit src/features/projects/AddProjectScreen.test.ts (3 tests) 38ms
โ unit src/features/cloud/dpop.test.ts (5 tests) 138ms
โ unit src/features/settings/settings-scoped-server.test.ts (5 tests) 12ms
โ unit src/features/agent-awareness/liveActivityPreferences.test.ts (3 tests) 50ms
โ unit src/features/pull-requests/pullRequestStack.test.ts (8 tests) 21ms
โ unit src/features/threads/new-task-project-selection.test.ts (9 tests) 8ms
โ unit src/features/threads/thread-route-state.test.ts (5 tests) 16ms
โ unit src/features/settings/environment-maintenance.test.ts (7 tests) 70ms
โ unit src/features/threads/thread-settings-sheet-state.test.ts (5 tests) 11ms
โ unit src/features/review/reviewModel.test.ts (5 tests) 30ms
โ unit src/widgets/subscriptionUsageSnapshot.test.ts (5 tests) 88ms
โ unit src/lib/protectedData.test.ts (3 tests) 180ms
โ unit src/features/review/reviewCommentSelection.test.ts (6 tests) 7ms
โ unit src/features/voice-input/lazyVoiceRecorder.test.ts (3 tests) 8ms
โ rules/require-suppression-reason.test.ts (13 tests) 12333ms
โ t3code/require-suppression-reason (13)
โ allows a directive with a -- reason (1)
โ passes 1129ms
โ allows a directive explained by the comment above (1)
โ passes 918ms
โ allows stacked directives under one explanation (1)
โ passes 1049ms
โ allows a TypeScript directive followed by its reason (1)
โ passes 931ms
โ allows a directive in a JSX comment with a reason (1)
โ passes 766ms
โ ignores enable directives (1)
โ passes 1105ms
โ reports a lint directive without a reason (1)
โ reports the rule diagnostic 1057ms
โ reports a file-level directive without a reason (1)
โ reports the rule diagnostic 872ms
โ reports a TypeScript directive without a reason (1)
โ reports the rule diagnostic 606ms
โ does not count a comment separated by a blank line (1)
โ reports the rule diagnostic 1117ms
โ allows an empty comment line between the reason and the directive (1)
โ passes 993ms
โ does not count an empty comment above (1)
โ reports the rule diagnostic 915ms
โ does not count a trailing comment on the code line above (1)
โ reports the rule diagnostic 773ms
โ unit src/state/remote-environment-projections.test.ts (1 test) 14ms
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) 701ms
โ withAndroidFbjniVersion (4)
โ applies the force through the registered app config 667ms
โ unit src/features/review/nativeReviewDiffAdapter.test.ts (2 tests) 806ms
โ buildNativeReviewDiffData row bound (1)
โ caps each huge file excerpt while preserving full counts and ordinary files 780ms
โ unit src/state/edit-pending-thread-message.test.ts (4 tests) 16ms
โ rules/no-test-in-loop.test.ts (8 tests) 6865ms
โ t3code/no-test-in-loop (7)
โ allows it.each and it.effect.each (1)
โ passes 983ms
โ allows loops inside a test body (1)
โ passes 878ms
โ ignores node:test files, which have no .each (1)
โ passes 943ms
โ reports it inside a for...of loop (1)
โ reports the rule diagnostic 885ms
โ reports it.effect inside a for loop nested in describe (1)
โ reports the rule diagnostic 824ms
โ reports test inside a for...in loop (1)
โ reports the rule diagnostic 910ms
โ reports a describe inside a loop once, not the tests inside it (1)
โ reports the rule diagnostic 749ms
โ ignores non-test files (1)
โ passes 613ms
โ unit src/features/usage/UsageLimitsSection.test.ts (2 tests) 17ms
โ unit src/lib/pdfPreview.test.ts (12 tests) 28ms
โ unit src/features/agent-awareness/notificationNavigation.test.ts (6 tests) 44ms
โ unit src/features/pull-requests/pullRequestDiffPages.test.ts (3 tests) 15ms
โ rules/no-frame-waits-in-browser-tests.test.ts (16 tests) 14480ms
โ t3code/no-frame-waits-in-browser-tests (16)
โ allows retrying assertions and the full fake timer set (1)
โ passes 881ms
โ allows requestAnimationFrame inside mocks (1)
โ passes 920ms
โ allows timers outside a promise executor and other listeners (1)
โ passes 749ms
โ rejects a nextFrame helper (1)
โ reports the rule diagnostic 1010ms
โ rejects requestAnimationFrame as the executor (1)
โ reports the rule diagnostic 748ms
โ rejects window.requestAnimationFrame (1)
โ reports the rule diagnostic 793ms
โ allows a pass-through frame executor inside a mock implementation (1)
โ passes 1214ms
โ rejects setTimeout passed straight through as the promise executor (1)
โ reports the rule diagnostic 1100ms
โ rejects setTimeout inside a promise executor (1)
โ reports the rule diagnostic 974ms
โ rejects setInterval inside a promise executor (1)
โ reports the rule diagnostic 998ms
โ rejects transitionend listeners (1)
โ reports the rule diagnostic 1059ms
โ rejects animationend listeners (1)
โ reports the rule diagnostic 729ms
โ rejects vi.useFakeTimers (1)
โ reports the rule diagnostic 699ms
โ rejects a partial fakeTimers set (1)
โ reports the rule diagnostic 1015ms
โ rejects a partial vi.useFakeTimers set (1)
โ reports the rule diagnostic 820ms
โ ignores files that are not browser tests (1)
โ passes 681ms
โ unit src/features/workspace/android-workspace-navigation-colors.test.ts (9 tests) 92ms
โ unit src/state/thread-order.test.ts (4 tests) 24ms
โ unit src/state/assets.test.ts (4 tests) 31ms
โ unit src/lib/adaptive-navigation.test.ts (8 tests) 10ms
โ unit src/lib/projectFaviconRequests.test.ts (4 tests) 4ms
โ unit src/state/attachments.test.ts (2 tests) 14ms
โ unit src/state/pending-thread-creation.test.ts (4 tests) 13ms
โ unit src/features/connection/environmentSections.test.ts (3 tests) 3ms
โ unit src/features/shortcuts/appShortcuts.test.ts (7 tests) 24ms
โ unit src/lib/atomic-file.test.ts (4 tests) 11ms
โ unit src/features/workspace/workspace-tabs-state.test.ts (4 tests) 16ms
โ unit src/state/workspace-connection-atoms.test.ts (1 test) 15ms
โ unit src/features/pull-requests/pullRequestFileFilters.test.ts (4 tests) 22ms
โ rules/no-raw-mcp-registration.test.ts (20 tests) 17484ms
โ t3code/no-raw-mcp-registration (20)
โ allows the rest of effect/ai and type-only McpServer imports (1)
โ passes 906ms
โ reports importing McpServer from effect/ai (1)
โ reports the rule diagnostic 950ms
โ reports importing McpServer under another name (1)
โ reports the rule diagnostic 804ms
โ reports a namespace import of effect/ai (1)
โ reports the rule diagnostic 899ms
โ reports importing the McpServer module directly (1)
โ reports the rule diagnostic 875ms
โ reports re-exporting McpServer (1)
โ reports the rule diagnostic 1069ms
โ reports re-exporting all of effect/ai (1)
โ reports the rule diagnostic 1133ms
โ reports a dynamic import of the McpServer module (1)
โ reports the rule diagnostic 815ms
โ reports a dynamic import written as a template (1)
โ reports the rule diagnostic 1065ms
โ reports McpServer.toolkit (1)
โ reports the rule diagnostic 868ms
โ reports McpServer.resource and McpServer.prompt (1)
โ reports the rule diagnostic 787ms
โ reports addTool on the McpServer service (1)
โ reports the rule diagnostic 923ms
โ reports a registration method read without calling it (1)
โ reports the rule diagnostic 874ms
โ reports a registration function taken by destructuring (1)
โ reports the rule diagnostic 864ms
โ reports a registration method taken by destructuring (1)
โ reports the rule diagnostic 771ms
โ lets tests import McpServer to build a server (1)
โ passes 821ms
โ reports a registration in a test (1)
โ reports the rule diagnostic 767ms
โ reports a test importing McpServer under another name (1)
โ reports the rule diagnostic 951ms
โ reports a test importing effect/ai as a namespace (1)
โ reports the rule diagnostic 650ms
โ reports a test importing the McpServer module directly (1)
โ reports the rule diagnostic 579ms
โ unit src/state/use-thread-pr.test.ts (6 tests) 17ms
โ unit src/lib/markdownMedia.test.ts (12 tests) 25ms
โ unit src/lib/localAttachmentPreview.test.ts (4 tests) 12ms
โ unit src/features/terminal/useTerminalGridSync.test.ts (1 test) 20ms
โ unit src/lib/reserved-regions.test.ts (5 tests) 3ms
โ unit src/lib/copyTextWithHaptic.test.ts (5 tests) 12ms
โ unit src/persistence/mobile-database.test.ts (3 tests) 25ms
โ unit src/features/terminal/useTerminalLifecycle.test.ts (3 tests) 38ms
โ unit src/connection/storage.test.ts (3 tests) 35ms
โ unit src/features/pull-requests/pullRequestDiffComments.test.ts (4 tests) 5ms
โ unit src/features/review/incrementalSnippet.test.ts (3 tests) 389ms
โ unit src/persistence/mobile-storage.test.ts (3 tests) 21ms
โ unit src/lib/layout.test.ts (7 tests) 12ms
โ unit src/lib/markdownHtml.test.ts (5 tests) 64ms
โ unit src/features/threads/threadQueueControlPresentation.test.ts (7 tests) 10ms
โ unit src/lib/videoThumbnails.test.ts (2 tests) 33ms
โ unit src/connection/background-activity.test.ts (3 tests) 34ms
โ rules/no-inline-schema-compile.test.ts (6 tests) 3820ms
โ t3code/no-inline-schema-compile (6)
โ allows schema compilers hoisted to module scope (1)
โ passes 524ms
โ allows factory helpers that return a precompiled decoder (1)
โ passes 701ms
โ allows schema construction helpers that use encode transformations (1)
โ passes 509ms
โ allows dynamic schema parameters that cannot be hoisted to module scope (1)
โ passes 459ms
โ reports schema compilers inside function bodies (1)
โ reports the rule diagnostic 735ms
โ reports inline schema literals as high confidence findings (1)
โ reports the rule diagnostic 868ms
โ unit src/state/workspaceModel.test.ts (2 tests) 11ms
โ unit src/features/threads/fileChipMenu.test.ts (9 tests) 22ms
โ unit src/features/threads/pending-thread-feed.test.ts (4 tests) 4ms
โ unit src/features/threads/thread-settings-options.test.ts (4 tests) 12ms
โ unit src/lib/composerAttachmentFiles.test.ts (12 tests) 8ms
โ unit src/features/threads/use-composer-command-menu.test.ts (3 tests) 15ms
โ rules/no-wall-clock-in-tests.test.ts (8 tests) 5751ms
โ t3code/no-wall-clock-in-tests (7)
โ ignores a computed member with a variable key (1)
โ passes 839ms
โ allows fixed dates and readings that seed mocks (1)
โ passes 765ms
โ reports elapsed-time measurement (1)
โ reports the rule diagnostic 707ms
โ reports Date.now fixtures (1)
โ reports the rule diagnostic 660ms
โ reports new Date() with no arguments (1)
โ reports the rule diagnostic 643ms
โ reports process.hrtime and process.hrtime.bigint (1)
โ reports the rule diagnostic 680ms
โ reports a reading outside the mock's arguments (1)
โ reports the rule diagnostic 684ms
โ ignores non-test files (1)
โ passes 708ms
โ unit src/connection/migration.test.ts (2 tests) 14ms
โ unit src/lib/microphonePriority.test.ts (4 tests) 23ms
โ unit src/features/pull-requests/pullRequestStatus.test.ts (4 tests) 4ms
โ rules/no-manual-effect-runtime-in-tests.test.ts (17 tests) 13330ms
โ t3code/no-manual-effect-runtime-in-tests (14)
โ allows @effect/vitest effect tests (1)
โ passes 1038ms
โ reports Effect.runCallback (1)
โ reports the rule diagnostic 820ms
โ reports Effect.runCallbackWith (1)
โ reports the rule diagnostic 1068ms
โ reports Effect.runFork (1)
โ reports the rule diagnostic 734ms
โ reports Effect.runForkWith (1)
โ reports the rule diagnostic 652ms
โ reports Effect.runPromise (1)
โ reports the rule diagnostic 765ms
โ reports Effect.runPromiseExit (1)
โ reports the rule diagnostic 773ms
โ reports Effect.runPromiseExitWith (1)
โ reports the rule diagnostic 911ms
โ reports Effect.runPromiseWith (1)
โ reports the rule diagnostic 945ms
โ reports Effect.runSync (1)
โ reports the rule diagnostic 735ms
โ reports Effect.runSyncExit (1)
โ reports the rule diagnostic 654ms
โ reports Effect.runSyncExitWith (1)
โ reports the rule diagnostic 701ms
โ reports Effect.runSyncWith (1)
โ reports the rule diagnostic 640ms
โ reports ManagedRuntime.make (1)
โ reports the rule diagnostic 619ms
โ allows production runtime boundaries (1)
โ passes 622ms
โ t3code/no-manual-effect-runtime-in-tests with maxOccurrences (2)
โ allows occurrences up to the ceiling (1)
โ passes 761ms
โ reports occurrences beyond the ceiling (1)
โ reports the rule diagnostic 776ms
โ unit src/features/threads/new-task-context-presentation.test.ts (7 tests) 10ms
โ rules/no-unscoped-has.test.ts (42 tests) 35222ms
โ t3code/no-unscoped-has (24)
โ allows :has() on the element itself (1)
โ passes 702ms
โ allows :has() anchored to an attribute (1)
โ passes 1205ms
โ allows :has() inside :not() on the element itself (1)
โ passes 1167ms
โ allows built-in has-* variants (1)
โ passes 801ms
โ allows a sibling selector without :has() (1)
โ passes 1025ms
โ ignores prose mentioning :has() (1)
โ passes 1045ms
โ ignores :has() inside an arbitrary value (1)
โ passes 1023ms
โ allows a negated :has() on the element itself (1)
โ passes 720ms
โ allows :has() on a group or peer element (1)
โ passes 842ms
โ allows a selector list whose own branch is anchored (1)
โ passes 827ms
โ ignores :has() text in quoted attribute values (1)
โ passes 608ms
โ allows a selector without & on the element itself (1)
โ passes 545ms
โ reports a sibling :has() with nothing anchoring it (1)
โ reports the rule diagnostic 525ms
โ reports a descendant :has() with nothing anchoring it (1)
โ reports the rule diagnostic 708ms
โ reports a universal :has() ancestor (1)
โ reports the rule diagnostic 528ms
โ reports :has() whose only anchor is negated (1)
โ reports the rule diagnostic 753ms
โ reports uppercase :HAS() (1)
โ reports the rule diagnostic 788ms
โ reports a selector-list branch borrowing another branch's anchor (1)
โ reports the rule diagnostic 954ms
โ reports an unanchored branch inside :is() (1)
โ reports the rule diagnostic 1225ms
โ reports an unanchored :has() inside a named group variant (1)
โ reports the rule diagnostic 675ms
โ reports a :has() on an ancestor of a selector without & (1)
โ reports the rule diagnostic 1110ms
โ reports a :has() on an ancestor of a group (1)
โ reports the rule diagnostic 1065ms
โ reports an in-* ancestor :has() (1)
โ reports the rule diagnostic 659ms
โ reports :has() anchored to the document root (1)
โ reports the rule diagnostic 1236ms
โ t3code/no-outset-state-indicators (18)
โ valid: inset state rings (1)
โ inset state rings (1)
โ passes 1117ms
โ valid: an unconditional inset (1)
โ an unconditional inset (1)
โ passes 984ms
โ valid: an inset in a sibling composer argument (1)
โ an inset in a sibling composer argument (1)
โ passes 784ms
โ valid: an inset in a nested conditional composer (1)
โ an inset in a nested conditional composer (1)
โ passes 809ms
โ valid: outlines covered by the inward default (1)
โ outlines covered by the inward default (1)
โ passes 812ms
โ valid: wider outlines with a matching inward offset (1)
โ wider outlines with a matching inward offset (1)
โ passes 752ms
โ valid: arbitrary pixel outlines with a matching inward offset (1)
โ arbitrary pixel outlines with a matching inward offset (1)
โ passes 851ms
โ valid: arbitrary outline colors (1)
โ arbitrary outline colors (1)
โ passes 861ms
โ valid: decorative rings without a state (1)
โ decorative rings without a state (1)
โ passes 833ms
โ valid: prose (1)
โ prose (1)
โ passes 712ms
โ invalid: state rings without an inset (1)
โ state rings without an inset (1)
โ reports the rule diagnostic 823ms
โ invalid: an inset from another state (1)
โ an inset from another state (1)
โ reports the rule diagnostic 614ms
โ invalid: an inset from another conditional branch (1)
โ an inset from another conditional branch (1)
โ reports the rule diagnostic 794ms
โ invalid: an inset passed to another function (1)
โ an inset passed to another function (1)
โ reports the rule diagnostic 618ms
โ invalid: arbitrary state ring widths (1)
โ arbitrary state ring widths (1)
โ reports the rule diagnostic 856ms
โ invalid: positive outline offsets (1)
โ positive outline offsets (1)
โ reports the rule diagnostic 734ms
โ invalid: arbitrary outline offsets (1)
โ arbitrary outline offsets (1)
โ reports the rule diagnostic 773ms
โ invalid: wide outlines without an inward offset (1)
โ wide outlines without an inward offset (1)
โ reports the rule diagnostic 642ms
โ unit src/features/settings/autoSettleSettingsSync.test.ts (3 tests) 3ms
โ unit src/features/terminal/terminalMenu.test.ts (5 tests) 13ms
โ unit src/features/home/workspace-connection-status.test.ts (3 tests) 6ms
โ rules/no-hermes-unsupported-apis.test.ts (22 tests) 17094ms
โ t3code/no-hermes-unsupported-apis (22)
โ allows in-place sort on a copy (1)
โ passes 972ms
โ allows in-place reverse on a copy (1)
โ passes 628ms
โ allows other ES2023 methods Hermes ships (1)
โ passes 1162ms
โ ignores property reads that are not calls (1)
โ passes 1119ms
โ reports toSorted (1)
โ reports the rule diagnostic 828ms
โ reports toReversed in a chain (1)
โ reports the rule diagnostic 771ms
โ reports toSpliced via computed access with a copy-then-splice remediation (1)
โ reports the rule diagnostic 761ms
โ reports a static template-literal property name (1)
โ reports the rule diagnostic 635ms
โ ignores a template-literal property with substitutions (1)
โ passes 864ms
โ allows supported Intl constructors (1)
โ passes 718ms
โ allows feature detection (1)
โ passes 729ms
โ allows unrelated Segmenter constructors (1)
โ passes 790ms
โ ignores dynamic computed names (1)
โ passes 729ms
โ reports new Intl.Segmenter(undefined, { granularity: 'grapheme' }) (1)
โ reports the rule diagnostic 638ms
โ reports new Intl['Segmenter']() (1)
โ reports the rule diagnostic 612ms
โ reports new Intl[`Segmenter`]() (1)
โ reports the rule diagnostic 661ms
โ reports new globalThis.Intl.Segmenter() (1)
โ reports the rule diagnostic 646ms
โ reports new globalThis['Intl']['Segmenter']() (1)
โ reports the rule diagnostic 863ms
โ reports new global.Intl.Segmenter() (1)
โ reports the rule diagnostic 818ms
โ reports new window.Intl.Segmenter() (1)
โ reports the rule diagnostic 640ms
โ reports Intl.Segmenter() (1)
โ reports the rule diagnostic 705ms
โ reports Intl.Segmenter?.() (1)
โ reports the rule diagnostic 700ms
โ unit src/native/voiceTranscription.ios.test.ts (1 test) 26ms
โ unit src/lib/markdownLinks.test.ts (8 tests) 8ms
โ unit src/lib/projectFaviconDatabaseCache.test.ts (3 tests) 18ms
โ unit src/features/terminal/terminalInput.test.ts (7 tests) 7ms
โ unit src/features/devices/threadDevicePreviews.test.ts (2 tests) 5ms
โ unit src/features/threads/worktree-setup-state.test.ts (4 tests) 7ms
โ unit src/features/terminal/terminalPaste.test.ts (2 tests) 8ms
โ unit src/state/queries.filesystem.test.ts (1 test) 7ms
โ unit src/lib/appLinking.test.ts (17 tests) 12ms
โ unit src/features/terminal/terminalLaunchContext.test.ts (3 tests) 3ms
โ unit src/state/thread-provider-switching.test.ts (4 tests) 8ms
โ unit src/lib/device-type.test.ts (3 tests) 7ms
โ unit src/features/terminal/useTerminalSurfaceBuffer.test.ts (2 tests) 22ms
โ unit src/features/threads/thread-route-hydration.test.ts (3 tests) 12ms
โ unit src/lib/projectThreadStartTurn.test.ts (3 tests) 4ms
โ unit src/state/queued-run-edit.test.ts (3 tests) 17ms
โ rules/no-global-process-runtime.test.ts (9 tests) 6259ms
โ t3code/no-global-process-runtime (9)
โ allows injected host process references (1)
โ passes 637ms
โ allows unrelated process members (1)
โ passes 640ms
โ allows unrelated node os imports (1)
โ passes 944ms
โ reports direct platform reads (1)
โ reports the rule diagnostic 655ms
โ reports direct architecture reads (1)
โ reports the rule diagnostic 730ms
โ reports globalThis process platform reads (1)
โ reports the rule diagnostic 684ms
โ reports node os namespace platform reads (1)
โ reports the rule diagnostic 582ms
โ reports renamed node os architecture imports (1)
โ reports the rule diagnostic 754ms
โ reports default node os platform reads (1)
โ reports the rule diagnostic 595ms
โ unit src/features/files/filePath.test.ts (7 tests) 13ms
โ unit src/features/layout/deferred-navigation.test.ts (3 tests) 13ms
โ unit src/features/settings/scheduled-task-editor-state.test.ts (3 tests) 19ms
โ unit src/features/home/thread-dismissal.test.ts (3 tests) 6ms
โ unit src/features/sharing/incoming-share-presentation.test.ts (2 tests) 3ms
โ unit src/features/cloud/CloudAuthProvider.test.ts (1 test) 6ms
โ unit src/features/threads/provider-catalog-refresh.test.ts (2 tests) 13ms
โ unit src/features/cloud/managedRelayLayer.test.ts (1 test) 104ms
โ rules/namespace-node-imports.test.ts (5 tests) 3263ms
โ t3code/namespace-node-imports (5)
โ allows canonical Node namespaces (1)
โ passes 659ms
โ does not apply to non-Node packages (1)
โ passes 563ms
โ reports named imports (1)
โ reports the rule diagnostic 677ms
โ reports default imports (1)
โ reports the rule diagnostic 578ms
โ reports non-canonical namespace aliases (1)
โ reports the rule diagnostic 754ms
โ unit src/features/pull-requests/pullRequestActivityFilter.test.ts (1 test) 15ms
โ unit src/features/devices/device-stream-document.test.ts (11 tests) 29ms
โ unit src/features/diagnostics/crash-log-model.test.ts (2 tests) 10ms
โ unit src/features/observability/tracing.test.ts (1 test) 49ms
โ unit src/lib/markdownTableBreaks.test.ts (5 tests) 73ms
โ rules/no-rpc-permission-bypass.test.ts (16 tests) 11568ms
โ blocks direct session calls (1)
โ reports the rule diagnostic 753ms
โ blocks extracting the raw client (1)
โ reports the rule diagnostic 852ms
โ blocks replacing the permission guard (1)
โ reports the rule diagnostic 670ms
โ blocks namespace guard access (1)
โ reports the rule diagnostic 811ms
โ blocks raw protocol imports (1)
โ reports the rule diagnostic 631ms
โ allows typed requests (1)
โ passes 842ms
โ allows the transport boundary (1)
โ passes 615ms
โ blocks guard imports through the barrel (1)
โ reports the rule diagnostic 753ms
โ blocks explicit index imports (1)
โ reports the rule diagnostic 812ms
โ blocks raw session access in subscription callbacks (1)
โ reports the rule diagnostic 725ms
โ blocks raw client destructuring (1)
โ reports the rule diagnostic 673ms
โ allows public typed RPC helpers (1)
โ passes 475ms
โ raw client allowance does not permit installing the guard (1)
โ reports the rule diagnostic 585ms
โ permits guard installation when configured (1)
โ passes 813ms
โ guard installation allowance does not permit raw clients (1)
โ reports the rule diagnostic 810ms
โ guard installation allowance does not permit raw protocol imports (1)
โ reports the rule diagnostic 684ms
โ unit src/features/pull-requests/pullRequestEnvironmentFallback.test.ts (3 tests) 3ms
โ unit scripts/generate-uniwind-themes.test.ts (1 test) 69ms
โ unit src/lib/assetImageSource.test.ts (3 tests) 17ms
โ unit src/lib/nativeTheme.test.ts (12 tests) 68ms
โ unit src/features/keyboard/commandPaletteItems.test.ts (2 tests) 4ms
โ rules/prefer-catch-tags.test.ts (6 tests) 4204ms
โ t3code/prefer-catch-tags (6)
โ allows Effect.catchTags (1)
โ passes 638ms
โ ignores catchTag on other modules (1)
โ passes 541ms
โ ignores a local that shadows the namespace (1)
โ passes 692ms
โ reports Effect.catchTag (1)
โ reports the rule diagnostic 773ms
โ reports catchTag through an aliased namespace (1)
โ reports the rule diagnostic 709ms
โ reports a named catchTag import (1)
โ reports the rule diagnostic 811ms
โ unit src/features/pull-requests/pullRequestAgentTasks.test.ts (2 tests) 13ms
โ rules/no-mobile-pull-request-glyph-literals.test.ts (10 tests) 6898ms
โ t3code/no-mobile-pull-request-glyph-literals (10)
โ allows glyphs picked from the module (1)
โ passes 761ms
โ allows unrelated symbols and copy that mentions pull requests (1)
โ passes 762ms
โ reports a pull request glyph in a JSX attribute (1)
โ reports the rule diagnostic 554ms
โ reports state glyphs chosen inline (1)
โ reports the rule diagnostic 902ms
โ reports glyphs in platform symbol objects (1)
โ reports the rule diagnostic 692ms
โ reports an Android-only pull request glyph (1)
โ reports the rule diagnostic 792ms
โ allows merge as an ordinary string outside an android symbol slot (1)
โ passes 554ms
โ allows merge in an android key outside a platform symbol object (1)
โ passes 730ms
โ reports an Android-only pull request glyph written as a template literal (1)
โ reports the rule diagnostic 502ms
โ reports glyphs in template literals (1)
โ reports the rule diagnostic 618ms
โ unit src/features/pull-requests/pullRequestActions.test.ts (2 tests) 12ms
โ unit src/lib/markdownMediaSource.test.ts (3 tests) 6ms
โ unit src/lib/enrichedLinkPresentation.test.ts (3 tests) 7ms
โ unit src/features/connection/pairing.test.ts (5 tests) 11ms
โ unit src/features/sharing/incoming-share-storage.test.ts (1 test) 12ms
โ unit src/lib/markdownInlineFileLinks.test.ts (4 tests) 61ms
โ unit src/lib/connection.test.ts (1 test) 10ms
โ unit src/features/settings/SettingsRouteScreen.logic.test.ts (2 tests) 8ms
โ unit src/features/home/swipe-row-activation.test.ts (3 tests) 5ms
โ unit src/state/asset-url-state.test.ts (3 tests) 4ms
โ unit src/features/usage/usageEnvironmentSelection.test.ts (4 tests) 4ms
โ unit src/lib/wideMarkdownBlocks.test.ts (2 tests) 7ms
โ rules/no-native-title-tooltip.test.ts (11 tests) 7214ms
โ t3code/no-native-title-tooltip (11)
โ allows intrinsic elements without a title attribute (1)
โ passes 665ms
โ allows title props on custom components (1)
โ passes 644ms
โ allows title on member expression components (1)
โ passes 503ms
โ allows title as an accessible name on embedded content (1)
โ passes 745ms
โ allows the svg title child element (1)
โ passes 680ms
โ allows document.title assignments (1)
โ passes 707ms
โ reports title on a truncating span (1)
โ reports the rule diagnostic 560ms
โ reports title on a button (1)
โ reports the rule diagnostic 605ms
โ reports title on a paragraph (1)
โ reports the rule diagnostic 655ms
โ reports title on a code element (1)
โ reports the rule diagnostic 751ms
โ reports title on an anchor (1)
โ reports the rule diagnostic 648ms
โ unit src/features/review/shikiReviewHighlighter.test.ts (2 tests) 332ms
โ highlightSourceFile (2)
โ preserves one highlighted token row per source line without trailing newlines 327ms
โ unit src/features/pull-requests/botBadgeImages.test.ts (1 test) 10ms
โ unit src/lib/serialized-async-queue.test.ts (2 tests) 27ms
โ unit src/lib/openExternalUrl.test.ts (1 test) 10ms
โ unit src/features/pull-requests/pullRequestDescriptionContent.test.ts (1 test) 14ms
โ unit src/features/threads/composerSendPresentation.test.ts (2 tests) 8ms
โ unit src/features/pull-requests/pullRequestDescription.test.ts (1 test) 17ms
โ unit src/features/sharing/incoming-share-native.test.ts (2 tests) 9ms
โ rules/no-em-dash-copy.test.ts (5 tests) 3113ms
โ t3code/no-em-dash-copy (5)
โ allows em dashes in comments and regex literals (1)
โ passes 614ms
โ allows hyphens and en dashes (1)
โ passes 589ms
โ reports a string literal (1)
โ reports the rule diagnostic 774ms
โ reports a template literal (1)
โ reports the rule diagnostic 576ms
โ reports JSX text (1)
โ reports the rule diagnostic 521ms
โ unit src/features/pull-requests/pullRequestNavigation.test.ts (2 tests) 6ms
โ unit src/features/diffs/nativeReviewDiffSurface.test.ts (1 test) 220ms
โ unit src/features/threads/threadContentPresentation.test.ts (2 tests) 14ms
โ unit src/features/cloud/managedRelayTokenStore.test.ts (1 test) 14ms
โ unit src/features/threads/subagent-card-presentation.test.ts (1 test) 3ms
โ unit src/features/pull-requests/pullRequestReviewDrafts.test.ts (1 test) 4ms
โ rules/no-hookless-use-function.test.ts (9 tests) 6058ms
โ t3code/no-hookless-use-function (9)
โ allows a hook that calls useState (1)
โ passes 872ms
โ allows a hook that only calls use() (1)
โ passes 692ms
โ allows a hook that calls a member hook (1)
โ passes 580ms
โ allows a plain function (1)
โ passes 623ms
โ allows names that only start with use (1)
โ passes 472ms
โ reports a hook-less function declaration (1)
โ reports the rule diagnostic 688ms
โ reports a hook-less arrow returning a closure (1)
โ reports the rule diagnostic 850ms
โ reports a hook-less function expression (1)
โ reports the rule diagnostic 675ms
โ reports a hook call that only happens inside a nested callback (1)
โ reports the rule diagnostic 546ms
โ unit src/lib/filePreviewGallery.test.ts (1 test) 8ms
โ unit src/features/threads/customSnoozeDate.test.ts (2 tests) 4ms
โ unit src/features/pull-requests/pullRequestMediaSource.test.ts (1 test) 8ms
โ unit src/state/thread-composer-error.test.ts (1 test) 3ms
โ unit src/features/browser/previewPromptText.test.ts (3 tests) 3ms
โ unit src/features/prompt-links/prompt-link-model.test.ts (1 test) 5ms
โ unit src/features/projects/AddProjectScreen.logic.test.ts (1 test) 3ms
โ unit src/features/cloud/publicConfig.test.ts (1 test) 6ms
โ unit src/state/queries.test.ts (1 test) 9ms
โ rules/no-manual-memo.test.ts (14 tests) 9001ms
โ t3code/no-manual-memo (11)
โ allows plain derived values (1)
โ passes 542ms
โ allows useStableCallback (1)
โ passes 621ms
โ allows other React members (1)
โ passes 685ms
โ allows other directives (1)
โ passes 590ms
โ reports a "use memo" directive (1)
โ reports the rule diagnostic 681ms
โ reports useMemo (1)
โ reports the rule diagnostic 769ms
โ reports useCallback (1)
โ reports the rule diagnostic 758ms
โ reports React.useMemo (1)
โ reports the rule diagnostic 873ms
โ reports "use no memo" (1)
โ reports the rule diagnostic 608ms
โ reports a module-level "use no forget" (1)
โ reports the rule diagnostic 719ms
โ allows the same text as a string value (1)
โ passes 541ms
โ t3code/no-manual-memo with allowMemoHooks (3)
โ allows useMemo (1)
โ passes 511ms
โ allows useCallback (1)
โ passes 569ms
โ still reports "use no memo" (1)
โ reports the rule diagnostic 484ms
โ unit src/lib/nativeComposerTheme.test.ts (1 test) 4ms
โ unit src/lib/filePreview.test.ts (4 tests) 3ms
โ unit src/lib/mobileThemeRuntime.test.ts (1 test) 3ms
โ unit src/lib/http-response.test.ts (1 test) 16ms
โ unit src/lib/foreground-handoff.test.ts (1 test) 3ms
โ unit src/lib/appearancePreferences.test.ts (1 test) 2ms
โ unit src/features/threads/projectThreadCreationValidation.test.ts (2 tests) 3ms
โ unit src/features/settings/lib/legal-document-url.test.ts (2 tests) 2ms
โ unit src/features/keyboard/hardwareKeyboardCommands.test.ts (2 tests) 4ms
โ rules/no-dom-test-environment.test.ts (12 tests) 5774ms
โ t3code/no-dom-test-environment (12)
โ allows browser tests (1)
โ passes 821ms
โ allows similarly named packages (1)
โ passes 560ms
โ rejects line pragmas (1)
โ reports the rule diagnostic 636ms
โ rejects block pragmas for any environment (1)
โ reports the rule diagnostic 589ms
โ rejects jsdom imports (1)
โ reports the rule diagnostic 552ms
โ rejects happy-dom imports (1)
โ reports the rule diagnostic 525ms
โ rejects emulator subpaths (1)
โ reports the rule diagnostic 485ms
โ rejects dynamic imports (1)
โ reports the rule diagnostic 376ms
โ rejects TypeScript require imports (1)
โ reports the rule diagnostic 314ms
Test Files 25 passed (25)
Tests 366 passed (366)
Start at 11:41:07
Duration 46.67s (tests 96%, import 2%, setup 1%)
โ unit src/reactCompilerCoverage.test.ts (908 tests) 52299ms
โ React Compiler coverage (908)
โ Metro's transformer applies the compiler 4952ms
โ compiles src/Stack.tsx 348ms
โ compiles src/components/ComposerAttachmentStrip.tsx 443ms
โ compiles src/components/ComposerContextAttachment.tsx 461ms
โ compiles src/components/ComposerContextSheet.tsx 1028ms
โ compiles src/components/ComposerEditor.tsx 575ms
โ compiles src/components/ComposerToolbar.tsx 631ms
โ compiles src/components/ui/AppBar.android.tsx 325ms
โ compiles src/components/ui/Dialog.android.tsx 432ms
โ compiles src/features/archive/ArchivedThreadsScreen.tsx 441ms
โ compiles src/features/browser/PreviewStreamWebView.tsx 583ms
โ compiles src/features/connection/CloudEnvironmentRows.tsx 339ms
โ compiles src/features/connection/ConnectionsNewRouteScreen.tsx 345ms
โ compiles src/features/devices/DevicePreviewRouteScreen.tsx 425ms
โ compiles src/features/devices/DeviceStreamWebView.tsx 353ms
โ compiles src/features/files/AttachmentFileScreen.tsx 391ms
โ compiles src/features/files/FileMarkdownPreview.tsx 441ms
โ compiles src/features/files/ThreadFilesRouteScreen.tsx 741ms
โ compiles src/features/home/HomeScreen.tsx 553ms
โ compiles src/features/home/thread-swipe-actions.tsx 360ms
โ compiles src/features/home/useThreadListActions.ts 307ms
โ compiles src/features/layout/AdaptiveWorkspaceLayout.tsx 675ms
โ compiles src/features/pull-requests/PullRequestRouteScreen.tsx 640ms
โ compiles src/features/settings/SettingsScheduledTasksRouteScreen.tsx 392ms
โ compiles src/features/terminal/ThreadTerminalRouteScreen.tsx 321ms
โ compiles src/features/threads/NewTaskDraftScreen.tsx 639ms
โ compiles src/features/threads/ThreadComposer.tsx 813ms
โ compiles src/features/threads/ThreadDetailScreen.tsx 1106ms
โ compiles src/features/threads/ThreadFeed.tsx 985ms
โ compiles src/features/threads/ThreadNavigationSidebar.tsx 369ms
โ compiles src/features/threads/ThreadQueueControl.tsx 316ms
โ compiles src/features/threads/ThreadRouteScreen.tsx 426ms
โ compiles src/features/threads/ThreadSettingsSheet.tsx 312ms
โ compiles src/features/threads/new-task-flow-provider.tsx 572ms
โ compiles src/features/threads/thread-list-v2-items.tsx 495ms
โ compiles src/features/threads/thread-work-log.tsx 561ms
โ caches the thread feed derivation 1128ms
Test Files 196 passed (196)
Tests 2167 passed (2167)
Start at 11:41:09
Duration 71.27s (import 37%, transform 27%, tests 24%, setup 9%, environment 3%)
---
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=__d1fe7a72-05be-49f1-96b0-a0105f010cf4.__actions_cache]
Post job cleanup.
Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-2baa264059789b1dde4bbc8fdc5b8342f31f2fc8e6176e5c5e486efdd242b36c, not saving cache.
##[end-action id=__d1fe7a72-05be-49f1-96b0-a0105f010cf4.__actions_cache;outcome=success;conclusion=success;duration_ms=193]
##[start-action display=Cache Vite+;id=__d1fe7a72-05be-49f1-96b0-a0105f010cf4.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=__d1fe7a72-05be-49f1-96b0-a0105f010cf4.vp_cache;outcome=success;conclusion=success;duration_ms=119]
Post job cleanup.
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/893ec785-cce3-42b1-90e2-bf86c26985c1' 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: 158
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 481
BLACKSMITH_CHECK_RUN_ID: 120393976653
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