turbo-editors/turbo-corepublic Fork 0
main
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-core.git
git clone ssh://git@rickub.com/turbo-editors/turbo-core.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

2026-09-19-canonical-paths.md · 25 lines · 1.9 KBmarkdown
Blame HistoryOpen raw

Handoff — 2026-09-19 — canonical paths (v1.0.1)

State

  • Fix in place and green: lsp.CanonicalPath used by PathToURI and app.pathKey. Three new tests, one falsified against the old code. make check green.
  • release.env says TAG="v1.0.1". Not committed, not tagged.

Next steps

  1. ./01-release.tag.sh here (turbo-core) — from a machine that reaches Rickub.
  2. In each editor: go get rickub.com/turbo-editors/turbo-core@v1.0.1 && go mod tidy && GOWORK=off make check, then its ./01-release.tag.sh. turbo-moonbit needs it to pass make check on macOS; the others gain the same fix for files under symbolic links.
  3. turbo-go v1.0.0 is already published against v1.0.0; re-pin it too and it picks the fix up at its next release.

Traps

  • The reproduction is Linux + TMPDIR under a symlink (ln -s $(mktemp -d) /tmp/symroot/tmp; TMPDIR=/tmp/symroot/tmp go test …). Nobody has run the fixed code on macOS yet.
  • Do not "fix" this in an editor's test by resolving t.TempDir(): the defect is the library's and hits any user whose files sit under a link.

Second pass

The Mac found three more tests comparing paths as spelt; fixed (windowFor canonical, two lsp tests expect the canonical spelling, one new test). The whole suite is green here with TMPDIR=/tmp/symroot/tmp TURBO_CORE_RELEASING=1 go test ./... — run that before every release from now on, it is the closest Linux gets to a Mac's /var/folders.

Third pass — v1.0.2: FileCreated

turbo-moonbit's pinning test went red on the Mac for the opposite reason — moon-lsp there notices a new file by itself. The limit was ours (no workspace/didChangeWatchedFiles); fixed, four tests, docs. Release v1.0.2 with ./01-release.tag.sh, then re-pin every editor: go get rickub.com/turbo-editors/turbo-core@v1.0.2 && go mod tidy && GOWORK=off make check. turbo-moonbit's suite fails until then.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Handoff — 2026-09-19 — canonical paths (v1.0.1)

## State

- Fix in place and green: `lsp.CanonicalPath` used by `PathToURI` and `app.pathKey`. Three new tests, one falsified against the old code. `make check` green.
- `release.env` says `TAG="v1.0.1"`. **Not committed, not tagged.**

## Next steps

1. `./01-release.tag.sh` here (turbo-core) — from a machine that reaches Rickub.
2. In each editor: `go get rickub.com/turbo-editors/turbo-core@v1.0.1 && go mod tidy && GOWORK=off make check`, then its `./01-release.tag.sh`. turbo-moonbit needs it to pass `make check` on macOS; the others gain the same fix for files under symbolic links.
3. turbo-go v1.0.0 is already published against v1.0.0; re-pin it too and it picks the fix up at its next release.

## Traps

- The reproduction is Linux + `TMPDIR` under a symlink (`ln -s $(mktemp -d) /tmp/symroot/tmp; TMPDIR=/tmp/symroot/tmp go test …`). Nobody has run the fixed code on macOS yet.
- Do not "fix" this in an editor's test by resolving `t.TempDir()`: the defect is the library's and hits any user whose files sit under a link.

## Second pass

The Mac found three more tests comparing paths as spelt; fixed (`windowFor` canonical, two `lsp` tests expect the canonical spelling, one new test). The whole suite is green here with `TMPDIR=/tmp/symroot/tmp TURBO_CORE_RELEASING=1 go test ./...` — run that before every release from now on, it is the closest Linux gets to a Mac's `/var/folders`.

## Third pass — v1.0.2: `FileCreated`

turbo-moonbit's pinning test went red on the Mac for the opposite reason — moon-lsp there notices a new file by itself. The limit was ours (no `workspace/didChangeWatchedFiles`); fixed, four tests, docs. Release v1.0.2 with `./01-release.tag.sh`, then re-pin every editor: `go get rickub.com/turbo-editors/turbo-core@v1.0.2 && go mod tidy && GOWORK=off make check`. turbo-moonbit's suite fails until then.