Use Token-based logic for HTML5 apps
Description
Environment
Work | Priority | Story Points | Assignee | Status |
---|---|---|---|---|
![]() | ||||
![]() |
is blocked by
relates to
Activity
Issue with role names has been reported as https://lf-automotivelinux.atlassian.net/browse/SPEC-3127#icft=SPEC-3127. On the other hand, after https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-devel/+/23651, all related WAM commits and a workaround for that issue have been merged. We can close this ticket.
https://lf-automotivelinux.atlassian.net/browse/SPEC-3116#icft=SPEC-3116 seems unrelated.
More findings: if I trim down the length of the role name, things work as expected; I've tried with 10 characters so far. There might be an undocumented limitation, or a bug.
Issue with events tracked as https://lf-automotivelinux.atlassian.net/browse/SPEC-3116#icft=SPEC-3116.
I've tried the homescreen webapp, which uses a hardcoded role instead of a generated one, and it showed up flawlessly! My theory was that the role string was being used to identify the webapp that should receive the SyncDraw event. The way the role string is generated in WAM has changed, and somehow event listeners are out of sync. The test with the homescreen seems to prove this theory, but I have yet to found how to fix it.
We have this log in the windowmanager service:
Jan 21 16:08:48 qemux86-64 afbd-windowmanager-service@0.1[409]: [2676002.385] [wm NOTICE] [wm_client.cpp, emitSyncDraw(), Line:282] >>> trace
Jan 21 16:08:48 qemux86-64 afbd-windowmanager-service@0.1[409]: [2676002.405] [wm DEBUG] [window_manager.cpp, setTimer(), Line:948] >>> req 1: Timer set activate
VJan 21 16:08:48 qemux86-64 afbd-windowmanager-service@0.1[409]: [2676002.438] [wm DEBUG] [policy_manager.cpp, transitionState(), Line:678] >>> >>>>>>>>>> FINISH STATE TRANSITION
It should be followed by:
Jan 21 16:25:19 qemux86-64 afbd-webapps-html5-launcher@1.0[427]: ## (DEBUG)[WebAppLauncherRuntime::init_wm()::<lambda(json_object*)>] Got Event_SyncDraw
Jan 21 16:25:19 qemux86-64 afbd-webapps-html5-launcher@1.0[427]: [3667110.822] [libwm DEBUG] [libwindowmanager.cpp, endDraw(), Line:374] >>> called
Jan 21 16:25:19 qemux86-64 afbd-windowmanager-service@0.1[412]: [3667110.930] [wm INFO] [applist.cpp, setEndDrawFinished(), Line:443] >>> req 1: Role WebApp-31033 finish redraw
But the event never arrives to the WAM side.
Drop the HTTP proxy in launcher process and verify applications using token connection are working connecting directly to the service using websockets