Report the actual IDE (Cursor, Devin Desktop, ...) for session tracking
@EhabY ci sta già lavorando.
Dal 23/7/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Client half of the Scalable Approach for Adding New IDE Session Types RFC; supersedes coder/vscode-coder#696, closed as a duplicate of this issue. The extension hardcodes vscode in both identification mechanisms, so Cursor, Windsurf, and other forks are all recorded as VS Code. The server side (coder/coder#27410 → coder/coder#27412) accepts arbitrary app names; this issue makes the extension send the real one.
Scope (RFC: "Client-side changes" and "Rollout order and version gating"):
- Add a
getIdeType()util mappingvscode.env.appNameto an app name:Visual Studio Code→vscode,Visual Studio Code - Insiders→vscode_insiders,Cursor→cursor,Windsu``rf/Devin Desktop→devin, pluspositron,vscodium, ...; unknown editors send the raw app name and the server normalizes it (lowercase,-→_, 64-rune cap) - Use it in both mechanisms, which feed different pipelines:
--usage-app=<type>on the ProxyCommand (workspace usage API → session counts)CODER_SSH_SESSION_TYPE=<type>via SSHSetEnv(agent magic env → session counts + connection log)
- Version gate: one new
FeatureSetflag evaluated on two instances, the existing CLI-binary-version instance and a second one built from the already-fetched/api/v2/buildinfoversion; send a non-vscodename only when both pass, otherwise fall back tovscode(no regression against old servers, old agents, or stale custom binaries) - The gate targets the coder/coder release containing both the
connection_logsENUM → TEXT migration (coder/coder#27412) and thetemplate_usage_statsJSONB merge (coder/coder#27413). Until 642, the phase-1 rollup drops non-canonical app names fromtemplate_usage_statsentirely (they are not even bucketed by family), so flipping the gate earlier would silently undercount those users' IDE minutes and agent-side usage in template insights. Gating on both closes that window without an interim schema workaround - Prior art (from coder/vscode-coder#696): wakatime/vscode-wakatime and kahole/edamagit detect the host editor via
vscode.env.appNamethe same way
Done when
- Cursor/Windsurf sessions show up under their own name on a new-enough deployment (session counts and connection log)
- The same build falls back to
vscodeagainst an older server or CLI binary - An unmapped fork still connects and reports its raw app name
🤖 Created by Coder Agents on behalf of @EhabY.
- Lingua principale
- TypeScript
- Stelle
- 131
- Fork
- 48
- Merge medio
- 4g 15h
- PR unite (30g)
- 17
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di coder/vscode-coder
-
coder/vscode-coder#1125 · 1 commento · 1 assegnatario ·
-
tech-debt
coder/vscode-coder#1119 · 1 commento · 1 assegnatario ·
-
enhancement tech-debt
Difficoltà 3/5 1-2 giorni Idoneità per principianti 74/100
coder/vscode-coder#1118 · 1 commento ·
-
coder/vscode-coder#1113 · 3 commenti · 1 assegnatario ·
-
Flush the connection log buffer after N failed reconnect attempts against an unreachable server Apertaenhancement tech-debt
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
coder/vscode-coder#1112 · 1 commento ·
Tutte le issue di coder/vscode-coder
Issue simili
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Crush Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
ElementsProject/cln-application#167 · 1 commento · 1 reazione ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Quantco/pnpm-licenses#17 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100