diff --git a/copyparty/web/browser.css b/copyparty/web/browser.css
index cecd4554..656fdb50 100644
--- a/copyparty/web/browser.css
+++ b/copyparty/web/browser.css
@@ -818,6 +818,10 @@ html.y #path a:hover {
.logue:empty {
display: none;
}
+.logue.raw {
+ white-space: pre;
+ font-family: 'scp', 'consolas', monospace;
+}
#doc>iframe,
.logue>iframe {
background: var(--bgg);
diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js
index e9081296..065c473c 100644
--- a/copyparty/web/browser.js
+++ b/copyparty/web/browser.js
@@ -372,7 +372,7 @@ var Ls = {
"s_t1": "tags contains (^=start, end=$)",
"s_a1": "specific metadata properties",
- "md_eshow": "cannot show ",
+ "md_eshow": "cannot render ",
"md_off": "[📜readme] disabled in [⚙️] -- document hidden",
"xhr403": "403: Access denied\n\ntry pressing F5, maybe you got logged out",
@@ -855,7 +855,7 @@ var Ls = {
"s_t1": "sang-info inneholder",
"s_a1": "konkrete egenskaper",
- "md_eshow": "kan ikke vise ",
+ "md_eshow": "viser forenklet ",
"md_off": "[📜readme] er avskrudd i [⚙️] -- dokument skjult",
"xhr403": "403: Tilgang nektet\n\nkanskje du ble logget ut? prøv å trykk F5",
@@ -5933,6 +5933,9 @@ var treectl = (function () {
}
r.reqls = function (url, hpush, back) {
+ if (IE && !history.pushState)
+ return window.location = url;
+
var xhr = new XHR();
xhr.top = url.split('?')[0];
xhr.back = back
@@ -7378,8 +7381,11 @@ function show_md(md, name, div, url, depth) {
wfp_debounce.hide();
if (!marked) {
- if (depth)
+ if (depth) {
+ clmod(div, 'raw', 1);
+ div.textContent = "--[ " + name + " ]---------\r\n" + md;
return toast.warn(10, errmsg + (window.WebAssembly ? 'failed to load marked.js' : 'your browser is too old'));
+ }
wfp_debounce.n--;
return import_js(SR + '/.cpr/deps/marked.js', function () {
diff --git a/copyparty/web/md2.js b/copyparty/web/md2.js
index 8e30a0e7..f2f8a01a 100644
--- a/copyparty/web/md2.js
+++ b/copyparty/web/md2.js
@@ -163,7 +163,7 @@ redraw = (function () {
dom_sbs.onclick = setsbs;
dom_nsbs.onclick = modetoggle;
- onresize();
+ (IE ? modetoggle : onresize)();
return onresize;
})();
diff --git a/copyparty/web/ui.css b/copyparty/web/ui.css
index 2beae327..72b36a1d 100644
--- a/copyparty/web/ui.css
+++ b/copyparty/web/ui.css
@@ -105,6 +105,9 @@ html {
#toast pre {
margin: 0;
}
+#toast.hide {
+ display: none;
+}
#toast.vis {
right: 1.3em;
transform: inherit;
diff --git a/copyparty/web/util.js b/copyparty/web/util.js
index 041c6b16..d7fbc53b 100644
--- a/copyparty/web/util.js
+++ b/copyparty/web/util.js
@@ -161,6 +161,9 @@ function vis_exh(msg, url, lineNo, columnNo, error) {
if (url.indexOf(' > eval') + 1 && !evalex_fatal)
return; // md timer
+ if (IE && url.indexOf('prism.js') + 1)
+ return;
+
var ekey = url + '\n' + lineNo + '\n' + msg;
if (ignexd[ekey] || crashed)
return;
@@ -376,6 +379,22 @@ catch (ex) {
}
}
+if (!window.Set)
+ window.Set = function () {
+ var r = this;
+ r.size = 0;
+ r.d = {};
+ r.add = function (k) {
+ if (!r.d[k]) {
+ r.d[k] = 1;
+ r.size++;
+ }
+ };
+ r.has = function (k) {
+ return r.d[k];
+ };
+ };
+
// https://stackoverflow.com/a/950146
function import_js(url, cb, ecb) {
var head = document.head || document.getElementsByTagName('head')[0];
@@ -1404,6 +1423,10 @@ var toast = (function () {
clmod(obj, 'vis');
r.visible = false;
r.tag = obj;
+ if (!window.WebAssembly)
+ te = setTimeout(function () {
+ obj.className = 'hide';
+ }, 500);
};
r.show = function (cl, sec, txt, tag) {