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
Copy file name to clipboardExpand all lines: Ports/JavaScriptPort/STATUS.md
+142-7Lines changed: 142 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ Implemented
7
7
-[x] PolyForm Noncommercial 1.0.0 license boundary for `Ports/JavaScriptPort/**`
8
8
-[x] Imported browser-port baseline into the repository as a working reference subtree
9
9
-[x] ParparVM-side production host bridge in [JavaScriptPortHost.java](/Users/shai/dev/cn1/Ports/JavaScriptPort/src/main/java/com/codename1/impl/platform/js/JavaScriptPortHost.java)
10
-
-[x] Native method bindings resolved at runtime via `bindNative()` in`parparvm_runtime.js` and `port.js` (no hardcoded registry needed)
10
+
-[x] Native method bindings resolved at runtime via `bindNative()` in`parparvm_runtime.js` and `port.js` (no hardcoded registry needed)
11
11
-[x] Browser bundle bootstrap shell and host bridge in `vm/ByteCodeTranslator`
12
12
-[x] PolyForm smoke fixtures for the JavaScript port under `Ports/JavaScriptPort/tests/**`
13
13
-[x] ParparVM smoke and browser-bundle integration coverage in `vm/tests`
@@ -33,16 +33,151 @@ Implemented
33
33
-[x] ParparVM translator regression fix for straight-line lowering fallback on unsupported stack patterns in [/Users/shai/dev/cn1/vm/ByteCodeTranslator/src/com/codename1/tools/translator/JavascriptMethodGenerator.java](/Users/shai/dev/cn1/vm/ByteCodeTranslator/src/com/codename1/tools/translator/JavascriptMethodGenerator.java)
34
34
-[x] ParparVM translator regression fix for var-load/store opcodes arriving as `BasicInstruction` during JavaScript emission in [/Users/shai/dev/cn1/vm/ByteCodeTranslator/src/com/codename1/tools/translator/JavascriptMethodGenerator.java](/Users/shai/dev/cn1/vm/ByteCodeTranslator/src/com/codename1/tools/translator/JavascriptMethodGenerator.java)
35
35
-[x] Local Playwright-backed browser startup now advances through missing helper natives, browser-window wrapper casting, and `requestAnimationFrame` functor conversion in [/Users/shai/dev/cn1/vm/ByteCodeTranslator/src/javascript/parparvm_runtime.js](/Users/shai/dev/cn1/vm/ByteCodeTranslator/src/javascript/parparvm_runtime.js)
36
+
-[x] TeaVM JSO dependency removed from ParparVM core bytecode translator
37
+
-[x] JSO interfaces created under `com.codename1.html5.js.*` for browser DOM APIs
38
+
-[x]@JSBody annotation processing implemented in ByteCodeTranslator for inline JavaScript generation
36
39
37
40
In Progress
38
41
-----------
39
42
43
+
-[ ] Fix CI timeout during browser test execution - tests timeout after 180 seconds waiting for `CN1SS:SUITE:FINISHED`
40
44
-[ ] Replace remaining direct browser-runtime assumptions in `HTML5Implementation` with backend-owned or adapter-owned seams
41
-
-[ ] Reduce the remaining `org.teavm.*` and `com.codename1.teavm.*` coupling inside the production runtime path
-[ ] Adapt `scripts/cn1playground` to build and serve the ParparVM-backed JavaScript port instead of the legacy Maven JavaScript target
44
-
-[ ] Validate the new HelloCodenameOne ParparVM browser bundle path end-to-end in CI and add the first checked-in screenshot baselines under `/Users/shai/dev/cn1/scripts/javascript/screenshots`
45
-
-[ ] Continue the local Playwright startup burn-down until HelloCodenameOne reaches `CN1SS:SUITE:FINISHED`; the current blocker is post-startup browser/runtime behavior after the initial `requestAnimationFrame` bridge path
45
+
46
+
Current Blocker
47
+
---------------
48
+
49
+
The CI tests are timing out at the browser execution phase. Investigation revealed two issues:
50
+
51
+
1.**Playwright not installed in CI** - The `browser-launch.log` shows:
52
+
```
53
+
Unable to load Playwright. Install either "playwright" or "@playwright/test".
The `@JSBody` annotation scripts often contain `return` statements. The fix wraps the script in an IIFE (Immediately Invoked Function Expression) to properly capture the return value.
0 commit comments