Use Token-based logic for HTML5 apps
Description
Environment
Type | Key | Summary | Priority | Story Points | Assignee | Status |
---|---|---|---|---|---|---|
jose bollo jose bollo | ||||||
Jan-Simon Moeller Jan-Simon Moeller |
is blocked by
relates to
Activity
Jacobo Aragunde Pérez January 29, 2020 at 4:37 AM
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.
Jacobo Aragunde Pérez January 22, 2020 at 5:45 PM
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.
Jacobo Aragunde Pérez January 22, 2020 at 11:58 AM
Issue with events tracked as https://lf-automotivelinux.atlassian.net/browse/SPEC-3116#icft=SPEC-3116.
Jacobo Aragunde Pérez January 21, 2020 at 5:09 PM
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.
Jacobo Aragunde Pérez January 21, 2020 at 4:55 PM
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