catch failed page loads due to absent trailing slashes

...on instances with missing redirect rules
This commit is contained in:
ansuz 2022-05-30 16:00:39 +05:30
parent 0d50a698ac
commit dbf63621e5
1 changed files with 28 additions and 0 deletions

28
www/main.js Normal file
View File

@ -0,0 +1,28 @@
define([
'jquery',
], function ($) {
/* CryptPad's example NGINX config includes a list of pages
which should have their URLs rewritten to include a trailing slash.
Sometimes we create a new page and forget to add it to these list.
Sometimes people configure their instance without this rewrite rule.
In either case, they might enter a URL like `/checkup` (without the
trailing slash) and somehow end up trying to load this script. ¯\_()_/¯
This script helps to avoid reports of confusion due to blank pages
like in some of the comments here: (https://github.com/xwiki-labs/cryptpad/issues/246)
by using jquery to check if adding a trailing slash would help,
and redirecting automatically if so.
*/
var pathname = window.location.pathname;
$.ajax({
url: `${pathname}/?cb=${+new Date()}`,
data: {},
complete: function (xhr) {
if (xhr.status !== 200) {
return void console.log("failure");
}
window.location = (pathname + '/');
},
});
});