[closed] [codex] Fix visited timestamp under clock skew - #2406
Closed
juliusmarminge wants to merge 41 commits into
Closed
juliusmarminge wants to merge 41 commits into
juliusmarminge wants to merge 41 commits into
MacroscopeApp / Macroscope - Correctness Check
completed
Apr 29, 2026 in 7m 46s
5 issues identified (298 code objects reviewed).
• Merge Base:
5cf83ff
• Head:9678d3b
Details
| ✅ | File Path | Comments Posted |
|---|---|---|
| ✅ | .gitignore |
|
| ✅ | turbo.json |
|
| ✅ | apps/web/vercel.json |
|
| ➖ | packages/ssh/package.json |
|
| ✅ | packages/ssh/src/errors.ts |
0 |
| ✅ | packages/ssh/tsconfig.json |
|
| ✅ | packages/ssh/src/auth.ts |
0 |
| ✅ | apps/web/src/hostedPairing.ts |
0 |
| ➖ | packages/ssh/src/auth.test.ts |
|
| ❌ | packages/ssh/src/config.ts |
1 |
| ❌ | packages/ssh/src/tunnel.ts |
1 |
| ✅ | packages/ssh/src/command.ts |
0 |
| ➖ | packages/ssh/src/config.test.ts |
|
| ➖ | packages/tailscale/package.json |
|
| ✅ | packages/tailscale/src/index.ts |
|
| ✅ | packages/tailscale/tsconfig.json |
|
| ➖ | scripts/lib/brand-assets.test.ts |
|
| ✅ | scripts/apply-web-brand-assets.ts |
0 |
| ➖ | apps/web/src/hostedPairing.test.ts |
|
| ➖ | packages/ssh/src/tunnel.test.ts |
|
| ✅ | apps/server/src/ws.ts |
|
| ➖ | packages/ssh/src/command.test.ts |
|
| ✅ | apps/desktop/src/sshEnvironment.ts |
0 |
| ✅ | packages/contracts/src/remoteAccess.ts |
|
| ✅ | packages/tailscale/src/tailscale.ts |
0 |
| ➖ | apps/desktop/src/sshEnvironment.test.ts |
|
| ➖ | apps/server/package.json |
|
| ✅ | scripts/release-smoke.ts |
|
| ➖ | apps/web/src/vite-env.d.ts |
|
| ➖ | packages/tailscale/src/tailscale.test.ts |
|
| ✅ | apps/desktop/src/sshScripts/askpass-posix.sh |
|
| ✅ | apps/desktop/src/sshScripts/remote-launch.sh |
|
| ✅ | apps/desktop/src/sshScripts/remote-runner.sh |
|
| ✅ | apps/desktop/src/sshScripts/remote-pairing.sh |
|
| ➖ | apps/server/src/cli.test.ts |
|
| ➖ | .plans/19-remote-endpoints-hosted-static.md |
|
| ✅ | apps/desktop/src/sshScripts/askpass-windows.cmd |
|
| ✅ | apps/desktop/src/sshScripts/askpass-windows.ps1 |
|
| ✅ | apps/web/src/components/settings/pairingUrls.ts |
|
| ✅ | apps/web/vite.config.ts |
|
| ✅ | apps/desktop/src/sshScripts/remote-pick-port.cjs |
0 |
| ✅ | apps/desktop/src/tailscaleEndpointProvider.ts |
0 |
| ✅ | apps/desktop/tsdown.config.ts |
|
| ✅ | packages/client-runtime/src/advertisedEndpoint.ts |
0 |
| ➖ | apps/desktop/src/tailscaleEndpointProvider.test.ts |
|
| ➖ | apps/web/src/components/settings/pairingUrls.test.ts |
|
| ✅ | apps/server/src/config.ts |
0 |
| ✅ | packages/contracts/src/index.ts |
|
| ➖ | packages/client-runtime/src/advertisedEndpoint.test.ts |
|
| ➖ | apps/desktop/package.json |
|
| ✅ | apps/web/src/routes/_chat.tsx |
|
| ➖ | bun.lock |
|
| ✅ | apps/web/src/components/desktop/SshPasswordPromptDialog.tsx |
0 |
| ✅ | packages/client-runtime/src/index.ts |
|
| ✅ | apps/server/src/server.ts |
|
| ✅ | apps/web/src/routes/settings.tsx |
|
| ✅ | apps/web/src/environments/remote/api.ts |
|
| ➖ | apps/desktop/src/clientPersistence.test.ts |
|
| ✅ | apps/desktop/src/preload.ts |
0 |
| ✅ | apps/web/src/environments/runtime/index.ts |
0 |
| ➖ | apps/web/src/environments/remote/api.test.ts |
|
| ➖ | apps/web/src/clientPersistenceStorage.test.ts |
|
| ✅ | REMOTE.md |
|
| ✅ | apps/web/src/environments/remote/target.ts |
|
| ✅ | apps/web/src/components/ui/scroll-area.tsx |
|
| ➖ | apps/web/src/localApi.test.ts |
|
| ✅ | apps/web/src/routes/pair.tsx |
|
| ✅ | apps/web/src/routes/_chat.index.tsx |
0 |
| ➖ | apps/web/src/rpc/wsTransport.test.ts |
|
| ➖ | apps/desktop/src/serverExposure.test.ts |
|
| ✅ | apps/web/src/components/ui/dialog.tsx |
|
| ➖ | apps/web/src/rpc/wsConnectionState.test.ts |
|
| ✅ | apps/desktop/src/serverExposure.ts |
0 |
| ✅ | apps/web/src/rpc/wsTransport.ts |
0 |
| ✅ | apps/web/src/components/settings/settingsLayout.tsx |
0 |
| ✅ | apps/web/src/components/ui/alert-dialog.tsx |
|
| ➖ | apps/web/src/uiStateStore.test.ts |
|
| ✅ | apps/desktop/src/desktopSettings.ts |
0 |
| ➖ | apps/server/src/environment/Layers/ServerEnvironment.test.ts |
|
| ✅ | apps/web/src/components/auth/PairingRouteSurface.tsx |
|
| ✅ | .docs/remote-architecture.md |
|
| ➖ | apps/web/src/components/WebSocketConnectionSurface.logic.test.ts |
|
| ➖ | apps/server/src/server.test.ts |
|
| ✅ | scripts/lib/brand-assets.ts |
0 |
| ✅ | apps/server/src/cli.ts |
0 |
| ✅ | packages/contracts/src/ipc.ts |
0 |
| ✅ | apps/web/src/environments/runtime/catalog.ts |
0 |
| ✅ | apps/web/src/uiStateStore.ts |
0 |
| ✅ | apps/web/src/localApi.ts |
0 |
| ✅ | apps/desktop/src/clientPersistence.ts |
0 |
| ✅ | apps/web/src/components/WebSocketConnectionSurface.tsx |
0 |
| ✅ | apps/web/src/clientPersistenceStorage.ts |
|
| ✅ | apps/web/src/components/chat/ChatComposer.tsx |
0 |
| ➖ | apps/web/src/environments/runtime/service.threadSubscriptions.test.ts |
|
| ➖ | apps/desktop/src/desktopSettings.test.ts |
|
| ✅ | apps/web/src/components/ChatView.tsx |
0 |
| ✅ | apps/web/src/rpc/wsConnectionState.ts |
0 |
| ✅ | apps/web/src/rpc/protocol.ts |
0 |
| ✅ | apps/web/src/routes/__root.tsx |
0 |
| ➖ | apps/server/src/cli-config.test.ts |
|
| ✅ | apps/web/src/components/chat/ComposerPrimaryActions.tsx |
|
| ✅ | apps/web/src/components/settings/SettingsPanels.browser.tsx |
0 |
| ✅ | apps/desktop/src/main.ts |
0 |
| ➖ | apps/web/src/environments/runtime/service.addSavedEnvironment.test.ts |
|
| ❌ | apps/web/src/environments/runtime/service.ts |
1 |
| ❌ | apps/web/src/components/settings/ConnectionsSettings.tsx |
2 |
Filtered Issues Details
apps/desktop/src/sshScripts/remote-pick-port.cjs
- line 4: If
process.argv[3]is not provided and the file atfilePathis empty or doesn't exist, bothpreferredanddefaultPortbecomeNaN. SinceNumber.isInteger(NaN)returnsfalse,startfalls back todefaultPortwhich isNaN. This causes the loop to never execute becauseNaN < endis always false, silently failing the port scan. [ Failed validation ] - line 6: If
filePathexists but is a directory (or a file without read permissions),fs.readFileSyncwill throw a synchronous exception at module load time. This exception is not caught because it occurs outside the async IIFE's.catch()handler on line 31. The script will crash instead of gracefully falling back todefaultPort. Consider wrapping the file read in a try-catch or usingfs.statSyncto verify it's a readable file. [ Cross-file consolidated ]
packages/ssh/src/command.ts
- line 205: At line 205,
child.exitCode.pipe(Effect.map(Number))converts the exit code using theNumberconstructor. If the child process is terminated by a signal (rather than exiting normally),child.exitCodemay resolve tonull. SinceNumber(null)returns0, the check at line 222 (exitCode !== 0) would incorrectly pass, treating a signal-killed process as successful instead of an error. [ Failed validation ]
Loading