mirror of
https://github.com/kiwix/kiwix-js-pwa.git
synced 2025-09-14 06:47:57 -04:00
Fix bugs with backlinks
Former-commit-id: 1ef47c78a3545b017731e91bb2bff422ea8a7a4a [formerly b4c58f8e6c38447facca6db8180e784b42bf7e3e] [formerly 6ef9a48a59d98e9dc45e0950f984b5aaf0b8a57a] [formerly 9a564c9482f32b73b65656ba42760143e483ae21 [formerly 5d69d9fe606df174ad69a8525d939a85289635bc [formerly 7fd26ee7a48ddd067de8692ab5ed1307739d9d46]]] Former-commit-id: e24100ff705940ad32a2741e035364c2ffc35c3a [formerly 690a2cd1b4f81c0c1d919d18cf713adca11b00df [formerly a825d06aa9734559667e9ae615e41d6bfea6b394]] Former-commit-id: ef80ae1c9b638a60d6139eaeda1edb8efee65232 [formerly ecad27caff5673d5eefcd7f4394df1be0cb54e14] Former-commit-id: f44f58462b691f1bf0d7134306fb61dc78dee633
This commit is contained in:
parent
7b2c29638d
commit
e2ba4a1554
@ -3,9 +3,12 @@
|
|||||||
## In progress release 1.4.3
|
## In progress release 1.4.3
|
||||||
|
|
||||||
* FEATURE: (Experimental) PWA is paritcipating in File Handling API origin trial
|
* FEATURE: (Experimental) PWA is paritcipating in File Handling API origin trial
|
||||||
|
* FEATURE: Search with wildcards '.*', '.+' or regex syntax '(?:my_regular_expression)' so long as search begins with normal alphanumeric string
|
||||||
* FIX: Bug which failed to detect images correctly in a new tab
|
* FIX: Bug which failed to detect images correctly in a new tab
|
||||||
* FIX: Touch-zoom of contents of iframe no longer blanks part of the display
|
* FIX: Touch-zoom of contents of iframe no longer blanks part of the display
|
||||||
* FIX: Broken zoom of contents of iframe (with UI buttons) in Internet Explorer
|
* FIX: Broken zoom of contents of iframe (with UI buttons) in Internet Explorer
|
||||||
|
* FIX: Bug setting up backlinks which caused some pages not to load
|
||||||
|
* FIX: Unhandled exception when cite ref was not found
|
||||||
|
|
||||||
## Release 1.4.2
|
## Release 1.4.2
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
// App version number - ENSURE IT MATCHES VALUE IN init.js
|
// App version number - ENSURE IT MATCHES VALUE IN init.js
|
||||||
// DEV: Changing this will cause the browser to recognize that the Service Worker has changed, and it will download and
|
// DEV: Changing this will cause the browser to recognize that the Service Worker has changed, and it will download and
|
||||||
// install a new copy
|
// install a new copy
|
||||||
const appVersion = '1.4.3-rc3';
|
const appVersion = '1.4.3-rc4';
|
||||||
|
|
||||||
// Kiwix ZIM Archive Download Server in regex form
|
// Kiwix ZIM Archive Download Server in regex form
|
||||||
// DEV: The server URL is defined in init.js, but is not available to us in SW
|
// DEV: The server URL is defined in init.js, but is not available to us in SW
|
||||||
|
@ -127,6 +127,8 @@
|
|||||||
<li>Fix bug which failed to detect images correctly in new tab</li>
|
<li>Fix bug which failed to detect images correctly in new tab</li>
|
||||||
<li>Touch-zoom of contents of iframe no longer blanks part of the display</li>
|
<li>Touch-zoom of contents of iframe no longer blanks part of the display</li>
|
||||||
<li>Fixed broken zoom of contents of iframe (with UI buttons) in Internet Explorer</li>
|
<li>Fixed broken zoom of contents of iframe (with UI buttons) in Internet Explorer</li>
|
||||||
|
<li>Enabled search with wildcards '.*', '.+' or regex syntax '(?:my_regular_expression)': <b>NB search must begin with normal alphanumeric string</b></li>
|
||||||
|
<li>Fixed bug setting up backlinks which caused some pages not to load</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p><a href="https://github.com/kiwix/kiwix-js-windows/blob/master/CHANGELOG.md" target="_blank">Full changelog...<img src="I/s/Icon_External_Link.png"></a></p>
|
<p><a href="https://github.com/kiwix/kiwix-js-windows/blob/master/CHANGELOG.md" target="_blank">Full changelog...<img src="I/s/Icon_External_Link.png"></a></p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3588,9 +3588,14 @@ define(['jquery', 'zimArchiveLoader', 'uiUtil', 'util', 'cache', 'images', 'sett
|
|||||||
|
|
||||||
//Setup endnote backlinks if the ZIM doesn't have any
|
//Setup endnote backlinks if the ZIM doesn't have any
|
||||||
htmlArticle = htmlArticle.replace(/<li\b[^>]+id=["']cite[-_]note[-_]([^"']+)[^>]+>(?![^/]+?[↑^])/ig, function (match, id) {
|
htmlArticle = htmlArticle.replace(/<li\b[^>]+id=["']cite[-_]note[-_]([^"']+)[^>]+>(?![^/]+?[↑^])/ig, function (match, id) {
|
||||||
var fnSearchRegxp = new RegExp('id=["' + "'](cite[-_]ref[-_]" + id.replace(/[-_()+]/g, "[-_()]+") + '[^"' + "']*)", 'i');
|
var fnReturnMatch = '';
|
||||||
var fnReturnMatch = htmlArticle.match(fnSearchRegxp);
|
try {
|
||||||
var fnReturnID = fnReturnMatch ? fnReturnMatch[1] : "";
|
var fnSearchRegxp = new RegExp('id=["' + "'](cite[-_]ref[-_]" + id.replace(/[-_()+?]/g, "[-_()]+?") + '[^"' + "']*)", 'i');
|
||||||
|
fnReturnMatch = htmlArticle.match(fnSearchRegxp);
|
||||||
|
} catch (err) {
|
||||||
|
console.error('Error constructiong regular expression in app.js', err);
|
||||||
|
}
|
||||||
|
var fnReturnID = fnReturnMatch ? fnReturnMatch[1] : '';
|
||||||
return match + '\r\n<a href=\"#' + fnReturnID + '">^ </a>';
|
return match + '\r\n<a href=\"#' + fnReturnID + '">^ </a>';
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -3823,8 +3828,8 @@ define(['jquery', 'zimArchiveLoader', 'uiUtil', 'util', 'cache', 'images', 'sett
|
|||||||
reference.addEventListener("click", function (obj) {
|
reference.addEventListener("click", function (obj) {
|
||||||
var refID = obj.target.hash || obj.target.parentNode.hash;
|
var refID = obj.target.hash || obj.target.parentNode.hash;
|
||||||
if (!refID) return;
|
if (!refID) return;
|
||||||
refID = refID.replace(/#/, "");
|
var refLocation = docBody.querySelector(refID);
|
||||||
var refLocation = articleDocument.getElementById(refID);
|
if (!refLocation) return;
|
||||||
// In some ZIMs the id is in the parent node or in the parent of the parent
|
// In some ZIMs the id is in the parent node or in the parent of the parent
|
||||||
var returnID = obj.target.id || obj.target.parentNode.id || obj.target.parentNode.parentNode.id;
|
var returnID = obj.target.id || obj.target.parentNode.id || obj.target.parentNode.parentNode.id;
|
||||||
// Add backlink to refLocation if missing
|
// Add backlink to refLocation if missing
|
||||||
|
@ -49,7 +49,7 @@ var params = {};
|
|||||||
*/
|
*/
|
||||||
var appstate = {};
|
var appstate = {};
|
||||||
/******** UPDATE VERSION IN pwabuilder-sw.js TO MATCH VERSION AND CHECK PWASERVER BELOW!!!!!!! *******/
|
/******** UPDATE VERSION IN pwabuilder-sw.js TO MATCH VERSION AND CHECK PWASERVER BELOW!!!!!!! *******/
|
||||||
params['version'] = "1.4.3-rc3"; //DEV: Manually update this version when there is a new release: it is compared to the Settings Store "version" in order to show first-time info, and the cookie is updated in app.js
|
params['version'] = "1.4.3-rc4"; //DEV: Manually update this version when there is a new release: it is compared to the Settings Store "version" in order to show first-time info, and the cookie is updated in app.js
|
||||||
/******* UPDATE THIS ^^^^^^ IN service worker AND PWA-SERVER BELOW !! ********************/
|
/******* UPDATE THIS ^^^^^^ IN service worker AND PWA-SERVER BELOW !! ********************/
|
||||||
params['packagedFile'] = getSetting('packagedFile') || "wikipedia_en_100_maxi_2021-05.zim"; //For packaged Kiwix JS (e.g. with Wikivoyage file), set this to the filename (for split files, give the first chunk *.zimaa) and place file(s) in default storage
|
params['packagedFile'] = getSetting('packagedFile') || "wikipedia_en_100_maxi_2021-05.zim"; //For packaged Kiwix JS (e.g. with Wikivoyage file), set this to the filename (for split files, give the first chunk *.zimaa) and place file(s) in default storage
|
||||||
params['archivePath'] = "archives"; //The directory containing the packaged archive(s) (relative to app's root directory)
|
params['archivePath'] = "archives"; //The directory containing the packaged archive(s) (relative to app's root directory)
|
||||||
|
@ -230,7 +230,7 @@ define(['zimfile', 'zimDirEntry', 'util', 'utf8'],
|
|||||||
prefixVariants = prefixVariants.slice(1);
|
prefixVariants = prefixVariants.slice(1);
|
||||||
search.resultSize = resultSize - dirEntries.length;
|
search.resultSize = resultSize - dirEntries.length;
|
||||||
// Search window sets an upper limit on how many matching dirEntries will be scanned in a full index search
|
// Search window sets an upper limit on how many matching dirEntries will be scanned in a full index search
|
||||||
var searchWindow = search.rgxPrefix ? 250000 : resultSize;
|
var searchWindow = search.rgxPrefix ? 10000 * resultSize : resultSize;
|
||||||
that.findDirEntriesWithPrefixCaseSensitive(prefix, searchWindow, search,
|
that.findDirEntriesWithPrefixCaseSensitive(prefix, searchWindow, search,
|
||||||
function (newDirEntries, idx, interim) {
|
function (newDirEntries, idx, interim) {
|
||||||
if (search.status === 'cancelled') return callback([], search.status);
|
if (search.status === 'cancelled') return callback([], search.status);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user