AppCache stucks on android native browser - android-browser

I run into a strange issue with my mobile site on which i'm trying to implement the appcache functionality. It works fine on desktop (Chrome & Firefox), on chrome for android and on iOS. But the android native browser (Android 4.3 running on a Samsung Galaxy S3) is driving me crazy.
The appcache is working fine, as long as i'm waiting till the browser downloaded all files who are defined in the manifest file. But if i click on a link, while the browser's still downloading, the download process stops and can't be "reactivated". Even when i refresh the browser or update the manifest file, nothing happens. To start over, i need to clear browser cache, close the tab, close the browser app and restart it again.
For debugging on the mobile device, i'm using this script: http://jonathanstark.com/blog/debugging-html-5-offline-application-cache and check the log in the debug mode. This is the status i got, as soon the download process crashes: "online: yes, event: downloading, status: downloading"
I'm serving the manisfest.appcache file as a cache-manifest and set the cache-control header in .htaccess like this:
AddType text/cache-manifest .appcache
<Files *.appcache>
ExpiresActive On
ExpiresDefault "access"
Header set Cache-Control "max-age: 0"
</Files>
And this is how the content of my manifest.appcache file looks like
CACHE MANIFEST
/some/nice/urls
/another/url
/even/more/urls
NETWORK:
*
http://*
In total, the user needs to download around 10MB.
Did someone run into the same or a similar issue with the android native browser?
Thanks for any advices!
Cheers

Related

PWA is still using old index.html file in Safari IOS

The problem was due to white screen of death after deploying PWA (This is really hard to reproduce but it is an ongoing issue for my clients). It seems to be the problem with cache. It is causing Uncaught SyntaxError: Unexpected token '<'. I know many thread talked about this but it doesn't seem to directly let me tackle and reproduce the issue.
The closest to be able to reproduce is by doing this.
Add PWA to home screen
Open PWA
Edit index.html to have .js file pointing to wrong hash in /var/www/my-server
When I reopen the PWA it is still serving the old index.html file.
Clearing Safari cache in my iPhone does nothing. PWA still serving old index.html file.
How can I debug what causing the phone to be using the old index.html file even when server already change the index.html file content?
I am using cloudflare
I am not configuring any Service Worker

Browser Extension Error in React Build App

I have made a web based application in react js. I need to RUN this application by using browser extension.
I have make a build and uploaded files under account extensions add-on. manifest.json file looks like OK and validated
I am getting below error:
Firefox: Access to the file was denied. The file at moz-extension://27a7491c-7148-46cb-92be-8bf49da869b5/ReferralHistory is not readable. It may have been removed, moved, or file permissions may be preventing access.
Chrome: It may have been moved, edited, or deleted ERR_FILE_NOT_FOUND
Please help and Thanks

Safari Issue with Single Page Application React with AWS (Cloudfront/S3)

I am hosting a single page application based in React in S3 and served up in a CloudFront distribution (AWS). Everything works fine in production and The CloudFront error handling is setup correctly like shown below:
I did this for 404 and 403 responses. When I attempt open a link to a non root path (e.g. /settings), it works fine in Chrome and Firefox. However, in Safari I get redirected to the root path. I don't know how to resolve this Safari specific issue, any help is appreciated, thank you.
Similar problem without an answer here Safari Issue with Single Page Application AngularJS in HTML5mode with AWS (Cloudfront/S3)

Cache Manifest not working in Android Browser

Cache Manifest doesn't work in Android Browser. It works fine in Chrome on Android, Safari on iOS and all main desktop browsers (Not IE).
My index.html starts like this:
<!DOCTYPE HTML>
<html manifest="cache.manifest" lang="en-GB">
<head>
My cache.manifest starts like this:
CACHE MANIFEST
# v1.0.1 - 2013-10-23
# Cache manifest created by Jez D
CACHE:
index.html
styles.css
scripts.js
As stated, this works fine on all relevant browsers except Android Native browser.
I have looked here, here and here but to no avail.
Android version is 4.2.2
What can I do to correct this?
The answer you're looking for is in the following article. At least, it did it for me.
http://www.html5rocks.com/en/tutorials/appcache/beginner/
Assuming you're using Apache as your web server, you need to make it serve your .manifest file in the correct content-type by adding the following line to your httpd.conf file.
AddType text/cache-manifest .manifest
By doing this and restarting my Apache server, it fixed the problem under Android's native browser. (v4.1.2) As you mentionned, other browsers were working fine without this line in my config file.
Hope this helps!

NetworkError: 404 Not Found on firefox

We have a gwt app deployed on gae for java. The app runs fine in google chrome but fails with below exception on ie and firefox
NetworkError: 404 Not Found - http://www.sakshum.org/adminmodule/67883654A8944A4C561CF25763FB1D79.cache.html
based on Setup a GWT Project correctly with SVN and Eclipse we have excluded the files in adminmodule directory to upload to app engine.
Please advise what is reason for it to fail and how to make it working.
The ignored patterns are:
.svn
*.bak
classes/
thumbs.db
*.class
.gwt*
gwt-unitCache/
deploy/
war/adminmodule/
war/sakshumwebgae/
sakshumweb/war/WEB-INF/deploy/adminmodule/
sakshumweb/war/sakshumwebgae/
.bin
*.orig
You will get 404. HORROR!!!!
Currently only /deploy/ folder can be ignored and not war/gwtmodule.
All the gwt generated scripts are in war/gwtmodule and you need to upload them per compilation into appengine.
These are generated every build in compilation phase and hence are not checked into svn.
They need to be in deployment folder for APP Engine.
I suggest you go through the GWT teams excellent document for App Engine with GWT https://developers.google.com/web-toolkit/doc/latest/tutorial/appengine
Edit -
<modulename>.nocache.js loads <longnumeric>.cache.html based on browser * language permutation. GWT compiles your java code to create the <modulename>.nocache.js and the relevant cache.html files. cache and nocache indicates whether browser is supposed to cache or not cache the file.
You will have the .nocache.js script reference in your html file for the gwtapp.
It's normal for the GWT compiler to build different javascript files for each permutation. A permutation is for a specific user-agent (browser, eg ie9 gecko (ff), webkit (chrome/safari)) and language (English, French). So you've correctly uploaded all the output files for the chrome browser, presumably in English. It would seem, as you say, that you're filtering out other files from uploading, and that some of those files are requested when using a different permutation for Firefox in English. You should try not to filter those files.

Resources