kiwix / libkiwix

Common code base for all Kiwix ports
https://download.kiwix.org/release/libkiwix/
GNU General Public License v3.0
120 stars 56 forks source link

Reader not usable on Chrome 43 #1010

Closed rgaudin closed 11 months ago

rgaudin commented 1 year ago

Chrome 43 (on Android 5.1.1) is a very old (~2015) browser that is unfortunately being used by thousands of devices with Kiwix Hotspot.

The new kiwix-serve reader doesn't work on it Screenshot_2023-10-24-14-09-28

Console

Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode

I see that even ES6 is not supported in this version

Viewer doesn't work either

viewer

Console

Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
viewer:75 Uncaught ReferenceError: on_content_load is not defined
viewer:33 Uncaught ReferenceError: setupViewer is not defined
https://library.kiwix.org/content/favicon.ico Failed to load resource: the server responded with a status of 404 (OK)

ZIM content (/content endpoint) works

content

kelson42 commented 1 year ago

@rgaudin How big of a problem is that for Kiwix Hotspot? I don't remember that this page was very important as tiles are providing links direct to the books.

rgaudin commented 1 year ago

We don't use home page but we use the reader for the toolbar : link to home, search and suggestions.

kelson42 commented 1 year ago

@rgaudin OK, serious problem here. Do we have a way to reproduce this behaviour on a recent OS? Do we have a way to way to have a portable version of such a very old browser?

mgautierfr commented 1 year ago

What about the nojs endpoint (https://library.kiwix.org/nojs) ?

rgaudin commented 1 year ago

I don't know what's possible but here's what I did:

rgaudin commented 1 year ago

What about the nojs endpoint (https://library.kiwix.org/nojs) ?

Of course this works but it uses /content so there's no toolbar

kelson42 commented 1 year ago

@rgaudin will have a look to assess how the solutions could look like. In particular we should assess if the code can not be fixed within a few hours to work on these older browsers.

kelson42 commented 12 months ago

@rgaudin @mgautierfr Considering this ticket is blocking release of 13.0.0 and that this release is necessary to move forward on our Apple custom app effort. I would propose to move it to a 13.0.1 milestone. Would not change the priority, but remove a dependence.

rgaudin commented 12 months ago

ok

rgaudin commented 11 months ago

I've looked into it a bit and the result is that it's not easy. That Chrome version is really old and lacks tons of features (that we are currently using) such as let and const variable declaration, async functions, arrow functions, functions default params.

As discussed yesterday, we've decided to close this as not-planned.