mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-09-21 05:52:35 +08:00
chore(jetbrains): disable feedback surveys and enable internal mode in dev runs
IntelliJ feedback surveys (e.g. the remote-dev "Share Your Experience" popup) were interrupting local plugin dev sessions. Disable the platform.feedback framework and its per-survey keys unconditionally for every runIde* Gradle task. Also set idea.is.internal=true unconditionally so the Split Mode latency widget and Internal Actions menu are always available in dev runs, instead of requiring a manual -D flag. Property names verified against the local intellij-community checkout (ApplicationManagerEx.IS_INTERNAL_PROPERTY, platform/feedback/resources/intellij.platform.feedback.xml).
This commit is contained in:
@@ -233,10 +233,12 @@ For the full release process (resolve version, pin verification, prepare, change
|
||||
- **Gradle only**: `./gradlew buildPlugin` from `packages/kilo-jetbrains/`.
|
||||
- **Java checks**: Do not run `java -version` as a routine preflight. Gradle commands already fail clearly when Java is missing or incompatible; check Java only when diagnosing that failure mode.
|
||||
- **Via Turbo**: `bun turbo build --filter=@kilocode/kilo-jetbrains` from repo root.
|
||||
- **Run split mode**: `./gradlew --no-configuration-cache runIdeSplitMode` or the checked-in `Run IDE (Split Mode)` configuration — launches backend and frontend locally. Emulate latency via the Split Mode widget (requires internal mode: `-Didea.is.internal=true`).
|
||||
- **Run split mode**: `./gradlew --no-configuration-cache runIdeSplitMode` or the checked-in `Run IDE (Split Mode)` configuration — launches backend and frontend locally. Emulate latency via the Split Mode widget — internal mode is already on for every dev run (see below).
|
||||
- **Run split backend**: `./gradlew --no-configuration-cache runIdeBackend` — if it exits shortly after startup, check for an orphaned Java process from a previous backend run and kill it before restarting.
|
||||
- **Corrupt IDE extraction**: if `runIdeBackend` or `runIdeSplitMode` fails before startup with `coroutinesJavaAgentFile` / `Collection contains no element matching the predicate`, the extracted IDE under `.intellijPlatform/ides/` is likely incomplete. Health check: `ls .intellijPlatform/ides/*/lib/*.jar | wc -l` should be in the hundreds. Repair by removing `.intellijPlatform/ides`, `.intellijPlatform/localPlatformArtifacts`, `.intellijPlatform/layoutIndex`, and `.intellijPlatform/coroutines-javaagent.jar`, then rerun the Gradle task.
|
||||
- **Run in monolithic sandbox**: `./gradlew runIde` — launches sandboxed IntelliJ with the plugin. Does not build or bundle CLI binaries; the backend downloads the pinned release at connect time.
|
||||
- **Surveys are off in dev runs**: every `runIde*` task sets `platform.feedback=false`, `csat.survey.enabled=false`, and `editor.ux.survey.enabled=false` so IntelliJ feedback surveys ("Share Your Experience" / "Take Survey") never interrupt a sandbox run. These are IntelliJ registry keys overridden as JVM system properties; keep them unconditional.
|
||||
- **Internal mode is on in dev runs**: every `runIde*` task sets `idea.is.internal=true` (`ApplicationManagerEx.IS_INTERNAL_PROPERTY`), which enables the Split Mode latency widget and the Internal Actions menu. The embedded JetBrains Client inherits this property from the backend; the survey keys above are not on that inherit list, so a split-mode client may still need them set in its own Registry.
|
||||
|
||||
### Stopping a Sandbox Run
|
||||
|
||||
|
||||
@@ -301,6 +301,15 @@ tasks.withType<RunIdeTask> {
|
||||
systemProperty("kilo.dev.log.chat.preview.max", preview)
|
||||
systemProperty("kilo.dev.storage.isolated", isolated.get().toString())
|
||||
systemProperty("kilo.dev.worktree.root", worktreeRoot.get())
|
||||
// Suppress IntelliJ feedback surveys ("Share Your Experience" / "Take Survey" popups) in dev runs.
|
||||
// These are registry keys from platform/feedback; registry values can be overridden with -D<key>=<value>.
|
||||
systemProperty("platform.feedback", "false")
|
||||
systemProperty("csat.survey.enabled", "false")
|
||||
systemProperty("editor.ux.survey.enabled", "false")
|
||||
// Internal mode: enables the Split Mode latency widget and the Internal Actions menu.
|
||||
// Property name is ApplicationManagerEx.IS_INTERNAL_PROPERTY; the embedded JetBrains Client
|
||||
// inherits it from the backend (EmbeddedClientLauncher.passProperties).
|
||||
systemProperty("idea.is.internal", "true")
|
||||
}
|
||||
|
||||
tasks.named<Delete>("clean") {
|
||||
|
||||
Reference in New Issue
Block a user