Send the specific JetBrains IDE name for session tracking
- 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
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