I followed the instructions on http://www.borngeek.com/firefox/automatic-firefox-extension-updates/ for setting up extension updates. I uploaded update.rdf and extension XPI file to a local server (App Engine server). I started the browser and after some time the Add-on Manager shows available updates. But they are not installed automatically (clicking the "Update" button is still necessary).
What do I need to do to have updates install automatically?
Most extensions require Firefox to be restarted after an update. So the Add-on Manager will detect and download updates but it will not interrupt the user. The updates will install automatically when Firefox is started next time.
Only exception are bootstrapped extensions that don't require a restart (this includes all add-ons created with the Add-on SDK). These extensions can be updated while Firefox is running. However, they also have a whole lot of limitations.
Related
I have made an angular + workbox application that now is converted using PWABuilder to Cordova project targeting ios platform.
Now my problem started with offline page, I want my application to work the same way it works on chrome browser with offline mode.
That is, even if I'm in offline mode, I'm able to use website and store the requests for later on.
But on IOS device, when I open application, then turn airplane mode or disconnect wifi and re-run an app a white screen appears. (Offline page support is disabled in manifest.js - I don't need Offline.html)
I have registered routing by
workbox.routing.registerNavigationRoute('/');
And then
// couple of following lines:
workbox.routing.registerRoute('regex with js,manifest...etc', networkFirstStrategy({cacheName} ...)
And the weird fact is that on ios this somehow can't be cached, or somethings different happens.
I'm waiting for any suggestions, or leads that can help me fix this behaviour.
Answer
The WebView as used by Cordova in the latest iOS (12.0.1) will not run Workbox because it doesn't support Service Workers.
Details
Cordova apps run in a WebView.
The app executes in a WebView within the native application wrapper... source
The WebView in the latest production iOS (12.0.1) only supports Service Workers within three specific contexts, which doesn't include Cordova apps.
At this time [the Service Worker API] is only available in Safari, applications that use SFSafariViewController, and web applications saved to your home screen. source
Next Steps
It may be possible to add Service Worker support via a Cordova Plugin. For example: cordova-plugin-service-worker.
In addition, you may also need to add Background Sync support as the latest Safari does not support Background Sync. For example: cordova-plugin-service-worker-background-sync.
The Workbox docs state that they provide a fallback strategy when Background Sync is not supported:
Workbox Background Sync...also implements a fallback strategy for browsers that
don't yet implement BackgroundSync. source
However, an open issue on Github shows that the fallback strategy may not work on iOS.
I found out that addon which is loaded to AMO will be updated as soon as newer version of addon will be uploaded and verified.
Would it be the same for addon which is side-loaded, and originally was installed as a part of bundle directly by user?
For side loaded addons, it depends. If you side laoded an addon that was "listed" then yes. If you side loaded an addon that was "unlisted", then it will check your "updateURL" parameter, and if that location updates, then it will update.
I have written a web app for offline usage on iOS7 safari and, while it does download the files in the manifest for offline usage, it never updates cached files when the manifest changes.
I have a php script that loops through files in a directory and creates a cache.appcache file. It also adds a comment that is a md5 of the files so that each time a file changes, the cache.appcache file will update.
This works fine on desktop chrome and the app cache update is triggered. However, on the iPad it never tries to update the cache: I have to clear the device's cache manually to get the updated app.
Is there something I'm missing?
http://html5doctor.com/go-offline-with-application-cache/#trigger-refresh
Updates in the cache.manifest file are supposed to trigger cache updates. This was happening on desktop browsers but not on the iPad.
For future reference this appeared to be caused by a combination of iOS 'web app' mode and the HTTP Auth password I had on the page. It seems that this combination prevented the cache update check because it worked fine in regular iOS safari but only worked in both after I removed the password.
I have created the app with forge, and have added in the chrome extension, but when i run with chrome, always show the following errors:
Currently it is not possible to launch a Chrome extension via this interface.
The required steps are:
1) Go to chrome:extensions in the Chrome browser
2) Make sure "developer mode" is on (top right corner)')
3) Use "Load unpacked extension" and browse to D:\mobile-app\test/development/chrome
but I really done with above steps, I don't know what happen.
and I want to know how can I use difference Android sdk and resolution simulator with testing?
thanks!
Chrome doesn't a way for us to automatically install browser extensions. Therefore, you have to install your extension manually.
To do that, in Chrome (see image below):
type chrome:extensions in the address bar
turn on developer mode
click Load unpacked extension
If you have a separate question about Android SDKs, probably best to ask that in a different thread, or contact support#trigger.io.
I had the same issue, using:
forge run chrome
to try to run the app in the Chrome web browser. I thought the 3 steps given were to install an extension which would then allow forge run chrome to launch the web application. I couldn't understand why, after installing the extension (with no button defined of course), nothing seemed to change. I didn't realise a Chrome extension version of my app, appearing on the toolbar, was even possible!
I should have used:
forge run web
to launch the app in the (default) browser.
I have written an application that injects some menu items in other BlackBerry applications (for example a "bookmark this page" menu item in the BlackBerry browser). I have configured the application to be run automatically at startup (of the device) so when the device starts, the menu items are installed in the other applications.
However, I would also like to have my application started directly after installation (via OTA), so the menu items are directly available to the user. Is there a way to accomplish this without having the user to reboot the device or manually start the application after installation?
Autostart applications should run
automatically after they have been
installed. What could have happened
is the application tried to autostart,
but didn't have the permissions to do
what it wanted and failed with a
ControlledAccessException. Often this
can be seen as the application failing
to start, but in fact it did start but
just wasn't allowed to do what it
tried to do.
Check the event log on the BlackBerry
(alt+lglg). You should see an entry
for your application being started
after it was installed.
Mark Sohm BlackBerry Development
Advisor www.BlackBerryDeveloper.com
BB Support Community Forums :Can we automatically run the application after install