feat(hotswap): make Reload Changed Classes cancellable (#2152)

Reload Changed Classes ran an uncancellable JDT build with a fresh token. The UI now allocates a request id, offers Cancel Hot Swap Build and treats cancellation as cancelled rather than a failed reload; overlapping reloads no longer overwrite the active request. A cancelled build can write class files without publishing their build deltas, so java-debug cannot recover them on the next build: after a cancel, Hot Swap reports that the session needs a restart rather than claiming success with classes left out.

Co-authored-by: misswell <[email protected]>
Цей коміт міститься в:
misswellтаmisswell authored and GitHub committed 2026-11-09 01:39:48 +08:00
1 джерело 0648856359
коміт c133d2dba9
9 files changed
+219 -14

No files matched your search

+2 -1
Переглянути файл
@@ -39,6 +39,7 @@ pub async fn java_build_workspace(
window: Window,
state: State<'_, AppState>,
module: PathBuf,
request: Option<RequestId>,
) -> IdeResult<ide_lsp::jdtls::JavaBuildStatus> {
ide_host::ops::java::java_build_workspace(&state.host, window.label(), module).await
ide_host::ops::java::java_build_workspace(&state.host, window.label(), module, request).await
}