Browse Source

[quickfix] footer style

B Thibault 8 years ago
parent
commit
bd19b0acb4
3 changed files with 80 additions and 87 deletions
  1. 17 25
      cli/dom.js
  2. 61 61
      srv/public/slack.min.js
  3. 2 1
      srv/public/style.css

+ 17 - 25
cli/dom.js

@@ -307,9 +307,6 @@ function createAttachmentDom(channelId, msg, attachment) {
         ,imgDom = document.createElement("img")
 
         ,footerBlock = document.createElement("div")
-        ,footerIcon = document.createElement("img")
-        ,footerText = document.createElement("span")
-        ,footerTs = document.createElement("span")
     ;
 
     rootDom.className = R.klass.msg.attachment.container;
@@ -357,12 +354,11 @@ function createAttachmentDom(channelId, msg, attachment) {
         authorName.href = attachment["author_link"] || "";
         authorName.className = R.klass.msg.authorname;
         authorImg.className = R.klass.msg.authorAvatar;
-        if (attachment["author_icon"])
+        if (attachment["author_icon"]) {
             authorImg.src = attachment["author_icon"];
-        else
-            authorImg.classList.add(R.klass.hidden);
-    } else {
-        authorBlock.classList.add(R.klass.hidden);
+            authorBlock.appendChild(authorImg);
+        }
+        authorBlock.appendChild(authorName);
     }
 
     //Text
@@ -395,36 +391,32 @@ function createAttachmentDom(channelId, msg, attachment) {
 
     //Footer
     footerBlock.className = R.klass.msg.attachment.footer;
-    footerText.className = R.klass.msg.attachment.footerText;
-    footerIcon.className = R.klass.msg.attachment.footerIcon;
     if (attachment["footer"]) {
+        var footerText = document.createElement("span")
+        footerText.className = R.klass.msg.attachment.footerText;
         footerText.innerHTML = formatText(attachment["footer"]);
-        if (attachment["footer_icon"])
+        if (attachment["footer_icon"]) {
+            var footerIcon = document.createElement("img")
             footerIcon.src = attachment["footer_icon"];
-        else
-            footerIcon.classList.add(R.klass.hidden);
-    } else {
-        footerIcon.classList.add(R.klass.hidden);
-        footerText.classList.add(R.klass.hidden);
+            footerIcon.className = R.klass.msg.attachment.footerIcon;
+            footerBlock.appendChild(footerIcon);
+        }
+        footerBlock.appendChild(footerText);
     }
 
     //Ts
-    footerTs.className = R.klass.msg.ts;
-    if (attachment["ts"])
+    if (attachment["ts"]) {
+        var footerTs = document.createElement("span")
+        footerTs.className = R.klass.msg.ts;
         footerTs.innerHTML = locale.formatDate(attachment["ts"]);
-    else
-        footerTs.classList.add(R.klass.hidden);
+        footerBlock.appendChild(footerTs);
+    }
 
     // TODO Field [ {title, value, short } ]
     // TODO actions (button stuff)
 
-    authorBlock.appendChild(authorImg);
-    authorBlock.appendChild(authorName);
     textBlock.appendChild(textDom);
     textBlock.appendChild(thumbImgDom);
-    footerBlock.appendChild(footerIcon);
-    footerBlock.appendChild(footerText);
-    footerBlock.appendChild(footerTs);
     attachmentBlock.appendChild(titleBlock);
     attachmentBlock.appendChild(authorBlock);
     attachmentBlock.appendChild(textBlock);

+ 61 - 61
srv/public/slack.min.js

@@ -1,74 +1,74 @@
 function n(a){this.id=a;this.version=0}n.prototype.update=function(a,b){void 0!==a.name&&(this.name=a.name);this.version=Math.max(this.version,b)};function ba(a){this.a=a.desc;this.name=a.name;this.type=a.type;this.usage=a.usage;this.B=a.category}function ca(){this.b={};this.a=[]}
 ca.prototype.update=function(a,b){this.b=JSON.parse(a.emoji_use);a.highlight_words?this.a=(a.highlight_words||"").split(",").filter(function(a){return""!==a.trim()}):a.highlights&&(this.a=a.highlights);this.version=Math.max(this.version,b)};function da(){this.j=null;this.f={};this.a={};this.b=null;this.h={version:0,data:{}};this.g={version:0,data:{}};this.c={};this.s=0}"undefined"!==typeof module&&(module.w.O=da,module.w.P=n,module.w.S=ba);function r(a){this.id=a;this.m=!1;this.a=this.b=0;this.g={};this.version=0}
-r.prototype.update=function(a,b,c){void 0!==a.name&&(this.name=a.name);void 0!==a.is_archived&&(this.h=a.is_archived);void 0!==a.is_member&&(this.s=a.is_member);void 0!==a.last_read&&(this.b=Math.max(parseFloat(a.last_read),this.b));void 0!==a.last_msg&&(this.a=parseFloat(a.last_msg));void 0!==a.is_private&&(this.j=a.is_private);a.latest&&(this.a=parseFloat(a.latest.ts));void 0!==a.is_starred&&(this.m=a.is_starred);if(a.members&&(this.g={},a.members))for(var d=0,f=a.members.length;d<f;d++){var e=
-b.a[a.members[d]];this.g[e.id]=e;e.f[this.id]=this}this.version=Math.max(this.version,c)};function x(a,b){r.call(this,a);this.c=b;this.name=this.c.name;this.j=!0;b.h=this}x.prototype=Object.create(r.prototype);x.prototype.constructor=x;"undefined"!==typeof module&&(module.w.X=r,module.w.W=x);function y(a,b){this.o=a.user;this.c=a.username;this.id=a.id||a.ts;this.i=parseFloat(a.ts);this.text="";this.g=[];this.b=this.u=this.m=!1;this.a={};this.version=b;this.update(a,b)}function z(a,b){y.call(this,a,b)}function A(a,b){y.call(this,a,b)}
-y.prototype.update=function(a,b){if(a){this.text=a.text||"";a.attachments&&(this.g=a.attachments);this.m=!!a.is_starred;this.u=!!a.edited;this.b=!!a.removed;var c=this;this.a={};(a.reactions||[]).forEach(function(a){c.a[a.name]=[];a.users.forEach(function(b){c.a[a.name].push(b)})})}else this.b=!0;this.version=b};function ea(a,b,c,d){this.id="string"===typeof a?a:a.id;this.a=[];this.b=b;c&&fa(this,c,d)}function fa(a,b,c){var d=0;b.forEach(function(a){d=Math.max(ga(this,a,c),d)}.bind(a));ha(a)}
-function ga(a,b,c){for(var d=!1,f,e=0,k=a.a.length;e<k;e++){var g=a.a[e];if(g.id===b.id){f=g.update(b,c);d=!0;break}}d||(g=!0===b.isMeMessage?new z(b,c):!0===b.isNotice?new A(b,c):new y(b,c),a.a.push(g),f=g.i);for(;a.a.length>a.b;)a.a.shift();return f||0}function ia(a){for(var b=D.b[F.id],c=0,d=b.a.length;c<d&&a>=b.a[c].i;c++)if(b.a[c].i===a)return b.a[c];return null}function ha(a){a.a.sort(function(a,c){return a.i-c.i})}z.prototype=Object.create(y.prototype);z.prototype.constructor=z;
-A.prototype=Object.create(y.prototype);A.prototype.constructor=A;"undefined"!==typeof module&&(module.w={U:y,T:z,V:A,Y:ea});function G(a){this.id=a;this.b={small:"",N:""};this.f={};this.h=this.a=null;this.version=0}G.prototype.update=function(a,b){void 0!==a.name&&(this.name=a.name);void 0!==a.deleted&&(this.g=a.deleted);void 0!==a.status&&(this.status=a.status);void 0!==a.presence&&(this.c="away"!==a.presence);void 0!==a.isPresent&&(this.c=a.isPresent);a.isBot&&(this.s=a.isBot);a.profile&&(this.b.small=a.profile.icon_small,this.b.N=a.profile.icon_large);this.version=Math.max(this.version,b)};
-"undefined"!==typeof module&&(module.w.R=G);var H={},I;function ja(){var a;if(!a){for(var b=0,c=navigator.languages.length;b<c;b++)if(H.hasOwnProperty(navigator.languages[b])){a=navigator.languages[b];break}a||(a="en")}I=H[a];console.log("Loading language pack: "+a);if(I.l)for(b in I.l)document.getElementById(b).textContent=I.l[b]};H.fr={M:"Utilisateur inconnu",L:"Channel inconnu",G:"Nouveau message",F:"Reseau",u:"(edit&eacute;)",H:"(visible seulement par vous)",m:"Favoris",f:"Discutions",J:"Discutions priv\u00e9es",D:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?"hier, "+a.toLocaleTimeString():
-a.toLocaleString()},l:{fileUploadCancel:"Annuler",neterror:"Impossible de se connecter au chat !"}};H.en={M:"Unknown member",L:"Unknown channel",G:"New message",F:"Network",u:"(edited)",H:"(only visible to you)",m:"Starred",f:"Channels",J:"Direct messages",D:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?"yesterday, "+a.toLocaleTimeString():a.toLocaleString()},
-l:{fileUploadCancel:"Cancel",neterror:"Cannot connect to chat !"}};var J=[],K=0;
-function ka(){var a=document.createDocumentFragment(),b=Object.keys(D.a.f||{}),c=[],d=[],f=[],e=[];b.sort(function(a,b){return a[0]!==b[0]?a[0]-b[0]:D.a.f[a].name.localeCompare(D.a.f[b].name)});b.forEach(function(a){a=D.a.f[a];if(!a.h&&!1!==a.s)if(a instanceof x){if(!a.c.g){var b;b=document.createElement("li");var l=document.createElement("a");b.id="room_"+a.id;l.href="#"+a.id;b.className="slack-context-room slack-ims";l.textContent=a.c.name;b.appendChild(L());b.appendChild(l);a.c.c||b.classList.add("away");
-F===a&&b.classList.add("selected");a.a>a.b&&(b.classList.add("unread"),0<=M.indexOf(a)&&b.classList.add("unreadHi"));b&&(a.m?c.push(b):e.push(b))}}else b=document.createElement("li"),l=document.createElement("a"),b.id="room_"+a.id,l.href="#"+a.id,a.j?(b.className="slack-context-room slack-group",b.dataset.count=Object.keys(a.g||{}).length):b.className="slack-context-room slack-channel",F===a&&b.classList.add("selected"),l.textContent=a.name,b.appendChild(L()),b.appendChild(l),a.a>a.b&&(b.classList.add("unread"),
-0<=M.indexOf(a)&&b.classList.add("unreadHi")),b&&(a.m?c.push(b):a.j?f.push(b):d.push(b))});c.length&&a.appendChild(N(I.m));c.forEach(function(b){a.appendChild(b)});d.length&&a.appendChild(N(I.f));d.forEach(function(b){a.appendChild(b)});f.forEach(function(b){a.appendChild(b)});e.length&&a.appendChild(N(I.J));e.forEach(function(b){a.appendChild(b)});document.getElementById("chanList").textContent="";document.getElementById("chanList").appendChild(a);la();O();ma(function(a){document.getElementById("slackCtx").style.backgroundImage=
+r.prototype.update=function(a,b,c){void 0!==a.name&&(this.name=a.name);void 0!==a.is_archived&&(this.h=a.is_archived);void 0!==a.is_member&&(this.s=a.is_member);void 0!==a.last_read&&(this.b=Math.max(parseFloat(a.last_read),this.b));void 0!==a.last_msg&&(this.a=parseFloat(a.last_msg));void 0!==a.is_private&&(this.j=a.is_private);a.latest&&(this.a=parseFloat(a.latest.ts));void 0!==a.is_starred&&(this.m=a.is_starred);if(a.members&&(this.g={},a.members))for(var d=0,g=a.members.length;d<g;d++){var e=
+b.a[a.members[d]];this.g[e.id]=e;e.f[this.id]=this}this.version=Math.max(this.version,c)};function v(a,b){r.call(this,a);this.c=b;this.name=this.c.name;this.j=!0;b.h=this}v.prototype=Object.create(r.prototype);v.prototype.constructor=v;"undefined"!==typeof module&&(module.w.X=r,module.w.W=v);function w(a,b){this.o=a.user;this.c=a.username;this.id=a.id||a.ts;this.i=parseFloat(a.ts);this.text="";this.g=[];this.b=this.u=this.m=!1;this.a={};this.version=b;this.update(a,b)}function y(a,b){w.call(this,a,b)}function A(a,b){w.call(this,a,b)}
+w.prototype.update=function(a,b){if(a){this.text=a.text||"";a.attachments&&(this.g=a.attachments);this.m=!!a.is_starred;this.u=!!a.edited;this.b=!!a.removed;var c=this;this.a={};(a.reactions||[]).forEach(function(a){c.a[a.name]=[];a.users.forEach(function(b){c.a[a.name].push(b)})})}else this.b=!0;this.version=b};function ea(a,b,c,d){this.id="string"===typeof a?a:a.id;this.a=[];this.b=b;c&&fa(this,c,d)}function fa(a,b,c){var d=0;b.forEach(function(a){d=Math.max(ga(this,a,c),d)}.bind(a));ha(a)}
+function ga(a,b,c){for(var d=!1,g,e=0,k=a.a.length;e<k;e++){var f=a.a[e];if(f.id===b.id){g=f.update(b,c);d=!0;break}}d||(f=!0===b.isMeMessage?new y(b,c):!0===b.isNotice?new A(b,c):new w(b,c),a.a.push(f),g=f.i);for(;a.a.length>a.b;)a.a.shift();return g||0}function ia(a){for(var b=D.b[E.id],c=0,d=b.a.length;c<d&&a>=b.a[c].i;c++)if(b.a[c].i===a)return b.a[c];return null}function ha(a){a.a.sort(function(a,c){return a.i-c.i})}y.prototype=Object.create(w.prototype);y.prototype.constructor=y;
+A.prototype=Object.create(w.prototype);A.prototype.constructor=A;"undefined"!==typeof module&&(module.w={U:w,T:y,V:A,Y:ea});function F(a){this.id=a;this.b={small:"",N:""};this.f={};this.h=this.a=null;this.version=0}F.prototype.update=function(a,b){void 0!==a.name&&(this.name=a.name);void 0!==a.deleted&&(this.g=a.deleted);void 0!==a.status&&(this.status=a.status);void 0!==a.presence&&(this.c="away"!==a.presence);void 0!==a.isPresent&&(this.c=a.isPresent);a.isBot&&(this.s=a.isBot);a.profile&&(this.b.small=a.profile.icon_small,this.b.N=a.profile.icon_large);this.version=Math.max(this.version,b)};
+"undefined"!==typeof module&&(module.w.R=F);var G={},H;function ja(){var a;if(!a){for(var b=0,c=navigator.languages.length;b<c;b++)if(G.hasOwnProperty(navigator.languages[b])){a=navigator.languages[b];break}a||(a="en")}H=G[a];console.log("Loading language pack: "+a);if(H.l)for(b in H.l)document.getElementById(b).textContent=H.l[b]};G.fr={M:"Utilisateur inconnu",L:"Channel inconnu",G:"Nouveau message",F:"Reseau",u:"(edit&eacute;)",H:"(visible seulement par vous)",m:"Favoris",f:"Discutions",J:"Discutions priv\u00e9es",D:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?"hier, "+a.toLocaleTimeString():
+a.toLocaleString()},l:{fileUploadCancel:"Annuler",neterror:"Impossible de se connecter au chat !"}};G.en={M:"Unknown member",L:"Unknown channel",G:"New message",F:"Network",u:"(edited)",H:"(only visible to you)",m:"Starred",f:"Channels",J:"Direct messages",D:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?"yesterday, "+a.toLocaleTimeString():a.toLocaleString()},
+l:{fileUploadCancel:"Cancel",neterror:"Cannot connect to chat !"}};var I=[],J=0;
+function ka(){var a=document.createDocumentFragment(),b=Object.keys(D.a.f||{}),c=[],d=[],g=[],e=[];b.sort(function(a,b){return a[0]!==b[0]?a[0]-b[0]:D.a.f[a].name.localeCompare(D.a.f[b].name)});b.forEach(function(a){a=D.a.f[a];if(!a.h&&!1!==a.s)if(a instanceof v){if(!a.c.g){var b;b=document.createElement("li");var l=document.createElement("a");b.id="room_"+a.id;l.href="#"+a.id;b.className="slack-context-room slack-ims";l.textContent=a.c.name;b.appendChild(K());b.appendChild(l);a.c.c||b.classList.add("away");
+E===a&&b.classList.add("selected");a.a>a.b&&(b.classList.add("unread"),0<=L.indexOf(a)&&b.classList.add("unreadHi"));b&&(a.m?c.push(b):e.push(b))}}else b=document.createElement("li"),l=document.createElement("a"),b.id="room_"+a.id,l.href="#"+a.id,a.j?(b.className="slack-context-room slack-group",b.dataset.count=Object.keys(a.g||{}).length):b.className="slack-context-room slack-channel",E===a&&b.classList.add("selected"),l.textContent=a.name,b.appendChild(K()),b.appendChild(l),a.a>a.b&&(b.classList.add("unread"),
+0<=L.indexOf(a)&&b.classList.add("unreadHi")),b&&(a.m?c.push(b):a.j?g.push(b):d.push(b))});c.length&&a.appendChild(M(H.m));c.forEach(function(b){a.appendChild(b)});d.length&&a.appendChild(M(H.f));d.forEach(function(b){a.appendChild(b)});g.forEach(function(b){a.appendChild(b)});e.length&&a.appendChild(M(H.J));e.forEach(function(b){a.appendChild(b)});document.getElementById("chanList").textContent="";document.getElementById("chanList").appendChild(a);la();N();ma(function(a){document.getElementById("slackCtx").style.backgroundImage=
 "url("+a+")"})}function na(){var a=D.a.c,b;for(b in D.a.b.f)if(!D.a.b.f[b].h){var c=document.getElementById("room_"+b);a[b]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing")}for(var d in D.a.a)(b=D.a.a[d].h)&&!b.h&&(c=document.getElementById("room_"+b.id))&&(a[b.id]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing"));oa()}
-function oa(){var a=D.a.c;document.getElementById("whoistyping").textContent="";if(F&&a[F.id]){var b=document.createDocumentFragment(),c=!1,d;for(d in a[F.id])(a=D.a.a[d])?b.appendChild(pa(a)):c=!0;c&&(D.c=0);document.getElementById("whoistyping").appendChild(b)}}function P(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network");O()}
-function qa(){var a=F.name||(F.c?F.c.name:void 0);if(!a){var b=[];F.g.forEach(function(a){b.push(a.name)});a=b.join(", ")}document.getElementById("currentRoomTitle").textContent=a;ra();Q();document.getElementById("fileUploadContainer").classList.add("hidden");R();S&&(S=null,T());U&&(U=null,T());oa()}
-function T(){if(S){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){S=null;T()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(V("reply_"+F.id,S,!0))}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";Q()}
-function W(){if(U){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){U=null;W()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(V("edit_"+F.id,U,!0));document.getElementById("msgInput").value=U.text}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";Q()}
-window.toggleReaction=function(a,b,c){var d=D.b[a];if(d){a:{for(var f=0,e=d.a.length;f<e;f++)if(d.a[f].id==b){d=d.a[f];break a}d=null}d&&(f=D.a.b.id,d.a[c]&&-1!==d.a[c].indexOf(f)?(d=new XMLHttpRequest,d.open("DELETE","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0),d.send(null)):sa(a,b,c))}};
+function oa(){var a=D.a.c;document.getElementById("whoistyping").textContent="";if(E&&a[E.id]){var b=document.createDocumentFragment(),c=!1,d;for(d in a[E.id])(a=D.a.a[d])?b.appendChild(pa(a)):c=!0;c&&(D.c=0);document.getElementById("whoistyping").appendChild(b)}}function O(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network");N()}
+function qa(){var a=E.name||(E.c?E.c.name:void 0);if(!a){var b=[];E.g.forEach(function(a){b.push(a.name)});a=b.join(", ")}document.getElementById("currentRoomTitle").textContent=a;ra();Q();document.getElementById("fileUploadContainer").classList.add("hidden");R();S&&(S=null,T());U&&(U=null,T());oa()}
+function T(){if(S){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){S=null;T()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(V("reply_"+E.id,S,!0))}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";Q()}
+function W(){if(U){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){U=null;W()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(V("edit_"+E.id,U,!0));document.getElementById("msgInput").value=U.text}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";Q()}
+window.toggleReaction=function(a,b,c){var d=D.b[a];if(d){a:{for(var g=0,e=d.a.length;g<e;g++)if(d.a[g].id==b){d=d.a[g];break a}d=null}d&&(g=D.a.b.id,d.a[c]&&-1!==d.a[c].indexOf(g)?(d=new XMLHttpRequest,d.open("DELETE","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0),d.send(null)):sa(a,b,c))}};
 function ta(a){a:{for(var b=a,c={};!c[b];){if(a=D.a.h.data[b])if("alias:"==a.substr(0,6))c[b]=!0,b=a.substr(6);else{b=document.createElement("span");b.className="emoji-custom emoji";b.style.backgroundImage="url('"+a+"')";a=b;break a}break}a=b}"string"===typeof a&&"makeEmoji"in window&&(a=window.makeEmoji(a));return"string"===typeof a?null:a}
-function ua(a){return a.replace(/:([^ \t:]+):/g,function(b,c){var d=ta(c);if(d){var f=document.createElement("span");f.className=b===a?"emoji-medium":"emoji-small";f.appendChild(d);return f.outerHTML}return b})}
-function X(a){a=a.split(/\r?\n/g);for(var b=0,c=a.length;b<c;b++){for(var d=a[b].trim(),f="",e={},k=!1,g=0,d=d.replace(RegExp("<([@#]?)([^>]*)>","g"),function(a,b,c){c=c.split("|");if("@"===b)c[1]?"@"!==c[1][0]&&(c[1]="@"+c[1]):(a=D.a.a[c[0]],c[1]=a?"@"+a.name:I.M),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-user";else if("#"===b)c[1]?"#"!==c[1][0]&&(c[1]="#"+c[1]):(a=D.a.f[c[0]],c[1]=a?"#"+a.name:I.L),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-chan";else if(-1!==c[0].indexOf("://"))c[1]||
+function ua(a){return a.replace(/:([^ \t:]+):/g,function(b,c){var d=ta(c);if(d){var g=document.createElement("span");g.className=b===a?"emoji-medium":"emoji-small";g.appendChild(d);return g.outerHTML}return b})}
+function X(a){a=a.split(/\r?\n/g);for(var b=0,c=a.length;b<c;b++){for(var d=a[b].trim(),g="",e={},k=!1,f=0,d=d.replace(RegExp("<([@#]?)([^>]*)>","g"),function(a,b,c){c=c.split("|");if("@"===b)c[1]?"@"!==c[1][0]&&(c[1]="@"+c[1]):(a=D.a.a[c[0]],c[1]=a?"@"+a.name:H.M),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-user";else if("#"===b)c[1]?"#"!==c[1][0]&&(c[1]="#"+c[1]):(a=D.a.f[c[0]],c[1]=a?"#"+a.name:H.L),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-chan";else if(-1!==c[0].indexOf("://"))c[1]||
 (c[1]=c[0]),c[2]="slackmsg-link";else return a;return'<a href="'+c[0]+'" class="'+c[2]+'"'+(b?"":' target="_blank"')+">"+c[1]+"</a>"}),d=ua(d),l=d.length,h=function(a,b,c){for(;a[b];){var d=a[b];if(("A"<=d&&"Z">=d||"a"<=d&&"z">=d||"0"<=d&&"9">=d||-1!=="\u00e0\u00e8\u00ec\u00f2\u00f9\u00c0\u00c8\u00cc\u00d2\u00d9\u00e1\u00e9\u00ed\u00f3\u00fa\u00fd\u00c1\u00c9\u00cd\u00d3\u00da\u00dd\u00e2\u00ea\u00ee\u00f4\u00fb\u00c2\u00ca\u00ce\u00d4\u00db\u00e3\u00f1\u00f5\u00c3\u00d1\u00d5\u00e4\u00eb\u00ef\u00f6\u00fc\u00ff\u00c4\u00cb\u00cf\u00d6\u00dc\u0178\u00e7\u00c7\u00df\u00d8\u00f8\u00c5\u00e5\u00c6\u00e6\u0153".indexOf(d))&&
-a[b]!=c&&a[b+1]==c)return!0;b++}return!1},q=function(a){return Object.keys(e).length?'<span class="'+Object.keys(a).join(" ")+'">':""};g<l&&(" "===d[g]||"\t"===d[g]);)g++;"&gt;"===d.substr(g,4)&&(k=!0,g+=4);for(;g<l;g++){var m=d[g];if("<"===m){do f+=d[g++];while(">"!==d[g-1]);g--}else if(!e["slackmsg-style-bold"]&&"*"===m&&d[g+1]&&h(d,g,m))Object.keys(e).length&&(f+="</span>"),e["slackmsg-style-bold"]=!0,f+=q(e);else if(!e["slackmsg-style-strike"]&&"~"===m&&d[g+1]&&h(d,g,m))Object.keys(e).length&&
-(f+="</span>"),e["slackmsg-style-strike"]=!0,f+=q(e);else if(!e["slackmsg-style-code"]&&"`"===m&&d[g+1]&&h(d,g,m))Object.keys(e).length&&(f+="</span>"),e["slackmsg-style-code"]=!0,f+=q(e);else if(!e["slackmsg-style-italic"]&&"_"===m&&d[g+1]&&h(d,g,m))Object.keys(e).length&&(f+="</span>"),e["slackmsg-style-italic"]=!0,f+=q(e);else{var p=!1,f=f+m;do{if(e["slackmsg-style-bold"]&&"*"!==m&&"*"===d[g+1])delete e["slackmsg-style-bold"],p=!0;else if(e["slackmsg-style-strike"]&&"~"!==m&&"~"===d[g+1])delete e["slackmsg-style-strike"],
-p=!0;else if(e["slackmsg-style-code"]&&"`"!==m&&"`"===d[g+1])delete e["slackmsg-style-code"],p=!0;else if(e["slackmsg-style-italic"]&&"_"!==m&&"_"===d[g+1])delete e["slackmsg-style-italic"],p=!0;else break;m=d[++g]}while(g<l);p&&(f+="</span>"+q(e))}}e&&(f+="</span>");a[b]=k?'<span class="slackmsg-style-quote">'+f+"</span>":f}return a.join("<br/>")}
-function V(a,b,c){b instanceof z?(a=va(a,b,c),a.classList.add("slackmsg-me_message")):a=va(a,b,c);b.u&&a.classList.add("slackmsg-edited");b instanceof A&&a.classList.add("slackmsg-notice");return a}function wa(a,b){document.getElementById("linkFavicon").href=a||b?"favicon.png?h="+a+"&m="+b:"favicon_ok.png"}
-function O(){var a=M.length,b="";if(Y)b="!"+I.F+" - ",document.getElementById("linkFavicon").href="favicon_err.png";else if(a)b="(!"+a+") - ",wa(a,a);else{var a=0,c;for(c in D.a.f){var d=D.a.f[c];d.a>d.b&&a++}a&&(b="("+a+") - ");wa(0,a)}D.a.j&&(b+=D.a.j.name);document.title=b}
-function xa(){if("Notification"in window)if("granted"===Notification.permission){var a=Date.now();if(K+3E4<a){var b=new Notification(I.G);K=a;setTimeout(function(){b.close()},5E3)}}else"denied"!==Notification.permission&&Notification.requestPermission()}
-function ra(){var a=document.createDocumentFragment(),b=F.id,c=null,d=0,f=null,e;J=[];D.b[b]&&D.b[b].a.forEach(function(g){if(!g.b){var l=V(b,g),h=!1;c&&c.o===g.o&&g.o?30>Math.abs(d-g.i)&&!(g instanceof z)?f.classList.add("slackmsg-same-ts"):d=g.i:(d=g.i,h=!0);(!c||c.i<=F.b)&&g.i>F.b&&l.classList.add("slackmsg-first-unread");if(g instanceof z)f=c=null,d=0,a.appendChild(l),e=null;else{if(h||!e){var h=D.a.a[g.o],k=g.c,m=document.createElement("div"),p=document.createElement("div"),t=document.createElement("span");
-m.A=document.createElement("img");m.A.className="slackmsg-author-img";t.className="slackmsg-author-name";h?(t.textContent=h.name,m.A.src=h.b.small):(t.textContent=k||"?",m.A.src="");p.appendChild(m.A);p.appendChild(t);p.className="slackmsg-author";m.className="slackmsg-authorGroup";m.appendChild(p);m.content=document.createElement("div");m.content.className="slackmsg-author-messages";m.appendChild(m.content);e=m;J.push(e);a.appendChild(e)}c=g;f=l;e.content.appendChild(l)}}});var k=document.getElementById("chatWindow");
+a[b]!=c&&a[b+1]==c)return!0;b++}return!1},q=function(a){return Object.keys(e).length?'<span class="'+Object.keys(a).join(" ")+'">':""};f<l&&(" "===d[f]||"\t"===d[f]);)f++;"&gt;"===d.substr(f,4)&&(k=!0,f+=4);for(;f<l;f++){var m=d[f];if("<"===m){do g+=d[f++];while(">"!==d[f-1]);f--}else if(!e["slackmsg-style-bold"]&&"*"===m&&d[f+1]&&h(d,f,m))Object.keys(e).length&&(g+="</span>"),e["slackmsg-style-bold"]=!0,g+=q(e);else if(!e["slackmsg-style-strike"]&&"~"===m&&d[f+1]&&h(d,f,m))Object.keys(e).length&&
+(g+="</span>"),e["slackmsg-style-strike"]=!0,g+=q(e);else if(!e["slackmsg-style-code"]&&"`"===m&&d[f+1]&&h(d,f,m))Object.keys(e).length&&(g+="</span>"),e["slackmsg-style-code"]=!0,g+=q(e);else if(!e["slackmsg-style-italic"]&&"_"===m&&d[f+1]&&h(d,f,m))Object.keys(e).length&&(g+="</span>"),e["slackmsg-style-italic"]=!0,g+=q(e);else{var p=!1,g=g+m;do{if(e["slackmsg-style-bold"]&&"*"!==m&&"*"===d[f+1])delete e["slackmsg-style-bold"],p=!0;else if(e["slackmsg-style-strike"]&&"~"!==m&&"~"===d[f+1])delete e["slackmsg-style-strike"],
+p=!0;else if(e["slackmsg-style-code"]&&"`"!==m&&"`"===d[f+1])delete e["slackmsg-style-code"],p=!0;else if(e["slackmsg-style-italic"]&&"_"!==m&&"_"===d[f+1])delete e["slackmsg-style-italic"],p=!0;else break;m=d[++f]}while(f<l);p&&(g+="</span>"+q(e))}}e&&(g+="</span>");a[b]=k?'<span class="slackmsg-style-quote">'+g+"</span>":g}return a.join("<br/>")}
+function V(a,b,c){b instanceof y?(a=va(a,b,c),a.classList.add("slackmsg-me_message")):a=va(a,b,c);b.u&&a.classList.add("slackmsg-edited");b instanceof A&&a.classList.add("slackmsg-notice");return a}function wa(a,b){document.getElementById("linkFavicon").href=a||b?"favicon.png?h="+a+"&m="+b:"favicon_ok.png"}
+function N(){var a=L.length,b="";if(Y)b="!"+H.F+" - ",document.getElementById("linkFavicon").href="favicon_err.png";else if(a)b="(!"+a+") - ",wa(a,a);else{var a=0,c;for(c in D.a.f){var d=D.a.f[c];d.a>d.b&&a++}a&&(b="("+a+") - ");wa(0,a)}D.a.j&&(b+=D.a.j.name);document.title=b}
+function xa(){if("Notification"in window)if("granted"===Notification.permission){var a=Date.now();if(J+3E4<a){var b=new Notification(H.G);J=a;setTimeout(function(){b.close()},5E3)}}else"denied"!==Notification.permission&&Notification.requestPermission()}
+function ra(){var a=document.createDocumentFragment(),b=E.id,c=null,d=0,g=null,e;I=[];D.b[b]&&D.b[b].a.forEach(function(f){if(!f.b){var l=V(b,f),h=!1;c&&c.o===f.o&&f.o?30>Math.abs(d-f.i)&&!(f instanceof y)?g.classList.add("slackmsg-same-ts"):d=f.i:(d=f.i,h=!0);(!c||c.i<=E.b)&&f.i>E.b&&l.classList.add("slackmsg-first-unread");if(f instanceof y)g=c=null,d=0,a.appendChild(l),e=null;else{if(h||!e){var h=D.a.a[f.o],k=f.c,m=document.createElement("div"),p=document.createElement("div"),t=document.createElement("span");
+m.A=document.createElement("img");m.A.className="slackmsg-author-img";t.className="slackmsg-author-name";h?(t.textContent=h.name,m.A.src=h.b.small):(t.textContent=k||"?",m.A.src="");p.appendChild(m.A);p.appendChild(t);p.className="slackmsg-author";m.className="slackmsg-authorGroup";m.appendChild(p);m.content=document.createElement("div");m.content.className="slackmsg-author-messages";m.appendChild(m.content);e=m;I.push(e);a.appendChild(e)}c=f;g=l;e.content.appendChild(l)}}});var k=document.getElementById("chatWindow");
 k.textContent="";k.appendChild(a);k.scrollTop=k.scrollHeight-k.clientHeight;window.hasFocus&&R()}
 function ya(a){function b(a,b){for(b=b||a.target;b!==a.currentTarget&&b;){if(b.classList.contains("slackmsg-item"))return b.id;b=b.parentElement}}for(var c=a.target;c!==a.currentTarget&&c&&!c.classList.contains("slackmsg-hover");){if(c.parentElement&&c.parentElement.classList.contains("slackmsg-hover")){if(a=b(a,c)){a=parseFloat(a.split("_")[1]);var d=ia(a);d&&c.classList.contains("slackmsg-hover-reply")?(U&&(U=null,W()),S!==d&&(S=d,T())):d&&c.classList.contains("slackmsg-hover-reaction")?za.K(document.body,
-function(a){a&&sa(F.id,d.id,a)}):d&&c.classList.contains("slackmsg-hover-edit")?(S&&(S=null,T()),U!==d&&(U=d,W())):d&&c.classList.contains("slackmsg-hover-remove")&&(S&&(S=null,T()),U&&(U=null,W()),Aa(d))}break}c=c.parentElement}}function Q(){document.getElementById("msgInput").focus()}function la(){var a=document.location.hash.substr(1),b=D.a.f[a];b&&b!==F?Ba(b):(a=D.a.a[a])&&a.j&&Ba(a.j)}
-function Ca(){var a=document.getElementById("chatWindow").getBoundingClientRect().top;J.forEach(function(b){var c=b.A,d=c.clientHeight;b=b.getBoundingClientRect();c.style.top=Math.max(0,Math.min(a-b.top,b.height-d-d/2))+"px"})}
+function(a){a&&sa(E.id,d.id,a)}):d&&c.classList.contains("slackmsg-hover-edit")?(S&&(S=null,T()),U!==d&&(U=d,W())):d&&c.classList.contains("slackmsg-hover-remove")&&(S&&(S=null,T()),U&&(U=null,W()),Aa(d))}break}c=c.parentElement}}function Q(){document.getElementById("msgInput").focus()}function la(){var a=document.location.hash.substr(1),b=D.a.f[a];b&&b!==E?Ba(b):(a=D.a.a[a])&&a.j&&Ba(a.j)}
+function Ca(){var a=document.getElementById("chatWindow").getBoundingClientRect().top;I.forEach(function(b){var c=b.A,d=c.clientHeight;b=b.getBoundingClientRect();c.style.top=Math.max(0,Math.min(a-b.top,b.height-d-d/2))+"px"})}
 document.addEventListener("DOMContentLoaded",function(){ja();document.getElementById("chatWindow").addEventListener("click",ya);window.addEventListener("hashchange",function(){document.location.hash&&"#"===document.location.hash[0]&&la()});document.getElementById("fileUploadCancel").addEventListener("click",function(a){a.preventDefault();document.getElementById("fileUploadError").classList.add("hidden");document.getElementById("fileUploadContainer").classList.add("hidden");document.getElementById("fileUploadInput").value=
 "";return!1});document.getElementById("fileUploadForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("fileUploadInput");var b=a.value;b&&(b=b.substr(b.lastIndexOf("\\")+1),Da(b,a.files[0],function(a){var b=document.getElementById("fileUploadError");a?(b.textContent=a,b.classList.remove("hidden")):(b.classList.add("hidden"),document.getElementById("fileUploadInput").value="",document.getElementById("fileUploadContainer").classList.add("hidden"))}));return!1});
-document.getElementById("attachFile").addEventListener("click",function(a){a.preventDefault();F&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("msgInput");F&&a.value&&Ea(a.value)&&(a.value="",S&&(S=null,T()),U&&(U=null,T()),document.getElementById("slashList").textContent="");Q();return!1});window.addEventListener("blur",function(){window.hasFocus=
-!1});window.addEventListener("focus",function(){window.hasFocus=!0;K=0;F&&R();Q()});document.getElementById("chatWindow").addEventListener("scroll",Ca);var a=0;document.getElementById("msgInput").addEventListener("input",function(){if(F){var b=Date.now();a+3E3<b&&(D.a.b.c||F instanceof x)&&(Fa(),a=b);var b=[],c=this.value;if("/"===this.value[0]){var d=c.indexOf(" "),f=-1!==d,d=-1===d?c.length:d,c=c.substr(0,d),e;for(e in D.a.g.data){var k=D.a.g.data[e];(!f&&k.name.substr(0,d)===c||f&&k.name===c)&&
-b.push(k)}}b.sort(function(a,b){return a.B.localeCompare(b.B)||a.name.localeCompare(b.name)});var d=document.getElementById("slashList"),f=document.createDocumentFragment(),g;d.textContent="";e=0;for(c=b.length;e<c;e++)k=b[e],g!==k.B&&(g=k.B,f.appendChild(Ga(k.B))),f.appendChild(Ha(k));d.appendChild(f)}});window.hasFocus=!0;(function(){var a=document.getElementById("emojiButton");if("makeEmoji"in window){var c=window.makeEmoji("smile");c?a.innerHTML="<span class='emoji-small'>"+c.outerHTML+"</span>":
-a.style.backgroundImage='url("smile.svg")';(c=window.makeEmoji("paperclip"))?document.getElementById("attachFile").innerHTML="<span class='emoji-small'>"+c.outerHTML+"</span>":document.getElementById("attachFile").style.backgroundImage='url("public/paperclip.svg")';a.addEventListener("click",function(){za.K(document.body,function(a){a&&(document.getElementById("msgInput").value+=":"+a+":");Q()})})}else a.classList.add("hidden")})();Z()});function L(){var a=document.createElement("span"),b=document.createElement("span"),c=document.createElement("span"),d=document.createElement("span");a.className="typing-container";b.className="typing-dot1";c.className="typing-dot2";d.className="typing-dot3";b.textContent=c.textContent=d.textContent=".";a.appendChild(b);a.appendChild(c);a.appendChild(d);return a}var N=function(){var a={};return function(b){var c=a[b];c||(c=a[b]=document.createElement("header"),c.textContent=b);return c}}();
-function Ia(a,b,c,d){var f=ta(c);if(f){for(var e=document.createElement("li"),k=document.createElement("a"),g=document.createElement("span"),l=document.createElement("span"),h=[],q=0,m=d.length;q<m;q++){var p=D.a.a[d[q]];p&&h.push(p.name)}h.sort();l.textContent=h.join(", ");g.appendChild(f);g.className="emoji-small";k.href="javascript:toggleReaction('"+a+"', '"+b+"', '"+c+"')";k.appendChild(g);k.appendChild(l);e.className="slackmsg-reaction-item";e.appendChild(k);return e}console.warn("Reaction id not found: "+
+document.getElementById("attachFile").addEventListener("click",function(a){a.preventDefault();E&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("msgInput");E&&a.value&&Ea(a.value)&&(a.value="",S&&(S=null,T()),U&&(U=null,T()),document.getElementById("slashList").textContent="");Q();return!1});window.addEventListener("blur",function(){window.hasFocus=
+!1});window.addEventListener("focus",function(){window.hasFocus=!0;J=0;E&&R();Q()});document.getElementById("chatWindow").addEventListener("scroll",Ca);var a=0;document.getElementById("msgInput").addEventListener("input",function(){if(E){var b=Date.now();a+3E3<b&&(D.a.b.c||E instanceof v)&&(Fa(),a=b);var b=[],c=this.value;if("/"===this.value[0]){var d=c.indexOf(" "),g=-1!==d,d=-1===d?c.length:d,c=c.substr(0,d),e;for(e in D.a.g.data){var k=D.a.g.data[e];(!g&&k.name.substr(0,d)===c||g&&k.name===c)&&
+b.push(k)}}b.sort(function(a,b){return a.B.localeCompare(b.B)||a.name.localeCompare(b.name)});var d=document.getElementById("slashList"),g=document.createDocumentFragment(),f;d.textContent="";e=0;for(c=b.length;e<c;e++)k=b[e],f!==k.B&&(f=k.B,g.appendChild(Ga(k.B))),g.appendChild(Ha(k));d.appendChild(g)}});window.hasFocus=!0;(function(){var a=document.getElementById("emojiButton");if("makeEmoji"in window){var c=window.makeEmoji("smile");c?a.innerHTML="<span class='emoji-small'>"+c.outerHTML+"</span>":
+a.style.backgroundImage='url("smile.svg")';(c=window.makeEmoji("paperclip"))?document.getElementById("attachFile").innerHTML="<span class='emoji-small'>"+c.outerHTML+"</span>":document.getElementById("attachFile").style.backgroundImage='url("public/paperclip.svg")';a.addEventListener("click",function(){za.K(document.body,function(a){a&&(document.getElementById("msgInput").value+=":"+a+":");Q()})})}else a.classList.add("hidden")})();Z()});function K(){var a=document.createElement("span"),b=document.createElement("span"),c=document.createElement("span"),d=document.createElement("span");a.className="typing-container";b.className="typing-dot1";c.className="typing-dot2";d.className="typing-dot3";b.textContent=c.textContent=d.textContent=".";a.appendChild(b);a.appendChild(c);a.appendChild(d);return a}var M=function(){var a={};return function(b){var c=a[b];c||(c=a[b]=document.createElement("header"),c.textContent=b);return c}}();
+function Ia(a,b,c,d){var g=ta(c);if(g){for(var e=document.createElement("li"),k=document.createElement("a"),f=document.createElement("span"),l=document.createElement("span"),h=[],q=0,m=d.length;q<m;q++){var p=D.a.a[d[q]];p&&h.push(p.name)}h.sort();l.textContent=h.join(", ");f.appendChild(g);f.className="emoji-small";k.href="javascript:toggleReaction('"+a+"', '"+b+"', '"+c+"')";k.appendChild(f);k.appendChild(l);e.className="slackmsg-reaction-item";e.appendChild(k);return e}console.warn("Reaction id not found: "+
 c);return null}
-function va(a,b,c){var d=document.createElement("div"),f=document.createElement("div"),e=document.createElement("div"),k=document.createElement("div"),g=document.createElement("span"),l=document.createElement("ul"),h=document.createElement("li"),q=document.createElement("ul"),m=document.createElement("ul"),p=D.a.a[b.o];d.id=a+"_"+b.i;d.className="slackmsg-item";e.className="slackmsg-ts";k.className="slackmsg-msg";g.className="slackmsg-author-name";l.className="slackmsg-hover";h.className="slackmsg-hover-reply";
-e.innerHTML=I.D(b.i);k.innerHTML=X(b.text);g.textContent=p?p.name:b.c||"?";l.appendChild(h);if("makeEmoji"in window){var t=document.createElement("li"),w=window.makeEmoji("arrow_heading_down"),v=window.makeEmoji("smile"),C=window.makeEmoji("pencil2"),p=window.makeEmoji("x");t.className="slackmsg-hover-reaction";v?(t.classList.add("emoji-small"),t.appendChild(v)):t.style.backgroundImage='url("smile.svg")';w?(h.classList.add("emoji-small"),h.appendChild(w)):h.style.backgroundImage='url("repl.svg")';
+function va(a,b,c){var d=document.createElement("div"),g=document.createElement("div"),e=document.createElement("div"),k=document.createElement("div"),f=document.createElement("span"),l=document.createElement("ul"),h=document.createElement("li"),q=document.createElement("ul"),m=document.createElement("ul"),p=D.a.a[b.o];d.id=a+"_"+b.i;d.className="slackmsg-item";e.className="slackmsg-ts";k.className="slackmsg-msg";f.className="slackmsg-author-name";l.className="slackmsg-hover";h.className="slackmsg-hover-reply";
+e.innerHTML=H.D(b.i);k.innerHTML=X(b.text);f.textContent=p?p.name:b.c||"?";l.appendChild(h);if("makeEmoji"in window){var t=document.createElement("li"),x=window.makeEmoji("arrow_heading_down"),z=window.makeEmoji("smile"),C=window.makeEmoji("pencil2"),p=window.makeEmoji("x");t.className="slackmsg-hover-reaction";z?(t.classList.add("emoji-small"),t.appendChild(z)):t.style.backgroundImage='url("smile.svg")';x?(h.classList.add("emoji-small"),h.appendChild(x)):h.style.backgroundImage='url("repl.svg")';
 l.appendChild(t);b.o===D.a.b.id&&(h=document.createElement("li"),h.className="slackmsg-hover-edit",C?h.classList.add("emoji-small"):h.style.backgroundImage='url("edit.svg")',h.appendChild(C),l.appendChild(h),h=document.createElement("li"),h.className="slackmsg-hover-remove",p?h.classList.add("emoji-small"):h.style.backgroundImage='url("remove.svg")',h.appendChild(p),l.appendChild(h))}else h.style.backgroundImage='url("repl.svg")',b.o===D.a.b.id&&(h=document.createElement("li"),h.className="slackmsg-hover-edit",
-h.style.backgroundImage='url("edit.svg")',l.appendChild(h),h=document.createElement("li"),h.className="slackmsg-hover-remove",h.style.backgroundImage='url("remove.svg")',l.appendChild(h));b instanceof A&&(p=document.createElement("span"),p.className="slackmsg-notice",p.textContent=I.H,f.appendChild(p));f.appendChild(g);f.appendChild(k);f.appendChild(e);f.appendChild(q);b.u&&(e=document.createElement("div"),e.innerHTML=I.u,e.className="slackmsg-edited",f.appendChild(e));f.appendChild(m);f.className=
-"slackmsg-content";q.className="slackmsg-attachments";m.className="slackmsg-reactions";if(!0!==c){if(b.a)for(var u in b.a)(c=Ia(a,b.id,u,b.a[u]))&&m.appendChild(c);b.g.forEach(function(a){var b=document.createElement("li"),c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("a"),f=document.createElement("div"),g=document.createElement("img"),h=document.createElement("a"),l=document.createElement("div"),m=document.createElement("div"),k=document.createElement("div"),
-p=document.createElement("img"),u=document.createElement("div"),t=document.createElement("img"),E=document.createElement("span"),w=document.createElement("span");b.className="slackmsg-attachment";var v="#e3e4e6";a.color&&("#"===a.color[0]?v=a.color[0]:"good"===a.color?v="#2fa44f":"warning"===a.color?v="#de9e31":"danger"===a.color&&(v="#d50200"));c.style.borderColor=v;c.className="slackmsg-attachment-block";d.className="slackmsg-attachment-pretext";a.pretext?d.innerHTML=X(a.pretext):d.classList.add("hidden");
-e.target="_blank";a.title?(e.innerHTML=X(a.title),a.title_link&&(e.href=a.title_link),e.className="slackmsg-attachment-title"):e.className="hidden slackmsg-attachment-title";h.target="_blank";f.className="slackmsg-author";a.author_name?(h.innerHTML=X(a.author_name),h.href=a.author_link||"",h.className="slackmsg-author-name",g.className="slackmsg-author-img",a.author_icon?g.src=a.author_icon:g.classList.add("hidden")):f.classList.add("hidden");l.className="slackmsg-attachment-content";v=X(a.text||
-"");""!==v?(m.innerHTML=v,m.className="slackmsg-attachment-text"):m.className="slackmsg-attachment-text hidden";k.className="slackmsg-attachment-thumb";a.thumb_url?(v=document.createElement("img"),v.src=a.thumb_url,k.appendChild(v),c.classList.add("has-thumb")):k.classList.add("hidden");p.className="slackmsg-attachment-img";a.image_url?p.src=a.image_url:p.classList.add("hidden");u.className="slackmsg-attachment-footer";E.className="slackmsg-attachment-footer-text";t.className="slackmsg-attachment-footer-icon";
-a.footer?(E.innerHTML=X(a.footer),a.footer_icon?t.src=a.footer_icon:t.classList.add("hidden")):(t.classList.add("hidden"),E.classList.add("hidden"));w.className="slackmsg-ts";a.ts?w.innerHTML=I.D(a.ts):w.classList.add("hidden");f.appendChild(g);f.appendChild(h);l.appendChild(m);l.appendChild(k);u.appendChild(t);u.appendChild(E);u.appendChild(w);c.appendChild(e);c.appendChild(f);c.appendChild(l);c.appendChild(p);c.appendChild(u);b.appendChild(d);b.appendChild(c);b&&q.appendChild(b)})}d.appendChild(f);
-d.appendChild(l);return d}function pa(a){var b=document.createElement("li"),c=document.createElement("span");c.textContent=a.name;b.appendChild(L());b.appendChild(c);return b}function Ga(a){var b=document.createElement("lh");b.textContent=a;b.className="slack-command-header";return b}
-function Ha(a){var b=document.createElement("li"),c=document.createElement("span"),d=document.createElement("span"),f=document.createElement("span");c.textContent=a.name;d.textContent=a.usage;f.textContent=a.a;b.appendChild(c);b.appendChild(d);b.appendChild(f);b.className="slack-command-item";c.className="slack-command-name";d.className="slack-command-usage";f.className="slack-command-desc";return b};var za=function(){function a(a,b){for(var c=a.target;c!==l&&c&&"LI"!==c.nodeName;)c=c.parentElement;c&&"LI"===c.nodeName&&c.id&&"emojibar-"===c.id.substr(0,9)?b(c.id.substr(9)):b(null)}function b(){if(!c())return!1;B&&B(null);return!0}function c(){return l.parentElement?(l.parentElement.removeChild(h),l.parentElement.removeChild(l),!0):!1}function d(a){var b=0,c;a=void 0===a?t.value:a;if(g()){var d=window.searchEmojis(a);c=f(d);for(var h in w)w[h].visible&&(w[h].visible=!1,m.removeChild(w[h].l));
-h=0;for(var l=c.length;h<l;h++){var k=c[h].name,u=w[k];if(!u){var u=w,aa=k,B=k,k=window.makeEmoji(d[k]),q=document.createElement("span");q.appendChild(k);q.className="emoji-medium";k=e(B,q);u=u[aa]=k}u.visible||(u.visible=!0,m.appendChild(u.l));b++}}for(h in v)v[h].visible&&(v[h].visible=!1,p.removeChild(v[h].l));c=f(D.a.h.data);h=0;for(l=c.length;h<l;h++)k=c[h].name,""!==a&&k.substr(0,a.length)!==a||"alias:"===D.a.h.data[k].substr(0,6)||(u=v[k],u||(d=v,aa=u=k,k=D.a.h.data[k],B=document.createElement("span"),
-q=document.createElement("span"),B.className="emoji emoji-custom",B.style.backgroundImage='url("'+k+'")',q.appendChild(B),q.className="emoji-medium",k=e(aa,q),u=d[u]=k),u.visible||(u.visible=!0,p.appendChild(u.l)),b++);return b}function f(a){var b=D.a.b.a.b,c=[],d;for(d in a){var e={name:d,I:0,count:0};a[d].names&&a[d].names.forEach(function(a){e.count+=b[a]||0});c.push(e)}return c=c.sort(function(a,b){var c=b.count-a.count;return c?c:a.I-b.I})}function e(a,b){var c=document.createElement("li");c.appendChild(b);
-c.className="emojibar-list-item";c.id="emojibar-"+a;return{visible:!1,l:c}}function k(a){var b=document.createElement("img"),c=document.createElement("div");b.src=a;c.appendChild(b);c.className="emojibar-header";return c}function g(){return"searchEmojis"in window}var l=document.createElement("div"),h=document.createElement("div"),q=document.createElement("div"),m=document.createElement("ul"),p=document.createElement("ul"),t=document.createElement("input"),w={},v={},C=document.createElement("div"),
-u=document.createElement("span"),E=document.createElement("span"),B;h.addEventListener("click",function(a){var c=l.getBoundingClientRect();(a.screenY<c.top||a.screenY>c.bottom||a.screenX<c.left||a.screenX>c.right)&&b()});h.className="emojibar-overlay";l.className="emojibar";q.className="emojibar-emojis";C.className="emojibar-detail";u.className="emojibar-detail-img";E.className="emojibar-detail-name";m.className=p.className="emojibar-list";t.className="emojibar-search";C.appendChild(u);C.appendChild(E);
-q.appendChild(k(window.emojiProviderHeader));q.appendChild(m);q.appendChild(k("emojicustom.png"));q.appendChild(p);l.appendChild(q);l.appendChild(C);l.appendChild(t);t.addEventListener("keyup",function(){d()});l.addEventListener("mousemove",function(b){a(b,function(a){var b=a?w[a]||v[a]:null;b?(u.innerHTML=b.l.outerHTML,E.textContent=":"+a+":"):(u.textContent="",E.textContent="")})});l.addEventListener("click",function(b){a(b,function(a){a&&c()&&B&&B(a)})});return{isSupported:g,K:function(a,b){return g()?
-(B=b,a.appendChild(h),a.appendChild(l),t.value="",d(),t.focus(),!0):!1},search:d,close:b}}();var D,M=[];function Ja(){this.c=0;this.a=new da;this.b={}}
-Ja.prototype.update=function(a){var b=Date.now();a.v&&(this.c=a.v);if(a["static"]){var c=this.a,d=a["static"],f=Date.now();if(d.users)for(var e=0,k=d.users.length;e<k;e++){var g=c.a[d.users[e].id];g||(g=c.a[d.users[e].id]=new G(d.users[e].id));g.update(d.users[e],f)}if(d.channels)for(e=0,k=d.channels.length;e<k;e++){g=c.f[d.channels[e].id];if(!g){var g=c.f,l=d.channels[e].id,h;h=d.channels[e];h=h.pv?new x(h.id,c.a[h.user]):new r(h.id);g=g[l]=h}g.update(d.channels[e],c,f)}d.emojis&&(c.h.data=d.emojis,
-c.h.version=f);if(void 0!==d.commands){c.g.data={};for(e in d.commands)c.g.data[e]=new ba(d.commands[e]);c.g.version=f}d.team&&(c.j||(c.j=new n(d.team.id)),c.j.update(d.team,f));c.s=Math.max(c.s,f);d.self&&(c.b=c.a[d.self.id]||null,c.b?(c.b.a||(c.b.a=new ca),c.b.a.update(d.self.prefs,f)):c.s=0);if(void 0!==d.typing)for(e in c.c={},d.typing){c.c[e]={};for(var q in d.typing[e])c.c[e][q]=f}}for(var m in this.a.f){var p=this.a.f[m];p.a===p.b&&(c=M.indexOf(p),-1!==c&&M.splice(c,1))}if(a.live){for(p in a.live)(m=
-this.b[p])?fa(m,a.live[p],b):this.b[p]=new ea(p,250,a.live[p],b);for(var t in a.live)(b=this.a.f[t])?(this.b[t].a.length&&(p=this.b[t],b.a=Math.max(b.a,p.a[p.a.length-1].i)),b.h||(Ka(b,a.live[t]),F&&a.live[F.id]&&ra())):D.c=0}a["static"]&&(ka(),a["static"].typing&&na())};setInterval(function(){var a=D.a,b=Date.now(),c=!1,d;for(d in a.c){var f=!0,e;for(e in a.c[d])a.c[d][e]+3E3<b?(delete a.c[d][e],c=!0):f=!1;f&&(delete a.c[d],c=!0)}c&&na()},1E3);
-function Ka(a,b){if(a!==F||!window.hasFocus){var c=new RegExp("<@"+D.a.b.id),d=!1,f=!1,e=!1;b.forEach(function(b){if(!(parseFloat(b.ts)<=a.b)){f=!0;var g;if(!(g=a instanceof x||b.text.match(c)))a:{g=D.a.b.a.a;for(var h=0,k=g.length;h<k;h++)if(-1!==b.text.indexOf(g[h])){g=!0;break a}g=!1}g&&(-1===M.indexOf(a)&&(e=!0,M.push(a)),d=!0)}});if(f){O();var k=document.getElementById("room_"+a.id);k&&(k.classList.add("unread"),d&&k.classList.add("unreadHi"));e&&!window.hasFocus&&xa()}}}
-function R(){var a=F,b=M.indexOf(a);if(a.a>a.b){var c=new XMLHttpRequest;c.open("POST","api/markread?room="+a.id+"&ts="+a.a,!0);c.send(null);a.b=a.a}0<=b&&(M.splice(b,1),O());a=document.getElementById("room_"+a.id);a.classList.remove("unread");a.classList.remove("unreadHi")}D=new Ja;var ma=function(){function a(a,b){b.sort(function(){return Math.random()-.5});for(var c=0,d=20;d<l-40;d+=q)for(var g=0;g+q<=h;g+=q)e(a,b[c],d,g),c++,c===b.length&&(b.sort(function(a,b){return a.C?b.C?Math.random()-.5:-1:1}),c=0)}function b(a,d){for(var e=0,g=a.length;e<g;e++)if(void 0===a[e].C){c(a[e].src,function(c){a[e].C=c;b(a,d)});return}var f=[];a.forEach(function(a){a.C&&f.push(a.C)});d(f)}function c(a,b){var c=new XMLHttpRequest;c.responseType="blob";c.onreadystatechange=function(){if(4===
+h.style.backgroundImage='url("edit.svg")',l.appendChild(h),h=document.createElement("li"),h.className="slackmsg-hover-remove",h.style.backgroundImage='url("remove.svg")',l.appendChild(h));b instanceof A&&(p=document.createElement("span"),p.className="slackmsg-notice",p.textContent=H.H,g.appendChild(p));g.appendChild(f);g.appendChild(k);g.appendChild(e);g.appendChild(q);b.u&&(e=document.createElement("div"),e.innerHTML=H.u,e.className="slackmsg-edited",g.appendChild(e));g.appendChild(m);g.className=
+"slackmsg-content";q.className="slackmsg-attachments";m.className="slackmsg-reactions";if(!0!==c){if(b.a)for(var u in b.a)(c=Ia(a,b.id,u,b.a[u]))&&m.appendChild(c);b.g.forEach(function(a){var b=document.createElement("li"),c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("a"),g=document.createElement("div"),f=document.createElement("img"),h=document.createElement("a"),l=document.createElement("div"),m=document.createElement("div"),k=document.createElement("div"),
+p=document.createElement("img"),u=document.createElement("div");b.className="slackmsg-attachment";var t="#e3e4e6";a.color&&("#"===a.color[0]?t=a.color[0]:"good"===a.color?t="#2fa44f":"warning"===a.color?t="#de9e31":"danger"===a.color&&(t="#d50200"));c.style.borderColor=t;c.className="slackmsg-attachment-block";d.className="slackmsg-attachment-pretext";a.pretext?d.innerHTML=X(a.pretext):d.classList.add("hidden");e.target="_blank";a.title?(e.innerHTML=X(a.title),a.title_link&&(e.href=a.title_link),
+e.className="slackmsg-attachment-title"):e.className="hidden slackmsg-attachment-title";h.target="_blank";g.className="slackmsg-author";a.author_name&&(h.innerHTML=X(a.author_name),h.href=a.author_link||"",h.className="slackmsg-author-name",f.className="slackmsg-author-img",a.author_icon&&(f.src=a.author_icon,g.appendChild(f)),g.appendChild(h));l.className="slackmsg-attachment-content";f=X(a.text||"");""!==f?(m.innerHTML=f,m.className="slackmsg-attachment-text"):m.className="slackmsg-attachment-text hidden";
+k.className="slackmsg-attachment-thumb";a.thumb_url?(f=document.createElement("img"),f.src=a.thumb_url,k.appendChild(f),c.classList.add("has-thumb")):k.classList.add("hidden");p.className="slackmsg-attachment-img";a.image_url?p.src=a.image_url:p.classList.add("hidden");u.className="slackmsg-attachment-footer";a.footer&&(f=document.createElement("span"),f.className="slackmsg-attachment-footer-text",f.innerHTML=X(a.footer),a.footer_icon&&(h=document.createElement("img"),h.src=a.footer_icon,h.className=
+"slackmsg-attachment-footer-icon",u.appendChild(h)),u.appendChild(f));a.ts&&(f=document.createElement("span"),f.className="slackmsg-ts",f.innerHTML=H.D(a.ts),u.appendChild(f));l.appendChild(m);l.appendChild(k);c.appendChild(e);c.appendChild(g);c.appendChild(l);c.appendChild(p);c.appendChild(u);b.appendChild(d);b.appendChild(c);b&&q.appendChild(b)})}d.appendChild(g);d.appendChild(l);return d}
+function pa(a){var b=document.createElement("li"),c=document.createElement("span");c.textContent=a.name;b.appendChild(K());b.appendChild(c);return b}function Ga(a){var b=document.createElement("lh");b.textContent=a;b.className="slack-command-header";return b}
+function Ha(a){var b=document.createElement("li"),c=document.createElement("span"),d=document.createElement("span"),g=document.createElement("span");c.textContent=a.name;d.textContent=a.usage;g.textContent=a.a;b.appendChild(c);b.appendChild(d);b.appendChild(g);b.className="slack-command-item";c.className="slack-command-name";d.className="slack-command-usage";g.className="slack-command-desc";return b};var za=function(){function a(a,b){for(var c=a.target;c!==l&&c&&"LI"!==c.nodeName;)c=c.parentElement;c&&"LI"===c.nodeName&&c.id&&"emojibar-"===c.id.substr(0,9)?b(c.id.substr(9)):b(null)}function b(){if(!c())return!1;B&&B(null);return!0}function c(){return l.parentElement?(l.parentElement.removeChild(h),l.parentElement.removeChild(l),!0):!1}function d(a){var b=0,c;a=void 0===a?t.value:a;if(f()){var d=window.searchEmojis(a);c=g(d);for(var h in x)x[h].visible&&(x[h].visible=!1,m.removeChild(x[h].l));
+h=0;for(var l=c.length;h<l;h++){var k=c[h].name,u=x[k];if(!u){var u=x,aa=k,B=k,k=window.makeEmoji(d[k]),q=document.createElement("span");q.appendChild(k);q.className="emoji-medium";k=e(B,q);u=u[aa]=k}u.visible||(u.visible=!0,m.appendChild(u.l));b++}}for(h in z)z[h].visible&&(z[h].visible=!1,p.removeChild(z[h].l));c=g(D.a.h.data);h=0;for(l=c.length;h<l;h++)k=c[h].name,""!==a&&k.substr(0,a.length)!==a||"alias:"===D.a.h.data[k].substr(0,6)||(u=z[k],u||(d=z,aa=u=k,k=D.a.h.data[k],B=document.createElement("span"),
+q=document.createElement("span"),B.className="emoji emoji-custom",B.style.backgroundImage='url("'+k+'")',q.appendChild(B),q.className="emoji-medium",k=e(aa,q),u=d[u]=k),u.visible||(u.visible=!0,p.appendChild(u.l)),b++);return b}function g(a){var b=D.a.b.a.b,c=[],d;for(d in a){var e={name:d,I:0,count:0};a[d].names&&a[d].names.forEach(function(a){e.count+=b[a]||0});c.push(e)}return c=c.sort(function(a,b){var c=b.count-a.count;return c?c:a.I-b.I})}function e(a,b){var c=document.createElement("li");c.appendChild(b);
+c.className="emojibar-list-item";c.id="emojibar-"+a;return{visible:!1,l:c}}function k(a){var b=document.createElement("img"),c=document.createElement("div");b.src=a;c.appendChild(b);c.className="emojibar-header";return c}function f(){return"searchEmojis"in window}var l=document.createElement("div"),h=document.createElement("div"),q=document.createElement("div"),m=document.createElement("ul"),p=document.createElement("ul"),t=document.createElement("input"),x={},z={},C=document.createElement("div"),
+u=document.createElement("span"),P=document.createElement("span"),B;h.addEventListener("click",function(a){var c=l.getBoundingClientRect();(a.screenY<c.top||a.screenY>c.bottom||a.screenX<c.left||a.screenX>c.right)&&b()});h.className="emojibar-overlay";l.className="emojibar";q.className="emojibar-emojis";C.className="emojibar-detail";u.className="emojibar-detail-img";P.className="emojibar-detail-name";m.className=p.className="emojibar-list";t.className="emojibar-search";C.appendChild(u);C.appendChild(P);
+q.appendChild(k(window.emojiProviderHeader));q.appendChild(m);q.appendChild(k("emojicustom.png"));q.appendChild(p);l.appendChild(q);l.appendChild(C);l.appendChild(t);t.addEventListener("keyup",function(){d()});l.addEventListener("mousemove",function(b){a(b,function(a){var b=a?x[a]||z[a]:null;b?(u.innerHTML=b.l.outerHTML,P.textContent=":"+a+":"):(u.textContent="",P.textContent="")})});l.addEventListener("click",function(b){a(b,function(a){a&&c()&&B&&B(a)})});return{isSupported:f,K:function(a,b){return f()?
+(B=b,a.appendChild(h),a.appendChild(l),t.value="",d(),t.focus(),!0):!1},search:d,close:b}}();var D,L=[];function Ja(){this.c=0;this.a=new da;this.b={}}
+Ja.prototype.update=function(a){var b=Date.now();a.v&&(this.c=a.v);if(a["static"]){var c=this.a,d=a["static"],g=Date.now();if(d.users)for(var e=0,k=d.users.length;e<k;e++){var f=c.a[d.users[e].id];f||(f=c.a[d.users[e].id]=new F(d.users[e].id));f.update(d.users[e],g)}if(d.channels)for(e=0,k=d.channels.length;e<k;e++){f=c.f[d.channels[e].id];if(!f){var f=c.f,l=d.channels[e].id,h;h=d.channels[e];h=h.pv?new v(h.id,c.a[h.user]):new r(h.id);f=f[l]=h}f.update(d.channels[e],c,g)}d.emojis&&(c.h.data=d.emojis,
+c.h.version=g);if(void 0!==d.commands){c.g.data={};for(e in d.commands)c.g.data[e]=new ba(d.commands[e]);c.g.version=g}d.team&&(c.j||(c.j=new n(d.team.id)),c.j.update(d.team,g));c.s=Math.max(c.s,g);d.self&&(c.b=c.a[d.self.id]||null,c.b?(c.b.a||(c.b.a=new ca),c.b.a.update(d.self.prefs,g)):c.s=0);if(void 0!==d.typing)for(e in c.c={},d.typing){c.c[e]={};for(var q in d.typing[e])c.c[e][q]=g}}for(var m in this.a.f){var p=this.a.f[m];p.a===p.b&&(c=L.indexOf(p),-1!==c&&L.splice(c,1))}if(a.live){for(p in a.live)(m=
+this.b[p])?fa(m,a.live[p],b):this.b[p]=new ea(p,250,a.live[p],b);for(var t in a.live)(b=this.a.f[t])?(this.b[t].a.length&&(p=this.b[t],b.a=Math.max(b.a,p.a[p.a.length-1].i)),b.h||(Ka(b,a.live[t]),E&&a.live[E.id]&&ra())):D.c=0}a["static"]&&(ka(),a["static"].typing&&na())};setInterval(function(){var a=D.a,b=Date.now(),c=!1,d;for(d in a.c){var g=!0,e;for(e in a.c[d])a.c[d][e]+3E3<b?(delete a.c[d][e],c=!0):g=!1;g&&(delete a.c[d],c=!0)}c&&na()},1E3);
+function Ka(a,b){if(a!==E||!window.hasFocus){var c=new RegExp("<@"+D.a.b.id),d=!1,g=!1,e=!1;b.forEach(function(b){if(!(parseFloat(b.ts)<=a.b)){g=!0;var f;if(!(f=a instanceof v||b.text.match(c)))a:{f=D.a.b.a.a;for(var h=0,k=f.length;h<k;h++)if(-1!==b.text.indexOf(f[h])){f=!0;break a}f=!1}f&&(-1===L.indexOf(a)&&(e=!0,L.push(a)),d=!0)}});if(g){N();var k=document.getElementById("room_"+a.id);k&&(k.classList.add("unread"),d&&k.classList.add("unreadHi"));e&&!window.hasFocus&&xa()}}}
+function R(){var a=E,b=L.indexOf(a);if(a.a>a.b){var c=new XMLHttpRequest;c.open("POST","api/markread?room="+a.id+"&ts="+a.a,!0);c.send(null);a.b=a.a}0<=b&&(L.splice(b,1),N());a=document.getElementById("room_"+a.id);a.classList.remove("unread");a.classList.remove("unreadHi")}D=new Ja;var ma=function(){function a(a,b){b.sort(function(){return Math.random()-.5});for(var c=0,d=20;d<l-40;d+=q)for(var f=0;f+q<=h;f+=q)e(a,b[c],d,f),c++,c===b.length&&(b.sort(function(a,b){return a.C?b.C?Math.random()-.5:-1:1}),c=0)}function b(a,d){for(var e=0,f=a.length;e<f;e++)if(void 0===a[e].C){c(a[e].src,function(c){a[e].C=c;b(a,d)});return}var g=[];a.forEach(function(a){a.C&&g.push(a.C)});d(g)}function c(a,b){var c=new XMLHttpRequest;c.responseType="blob";c.onreadystatechange=function(){if(4===
 c.readyState)if(c.response){var a=new Image;a.onload=function(){var c=document.createElement("canvas");c.height=c.width=t;c=c.getContext("2d");c.drawImage(a,0,0,t,t);for(var c=c.getImageData(0,0,t,t),d=0,e=0;e<c.width*c.height*4;e+=4)c.data[e]=c.data[e+1]=c.data[e+2]=(c.data[e]+c.data[e+1]+c.data[e+2])/3,c.data[e+3]=50,d+=c.data[e];if(50>d/(c.height*c.width))for(e=0;e<c.width*c.height*4;e+=4)c.data[e]=c.data[e+1]=c.data[e+2]=255-c.data[e];b(c)};a.onerror=function(){b(null)};a.src=window.URL.createObjectURL(c.response)}else b(null)};
-c.open("GET",a,!0);c.send(null)}function d(){var a=g.createLinearGradient(0,0,0,h);a.addColorStop(0,"#4D394B");a.addColorStop(1,"#201820");g.fillStyle=a;g.fillRect(0,0,l,h);return g.getImageData(0,0,l,h)}function f(a,b){for(var c=(a.height-b.height)/2,d=0;d<b.height;d++)for(var e=0;e<b.width;e++){var g=b.data[4*(d*b.width+e)]/255,f=4*((d+c)*a.width+e+c);a.data[f]*=g;a.data[f+1]*=g;a.data[f+2]*=g}return a}function e(a,b,c,d){var e=Math.floor(d);a=[a.data[e*l*4+0],a.data[e*l*4+1],a.data[e*l*4+2]];g.fillStyle=
-"#"+(1.1*a[0]<<16|1.1*a[1]<<8|1.1*a[2]).toString(16);g.beginPath();g.moveTo(c+q/2,d+m);g.lineTo(c-m+q,d+q/2);g.lineTo(c+q/2,d-m+q);g.lineTo(c+m,d+q/2);g.closePath();g.fill();g.putImageData(f(g.getImageData(c+m,d+m,p,p),b),c+m,d+m)}var k=document.createElement("canvas"),g=k.getContext("2d"),l=k.width=250,h=k.height=290,q=(l-40)/3,m=.1*q,p=Math.floor(q-2*m),t=.5*p,w,v=[],C=!1;return function(c){if(w)c(w);else if(C)v.push(c);else{var e=d(),g=[];C=!0;v.push(c);for(var f in D.a.a)D.a.a[f].g||D.a.a[f].s||
-g.push({src:"api/avatar?user="+f});b(g,function(b){a(e,b);w=k.toDataURL();v.forEach(function(a){a(w)})})}}}();var Y=0,F=null,S=null,U=null;function La(a){var b=new XMLHttpRequest;b.timeout=6E4;b.onreadystatechange=function(){if(4===b.readyState)if(b.status){var c=null,d=2===Math.floor(b.status/100);if(d){Y&&(Y=0,P(!0));c=b.response;try{c=JSON.parse(c)}catch(f){c=null}}else Y?(Y+=Math.floor((Y||5)/2),Y=Math.min(60,Y)):(Y=5,P(!1));a(d,c)}else Y&&(Y=0,P(!0)),La(a)};b.open("GET","api?v="+D.c,!0);b.send(null)}function Fa(){var a=new XMLHttpRequest;a.open("POST","api/typing?room="+F.id,!0);a.send(null)}
-function Ma(a,b){a?(b&&D.update(b),Z()):setTimeout(Z,1E3*Y)}function Z(){La(Ma)}function Ba(a){F&&document.getElementById("room_"+F.id).classList.remove("selected");document.getElementById("room_"+a.id).classList.add("selected");document.body.classList.remove("no-room-selected");F=a;qa();F.a&&!D.b[F.id]&&(a=new XMLHttpRequest,a.open("GET","api/hist?room="+F.id,!0),a.send(null))}
-function Da(a,b,c){var d=F;new FileReader;var f=new FormData,e=new XMLHttpRequest;f.append("file",b);f.append("filename",a);e.onreadystatechange=function(){4===e.readyState&&(204===e.status?c(null):c(e.statusText))};e.open("POST","api/file?room="+d.id);e.send(f)}
-function Ea(a){if(U){var b=new XMLHttpRequest;b.open("PUT","api/msg?room="+F.id+"&ts="+U.id+"&text="+encodeURIComponent(a),!0);b.send(null);return!0}if("/"===a[0]){var c=a.indexOf(" "),b=-1===c?"":a.substr(c);return(a=D.a.g.data[a.substr(0,-1===c?void 0:c)])?(c=new XMLHttpRequest,c.open("POST","api/cmd?room="+F.id+"&cmd="+encodeURIComponent(a.name.substr(1))+"&args="+encodeURIComponent(b.trim()),!0),c.send(null),!0):!1}var b=F,c=S,d=new XMLHttpRequest;a="api/msg?room="+b.id+"&text="+encodeURIComponent(a);
-if(c){var f=D.a.a[c.o],e="Message";"C"===b.id[0]?e="Channel message":"D"===b.id[0]?e="Direct message":"G"===b.id[0]&&(e="Group message");a+="&attachments="+encodeURIComponent(JSON.stringify([{fallback:c.text,author_name:"<@"+f.id+"|"+f.name+">",author_icon:f.b.small,text:c.text,footer:e,ts:c.i}]))}d.open("POST",a,!0);d.send(null);return!0}function Aa(a){var b=new XMLHttpRequest;b.open("DELETE","api/msg?room="+F.id+"&ts="+a.id,!0);b.send(null)}
+c.open("GET",a,!0);c.send(null)}function d(){var a=f.createLinearGradient(0,0,0,h);a.addColorStop(0,"#4D394B");a.addColorStop(1,"#201820");f.fillStyle=a;f.fillRect(0,0,l,h);return f.getImageData(0,0,l,h)}function g(a,b){for(var c=(a.height-b.height)/2,d=0;d<b.height;d++)for(var e=0;e<b.width;e++){var f=b.data[4*(d*b.width+e)]/255,g=4*((d+c)*a.width+e+c);a.data[g]*=f;a.data[g+1]*=f;a.data[g+2]*=f}return a}function e(a,b,c,d){var e=Math.floor(d);a=[a.data[e*l*4+0],a.data[e*l*4+1],a.data[e*l*4+2]];f.fillStyle=
+"#"+(1.1*a[0]<<16|1.1*a[1]<<8|1.1*a[2]).toString(16);f.beginPath();f.moveTo(c+q/2,d+m);f.lineTo(c-m+q,d+q/2);f.lineTo(c+q/2,d-m+q);f.lineTo(c+m,d+q/2);f.closePath();f.fill();f.putImageData(g(f.getImageData(c+m,d+m,p,p),b),c+m,d+m)}var k=document.createElement("canvas"),f=k.getContext("2d"),l=k.width=250,h=k.height=290,q=(l-40)/3,m=.1*q,p=Math.floor(q-2*m),t=.5*p,x,z=[],C=!1;return function(c){if(x)c(x);else if(C)z.push(c);else{var e=d(),f=[];C=!0;z.push(c);for(var g in D.a.a)D.a.a[g].g||D.a.a[g].s||
+f.push({src:"api/avatar?user="+g});b(f,function(b){a(e,b);x=k.toDataURL();z.forEach(function(a){a(x)})})}}}();var Y=0,E=null,S=null,U=null;function La(a){var b=new XMLHttpRequest;b.timeout=6E4;b.onreadystatechange=function(){if(4===b.readyState)if(b.status){var c=null,d=2===Math.floor(b.status/100);if(d){Y&&(Y=0,O(!0));c=b.response;try{c=JSON.parse(c)}catch(g){c=null}}else Y?(Y+=Math.floor((Y||5)/2),Y=Math.min(60,Y)):(Y=5,O(!1));a(d,c)}else Y&&(Y=0,O(!0)),La(a)};b.open("GET","api?v="+D.c,!0);b.send(null)}function Fa(){var a=new XMLHttpRequest;a.open("POST","api/typing?room="+E.id,!0);a.send(null)}
+function Ma(a,b){a?(b&&D.update(b),Z()):setTimeout(Z,1E3*Y)}function Z(){La(Ma)}function Ba(a){E&&document.getElementById("room_"+E.id).classList.remove("selected");document.getElementById("room_"+a.id).classList.add("selected");document.body.classList.remove("no-room-selected");E=a;qa();E.a&&!D.b[E.id]&&(a=new XMLHttpRequest,a.open("GET","api/hist?room="+E.id,!0),a.send(null))}
+function Da(a,b,c){var d=E;new FileReader;var g=new FormData,e=new XMLHttpRequest;g.append("file",b);g.append("filename",a);e.onreadystatechange=function(){4===e.readyState&&(204===e.status?c(null):c(e.statusText))};e.open("POST","api/file?room="+d.id);e.send(g)}
+function Ea(a){if(U){var b=new XMLHttpRequest;b.open("PUT","api/msg?room="+E.id+"&ts="+U.id+"&text="+encodeURIComponent(a),!0);b.send(null);return!0}if("/"===a[0]){var c=a.indexOf(" "),b=-1===c?"":a.substr(c);return(a=D.a.g.data[a.substr(0,-1===c?void 0:c)])?(c=new XMLHttpRequest,c.open("POST","api/cmd?room="+E.id+"&cmd="+encodeURIComponent(a.name.substr(1))+"&args="+encodeURIComponent(b.trim()),!0),c.send(null),!0):!1}var b=E,c=S,d=new XMLHttpRequest;a="api/msg?room="+b.id+"&text="+encodeURIComponent(a);
+if(c){var g=D.a.a[c.o],e="Message";"C"===b.id[0]?e="Channel message":"D"===b.id[0]?e="Direct message":"G"===b.id[0]&&(e="Group message");a+="&attachments="+encodeURIComponent(JSON.stringify([{fallback:c.text,author_name:"<@"+g.id+"|"+g.name+">",author_icon:g.b.small,text:c.text,footer:e,ts:c.i}]))}d.open("POST",a,!0);d.send(null);return!0}function Aa(a){var b=new XMLHttpRequest;b.open("DELETE","api/msg?room="+E.id+"&ts="+a.id,!0);b.send(null)}
 function sa(a,b,c){var d=new XMLHttpRequest;d.open("POST","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0);d.send(null)};

+ 2 - 1
srv/public/style.css

@@ -71,7 +71,7 @@ body { display: flex; margin: 0; padding: 0; font-family: Lato, sans-serif; heig
 .slackmsg-reactions:empty,.slackmsg-attachments:empty { display: none; }
 .slackmsg-reactions { padding: 0 0 0 40px; margin: 5px 0; }
 .slackmsg-attachments { padding: 0; }
-.slackmsg-content > .slackmsg-edited, .slackmsg-ts { font-size: 0.75em; font-style: italic; }
+.slackmsg-content > .slackmsg-edited, .slackmsg-ts, .slackmsg-attachment-footer * { font-size: 0.75em; font-style: italic; }
 
 .slackmsg-notice { background: rgba(255, 255, 0, 0.2); }
 .slackmsg-content .slackmsg-notice { display: inline; font-style: italic; margin-right: 15px; }
@@ -115,6 +115,7 @@ body { display: flex; margin: 0; padding: 0; font-family: Lato, sans-serif; heig
 .slackmsg-attachment-block.has-thumb .slackmsg-attachment-text { flex: 1; margin-left: 14px; }
 .slackmsg-attachment-block.has-thumb .slackmsg-attachment-thumb { display: inline-block; width: 142px; height: 100px; }
 .slackmsg-attachment-block.has-thumb .slackmsg-attachment-thumb img { max-width: 100%; max-height: 100%; }
+.slackmsg-attachment-footer > * + *::before { padding: 0 2px 0 5px; font-style: normal; content: "|"; }
 
 .slack-command-list:empty { display: none; }
 .slack-command-list { list-style: none; margin: 10px 10px 0 10px; padding: 0; background: #4D394B; color: #AB9BA9; max-height: 10em; overflow-x: hidden; overflow-y: auto;}