Repository navigation
Fix release blockers: PMD gate and iOS WebRTC compile - #6082
Conversation
- FileDialogSupport: the picked == open identity comparison is intentional (showAtPosition returns the Command instance), mark it NOPMD like the existing CompareObjectsWithEquals sites; master's PR CI quality gate fails on it. - IPhoneBuilder: compile CN1WebRTC.m with -fobjc-arc. The WebRTC framework headers declare __weak properties, which clang rejects in a manual-reference-counting file, so every iOS app using com.codename1.webrtc failed to compile. The bridge already supports both memory models. No new dependency. - parley.yml: run on changes to the iOS WebRTC bridge and IPhoneBuilder, since its iOS job is the only one that compiles a WebRTC app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Developer Guide build artifacts are available for download from this workflow run:
Developer Guide quality checks: |
Cloudflare Preview
|
|
Compared 178 screenshots: 178 matched. Native Android coverage
✅ Native Android screenshot tests passed. Native Android coverage
Benchmark ResultsDetailed Performance Metrics
|
- DartList.reversed() clashed with Java 21's List.reversed(), which Android's platform jar (API 35+) carries, so every generated Android project failed in :app:compileReleaseJavaWithJavac. Renamed to reversedIterable(); the emitter and tests follow. - DateTime.parse used java.util.regex, which ParparVM does not provide, so the translated dart_core_DateTime.c failed on every native target. It now uses com.codename1.util.regex, as RegExp already does; the pattern matches and groups identically. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Flutter vs Codename OneNo benchmark results were produced. |
|
Compared 214 screenshots: 214 matched. |
✅ Continuous Quality ReportTest & Coverage
Static Analysis
Generated automatically by the PR CI workflow. |
|
Compared 193 screenshots: 193 matched. ParparVM vs HotSpot (JDK 25): Linux x64Runner CPU: AMD EPYC 7763 64-Core Processor (baseline 1 improvement past the baseline (not a failure; rebaseline to lock it in):
Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
A change that moves performance ON PURPOSE records the new baseline in Result: no regression (improved past the baseline: consider rebaselining) |
|
Compared 193 screenshots: 193 matched. ParparVM vs HotSpot (JDK 25): Linux arm64Runner CPU: Neoverse-N2 (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
|
Compared 193 screenshots: 193 matched. Benchmark ResultsDetailed Performance Metrics
ParparVM vs HotSpot (JDK 25): Windows x64Runner CPU: AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
Using com.codename1.util.regex for DateTime.parse put the whole regex engine into every Flutter app (+1.2% to +2.1% executable code, failing the Flutter benchmark size gates). The grammar is one fixed expression, so it is matched by hand. DateTimeIsoGrammarTest holds the matcher to the original expression on the JVM: same match and same groups, over the known forms and 200,000 generated strings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The JavaScript build had not compiled since #6055, so master's nightly size predated its Dart runtime; this PR restores the build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Compared 175 screenshots: 175 matched. Benchmark Results
Detailed Performance Metrics
|
|
Compared 176 screenshots: 176 matched. Benchmark Results
Build and Run Timing
Detailed Performance Metrics
|
|
Compared 193 screenshots: 193 matched. Benchmark ResultsDetailed Performance Metrics
ParparVM vs HotSpot (JDK 25): Windows arm64Runner CPU: ARMv8 (64-bit) Family 8 Model D49 Revision 0, MICROSOFT CORPORATION (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
|
Compared 176 screenshots: 176 matched. Benchmark Results
Build and Run Timing
Detailed Performance Metrics
|
|
Compared 179 screenshots: 179 matched. Benchmark Results
Detailed Performance Metrics
ParparVM vs HotSpot (JDK 25): macOS arm64Runner CPU: Apple M1 (Virtual) (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
✅ ByteCodeTranslator Quality ReportTest & Coverage
Benchmark Results
Static Analysis
Generated automatically by the PR CI workflow. |
Fixes the PMD forbidden-violation failure on master (FileDialogSupport identity compare) and the iOS compile failure for apps using WebRTC (CN1WebRTC.m now built with -fobjc-arc; WebRTC headers declare __weak). Parley workflow now triggers on these paths. No dependencies added.
🤖 Generated with Claude Code