From 686a0a6dd2acf07b0cbbd7c71156319c26713081 Mon Sep 17 00:00:00 2001 From: Lorenzo Tilve Date: Fri, 24 Jan 2020 17:39:56 +0100 Subject: wam: revision bump, fix WAM on icefish Included changes: * a9e0093 Disable tinyproxy integration * c0def20 [agl] Fix regex scanning * c7b5db7 [agl] Handle hostname of application * 4a00711 [agl] Retrieve token from environmen * 7d4c91e Hard-code windowmanager roles for certain app ids * files/trunc-webapp-roles.patch workaround repeated roles Bumps WAM version and includes workaround for SPEC-3127. To prevent repeated roles as much as possible, I'm using the appid as a basis instead of "Webapp-" + host + port, which has many chances to be redundant in the first 12 chars. Bug-AGL: SPEC-2550 Bug-AGL: SPEC-3127 Signed-off-by: Lorenzo Tilve Change-Id: I59c37ce79fec61ecd6ef36ff3f74902714a6b575 --- .../recipes-wam/wam/files/trunc-webapp-roles.patch | 53 ++++++++++++++++++++++ .../recipes-wam/wam/wam_git.bb | 7 +-- 2 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 meta-agl-profile-graphical-html5/recipes-wam/wam/files/trunc-webapp-roles.patch diff --git a/meta-agl-profile-graphical-html5/recipes-wam/wam/files/trunc-webapp-roles.patch b/meta-agl-profile-graphical-html5/recipes-wam/wam/files/trunc-webapp-roles.patch new file mode 100644 index 00000000..63ad8208 --- /dev/null +++ b/meta-agl-profile-graphical-html5/recipes-wam/wam/files/trunc-webapp-roles.patch @@ -0,0 +1,53 @@ +From 870dd9c0e80d2f7ce843399f606299629ae7b570 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= +Date: Thu, 23 Jan 2020 11:57:23 +0100 +Subject: [PATCH] Set webapp roles that are max 12 characters long. + +This is a workaround for SPEC-3127. To prevent repeated roles as much +as possible, I'm using the appid as a basis instead of "Webapp-" + +host + port, which has many chances to be redundant in the first 12 +chars. + +Bug-AGL: SPEC-3127 +--- + src/agl/WebRuntimeAGL.cpp | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +diff --git a/src/agl/WebRuntimeAGL.cpp b/src/agl/WebRuntimeAGL.cpp +index a919759..baa2708 100644 +--- a/src/agl/WebRuntimeAGL.cpp ++++ b/src/agl/WebRuntimeAGL.cpp +@@ -162,7 +162,6 @@ int WebAppLauncherRuntime::run(int argc, const char** argv) { + bool isWaitHostService = isWaitForHostService(args); + m_id = getAppId(args); + m_url = getAppUrl(args); +- m_role = "WebApp"; + + if(isWaitHostService) { + while(!WebAppManagerServiceAGL::instance()->isHostServiceRunning()) { +@@ -220,15 +219,9 @@ bool WebAppLauncherRuntime::init() { + if (n != std::string::npos) { + std::string sport = authority.substr(n+1); + m_host = authority.substr(0, n); +- m_role.push_back('-'); +- m_role.append(m_host); +- m_role.push_back('-'); +- m_role.append(sport); + m_port = stringTo(sport); + } else { + m_host = authority; +- m_role.push_back('-'); +- m_role.append(m_host); + } + } + +@@ -265,6 +258,9 @@ bool WebAppLauncherRuntime::init() { + m_role = "homescreen"; + else if (m_id.rfind("webapps-homescreen", 0) == 0) + m_role = "homescreen"; ++ else { ++ m_role = m_id.substr(0,12); ++ } + + LOG_DEBUG("id=[%s], name=[%s], role=[%s], url=[%s], host=[%s], port=%d, token=[%s]", + m_id.c_str(), m_name.c_str(), m_role.c_str(), m_url.c_str(), diff --git a/meta-agl-profile-graphical-html5/recipes-wam/wam/wam_git.bb b/meta-agl-profile-graphical-html5/recipes-wam/wam/wam_git.bb index f1566545..1161359a 100644 --- a/meta-agl-profile-graphical-html5/recipes-wam/wam/wam_git.bb +++ b/meta-agl-profile-graphical-html5/recipes-wam/wam/wam_git.bb @@ -19,12 +19,13 @@ PROVIDES += "virtual/webruntime" RPROVIDES_${PN} += "virtual/webruntime" SRC_URI = "\ - git://github.com/webosose/${PN}.git;branch=@6.agl.guppy;protocol=https \ + git://github.com/webosose/${PN}.git;branch=@6.agl.icefish;protocol=https \ file://WebAppMgr@.service \ file://WebAppMgr.env \ + file://trunc-webapp-roles.patch \ " S = "${WORKDIR}/git" -SRCREV = "23427000917d2a00f1eaa175893773c0702d48b4" +SRCREV = "a9e009347be183b1b880243151a2242f2f6c59b9" do_install_append() { install -d ${D}${sysconfdir}/wam @@ -48,4 +49,4 @@ do_install_append_agl-devel() { install -d ${D}${localstatedir}/agl-devel/preferences touch ${D}${localstatedir}/agl-devel/preferences/debug_system_apps touch ${D}${localstatedir}/agl-devel/preferences/devmode_enabled -} \ No newline at end of file +} -- cgit 1.2.3-korg