You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- CI artifact behavior and fresh local rebuild behavior are currently diverged (details below).
11
+
- Architecture direction has been explicitly shifted to worker-first execution for ParparVM (EDT and VM scheduler in worker, browser UI/native host on main thread).
12
+
-`browser_bridge.js` is now worker-only. Main-thread VM mode and mode toggles were removed.
13
+
- If worker support is missing, runtime now fails explicitly with:
- Latest CI artifacts still ran `main-thread-mode` (before this change) and timed out before `CN1SS:SUITE:FINISHED`.
20
+
- Existing form-constructor recovery diagnostics remain active in `port.js` and are still relevant while migrating.
19
21
20
22
Next Steps
21
23
----------
22
24
23
-
1. Unify build provenance first:
24
-
- Confirm CI bundle contains expected translated `Cn1ssDeviceRunner` variant.
25
-
- In generated `translated_app.js`, verify whether runner uses `TEST_CLASSES` (old list path) or `DEFAULT_TEST_CLASSES/prependedTest` (new array path).
26
-
- This directly changes failure mode and must be deterministic before further triage.
27
-
2. Reduce EDT starvation in screenshot emission:
28
-
- Current fresh local run advances to 11 tests, then stalls after `DrawImage` due very large `CN1SS:<name>:<chunk>` emissions.
29
-
- Add bounded chunk/preview strategy for extremely large screenshots and move heavy conversion off hot EDT path where possible.
30
-
3. Keep form-constructor fallback bounded:
31
-
-`IllegalStateException` still occurs frequently.
32
-
- Recovery now preserves object state better, but we need to reduce recursive/looping constructor retry behavior and make one-shot recovery per form instance.
33
-
4. After throughput fix, run 3 repeated local runs and one CI run:
34
-
- Exit gate is `CN1SS:SUITE:FINISHED` + 33 screenshot streams + no repeated stream collapse.
- Any `main-thread-mode` marker now indicates stale artifact or wrong bundle.
28
+
2. Separate VM/EDT execution from main-thread host services cleanly:
29
+
- Keep VM/EDT scheduling in worker.
30
+
- Ensure main-thread browser APIs are reached through explicit host-call handlers rather than direct worker DOM access.
31
+
3. Re-triage screenshot correctness in worker mode only:
32
+
- Re-run screenshot suite and classify first blocker using the existing `TOP_BLOCKER` output.
33
+
- Prioritize deterministic runtime failures before throughput tuning.
34
+
4. Restore full screenshot count and correctness:
35
+
- Exit gate remains `CN1SS:SUITE:FINISHED` with expected screenshot artifacts and no `BROWSER:PARPAR_ERROR`.
35
36
36
37
Important Notes
37
38
--------------
38
39
39
-
-Fresh local rebuild (`/tmp/cn1-js-fresh*.zip`) now translates current runner code and shows 11 unique tests before timeout.
40
-
- Existing CI artifact in `javascript-ui-tests/HelloCodenameOne-js/translated_app.js` still shows old list-based runner (`TEST_CLASSES`) and produces only 5 screenshot streams with suite completion.
41
-
- This means there are at least two active failure modes:
42
-
1. old-runner path: suite finishes with only 5 streams (wrong collapse)
43
-
2.new-runner path: progresses further but times out during heavy screenshot emission
40
+
-Current CI artifact (`~/Downloads/javascript-ui-tests/browser.log`) shows:
41
+
-`PARPAR:main-thread-mode`
42
+
-`PARPAR:DIAG:BOOT:bridgeMode=main-thread`
43
+
- timeout with `TOP_BLOCKER=unknown|none|none`
44
+
- This is consistent with the new migration priority: enforce worker mode first, then debug screenshot behavior.
0 commit comments