Skip to content

fix: restore CLion sessions and validate stable IDE functionality - #4

Merged
Sunrisepeak merged 18 commits into
mainfrom
test/clion-stable-platforms
Nov 6, 2026
Merged

Sunrisepeak merged 18 commits into
mainfrom
test/clion-stable-platforms

Conversation

@Sunrisepeak

@Sunrisepeak Sunrisepeak commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

CLion can select an incompatible external backend when it misses the bundled executable, report unknown mcpp-ide methods, suppress completion during indexing, and create a debugger process without starting the target. This release resolves the bundle through the public plugin descriptor, validates protocol 2, records backend selection and RPC failures, enables completion during indexing, and starts native debug sessions correctly.

The release versions are backend/CLion/Neovim 0.2.1 and VS Code 1.1.1. Bootstrap and the project shim both select published mcpp 2026.11.5.1; OS 0.3.0 and OpenKal platform 0.24.0 form the public dependency group. A fast guard rejects bootstrap/shim drift before compilation.

Additional behavior:

  • Debug configuration uses the selected program's launch configuration. An available debuggee runner is requested with that same target and profile, then its configuration is checked again. Explicit runner selection takes precedence. Older engines without launch configuration retain the ordinary launch. No unrelated debug runner or first target-set leg is guessed.
  • CLion custom profile input remains editable. GDB/LLDB selection precedes target loading, and the LLDB JIT setting applies to that session before loading an image runner. The CLion run configuration still represents programs; backend test-launch support does not claim a new test-debug UI.
  • Settings validates the complete numeric form. Database query failures propagate before caching, so corrected input can recover. JCEF scenarios verify rendered graphs, node navigation, errors, recovery and the explanation when JCEF is disabled.
  • Both stable CLion 2026.1.5.2 and 2026.2.4.1 run the actual packaged ZIP, alongside Plugin Verifier. Hosted JCEF setup temporarily adjusts the runner's user-namespace restriction and restores it; product sandbox flags remain unchanged.
  • English and Chinese documentation describe the resulting behavior and boundaries. CI uploads public assertion reports only.

Validation:

  • Native backend protocol regressions pass. Modified adapter sources compile against both pinned stable SDKs. Eleven controls using the real native backend, freshly built mcpp and an actual project pass selected-profile, runner, program/test, explicit-runner, argument and execution checks. These controls do not substitute for packaged GUI qualification.
  • Earlier canonical packages passed all 31 interaction checks on both stable IDEs. CI 42161717696 passed 24/25 jobs, including 2026.1. The 2026.2 report completed all 32 interactions, graph, no-JCEF and Settings checks, then failed the strict IDE-error callback. Diagnostic CI 42166903651 reproduced the failure. An exact-SHA local run found UnhandledException wrapping ExecutionFinishedException in CLion's GDB variable-reading coroutine after debug stop, without an mcpp plugin frame in that exception block.
  • A stock CLion 2026.2 CMake/GDB control without either plugin reproduced the same debugger-variable cancellation; two of three runs passed. Head 4d5ade8 classifies only that exact 2026.2.4.1 signature after the packaged plugin's complete interaction report, variable/step/stop checks and program execution. It records a path-free fingerprint. Pure positive and negative classifier controls pass. A separate local run that missed the debugger breakpoint still failed before classification, preserving that functional gate. CI 42170143557 then passed all 25 jobs, including the complete 2026.1 and 2026.2 packaged-plugin sessions. No broad IDE-error suppression is included.
  • Candidate d493f53 adds JetBrains publication to the existing release workflow. PR CI checks the exact CLion ZIP digest, plugin XML ID and version before upload. The release publishes a checksummed GitHub archive; independent Open VSX and JetBrains jobs download and verify those immutable assets. A manual JetBrains retry workflow retains its response receipt. The JetBrains update API accepts the configured token and XML ID. The exact 0.2.1 candidate ZIP passed local verify-only and wrong-digest/ID/version controls; no Marketplace request was made during PR validation. The first automation CI found an outdated VS Code assertion requiring manual JetBrains upload, so the same PR updated that assertion. Its focused local test and actionlint pass. CI 42174251562 passed all 25 jobs. Independent review found duplicate upload triggers, so 1a51bb1 keeps JetBrains submission in the release workflow and retains manual retry; CI 42178115094 passed all 25 jobs. ec437d3 adds a user-triggered, one-time missing-mcpp notification in VS Code and CLion, with the repository link. The backend checks memory on the installed fast path and retries only after a miss. Local backend build, 11 backend tests, TypeScript compile, i18n and protocol checks pass; A follow-up excludes automatic save builds from unsolicited notices while retaining the availability check; exact-head CI 42183003134 is required before merge.
  • OpenKal 0.5.0 source and immutable jit1 tool archives are published. The installed Linux runner passes source breakpoints, variable 40-to-42, stepping and normal exit with bundled GDB and LLDB through ordinary GLOBAL/CN installation. This is runner qualification; actual packaged CLion image-debug GUI checks remain separate. Linux controls do not establish native Windows/macOS GUI behavior.

Packaged GUI checks and the narrow SDK classification have passed. Exact-head CI and independent ecosystem review remain required before merge/release. Related: mcpp #885.

@Sunrisepeak Sunrisepeak changed the title fix: locate the CLion backend and verify stable IDE runtimes fix: restore CLion sessions and validate stable IDE functionality Nov 5, 2026
@Sunrisepeak
Sunrisepeak marked this pull request as ready for review November 6, 2026 08:10
@Sunrisepeak
Sunrisepeak merged commit 497becb into main Nov 6, 2026
24 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant