feat(desktop): add Tailscale endpoint add-on - #2363
Merged
juliusmarminge merged 19 commits intoApr 28, 2026
Merged
juliusmarminge merged 19 commits into
juliusmarminge merged 19 commits into
MacroscopeApp / Macroscope - Correctness Check
completed
Apr 28, 2026 in 6m 33s
3 issues identified (186 code objects reviewed).
• Merge Base:
3009dd0
• Head:c5c99a7
Details
| ✅ | File Path | Comments Posted |
|---|---|---|
| ✅ | REMOTE.md |
0 |
| ❌ | apps/desktop/src/sshEnvironment.ts |
2 |
| ➖ | apps/desktop/src/sshEnvironment.test.ts |
|
| ✅ | apps/desktop/src/sshScripts/askpass-posix.sh |
0 |
| ✅ | apps/desktop/src/sshScripts/remote-launch.sh |
0 |
| ✅ | apps/desktop/src/sshScripts/remote-runner.sh |
0 |
| ✅ | apps/desktop/src/sshScripts/remote-pairing.sh |
0 |
| ✅ | apps/desktop/src/sshScripts/askpass-windows.cmd |
0 |
| ✅ | apps/desktop/src/sshScripts/askpass-windows.ps1 |
0 |
| ✅ | apps/desktop/src/sshScripts/remote-pick-port.cjs |
0 |
| ✅ | apps/desktop/tsdown.config.ts |
0 |
| ➖ | apps/web/src/localApi.test.ts |
|
| ✅ | apps/desktop/src/preload.ts |
0 |
| ✅ | apps/web/src/components/desktop/SshPasswordPromptDialog.tsx |
0 |
| ✅ | apps/web/src/routes/__root.tsx |
0 |
| ✅ | apps/web/src/environments/remote/api.ts |
0 |
| ➖ | apps/desktop/src/clientPersistence.test.ts |
|
| ✅ | apps/web/src/environments/runtime/index.ts |
0 |
| ➖ | apps/web/src/clientPersistenceStorage.test.ts |
|
| ✅ | .docs/remote-architecture.md |
0 |
| ✅ | apps/web/src/components/ui/scroll-area.tsx |
0 |
| ➖ | apps/server/src/server.test.ts |
|
| ✅ | apps/web/src/components/ui/dialog.tsx |
0 |
| ✅ | packages/contracts/src/ipc.ts |
0 |
| ✅ | apps/web/src/environments/runtime/catalog.ts |
0 |
| ✅ | apps/desktop/src/clientPersistence.ts |
0 |
| ✅ | apps/web/src/clientPersistenceStorage.ts |
0 |
| ✅ | 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/components/settings/ConnectionsSettings.tsx |
0 |
| ❌ | apps/web/src/environments/runtime/service.ts |
1 |
Filtered Issues Details
apps/desktop/src/sshEnvironment.ts
- line 476: The regex pattern uses
[^)]+which requires at least one character between the auth method and the closing parenthesis, but SSH can output messages likePermission denied (publickey).with only one method and no additional characters. The[^)]+quantifier will fail to match this case, causingisSshAuthFailureto incorrectly returnfalsefor valid authentication failures. Should use[^)]*(zero or more) instead of[^)]+(one or more). [ Out of scope (triage) ]
apps/desktop/src/sshScripts/askpass-windows.cmd
- line 2: In
askpass-windows.cmdline 2, the script referencesssh-askpass.ps1("%~dp0ssh-askpass.ps1"), but the actual PowerShell file in the same directory is namedaskpass-windows.ps1. This means on Windows, when SSH invokes askpass, the CMD wrapper will fail to find the PS1 script and the SSH password authentication flow will always fail. The reference should be"%~dp0askpass-windows.ps1". [ Out of scope (triage) ]
apps/desktop/src/sshScripts/remote-pick-port.cjs
- line 6: If
process.argv[2]isundefined(script called without a file path argument),fs.existsSync(filePath)will throwTypeError: path must be a string or Bufferinstead of gracefully falling back to the default port. Unlikeprocess.argv[3]andprocess.argv[4]which use?? ""to handle missing arguments,filePathhas no such protection. [ Failed validation ]
Loading