Chrome App with OS pinning doesn't get fully updated/installed in Kiosk mode
Reported by
syed.hus...@appspace.com,
Jan 5 2018
|
||||||||||||||||||
Issue descriptionUserAgent: 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.
,
Jan 10 2018
,
Jan 22 2018
Igor assigning you as the owner as you were the primary for Chrome Enterprise Bug Triage on Jan 10.
,
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.
,
Apr 13 2018
Assigning to chrome/browser/extensions/updater/ OWNER
,
Apr 13 2018
,
Apr 19 2018
@rdevlin - can we schedule a quick discussion to explain the issue we're seeing?
,
Apr 20 2018
I was able to reproduce this issue using a ninja on m64 stable 10176.68.0.
,
Apr 25 2018
What are the next steps?
,
Apr 25 2018
I'm not too familiar with the pinning mechanism. Over to benwells@ for apps triage. Also cc'ing some enterprise/policy folks.
,
Apr 26 2018
Punting to atwilson as this looks very enterprise specific. Andrew - can you triage?
,
Apr 26 2018
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
,
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.
,
Apr 27 2018
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.
,
Apr 27 2018
The application should update automatically(Depending on the policy refresh rate)and reflect the changes made for the application name in the splash screen.
,
Apr 30 2018
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?
,
Apr 30 2018
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
,
Apr 30 2018
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.
,
Apr 30 2018
,
May 4 2018
Is there any progress on identifying the root cause? We have live, customer-facing deployments impacted.
,
May 4 2018
Sergey, can you and Marton take a look at the logs?
,
May 4 2018
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.
,
May 7 2018
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?
,
May 7 2018
I'll try it later today. A question, will the OS pinning still works if I use the always_update flag?
,
May 8 2018
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.
,
May 8 2018
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.
,
May 8 2018
Reassigning to PM to update documentation.
,
Jun 11 2018
,
Jun 11 2018
,
Aug 12
Same problem here. The document should be updated.
,
Aug 20
,
Sep 22
,
Sep 24
|
||||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||
Comment 1 by vsu...@google.com
, Jan 10 2018