coder / coder/jetbrains-coder

Send the specific JetBrains IDE name for session tracking

Open
#599 1 comment 0 reactions 0 assignees View on GitHub
Improvement jetbrains-toolbox
Dominant language
Kotlin
Stars
33
Forks
18
Avg merge
2d 13h
Merged PRs (30d)
1

Description

Client-side follow-up from the [Scalable Approach for Adding New IDE Session Types RFC]() (lower priority than coder/vscode-coder#1044 since JetBrains IDEs are one vendor rather than many forks).

The plugin hardcodes `--usage-app=jetbrains` and `CODER_SSH_SESSION_TYPE=JetBrains` (`CoderCLIManager.kt`), and server-side process detection cannot tell PyCharm from GoLand, so every JetBrains IDE buckets under `jetbrains`.

Once the server accepts arbitrary app names (coder/coder#27410 → coder/coder#27412):

* Derive the product from the JetBrains platform API (e.g. `ApplicationInfo`/`ApplicationNamesInfo` product name) and send it through both mechanisms, e.g. `goland`, `pycharm`, `rustrover`; the server normalizes whatever is sent (lowercase, `-` → `_`)
* Same version-gating pattern as the VS Code extension: send a specific name only when the connected deployment is new enough, otherwise keep `jetbrains`
* Server-side family grouping keeps all of these under the JetBrains family in metric labels and legacy aggregates, so existing dashboards do not fragment

### Done when

- [ ] GoLand and PyCharm sessions are distinguishable in session counts on a new-enough deployment
- [ ] Older deployments still receive `jetbrains`

---

🤖 Created by Coder Agents on behalf of @EhabY.

Contributor guide

Open the contributing guide

Research direction

Start in CoderCLIManager.kt and inspect the JetBrains platform APIs mentioned in the issue, such as ApplicationInfo or ApplicationNamesInfo, for the product name. Compare the VS Code extension's version-gating pattern and trace both session-tracking mechanisms. Done means GoLand and PyCharm are distinguishable on new deployments while older deployments still receive jetbrains.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.