Repository navigation
Fix legacy cn1lib installation in Settings - #6038
Conversation
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 26831492bc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Compared 206 screenshots: 206 matched. |
|
Compared 170 screenshots: 170 matched. Native Android coverage
✅ Native Android screenshot tests passed. Native Android coverage
Benchmark ResultsDetailed Performance Metrics
|
✅ Continuous Quality ReportTest & Coverage
Static Analysis
Generated automatically by the PR CI workflow. |
✅ ByteCodeTranslator Quality ReportTest & Coverage
Benchmark Results
Static Analysis
Generated automatically by the PR CI workflow. |
Flutter vs Codename OneSame application, built both ways: Flutter's AOT compile of the gallery, and the identical Dart source transpiled to Java on Codename One. Lower is better for every metric, so a ratio above 1.00x means Codename One is ahead by that factor. android9 interleaved rounds; host load 0.46, 1.85, 1.52
Compute -- the VM workloads (
Gate: within tolerance against
javascript9 interleaved rounds; host load 2.08, 1.1, 0.45
Compute -- the VM workloads (
Gate: within tolerance against
linux9 interleaved rounds; host load 0.16, 2.76, 2.32
Compute -- the VM workloads (
Gate: within tolerance against
windows9 interleaved rounds
Compute -- the VM workloads (
Gate: within tolerance against
Codename One wins 18 of 18 measured metrics across 4 platform(s). |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7a900c484b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
When resolveDesktopTool() or launchDesktopTool() throws after this write—for example, because the Settings artifact cannot be resolved offline or the child process cannot start—the Settings process never calls ProjectIO.loadBinding(), so its consumer-side deletion cannot run. The UUID binding remains indefinitely under ~/.codenameoneSettings with every forwarded user -D property, including credentials, merely Base64-encoded; add producer-side cleanup for all pre-consumption failure paths.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep it up! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Settings currently downloads legacy cn1libs and marks them installed without creating a Maven wrapper or adding a dependency. This reproduces the JSON/BouncyCastle failures in discussion #5978, while FileChooser's direct Maven path works.
Run the existing
cn1:install-cn1libgoal off the EDT, using the launching Maven distribution, settings files, profiles, offline and snapshot-update flags, local repository and user properties, and logging its output tosettings.log. Only report success after the wrapper exists, its parent registers the module, andcommon/pom.xmlreferences it. Incomplete wrappers produce an actionable error without overwriting their contents. Restore the original common POM if conversion or wrapper validation fails, after terminating and reaping the converter process. Reuse existing wrappers on reinstall, remove the actual dependency on uninstall, and prevent concurrent dependency edits during installation. Handle projects without the old dependency-injection comment; edit only direct project dependencies while preserving plugin/profile/managed dependencies and comments. Keep forwarded Maven properties in an owner-only binding on POSIX, and delete the single-use binding after Settings closes its input stream. Preserve legal DOCTYPE declarations in the common, wrapper and aggregator POMs without resolving external resources. Give each screenshot scenario a fresh single-use binding.The collapsed compatibility dialog is already fixed on master by #6019. Local Ubuntu/Xvfb verification confirmed that it now opens 466 pixels wide instead of the 3-pixel window reproduced with 7.0.276; this PR does not duplicate that core fix.
Validation:
OpenSettingsMojoTesttests passed under Java 8, including session-option forwarding, binding permissions, snapshot-update suppression, and absent default settings files.mvn validateunder Java 8.mvn validateunder Java 8.codenameone-dart-transpiler:8.0-SNAPSHOT. The focused suites were compiled and run directly with their dependency classpaths instead.CI follow-up: Windows screenshots showed “No Maven Project” after the first scenario consumed their shared binding. Both screenshot scripts now create a binding per launch; the actual Linux theme-gallery script passed four consecutive light/dark captures with project fields populated. Hosted Windows CI subsequently passed all nine Settings scenarios. Its next step exposed a shared project-path variable removed by the runner refactor; that variable is restored, and a full-script control-flow test with consuming binding stubs passes all nine Settings, five Certificate Wizard and two simulator scenarios. The macOS job failed before its screenshot server started because Maven Central DNS resolution and an artifact download timed out.