| β¦ | β¦ | @@ -0,0 +1,194 @@ | |
| 175 | + | if (windows) { | |
| 176 | + | const current = yield* readUserPath; | |
| 177 | + | const entries = pathEntries(current, ";"); | |
| 178 | + | const kept = entries.filter((entry) => !sameWindowsPath(entry, binDirectory)); | |
π‘ Medium app/DesktopCliCommand.ts:178
On Windows, uninstall removes binDirectory from the user's PATH even when the user added it before installing T3, deleting user-managed configuration and potentially hiding other commands in that directory. Since install leaves an existing entry untouched, track whether T3 added the entry and remove it only when that ownership is recorded.
No longer relevant as of 47a4932f6f2007f74e6a538a199d76b5f2707938
| β¦ | β¦ | @@ -0,0 +1,194 @@ | |
| 95 | + | Effect.mapError(() => fail("Could not update your PATH in the registry.")), | |
| 96 | + | Effect.flatMap((code) => | |
| 97 | + | code === 0 | |
| 98 | + | ? Effect.void | |
π High app/DesktopCliCommand.ts:98
After Windows Install or Remove, existing shells keep the old PATH, so terminals launched from them still cannot find t3 even though state.onPath reports true. writeUserPath updates the registry without broadcasting WM_SETTINGCHANGE with lParam = "Environment"; broadcast it after each successful registry edit so existing processes pick up the change.
No longer relevant as of b705c1914d8110e4cd12cea2a9643fbf576245fe