Closed Bug 523296 Opened 12 years ago Closed 11 years ago
Error text in offline mode
If Fennec enters offline mode (e.g. losing network connection while loading) it opens up the netError.xhtml page which is pretty useless in that case: It's telling the user to try to go online using the file menu "Uncheck "Work Offline" in the File menu, then try again." in locales/en-US/chrome/overrides/netError.dtd There is afaik no way to force Fennec to go to online mode again. Would it be possible to add a second button (or change the existing one) to make it go to online mode and try again?
In light of bug 495674 this one is probably bad?
Doug, does the patch in bug 495674 keep us offline? or can we force the network to never assume it's offline since we use a dialer? Other options do include overriding the page so we can fix the error string and add a "Go Online" button, or something.
Duplicate of this bug: 432686
right now, we never enter offline mode. This may change (so that we can generate offline dom events), so I suggest fixing up the dialog.
Doug, the patch in bug 495674 did originally enter the Offline-Mode. Indeed you commented the line out, so it does not do this anymore. I would also suggest to add the line again and fixing up the dialog.
The patch in bug 523941 is going to change the default text. Since fennec overrides it still there has to be done something about it. I also tried to set the offline state from the try again in hope that we can just retry by forcing online mode before. Apparently the xhtml has no chrome privileges to use components?
Summary: wrong netError page in offline mode → wrong netError text in offline mode and no way to leave it
As controlling the offline mode from an untrusted page cannot easily be done I've tried another approach using a custom event. I'm not convinced that is the way to go finally but wanted to add it here to have something to start with. This one is the mobile-browser patch which needs a counterpart in xulrunner.
mozilla-central part of the patch
Let's start with a simple string change. The Offline error page can be made visible in Fennec without much trouble, so localizers can see the string change in action. The actual functionality will require other patches to land, but those can land after string freeze. The platform auto-dialer patch is very close to landing.
Attachment #413003 - Flags: review?(gavin.sharp) → review+
Whiteboard: [fennec l10n][l10n]
pushed string part: https://hg.mozilla.org/mobile-browser/rev/93c6827fe2ff still need the front-end part, so leaving open for now
How is that supposed to work with l10n?
We should string-freeze break this again. This is an awkward scenario because we can't really change the entity key. But there's a hack we can do: <!ENTITY goOnline.longDesc " <ul> <li>Try again. &brandShortName; will attempt to open a connection and reload the page.</li> </ul> "> <!ENTITY netOffline.longDesc "&goOnline.longDesc;"> Sad, but true, there's no better message this out.
mfinkle, can you look at Axel's solution in comment 12. You can see that what we did here to not break the toolkit string you are trying to change. Unless I am mistaken, you might have been changing a toolkit string that hits our FF 3.6 code.
(In reply to comment #13) > Unless I > am mistaken, you might have been changing a toolkit string that hits our FF 3.6 > code. The string is Fennec only. It's in an override file.
Seth - I am more concerned with adding cruft to our code just so the changes show up in our current l10n tools. We carry these crufty fixes in the code forever.
The string key is not fennec only, so we can't change that. If you don't care about that string making it into localizations, we'll ignore it. If it's supposed to be in, the technical solution in comment 12 is it.
We had also some discussions about the offline page. Since its breaking the user experience with autodial on maemo. I came up with different approaches how to fix the user experience and discussed them with mark finkel and christian biesinger, the most promising one (for now) seems to be a little change in docshell. The idea is 1) remove the offline page and 2)to put a check in the beginning of DocShell::DoUrlLoad(...). This check is first about that fennec is offline and autodial is activated, if thats the case an autodial system dialog will open up. During this dialog fennec will wait for a result. When the result is a established connection fennec will implicitly leave the offline mode and load the page. If the result is that we are still offline fennec will load a (partly) cached version of the page or if no cached version present fennec just stay on the old page. As i wrote above, we do not want to show the offline page at all! Why? We think that the offline page just interrupts the user experience and confuse him by using a commonly used terminology "offline mode" which is used in mobile phones (i.e. n900) for a state where the network chip is turned off. Another name for that is "flight mode". But the phones offline mode has nothing to do with the browser offline mode. The offline mode in the browser is just an interal browser state which is caused i.e. when the user has no phone network and leaving a wlan access area. (of cource when the phone is in offline mode, the browser will it implicitly too) Another bad thing about the offline page is this: You cant display partly cached websites. They will get loaded, visible for the user, from the cache and when the loading is then finished the offline page will get displayed instat. Thats because some parts of the site where not present in the cache. This is such a big issue because most pages these dayes have elements which do not get cached. This makes the complete concept about displaying cached websites in most cases unusable for the offline usecase.
(In reply to comment #16) > The string key is not fennec only, so we can't change that. > > If you don't care about that string making it into localizations, we'll ignore > it. If it's supposed to be in, the technical solution in comment 12 is it. I'll make a patch using your idea. I really hope our l10n tools are moving toward a future where we do not need to update entity names when strings change.
(In reply to comment #17) > We had also some discussions about the offline page. Since its breaking the > user experience with autodial on maemo. > I came up with different approaches how to fix the user experience and > discussed them with mark finkel and christian biesinger, the most promising one > (for now) seems to be a little change in docshell. Jeremias - can you open a new bug about improving the offline/online connection behavior? We need to capture this input for post Fennec 1.0 work.
This patch changes the entities so the l10n tools can "see" the string change
Comment on attachment 413174 [details] [diff] [review] patch 2 (string changes only) Add a comment explicitly stating that they need to update netOffline.longDesc too? They might not notice if they only see the addded netOffline2.longDesc. (I'm assuming you've tested this, I'm not really able to.)
Attachment #413174 - Flags: review?(gavin.sharp) → review+
We need to also override the appstrings.properties file, like Firefox does. This patch uses the Firefox overrides for Fennec, since we took the Firefox strings for the netError.dtd override.
Attachment #413213 - Flags: review?(gavin.sharp)
pushed better l10n patch for netError.dtd: https://hg.mozilla.org/mobile-browser/rev/c72e9cdf31ca
Attachment #413213 - Flags: review?(gavin.sharp) → review+
pushed appstrings.properties override: https://hg.mozilla.org/mobile-browser/rev/882f33509828 All string changes should have landed now
Limiting this bug to the offline strings. I'll open a new bug for getting Fennec to auto-connect.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Summary: wrong netError text in offline mode and no way to leave it → wrong netError text in offline mode
Target Milestone: --- → Post-B5
Testcase added, https://litmus.mozilla.org/show_test.cgi?id=9863
Flags: in-litmus? → in-litmus+
You need to log in before you can comment on or make changes to this bug.