New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 799351 link

Starred by 7 users

Issue metadata

Status: Verified
Owner:
Closed: Sep 22
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Chrome App with OS pinning doesn't get fully updated/installed in Kiosk mode

Reported by syed.hus...@appspace.com, Jan 5 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.71 Safari/537.36
Platform: 9901.77.3 (Official Build) stable-channel ninja

Steps to reproduce the problem:
1. Deploy a non-OS-pinned Chrome App to store
2. Ensure device is running the Chrome App
3. Deploy/Update the app with an OS-pinned version of the Chrome App with a slightly different name on the store

What is the expected behavior?
After a couple of hard reboot, reboot via CDM or using chrome.runtime.reload API, the OS splash screen should show the updated App name and then proceed to the updated App (in our app, hitting CTRL+ALT+M will open up device info that shows App's version)

What went wrong?
After a couple of hard reboot, reboot via CDM or using chrome.runtime.reload API, the OS splash screen should show the updated App name but it loads the previous version of the App (in our app, hitting CTRL+ALT+M will open up device info that shows App's version)

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 62.0.3202.97  Channel: stable
OS Version: 62.0.3202.97
Flash Version: 

With or without the CDM settings to allow app to control OS version, the issue still happen.

One way to rectify this issue is by calling chrome.runtime.restart - yes, inside the documentation it says chrome.runtime.restart is not supported in kiosk mode but it does work for us (by mistake) and it will load the new version of the app.
 
1-Appspace-1.26.1-no-os-pinning.zip
6.5 MB Download
2-Appspace-1.27-with-os-pinning.zip
6.5 MB Download

Comment 1 by vsu...@google.com, Jan 10 2018

Components: Enterprise
Cc: vaandres@chromium.org
Owner: igorcov@chromium.org
Igor assigning you as the owner as you were the primary for Chrome Enterprise Bug Triage on Jan 10.

Comment 4 by t...@appspace.com, Apr 12 2018

Hi @Igor, 

How are you getting on with this bug? We haven't heard anything from you since January. 

We are receiving additional complaints from other clients. 

Kind regards,

Tony Gibbs.
Customer Experience Director EMEA. 
Appspace. 
Cc: rdevlin....@chromium.org
Components: Platform>Apps
Owner: asargent@chromium.org
Assigning to chrome/browser/extensions/updater/ OWNER
Cc: -rdevlin....@chromium.org
Owner: rdevlin....@chromium.org

Comment 7 by br...@appspace.com, Apr 19 2018

@rdevlin - can we schedule a quick discussion to explain the issue we're seeing?
Status: Available (was: Unconfirmed)
I was able to reproduce this issue using a ninja on m64 stable 10176.68.0.

Comment 9 by br...@appspace.com, Apr 25 2018

What are the next steps?
Cc: isandrk@chromium.org rdevlin....@chromium.org atwilson@chromium.org
Owner: benwells@chromium.org
Status: Assigned (was: Available)
I'm not too familiar with the pinning mechanism.  Over to benwells@ for apps triage.

Also cc'ing some enterprise/policy folks.
Cc: -atwilson@chromium.org benwells@chromium.org
Owner: atwilson@chromium.org
Punting to atwilson as this looks very enterprise specific. Andrew - can you triage?
Cc: -vaandres@chromium.org atwilson@chromium.org
Owner: vaandres@chromium.org
So, I suspect OS-pinning doesn't matter.

vaandres, can you please clarify the repro steps? Specifically, it sounds like the repro is:

1) Deploy a kiosk app with ID "abcd..."
2) Later, Deploy a different kiosk app with ID "efgh"
3) Rebooting the device doesn't switch to app #2.

Is that correct? Or do the extensions in step #1 and #2 have the same ID?

Finally, re: chrome.runtime.reload() - that's not supported in kiosk apps, it's chrome.runtime.restart() that *is* supported in kiosk apps, not the other way around per https://developer.chrome.com/apps/runtime#method-restart

Comment 13 by sd...@appspace.com, Apr 26 2018

Having worked with this with other clients.  This issue is has appeared since the OS pinning option has been available.

We have found that the app ID (gmdgbdlpbnhiogedlhmdiceocbgcbpgi?en=gb) is consistant no matter what version.
Owner: atwilson@chromium.org
atwilson@

The app has the same extension ID, just minor differences inside the manifest.json

Repro steps

0. Enroll device in your domain, and move it to proper domain
1. Deploy an application in the CWS without the chrome os pinning value set inside the manifest.json(Lets call this app YYY)
2. Inside Cpanel, under device settings -> kiosk apps. Configure YYY application for auto launch. Save settings.
3. Reload policy for you device and assure application is running.
4. Update YYY's manifest.json file with OS.pinning and change the name of the application inside the manifest.json file. Save the file and publish the changes to CWS.
The application should update automatically(Depending on the policy refresh rate)and reflect the changes made for the application name in the splash screen.
Cc: poromov@chromium.org
Owner: vaandres@chromium.org
vaandres: Under what circumstances does the app itself get updated? Or are you saying that it's *never* updated, no matter how long you leave the device/how often you restart it?

Also, can you provide logs (including omaha logs) so we can tell why Omaha isn't installing a new app?
If the current application(YYY) was running in kiosk mode, and the current version of that application is 0.1.5, Chrome should download the updated version of the application this case it would be 0.1.6. That version of the applications is saved locally. Once the device is rebooted,the application should update and show the changes made.

In my case the application is not being updated, I tried doing a soft reboot using the API call chrome.runtime.restart() and disconnecting the power cable.

Attaching logs



update_engine.log
58.7 KB View Download
debug-logs_20180430-140709.tgz
968 KB Download
I was able to get the application to update by un-enrolling the device from the current domain. Rebooting the device. Then enrolling the device to the same domain.
Owner: atwilson@chromium.org
Is there any progress on identifying the root cause?  We have live, customer-facing deployments impacted.
Cc: hunyadym@chromium.org
Owner: poromov@chromium.org
Sergey, can you and Marton take a look at the logs?
Hi,

I think the issue is that the app is not updating because the new app's required_platform_version doesn't match the current platform version, and the OS is not updating because the the required_platform_version is older than the OS's current version (since it updated to the newest version when you didn't have required_platform_version set).

See also  crbug.com/673527 

Can you please check whether it's working for you if you specify always_update=true in your app's manifest like this?

  "kiosk": {
    "required_platform_version": "9765",
    "always_update": true
  },

This should ignore the required_platform_version check when checking for updates for your kiosk app, and you should get the update even if your device is ahead of the required_platform_version.
After applying that line to the manifest file, the application was successfully updated after a restart. Thanks hunyadym@

syed.husain@appspace.com@ Would you be able to verify on your end that your application updates after specifying "always_update" in your manifest file?


I'll try it later today. A question, will the OS pinning still works if I use the always_update flag?
Yes, OS pinning will continue to work: devices with older images will only update up until the pinned version (but devices with already newer images won't roll back).

always_update only applies to the kiosk app itself, not the OS.
all - just to inform you that the always_update flag works as expected. Our app got updated once we add this flag. Can we add the always_update flag information to the official documentation so that others can benefit from it? Previously when we implemented the OS pinning, we solely based on this documentation: https://support.google.com/chrome/a/answer/3316168?hl=en.

Thanks for everyone help! This should help us manage a few burning issues with our customers.
Cc: dskaram@chromium.org xiy...@chromium.org
Owner: shubhar@chromium.org
Reassigning to PM to update documentation.
Owner: dskaram@chromium.org
Labels: -Hotlist-Interop
Same problem here. The document should be updated.
Owner: maxkirsch@chromium.org
Status: Fixed (was: Assigned)
b/116388258 for documentation
Status: Verified (was: Fixed)

Sign in to add a comment